atUserUid(3) user handling

Other Alias

atUserValid, atScanUser, atUserName


#include <atfs.h>
#include <atfstk.h>

void atScanUser (char *userName; Af_user *resultUser);

char* atUserName (Af_user *user);

Uid_t atUserUid (Af_user *user);

int atUserValid (Af_user *user);


atScanUser scans the given string userName and tries to derive an AtFS user identification (resultUser) from it. It does not verify the existence of a corresponding UNIX (/etc/passwd) user entry. Use atUserUid to test that. atScanUser understands the following formats:
When the string does not contain an at sign, it is considered to be a plain user name from the current host and domain.
[email protected]
In the case that the part after the at sign doe not contain a period, it is assumed to be a hostname. Domain is the current domain.
[email protected]
This format can only be recognized, when the given domain is equal to the current domain, and the hostname remains as rest between the at sign and domain name.
[email protected]
An user identification string with a domain name different to the local domain is treated as [email protected], although this might be wrong.

atUserName returns a string of the form [email protected] generated from the given user structure. If no domain name is given in the structure, it returns [email protected] instead. With no host and no domain name, just user is returned. The result string resides in static memory and will be overwritten on subsequent calls.

atUserUid tries to map the given user structure to a UNIX user identification. It returns the uid on success, -1 otherwise.

atUserValid checks the given user structure for plausibility. It returns FALSE on fauilure, a non null value on success.