PAM_START(3)

NAME
pam_start, pam_end - activating PAM

SYNOPSIS
#include <security/pam_appl.h>

int pam_start(const char *service, const char *user, const struct pam_conv *conv, pam_handle_t **pamh_p);

int pam_end(pam_handle_t *pamh, int pam_status);

DESCRIPTION

pam_start
    Initialize the PAM library. Identifying the application with a particular service name. The username can take the value NULL, if not known at the time the interface is initialized. The conversation structure is passed to the library via the conv argument. (For a complete description of this and other structures the reader is directed to the more verbose PAM application developers' guide). Upon successful initialization, an opaque pointer-handle for future access to the library is returned through the contents of the pamh_p pointer.

pam_end
    Terminate the PAM library. The service application associated with the pamh handle, is terminated. The argument, pam_status, passes the value most recently returned to the application from the library; it indicates the manner in which the library should be shutdown. Besides carrying a return value, this argument may be logically OR'd with PAM_DATA_SILENT to indicate that the module should not treat the call too seriously. It is generally used to indicate that the current closing of the library is in a fork(2)ed process, and that the parent will take care of cleaning up things that exist outside of the current process space (files etc.).

RETURN VALUE

pam_start

pam_end
    On success, PAM_SUCCESS is returned

ERRORS
May be translated to text with pam_strerror(3).

CONFORMING TO
DCE-RFC 86.0, October 1995.

Note, the PAM_DATA_SILENT flag is pending acceptance with the DCE (as of 1996/12/4).

BUGS

None known.

SEE ALSO
fork(2), pam_authenticate(3), pam_acct_mgmt(3), pam_open_session(3), and pam_chauthtok(3). Also, see the three Linux-PAM Guides, for System administrators, module developers, and application developers.