PNG  IHDR;IDATxܻn0K )(pA 7LeG{ §㻢|ذaÆ 6lذaÆ 6lذaÆ 6lom$^yذag5bÆ 6lذaÆ 6lذa{ 6lذaÆ `}HFkm,mӪôô! x|'ܢ˟;E:9&ᶒ}{v]n&6 h_tڠ͵-ҫZ;Z$.Pkž)!o>}leQfJTu іچ\X=8Rن4`Vwl>nG^is"ms$ui?wbs[m6K4O.4%/bC%t Mז -lG6mrz2s%9s@-k9=)kB5\+͂Zsٲ Rn~GRC wIcIn7jJhۛNCS|j08yiHKֶۛkɈ+;SzL/F*\Ԕ#"5m2[S=gnaPeғL lذaÆ 6l^ḵaÆ 6lذaÆ 6lذa; _ذaÆ 6lذaÆ 6lذaÆ RIENDB` 3.4. Session management

3.4. Session management

To be correctly initialized, PAM_SM_SESSION must be #define'd prior to including <security/pam_modules.h>. This will ensure that the prototypes for static modules are properly declared.

3.4.1. Service function to start session management

#define PAM_SM_SESSION
#include <security/pam_modules.h>
PAM_EXTERN int pam_sm_open_session(pamh,  
 flags,  
 argc,  
 argv); 
pam_handle_t *pamh;
int flags;
int argc;
const char **argv;
 

3.4.1.1. DESCRIPTION

The pam_sm_open_session function is the service module's implementation of the pam_open_session(3) interface.

This function is called to commence a session. The only valid value for flags is zero or:

PAM_SILENT

Do not emit any messages.

3.4.1.2. RETURN VALUES

PAM_SESSION_ERR

Cannot make/remove an entry for the specified session.

PAM_SUCCESS

The session was successfully started.

3.4.2. Service function to terminate session management

#define PAM_SM_SESSION
#include <security/pam_modules.h>
PAM_EXTERN int pam_sm_close_session(pamh,  
 flags,  
 argc,  
 argv); 
pam_handle_t *pamh;
int flags;
int argc;
const char **argv;
 

3.4.2.1. DESCRIPTION

The pam_sm_close_session function is the service module's implementation of the pam_close_session(3) interface.

This function is called to terminate a session. The only valid value for flags is zero or:

PAM_SILENT

Do not emit any messages.

3.4.2.2. RETURN VALUES

PAM_SESSION_ERR

Cannot make/remove an entry for the specified session.

PAM_SUCCESS

The session was successfully terminated.