VMS Help
CRTL, getpwuid
*Conan The Librarian
|
The getpwuid function returns information about a user database
entry for the specified uid.
The getpwuid_r function is a reentrant version of getpwuid.
These functions are OpenVMS Alpha only.
Format
#include <pwd.h>
struct passwd *getpwuid (uid_t uid); (ISO POSIX-1)
struct passwd *getpwuid (uid_t uid, . . . ); (DEC C Extension)
int getpwuid_r (uid_t uid, struct passwd *pwd, char *buffer,
size_t bufsize, struct passwd **result);
(ISO POSIX-1)
int getpwuid_r (uid_t uid, struct passwd *pwd, char *buffer,
size_t bufsize, struct passwd **result, . . . );
(DEC C Extension)
The getpwuid and getpwuid_r functions have variants named __32_
getpwuid, _getpwuid_r32 and __64_getpwuid, _getpwuid_r64 for use
with 32-bit and 64-bit pointer sizes, respectively.
uid
The user ID (UID) for which the attributes are to be read.
pwd
The location where the retrieved passwd structure is to be
placed.
buffer
A working buffer for the result argument that is able to hold the
entry in the passwd structure. Storage referenced by the passwd
structure is allocated from the memory provided with the buffer
argument, which is bufsize characters in size.
bufsize
The length of the character array that buffer points to.
result
Upon successful return, result is set to pwd. Upon unsuccessful
return, result is set to NULL.
. . .
An optional argument that can be either 1 or 0. If you specify
1, the directory specification is returned in OpenVMS format. If
you specify 0, the directory specification (pathname) is returned
in UNIX style format. If you omit this argument, the function
returns the directory specification according to your current
command-language interpreter.
The getpwuid function searches the user database for an entry
with the specified uid. The function returns the first user entry
in the database with a pw_uid member of the passwd structure that
matches the uid argument.
The passwd structure is defined in the <pwd.h> header file as
follows:
pw_name The user's login name.
pw_uid The numerical user ID.
pw_gid The numerical group ID.
pw_dir The home directory of the user.
pw_shell The initial program for the user.
NOTE
All information generated by the getpwuid function is stored
in a per-thread static area and is overwritten on subsequent
calls to the function.
The getpwuid_r function is the reentrant version of getpwuid.
The getpwuid_r function updates the passwd structure pointed to
by pwd and stores a pointer to that structure at the location
pointed to by result. The structure will contain an entry from
the user database with a matching uid. Storage referenced by the
structure is allocated from the memory provided with the buffer
argument, which is bufsize characters in size. The maximum size
needed for this buffer can be determined with the _SC_GETPW_R_
SIZE_MAX parameter of the sysconf function. On error or if the
requested entry is not found, a NULL pointer is returned at the
location pointed to by result.
Applications wishing to check for error situations should set
errno to 0 before calling getpwuid. If getpwuid returns a NULL
pointer and errno is nonzero, an error occurred.
See also getuid to know how UIC is represented.
x getpwuid returns a pointer to a valid passwd
structure, if a matching entry is found.
NULL getpwuid returns NULL if an error occurred or
a matching entry was not found. errno is set
to indicate the error. The getpwuid function
may fail if:
o EIO - An I/O error has occurred.
o EINTR - A signal was intercepted during
getpwnam.
o EMFILE - OPEN_MAX file descriptors are
currently open in the calling process.
o ENFILE - The maximum allowable number of
files is currently open in the system.
0 When successful, getpwuid_r returns 0 and
stores a pointer to the updated passwd
structure at the location pointed to by
result.
0 When unsuccessful (on error or if the
requested entry is not found), getpwuid_r
returns 0 and stores a NULL pointer at the
location pointed to by result. The getpwuid_r
function may fail if:
o ERANGE - Insufficient storage was supplied
through buffer and bufsize to contain the
data to be referenced by the resulting
passwd structure.