vitalnix user management suite 3.2.0


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));