1PAM_START(3)                   Linux-PAM Manual                   PAM_START(3)
2
3
4

NAME

6       pam_start - initialization of PAM transaction
7

SYNOPSIS

9       #include <security/pam_appl.h>
10
11       int pam_start(const char *service_name, const char *user,
12                     const struct pam_conv *pam_conversation,
13                     pam_handle_t **pamh);
14

DESCRIPTION

16       The pam_start function creates the PAM context and initiates the PAM
17       transaction. It is the first of the PAM functions that needs to be
18       called by an application. The transaction state is contained entirely
19       within the structure identified by this handle, so it is possible to
20       have multiple transactions in parallel. But it is not possible to use
21       the same handle for different transactions, a new one is needed for
22       every new context.
23
24       The service_name argument specifies the name of the service to apply
25       and will be stored as PAM_SERVICE item in the new context. The policy
26       for the service will be read from the file /etc/pam.d/service_name or,
27       if that file does not exist, from /etc/pam.conf.
28
29       The user argument can specify the name of the target user and will be
30       stored as PAM_USER item. If the argument is NULL, the module has to ask
31       for this item if necessary.
32
33       The pam_conversation argument points to a struct pam_conv describing
34       the conversation function to use. An application must provide this for
35       direct communication between a loaded module and the application.
36
37       Following a successful return (PAM_SUCCESS) the contents of pamh is a
38       handle that contains the PAM context for successive calls to the PAM
39       functions. In an error case is the content of pamh undefined.
40
41       The pam_handle_t is a blind structure and the application should not
42       attempt to probe it directly for information. Instead the PAM library
43       provides the functions pam_set_item(3) and pam_get_item(3). The PAM
44       handle cannot be used for mulitiple authentications at the same time as
45       long as pam_end was not called on it before.
46

RETURN VALUES

48       PAM_ABORT
49           General failure.
50
51       PAM_BUF_ERR
52           Memory buffer error.
53
54       PAM_SUCCESS
55           Transaction was successful created.
56
57       PAM_SYSTEM_ERR
58           System error, for example a NULL pointer was submitted instead of a
59           pointer to data.
60

SEE ALSO

62       pam_get_data(3), pam_set_data(3), pam_end(3), pam_strerror(3)
63
64
65
66Linux-PAM Manual                  03/02/2009                      PAM_START(3)
Impressum