Name
vxdb_getpwuid - get user information by UID
Synopsis
#include <vitalnix/libvxdb/libvxdb.h>
#include <vitalnix/libvxdb/xafunc.h>
int vxdb_getpwnam(struct vxdb_state *handle, const char *username, struct vxdb_user *result);
int vxdb_getpwuid(struct vxdb_state *handle, unsigned int uid, struct vxdb_user *result);
Link with -lvxdb.
Description
Retrieves general information, such as login name, numeric
UID, primary group, home directory, default shell, etc. about the user given by
username or uid. result should point to a valid
struct vxdb_state
, i.e. it must have been zeroed or been filled
before. See the example below.
Return value
On success, positive non-zero is returned. If the user was not found, zero is returned. On error, a negative value is returned, indicating the error.
No typical errors specified.
Example
struct vxdb_user user = {};
int ret;
if ((ret = vxdb_getpwnam(dbh, "jengelh", &user)) < 0)
perror("vxdb_getpwnam");
else if (ret == 0)
fprintf(stderr, "The user does not exist\n");
else
do_something();
Alternatively, you may use
struct vxdb_state user;
memset(&user, 0, sizeof(*user));