DOKK / manpages / debian 12 / libexplain-dev / explain_getgrouplist_or_die.3.en
explain_getgrouplist_or_die(3) Library Functions Manual explain_getgrouplist_or_die(3)

explain_getgrouplist_or_die - get list of groups and report errors

#include <libexplain/getgrouplist.h>

void explain_getgrouplist_or_die(const char *user, gid_t group, gid_t *groups, int *ngroups);
int explain_getgrouplist_on_error(const char *user, gid_t group, gid_t *groups, int *ngroups);

The explain_getgrouplist_or_die function is used to call the getgrouplist(3) system call. On failure an explanation will be printed to stderr, obtained from the explain_getgrouplist(3) function, and then the process terminates by calling exit(EXIT_FAILURE).

The explain_getgrouplist_on_error function is used to call the getgrouplist(3) system call. On failure an explanation will be printed to stderr, obtained from the explain_getgrouplist(3) function, but still returns to the caller.

The user, exactly as to be passed to the getgrouplist(3) system call.
The group, exactly as to be passed to the getgrouplist(3) system call.
The groups, exactly as to be passed to the getgrouplist(3) system call.
The ngroups, exactly as to be passed to the getgrouplist(3) system call.

The explain_getgrouplist_or_die function only returns on success, see getgrouplist(3) for more information. On failure, prints an explanation and exits, it does not return.

The explain_getgrouplist_on_error function always returns the value return by the wrapped getgrouplist(3) system call.

The explain_getgrouplist_or_die function is intended to be used in a fashion similar to the following example:

explain_getgrouplist_or_die(user, group, groups, ngroups);

getgrouplist(3)
get list of groups to which a user belongs
explain_getgrouplist(3)
explain getgrouplist(3) errors
exit(2)
terminate the calling process

libexplain version 1.4
Copyright (C) 2013 Peter Miller