pam_kanidm/pam/
constants.rs

1use libc::{c_int, c_uint};
2
3pub type PamFlag = c_uint;
4pub type PamItemType = c_int;
5pub type PamMessageStyle = c_int;
6pub type AlwaysZero = c_int;
7
8// The Linux-PAM flags
9// see /usr/include/security/_pam_types.h
10pub const _PAM_SILENT: PamFlag = 0x8000;
11pub const _PAM_DISALLOW_NULL_AUTHTOK: PamFlag = 0x0001;
12pub const _PAM_ESTABLISH_CRED: PamFlag = 0x0002;
13pub const _PAM_DELETE_CRED: PamFlag = 0x0004;
14pub const _PAM_REINITIALIZE_CRED: PamFlag = 0x0008;
15pub const _PAM_REFRESH_CRED: PamFlag = 0x0010;
16pub const _PAM_CHANGE_EXPIRED_AUTHTOK: PamFlag = 0x0020;
17
18// The Linux-PAM item types
19// see /usr/include/security/_pam_types.h
20/// The service name
21pub const PAM_SERVICE: PamItemType = 1;
22/// The user name
23pub const PAM_USER: PamItemType = 2;
24/// The tty name
25pub const PAM_TTY: PamItemType = 3;
26/// The remote host name
27pub const PAM_RHOST: PamItemType = 4;
28/// The pam_conv structure
29pub const PAM_CONV: PamItemType = 5;
30/// The authentication token (password)
31pub const PAM_AUTHTOK: PamItemType = 6;
32/// The old authentication token
33pub const PAM_OLDAUTHTOK: PamItemType = 7;
34/// The remote user name
35pub const PAM_RUSER: PamItemType = 8;
36/// the prompt for getting a username
37pub const PAM_USER_PROMPT: PamItemType = 9;
38/* Linux-PAM :extensionsPamItemType = */
39/// app supplied function to override failure delays
40pub const _PAM_FAIL_DELAY: PamItemType = 10;
41/// X :display name
42pub const _PAM_XDISPLAY: PamItemType = 11;
43/// X :server authentication data
44pub const _PAM_XAUTHDATA: PamItemType = 12;
45/// The type for pam_get_authtok
46pub const _PAM_AUTHTOK_TYPE: PamItemType = 13;
47
48// Message styles
49pub const PAM_PROMPT_ECHO_OFF: PamMessageStyle = 1;
50pub const PAM_PROMPT_ECHO_ON: PamMessageStyle = 2;
51pub const PAM_ERROR_MSG: PamMessageStyle = 3;
52pub const PAM_TEXT_INFO: PamMessageStyle = 4;
53/// yes/no/maybe conditionals
54pub const _PAM_RADIO_TYPE: PamMessageStyle = 5;
55pub const _PAM_BINARY_PROMPT: PamMessageStyle = 7;
56
57// The Linux-PAM return values
58// see /usr/include/security/_pam_types.h
59#[allow(non_camel_case_types, dead_code)]
60#[derive(Debug, PartialEq)]
61#[repr(C)]
62pub enum PamResultCode {
63    PAM_SUCCESS = 0,
64    PAM_OPEN_ERR = 1,
65    PAM_SYMBOL_ERR = 2,
66    PAM_SERVICE_ERR = 3,
67    PAM_SYSTEM_ERR = 4,
68    PAM_BUF_ERR = 5,
69    PAM_PERM_DENIED = 6,
70    PAM_AUTH_ERR = 7,
71    PAM_CRED_INSUFFICIENT = 8,
72    PAM_AUTHINFO_UNAVAIL = 9,
73    PAM_USER_UNKNOWN = 10,
74    PAM_MAXTRIES = 11,
75    PAM_NEW_AUTHTOK_REQD = 12,
76    PAM_ACCT_EXPIRED = 13,
77    PAM_SESSION_ERR = 14,
78    PAM_CRED_UNAVAIL = 15,
79    PAM_CRED_EXPIRED = 16,
80    PAM_CRED_ERR = 17,
81    PAM_NO_MODULE_DATA = 18,
82    PAM_CONV_ERR = 19,
83    PAM_AUTHTOK_ERR = 20,
84    PAM_AUTHTOK_RECOVERY_ERR = 21,
85    PAM_AUTHTOK_LOCK_BUSY = 22,
86    PAM_AUTHTOK_DISABLE_AGING = 23,
87    PAM_TRY_AGAIN = 24,
88    PAM_IGNORE = 25,
89    PAM_ABORT = 26,
90    PAM_AUTHTOK_EXPIRED = 27,
91    PAM_MODULE_UNKNOWN = 28,
92    PAM_BAD_ITEM = 29,
93    PAM_CONV_AGAIN = 30,
94    PAM_INCOMPLETE = 31,
95}