pam_get_user man page
pam_get_user — get user name
int pam_get_user(const pam_handle_t *pamh, const char **user, const char *prompt);
The pam_get_user function returns the name of the user specified by pam_start(3). If no user was specified it what pam_get_item (pamh, PAM_USER, ... ); would have returned. If this is NULL it obtains the username via the pam_conv(3) mechanism, it prompts the user with the first non-NULL string in the following list:
- The prompt argument passed to the function.
- What is returned by pam_get_item (pamh, PAM_USER_PROMPT, ... );
- The default prompt: "login: "
By whatever means the username is obtained, a pointer to it is returned as the contents of *user. Note, this memory should not be free()'d or modified by the module.
This function sets the PAM_USER item associated with the pam_set_item(3) and pam_get_item(3) functions.
User name was successful retrieved.
A NULL pointer was submitted.
The conversation method supplied by the application failed to obtain the username.
pam_end(3), pam_get_item(3), pam_set_item(3), pam_strerror(3)