3.4. Session management

3.4.1. Service function to start session management

#include <security/pam_modules.h> 
   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

#include <security/pam_modules.h> 
   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.