summaryrefslogtreecommitdiff
path: root/pam_stubs.h
blob: c9522b179f57adb7cc2cbdd4a709fd92ee3b8986 (plain)
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