1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81
|
/* Copyright (c) 2008 Sharvil Nanavati */
#ifndef PAM_STUBS_H
#define PAM_STUBS_H
typedef enum pam_error_tag
{
Pam_Abort,
Pam_Session_Err,
Pam_Authtok_Err,
Pam_Authtok_Recover_Err,
Pam_Authtok_Lock_Busy,
Pam_Authtok_Disable_Aging,
Pam_Try_Again,
Pam_Acct_Expired,
Pam_New_Authtok_Reqd,
Pam_Perm_Denied,
Pam_Cred_Err,
Pam_Cred_Expired,
Pam_Cred_Unavail,
Pam_Auth_Err,
Pam_Cred_Insufficient,
Pam_Authinfo_Unavail,
Pam_Maxtries,
Pam_User_Unknown,
Pam_Buf_Err,
Pam_System_Err,
Pam_Bad_Item
} pam_error;
enum
{
Pam_Prompt_Echo_Off,
Pam_Prompt_Echo_On,
Pam_Error_Msg,
Pam_Text_Info
};
enum
{
Pam_Disallow_Null_Authtok
};
enum
{
Pam_Establish_Cred,
Pam_Delete_Cred,
Pam_Reinitialize_Cred,
Pam_Refresh_Cred
};
enum
{
Pam_Change_Expired_Authtok
};
enum
{
Pam_Service,
Pam_User,
Pam_User_Prompt,
Pam_Tty,
Pam_RUser,
Pam_RHost,
Pam_AuthTok,
Pam_OldAuthTok,
Pam_Conv,
Pam_Fail_Delay
};
typedef struct caml_pam_handle_tag
{
pam_handle_t * handle;
value callback;
value fail_delay;
int error_code;
} caml_pam_handle;
#define Handle_val(v) (caml_pam_handle *)Data_custom_val(v)
#endif
|