ENDGRENT |
Fin d'entrée de groupe |
---|---|
C pour Unix | grp.h |
Syntaxe
void endgrent(void); |
Retour
En cas de réussite, getgrent() renvoie un pointeur vers une structure de groupe. En fin de fichier, getgrent() renvoie un pointeur nul et ne modifie pas le paramètre errno. En cas d'erreur, getgrent() renvoie un pointeur null et errno est défini pour indiquer l'erreur.
L'application ne doit pas modifier la structure vers laquelle pointe la valeur de retour, ni les zones d'entreposage pointées par les pointeurs de la structure. Le pointeur renvoyé et les pointeurs de la structure peuvent être invalidés, ou la structure ou les zones d'entreposage peuvent être écrasées par un appel ultérieur à getgrgid(), getgrnam() ou getgrent(). Le pointeur renvoyé et les pointeurs de la structure peuvent également être invalidés si le processus léger appelant est terminé.
Description
Cette fonction permet de fermer le groupe de fichier.
Remarques
- La fonction getgrent() doit renvoyer un pointeur vers une structure contenant les champs détaillés d'une entrée de la base de données de groupe. Si la base de données de groupe n'est pas déjà ouverte, getgrent() l'ouvre et renvoie un pointeur vers une structure de groupe contenant la première entrée de la base de données. Elle renvoie ensuite un pointeur vers une structure de groupe contenant la structure de groupe suivante de la base de données, permettant ainsi des appels successifs pour effectuer des recherches dans l'ensemble de la base de données.
- Une implémentation fournissant des contrôles de sécurité étendus peut imposer des restrictions supplémentaires définies par l'implémentation concernant l'accès à la base de données de groupe. En particulier, le système peut nier l'existence de tout ou partie des entrées de la base de données de groupe associées à des groupes autres que ceux associés à l'appelant et peut omettre des utilisateurs autres que l'appelant de la liste des membres des groupes dans les entrées de base de données renvoyées.
- La fonction setgrent() doit rembobiner la base de données de groupe afin que le prochain appel getgrent() renvoie la première entrée, permettant ainsi des recherches répétées.
- La fonction endgrent() doit fermer la base de données de groupe.
- Les fonctions setgrent() et endgrent() ne doivent pas modifier le paramètre errno en cas de succès.
- En cas d'erreur, les fonctions setgrent() et endgrent() doivent définir errno pour indiquer l'erreur.
- Étant donné qu'aucune valeur n'est renvoyée par les fonctions setgrent() et endgrent(), une application souhaitant vérifier les situations d'erreur doit définir errno à 0, puis appeler la fonction, puis vérifier errno.
- Ces fonctions ne doivent pas nécessairement être thread-safe.
Erreurs
Ces fonctions peuvent échouer si :
Constante | Description |
---|---|
EINTR | Un signal a été intercepté pendant l'opération. |
EIO | Une erreur d'entrée/sortie s'est produite. |
De plus, les fonctions getgrent() et setgrent() peuvent échouer si :
Constante | Description |
---|---|
EMFILE | Tous les descripteurs de fichiers disponibles pour le processus sont actuellement ouverts. |
ENFILE | Le nombre maximal de fichiers autorisés est actuellement ouvert sur le système. |