# phpman > info > pam_putenv

[PAM_PUTENV(3)](https://www.chedong.com/phpMan.php/man/PAMPUTENV/3/markdown)                  Linux-PAM Manual                  [PAM_PUTENV(3)](https://www.chedong.com/phpMan.php/man/PAMPUTENV/3/markdown)

NAME
       pam_putenv - set or change PAM environment variable

SYNOPSIS
       #include <security/pam_appl.h>

       int pam_putenv(pam_handle_t *pamh, const char *name_value);

DESCRIPTION
       The pam_putenv function is used to add or change the value of PAM
       environment variables as associated with the pamh handle.

       The pamh argument is an authentication handle obtained by a prior call
       to pam_start(). The name_value argument is a single NUL terminated
       string of one of the following forms:

       NAME=value of variable
           In this case the environment variable of the given NAME is set to
           the indicated value: value of variable. If this variable is already
           known, it is overwritten. Otherwise it is added to the PAM
           environment.

       NAME=
           This function sets the variable to an empty value. It is listed
           separately to indicate that this is the correct way to achieve such
           a setting.

       NAME
           Without an '=' the pam_putenv() function will delete the
           corresponding variable from the PAM environment.

       pam_putenv() operates on a copy of name_value, which means in contrast
       to [putenv(3)](https://www.chedong.com/phpMan.php/man/putenv/3/markdown), the application is responsible for freeing the data.

RETURN VALUES
       PAM_PERM_DENIED
           Argument name_value given is a NULL pointer.

       PAM_BAD_ITEM
           Variable requested (for deletion) is not currently set.

       PAM_ABORT
           The pamh handle is corrupt.

       PAM_BUF_ERR
           Memory buffer error.

       PAM_SUCCESS
           The environment variable was successfully updated.

SEE ALSO
       [pam_start(3)](https://www.chedong.com/phpMan.php/man/pamstart/3/markdown), [pam_getenv(3)](https://www.chedong.com/phpMan.php/man/pamgetenv/3/markdown), [pam_getenvlist(3)](https://www.chedong.com/phpMan.php/man/pamgetenvlist/3/markdown), [pam_strerror(3)](https://www.chedong.com/phpMan.php/man/pamstrerror/3/markdown), [pam(7)](https://www.chedong.com/phpMan.php/man/pam/7/markdown)

Linux-PAM Manual                  06/08/2020                     [PAM_PUTENV(3)](https://www.chedong.com/phpMan.php/man/PAMPUTENV/3/markdown)
