1 #ifndef authmysql_h 2 #define authmysql_h 3 4 #include "courier_auth_config.h" 5 #include <stdlib.h> 6 #include <sys/types.h> 7 #include <mysql.h> 8 #include <errmsg.h> 9 10 #include <string> 11 12 class authmysqluserinfo { 13 public: 14 std::string username; 15 std::string fullname; 16 std::string cryptpw; 17 std::string clearpw; 18 std::string home; 19 std::string maildir; 20 std::string quota; 21 std::string options; 22 uid_t uid; 23 gid_t gid; 24 }; 25 26 bool auth_mysql_getuserinfo(const char *username, 27 const char *service, 28 authmysqluserinfo &uiret); 29 30 extern void auth_mysql_cleanup(); 31 32 extern bool auth_mysql_setpass(const char *, const char *, const char *); 33 34 struct authinfo; 35 36 extern int auth_mysql_pre(const char *, const char *, 37 int (*)(struct authinfo *, void *), void *arg); 38 39 extern void auth_mysql_enumerate( void(*cb_func)(const char *name, 40 uid_t uid, 41 gid_t gid, 42 const char *homedir, 43 const char *maildir, 44 const char *options, 45 void *void_arg), 46 void *void_arg); 47 48 49 #endif 50