Obtain list of accounts
#include <courierauth.h>
auth_enumerate(int (*callback_func) (const char *, uid_t, gid_t, const char *, const char *, const char *, void *), void *callback_arg);
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.
\m[blue]authlib(3)\m[]\s-2\u[1]\d\s+2, \m[blue]auth_generic(3)\m[]\s-2\u[2]\d\s+2, \m[blue]auth_login(3)\m[]\s-2\u[3]\d\s+2, \m[blue]auth_getuserinfo(3)\m[]\s-2\u[4]\d\s+2, \m[blue]auth_passwd(3)\m[]\s-2\u[5]\d\s+2.
[set $man.base.url.for.relative.links]/authlib.html
[set $man.base.url.for.relative.links]/auth_generic.html
[set $man.base.url.for.relative.links]/auth_login.html
[set $man.base.url.for.relative.links]/auth_getuserinfo.html
[set $man.base.url.for.relative.links]/auth_passwd.html