Courier-Authlib|Home|Release notes|Installation|Documentation


auth_enumerate — 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.


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


authlib(3), auth_generic(3), auth_login(3), auth_getuserinfo(3), auth_passwd(3).