December 21, 2007 PAM_START 3

### NAME

pam_start - initiate a PAM transaction

### LIBRARY

### SYNOPSIS

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

### DESCRIPTION

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 describing the conversation function to use; see ```pam_conv` for details.

### RETURN VALUES

The pam_start function returns one of the following values:

[```PAM_BUF_ERR`]
  Memory buffer error.

[```PAM_SYSTEM_ERR`]
  System error.

### SEE ALSO

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

### STANDARDS

### AUTHORS

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.