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