setnetgrent(3) Library Functions Manual setnetgrent(3) NOM setnetgrent, endnetgrent, getnetgrent, getnetgrent_r, innetgr - Gerer les entrees du groupe reseau BIBLIOTHEQUE Bibliotheque C standard (libc, -lc) SYNOPSIS #include int setnetgrent(const char *groupe_reseau); void endnetgrent(void); int getnetgrent(char **restrict hote, char **restrict utilisateur, char **restrict domaine); int getnetgrent_r(char **restrict hote, char **restrict utilisateur, char **restrict domaine, char tampon[restrict .taille_tampon], size_t taille_tampon); int innetgr(const char *groupe_reseau, const char *hote, const char *utilisateur, const char *domaine); Exigences de macros de test de fonctionnalites pour la glibc (consulter feature_test_macros(7)) : setnetgrent(), endnetgrent(), getnetgrent(), getnetgrent_r(), innetgr(): Depuis la glibc 2.19 : _DEFAULT_SOURCE glibc 2.19 et anterieures : _BSD_SOURCE || _SVID_SOURCE DESCRIPTION Le groupe_reseau est une invention de SunOS. Une base de donnees << groupe_reseau >> est une liste de triplets de chaines (nom_hote, nom_utilisateur, nom_domaine) ou d'autres noms << groupe_reseau >>. Chacun des elements dans un triplet peut etre vide, ce qui signifie que toute valeur corrospond. Les fonctions decrites ici permettent d'acceder aux bases de donnees << groupe_reseau >>. Le fichier /etc/nsswitch.conf indique la base dans laquelle les recherches sont effectuees. L'appel setnetgrent() definit le << groupe_reseau >> dans lequel un appel getnetgrent() ulterieur effectuera sa recherche. La fonction getnetgrent() recupere l'entree << groupe_reseau >> suivante et renvoie les pointeurs dans hote, utilisateur et domaine. Un pointeur NULL signifie que l'entree correspondante ne concorde avec aucune chaine. Les pointeurs sont valables tant qu'il n'y a pas d'appel a d'autres fonctions relatives au << groupe_reseau >>. Pour eviter ce probleme, vous pouvez utiliser la fonction GNU getnetgrent_r() qui enregistre les chaines dans le tampon fourni. Pour liberer tous les tampons alloues, utilisez endnetgrent(). Dans la plupart des cas, il vous suffira de verifier si le triplet (nom_hote, nom_utilisateur, nom_domaine) est membre d'un groupe reseau. Pour ce faire, la fonction innetgr() peut etre utilisee sans faire appel aux trois fonctions precedentes. Rappelons encore qu'un pointeur NULL est un joker (Ndt : wildcard) et correspond a n'importe quelle chaine. La fonction est sure du point de vue des threads. VALEUR RENVOYEE Ces fonctions renvoient 1 si elles reussissent et 0 si elles echouent. FICHIERS /etc/netgroup /etc/nsswitch.conf ATTRIBUTS Pour une explication des termes utilises dans cette section, consulter attributes(7). +-----------------+--------------------------+-------------------------+ |Interface | Attribut | Valeur | +-----------------+--------------------------+-------------------------+ |setnetgrent(), | Securite des threads | MT-Unsafe race:netgrent | |getnetgrent_r(), | | locale | |innetgr() | | | +-----------------+--------------------------+-------------------------+ |endnetgrent() | Securite des threads | MT-Unsafe race:netgrent | +-----------------+--------------------------+-------------------------+ |getnetgrent() | Securite des threads | MT-Unsafe race:netgrent | | | | race:netgrentbuf locale | +-----------------+--------------------------+-------------------------+ Dans le tableau ci-dessus, netgrent dans race:netgrent signifie que si une des fonctions setnetgrent(), getnetgrent_r(), innetgr(), getnetgrent() ou endnetgrent() est utilisee en parallele dans differents threads d'un programme, des situations de competition de donnees peuvent survenir. VERSIONS Dans l'implementation BSD, setnetgrent() renvoie void. STANDARDS Aucun. HISTORIQUE setnetgrent(), endnetgrent(), getnetgrent() et innetgr() sont disponibles sur la plupart des systemes UNIX. getnetgrent_r() n'est pas tres repandue sur les autres systemes. VOIR AUSSI sethostent(3), setprotoent(3), setservent(3) TRADUCTION La traduction francaise de cette page de manuel a ete creee par Christophe Blaess , Stephan Rafin , Thierry Vignaud , Francois Micaux, Alain Portal , Jean-Philippe Guerard , Jean-Luc Coulon (f5ibh) , Julien Cristau , Thomas Huriaux , Nicolas Francois , Florentin Duneau , Simon Paillard , Denis Barbier , David Prevot et Lucien Gentis Cette traduction est une documentation libre ; veuillez vous reporter a la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITE LEGALE. Si vous decouvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message a . Pages du manuel de Linux 6.06 31 octobre 2023 setnetgrent(3)