SETNETGRENT(3)

NOM
setnetgrent, endnetgrent, getnetgrent, getnetgrent_r, innetgr - Gérer les entrées du groupe réseau

SYNOPSIS
#include <netdb.h>

int setnetgrent(const char *groupe_réseau);
void endnetgrent(void);
int getnetgrent(char **hôte, char **utilisateur, char **domaine);

int getnetgrent_r(char **hôte, char **utilisateur,
char **domaine, char *tampon, int longueur_tampon);

int innetgr(const char *groupe_réseau, const char *hôte,
const char *utilisateur, const char *domaine);

Exigences de macros de test de fonctionalités pour la glibc (voir feature_test_macros(7)) :

setnetgrent(), endnetgrent(), getnetgrent(), getnetgrent_r(), innetgr() : _BSD_SOURCE || _SVID_SOURCE

DESCRIPTION
Le groupe réseau est une invention SunOS. Une base de données « groupe_réseau » est une liste de triplets de chaînes (nom_hôte, nom_utilisateur, nom_domaine) ou d'autres noms « groupe_réseau ». Chacun des éléments dans un triplet peut être vide, ce qui signifie que tout correspond. Les fonctions décrites ici permettent d'accéder aux bases de données « groupe_réseau ». Le fichier /etc/nsswitch.conf indique la base dans laquelle on effectue les recherches.

L'appel setnetgrent() définit le « groupe_réseau » dans lequel on cherchera par un appel getnetgrent() ultérieur. La fonction getnetgrent() trouve l'entrée « groupe_réseau » suivante et renvoie des pointeurs sur hôte, utilisateur, domaine. Un pointeur nul signifie que l'entrée correspondante ne concorde avec aucune chaîne. Les pointeurs sont valides tant qu'il n'y a pas d'appel à d'autres fonctions relatives au « groupe_réseau ». Pour éviter ce problème, vous pouvez utiliser la fonction GNU getnetgrent_r() qui enregistrent les chaînes dans le tampon fourni. Pour libérer tous les tampons alloués, utilisez endnetgrent().

Dans la plupart des cas, vous voudrez seulement vérifier si le triplet (nom_hôte, nom_utilisateur, nom_domaine) est membre d'un groupe réseau. La fonction innetgr() peut être utilisée pour faire cela sans faire appel aux trois fonctions précédentes. De nouveau, un pointeur nul est un joker (Ndt : wildcard) et correspond à n'importe quelle chaîne. La fonction est sûre du point de vue des threads.

VALEUR RENVOYÉE
Ces fonctions renvoient 1 si elles réussissent et 0 si elles échouent.

FICHIERS
/etc/netgroup
/etc/nsswitch.conf

CONFORMITÉ
Ces fonctions ne sont pas dans POSIX.1-2001, mais setnetgrent(), endnetgrent(), getnetgrent() et innetgr() sont disponibles sur la plupart des systèmes Unix. getnetgrent_r() est assez peu disponible sur d'autres systèmes.

NOTES
Dans l'implémentation BSD, setnetgrent() renvoie void.

VOIR AUSSI
sethostent(3), setservent(3), setprotoent(3)

TRADUCTION

Ce document est une traduction réalisée par Alain Portal <aportal AT univ-montp2 DOT fr> le 12 mai 2006 et révisée le 19 décembre 2007.

L'équipe de traduction a fait le maximum pour réaliser une adaptation française de qualité. La version anglaise la plus à jour de ce document est toujours consultable via la commande : « LANG=C man 3 setnetgrent ». N'hésitez pas à signaler à l'auteur ou au traducteur, selon le cas, toute erreur dans cette page de manuel.