PAM_GET_USER(3)

  .SH "NAME" pam_get_user - get user name
  .SH "SYNOPSIS"

#include <security/pam_modules.h>

     .HP u int pam_get_user(const pam_handle_t *pamh, const char **user, const char *prompt);

  .SH "DESCRIPTION"

    .PP The pam_get_user function returns the name of the user specified by pam_start(3). If no user was specified it returns 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.
          .RE

        •
                What is returned by pam_get_item (pamh, PAM_USER_PROMPT, ... );
              .RE

            •
                    The default prompt: "login: "
                  .RE
                .PP 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.
                .PP This function sets the PAM_USER item associated with the pam_set_item(3) and pam_get_item(3) functions.

              .SH "RETURN VALUES"

                  .PP PAM_SUCCESS

                           User name was successful retrieved.

                      .RE
                      .PP PAM_SYSTEM_ERR

                               A NULL pointer was submitted.

                          .RE
                          .PP PAM_CONV_ERR

                                   The conversation method supplied by the application failed to obtain the username.

                              .RE
                              .PP PAM_BUF_ERR

                                       Memory buffer error.

                                  .RE
                                  .PP PAM_ABORT

                                           Error resuming an old conversation.

                                      .RE
                                      .PP PAM_CONV_AGAIN

                                               The conversation method supplied by the application is waiting for an event.

                                          .RE

                                      .SH "SEE ALSO"

                                        .PP pam_end(3), pam_get_item(3), pam_set_item(3), pam_strerror(3)