Name

auth_enumerate — Obtain list of accounts

Synopsis


#include <courierauth.h>

auth_enumerate(int  (*callback_func)(const char *, uid_t, gid_t, const char *, const char *, const char *, void *),
 void * callback_arg);

DESCRIPTION

auth_enumerate enumerates all of the available accounts. auth_enumerate repeatedly calls callback_func, once for each account. callback_func receives the following arguments:

  • Account name.

  • Account's numeric userid.

  • Account's numeric groupid.

  • Account's home directory.

  • Account's mailbox (if defined, may be NULL, which indicates the default mailbox location).

  • Account's options string (if defined, may be NULL)

  • callback_arg, verbatim.

After invoking callback_func for the last account, auth_enumerate invokes callback_func one more time with all parameters set to NULL or 0.

If auth_enumerate encounters an error it will terminate without calling callback_func with all NULL or 0 parameters. This can be used to determine whether a partial list of accounts was received.

Note

Some back-end Courier authentication modules do not implement account enumeration, so this function may not be available in all configurations.