Sous-routine usrinfo

Objectif

Extrait et définit les informations utilisateur sur le propriétaire du processus en cours.

Bibliothèque

Bibliothèque C standard (libc.a)

Syntaxe

#include <uinfo.h>
int usrinfo ( Command Buffer Count)
int Command;
char *Buffer;
int Count;

Descriptif

La sous-routine Usrinfo obtient et définit des informations sur le propriétaire du processus en cours. The information is a sequence of null-terminated Nom=Valeur strings. La dernière chaîne de la séquence est terminée par deux caractères nulles successifs. Un processus enfant hérite des informations utilisateur du processus parent.

Paramètres

Article Descriptif
Commande Indique l'une des constantes suivantes:
GETUINFO
Copie les informations utilisateur, jusqu'au nombre d'octets spécifié par le paramètre Comptage , dans la mémoire tampon désignée par le paramètre Mémoire tampon .
SETUINFO
Définit les informations utilisateur du processus sur le nombre d'octets spécifié par le paramètre Comptage dans la mémoire tampon désignée par le paramètre Mémoire tampon . Le processus appelant doit disposer du droit d'utilisateur root pour définir les informations utilisateur.

Les informations utilisateur minimales se composent de quatre chaînes généralement définies par le programme Connexion :

NOM=Nom d' utilisateur
LOGIN=Nom d'utilisateur
LOGNAME=Nom d'utilisateur
TTY =NomTTYT

Si le processus n'a pas de terminal, le paramètre NomTTYT doit être null.

Tampon Spécifie un pointeur vers une mémoire tampon utilisateur. Cette mémoire tampon est généralement de UINFOSIZ octets.
count Indique le nombre d'octets d'informations utilisateur copiés depuis ou vers la mémoire tampon utilisateur.

Valeurs renvoyées

En cas de réussite, la sous-routine Usrinfo renvoie un entier non négatif indiquant le nombre d'octets transférés. Sinon, la valeur -1 est renvoyée et la variable globale errno est définie pour indiquer l'erreur.

Codes d'erreur

La sous-routine Usrinfo échoue si l'une des opérations suivantes est vraie:

Article Descriptif
EPERM Le paramètre Commande est défini sur SETUINFOet le processus appelant ne dispose pas des droits utilisateur root.
EINVAL Le paramètre Commande n'est pas défini sur SETUINFO ou GETUINFO.
EINVAL Le paramètre Commande est défini sur SETUINFOet le paramètre Comptage est supérieur à UINFOSIZ.
EDÉFAUT Le paramètre Mémoire tampon pointe en dehors de l'espace adresse du processus.