The pam_get_user function returns the name of the target user, as specified to pam_start(3). If no user was specified, nor set using pam_set_item(3), pam_get_user will prompt for a user name. Either way, a pointer to the user name is stored in the location pointed to by the user argument.
The prompt argument specifies a prompt to use if no user name is cached. If it is NULL, the PAM_USER_PROMPT will be used. If that item is also NULL, a hardcoded default prompt will be used.
The pam_get_user function returns one of the following values: