|HP-UX Reference > P
pam_get_user(3)HP-UX 11i Version 3: February 2007
pam_get_user — PAM routine to retrieve user name.
cc [ flag ... ] file ... -lpam [ library ... ]
int pam_get_user(pam_handle_t *pamh, char **user, const char *prompt);
pam_get_user() is used by PAM service modules to retrieve the current user name from the PAM handle. If the user name has not been set, via pam_start() or pam_set_item(), then the PAM conversation function will be used to prompt the user for the user name with the string "prompt". If prompt is NULL, then pam_get_item() is called and the value of PAM_USER_PROMPT is used for prompting. If the value of PAM_USER_PROMPT is NULL, the following default prompt is used:
Please enter user name:
After the user name is gathered by the conversation function, pam_set_item() is called to set the value of PAM_USER.
By convention, applications that need to prompt for a user name should call pam_set_item() and set the value of PAM_USER_PROMPT before calling pam_authenticate(). The service module's pam_sm_authenticate() function will then call pam_get_user() to prompt for the user name. Note that certain PAM service modules (such as a smart card module) may override the value of PAM_USER_PROMPT and pass in their own prompt.
Applications that call pam_authenticate() multiple times should set the value of PAM_USER to NULL with pam_set_item() before calling pam_authenticate() if they want the user to be prompted for a new user name each time.
The value of user retrieved by pam_get_user() should not be modified or freed. The item will be released by pam_end().
Refer to pam(3) for information on thread-safety of PAM interfaces.
Upon success, pam_get_user() returns PAM_SUCCESS; otherwise it returns an error code. Refer to pam(3) for information on error related return values.
pam(3), pam_start(3), pam_authenticate(3), pam_get_item(3), pam_set_item(3), pam_sm(3), pam_sm_authenticate(3), pam_end(3).