Grup Listesinin Taranması
Önceki Grup Veritabanı Sonraki
Grup Listesinin Taranması
Bu bölümde bir yazılımın sistemdeki tüm gruplar hakkındaki bilgileri bir kerede bir grup olarak nasıl okuyabileceği anlatılmıştır. Burada bahsedilen işlevler grp.h başlık dosyasında bildirilmiştir.
Belli bir dosyadaki kullanıcı girdilerini okumak için fgetgrent işlevini kullanabilirsiniz.
struct group *fgetgrent
(FILE *akım)
işlev
Bu işlev akım'dan sonraki grup girdisini okur ve girdiye bir gösterici ile döner. Yapı durağan olarak ayrıldığından sonraki fgetgrent ç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 grup veritabanı dosyası ile aynı biçimdeki bir dosyaya karşılık olmalıdır.
int fgetgrent_r
(FILE          *akım,
 struct group  *sonuç_tamponu,
 char          *tampon,
 size_t         tampon_uzunluğu,
 struct group **sonuç)
işlev
Bu işlev akım'dan sonraki kullanıcı girdisini okuyan fgetgrent 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 grup 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.
Grup veritabanındaki tüm girdiler setgrent, getgrent ve endgrent işlevleri ile taranabilir.
void setgrent
(void)
işlev
Bu işlev, grup veritabanını okumakta kullanılan getgrent ve getgrent_r işlevleri için bir akım ilklendirir.
struct group *getgrent
(void)
işlev
getgrent işlevi setgrent işlevi ile ilklendirilen akımdan sonraki girdiyi okur. Yapı durağan olarak ayrıldığından sonraki getgrent çağrıları üzerine yazabilir. Aldığınız bilgiyi saklamak istiyorsanız yapıyı bir değişkene kopyalamalısınız.
int getgrent_r
(struct group  *sonuç_tamponu,
 char          *tampon,
 size_t         tampon_uzunluğu,
 struct group **sonuç)
işlev
Bu işlev, setgrent işlevi ile ilklendirilen akımdan sonraki girdiyi döndüren getgrent işlevine benzer. İstenen bilgiyi fgetgrent_r işlevi gibi kullanıcı tanımlı sonuç_tamponu ve tampon tamponları ile döndürür.
İşlev sıfırla dönmüşse sonuç istenen veriyi içeren yapıya göstericidir (normalde sonuç_tamponu ile aynıdır). Bir hata oluşmuşsa sonuç bir boş gösterici içerir ve işlev sıfırdan faklı bir değerle döner.
void endgrent
(void)
işlev
getgrent veya getgrent_r tarafından kullanılan dahili akımı kapatır.
Önceki Üst Ana Başlık Sonraki
Bir Grup Hakkında Bilgi Alınması Başlangıç Kullanıcı ve Grup Veritabanı Örneği
Bir Linux Kitaplığı Sayfası