git.fiddlerwoaroof.com
pam.h
01c00cfe
 #ifndef _PAM_H
 #define _PAM_H
 #include <string>
 #include <vector>
 #include <memory>
 #include <security/pam_modules.h>
 
 class pam_conversation {
     public:
         virtual int conv(const std::vector<const struct pam_message *> &prompts, std::vector<struct pam_response *> &answers) = 0;
 };
 typedef std::shared_ptr<pam_conversation> pam_conversation_p;
 
 class pam {
     public:
         virtual int get_conversation(pam_handle_t *pamh, std::shared_ptr<pam_conversation> &conversation) = 0;
 };
 typedef std::shared_ptr<pam> pam_p;
 
 pam_p get_system_pam();
 
 #endif