tail head cat sleep
QR code linking to this page

Manual Pages  — PAM_START


pam_start – initiate a PAM transaction



#include <sys/types.h>
#include <security/pam_appl.h>

pam_start(const char *service, const char *user, const struct pam_conv *pam_conv, pam_handle_t **pamh);


The pam_start() function creates and initializes a PAM context.

The service argument specifies the name of the policy to apply, and is stored in the PAM_SERVICE item in the created context.

The user argument specifies the name of the target user - the user the created context will serve to authenticate. It is stored in the PAM_USER item in the created context.

The pam_conv argument points to a struct pam_conv describing the conversation function to use; see pam_conv for details.


The pam_start() function returns one of the following values:
  Unrecognized or restricted item.
  Memory buffer error.
  System error.


pam(3), pam_end(3), pam_get_item(3), pam_set_item(3), pam_strerror(3)


X/Open Single Sign-On Service (XSSO) - Pluggable Authentication Modules, June 1997.


The pam_start() function and this manual page were developed for the FreeBSD Project by ThinkSec AS and Network Associates Laboratories, the Security Research Division of Network Associates, Inc. under DARPA/SPAWAR contract N66001-01-C-8035 ("CBOSS"), as part of the DARPA CHATS research program.

The OpenPAM library is maintained by Dag-Erling Sm/orgrav <Mt des@des.no>.

PAM_START (3) February 24, 2019

tail head cat sleep
QR code linking to this page

Please direct any comments about this manual page service to Ben Bullock. Privacy policy.

Modern Unix impedes progress in computer science, wastes billions of dollars, and destroys the common sense of many who seriously use it.
— The Unix Haters' handbook