Kullanıcı Listesinin Taranması
Önceki Kullanıcı Veritabanı Sonraki
Kullanıcı Listesinin Taranması
Bu bölümde bir yazılımın sistemdeki tüm kullanıcılar hakkındaki bilgileri bir kerede bir kullanıcı olarak nasıl okuyabileceği anlatılmıştır. Burada bahsedilen işlevler pwd.h başlık dosyasında bildirilmiştir.
Belli bir dosyadaki kullanıcı girdilerini okumak için fgetpwent işlevini kullanabilirsiniz.
struct passwd *fgetpwent
(FILE *akım)
işlev
Bu işlev akım'dan sonraki kullanıcı girdisini okur ve girdiye bir gösterici ile döner. Yapı durağan olarak ayrıldığından sonraki fgetpwent çağrıları üzerine yazabilir. Aldığınız bilgiyi saklamak istiyorsanız yapıyı bir değişkene kopyalamalısınız.
Akım, standart parola veritabanı dosyası ile aynı biçimdeki bir dosyaya karşılık olmalıdır.
int fgetpwent_r
(FILE           *akım,
 struct passwd  *sonuç_tamponu,
 char           *tampon,
 size_t          tampon_uzunluğu,
 struct passwd **sonuç)
işlev
Bu işlev akım'dan sonraki kullanıcı girdisini okuyan fgetpwent işlevine benzer. Fakat sonuç sonuç_tamponu ile gösterilen yapı içinde döner. tampon ile gösterilen ek tamponun ilk tampon_uzunluğu baytı, normalde sonuç yapının elemanları tarafından gösterilen dizgelerden oluşan ek bilgi içerir.
Akım, standart parola veritabanı dosyası ile aynı biçimdeki bir dosyaya karşılık olmalıdır.
İşlev sıfırla dönmüşse sonuç istenen veriyi içeren yapıya göstericidir. Bir hata oluşmuşsa sonuç bir boş gösterici içerir ve işlev sıfırdan faklı bir değerle döner.
Kullanıcı veritabanındaki tüm girdiler setpwent, getpwent ve endpwent işlevleri ile taranabilir.
void setpwent
(void)
işlev
Bu işlev, kullanıcı veritabanını okumakta kullanılan getpwent ve getpwent_r işlevleri için bir akım ilklendirir.
struct passwd *getpwent
(void)
işlev
getpwent işlevi setpwent işlevi ile ilklendirilen akımdan sonraki girdiyi okur. Yapı durağan olarak ayrıldığından sonraki getpwent çağrıları üzerine yazabilir. Aldığınız bilgiyi saklamak istiyorsanız yapıyı bir değişkene kopyalamalısınız.
Okunacak başka girdi kalmadığında işlev bir boş gösterici ile döner.
int getpwent_r
(struct passwd  *sonuç_tamponu,
 char           *tampon,
 int             tampon_uzunluğu,
 struct passwd **sonuç)
işlev
Bu işlev, setpwent işlevi ile ilklendirilen akımdan sonraki girdiyi döndüren getpwent işlevine benzer. İstenen bilgiyi fgetpwent_r işlevi gibi kullanıcı tanımlı sonuç_tamponu ve tampon tamponları ile döndürür.
Dönüş değerleri fgetpwent_r ile aynıdır.
void endpwent
(void)
işlev
getpwent veya getpwent_r tarafından kullanılan dahili akımı kapatır.
Önceki Üst Ana Başlık Sonraki
Bir Kullanıcı Hakkında Bilgi Alınması Başlangıç Bir Kullanıcı Girdisinin Yazılması
Bir Linux Kitaplığı Sayfası