Node:Data Types, Next:Initializing the libmuauth, Up:libmuauth
| mu_auth_fp | Data Type | 
| This is a pointer to authentication or authorization data. It
is defined as follows:
 typedef int (*mu_auth_fp) (void *return_data,
                           void *key,
                           void *func_data,
                           void *call_data);
Its arguments are: 
 | 
| mu_auth_data | Data Type | 
| The  struct mu_auth_data {
  /* These are from struct passwd */
  char    *name;       /* user name */
  char    *passwd;     /* user password */
  uid_t   uid;         /* user id */
  gid_t   gid;         /* group id */
  char    *gecos;      /* real name */
  char    *dir;        /* home directory */
  char    *shell;      /* shell program */
  /* */
  char    *mailbox;    /* Path to the user's system mailbox */
  int     change_uid;  /* Should the uid be changed? */
};
 | 
| mu_auth_module | Data Type | 
| The  struct mu_auth_module {
  char           *name;              /* Module name */
  struct argp    *argp;              /* Corresponding argp structure */
  mu_auth_fp     authenticate;       /* Authentication function ... */
  void           *authenticate_data; /* ... and its specific data */
  mu_auth_fp     auth_by_name;       /* Get user info by user name */
  void           *auth_by_name_data; /* ... and its specific data */
  mu_auth_fp     auth_by_uid;        /* Get user info by user id */
  void           *auth_by_uid_data;  /* ... and its specific data */
};
 | 
Actually it shoud have been struct mu_auth_data** return_data. 
This will be fixed in the next release