Mercurial > crates > nonstick
annotate libpam-sys/libpam-sys-helpers/src/constants.rs @ 137:88627c057709 default tip
Add Sun PAM functions from Illumos headers.
author | Paul Fisher <paul@pfish.zone> |
---|---|
date | Thu, 03 Jul 2025 17:33:13 -0400 |
parents | efbc235f01d3 |
children |
rev | line source |
---|---|
136
efbc235f01d3
Separate libpam-sys-helpers from libpam-sys.
Paul Fisher <paul@pfish.zone>
parents:
134
diff
changeset
|
1 //! All of `libpam`'s constants. |
110
2346fd501b7a
Add tests for constants and do other macro niceties.
Paul Fisher <paul@pfish.zone>
parents:
109
diff
changeset
|
2 //! |
2346fd501b7a
Add tests for constants and do other macro niceties.
Paul Fisher <paul@pfish.zone>
parents:
109
diff
changeset
|
3 //! These constants are tested on a per-platform basis by `libpam-sys-test`'s |
2346fd501b7a
Add tests for constants and do other macro niceties.
Paul Fisher <paul@pfish.zone>
parents:
109
diff
changeset
|
4 //! `test_constants.rs`. |
108
e97534be35e3
Make some proc macros for doing cfg-like stuff for PAM impls.
Paul Fisher <paul@pfish.zone>
parents:
106
diff
changeset
|
5 |
136
efbc235f01d3
Separate libpam-sys-helpers from libpam-sys.
Paul Fisher <paul@pfish.zone>
parents:
134
diff
changeset
|
6 #![allow(non_camel_case_types)] |
efbc235f01d3
Separate libpam-sys-helpers from libpam-sys.
Paul Fisher <paul@pfish.zone>
parents:
134
diff
changeset
|
7 #![allow(unused_imports)] |
efbc235f01d3
Separate libpam-sys-helpers from libpam-sys.
Paul Fisher <paul@pfish.zone>
parents:
134
diff
changeset
|
8 use num_enum::{IntoPrimitive, TryFromPrimitive}; |
efbc235f01d3
Separate libpam-sys-helpers from libpam-sys.
Paul Fisher <paul@pfish.zone>
parents:
134
diff
changeset
|
9 |
106
49d9e2b5c189
An irresponsible mix of implementing libpam-sys and other stuff.
Paul Fisher <paul@pfish.zone>
parents:
diff
changeset
|
10 /// Macro to make defining a bunch of constants way easier. |
49d9e2b5c189
An irresponsible mix of implementing libpam-sys and other stuff.
Paul Fisher <paul@pfish.zone>
parents:
diff
changeset
|
11 macro_rules! define { |
108
e97534be35e3
Make some proc macros for doing cfg-like stuff for PAM impls.
Paul Fisher <paul@pfish.zone>
parents:
106
diff
changeset
|
12 ($(#[$attr:meta])* $($name:ident = $value:expr);+$(;)?) => { |
e97534be35e3
Make some proc macros for doing cfg-like stuff for PAM impls.
Paul Fisher <paul@pfish.zone>
parents:
106
diff
changeset
|
13 define!( |
e97534be35e3
Make some proc macros for doing cfg-like stuff for PAM impls.
Paul Fisher <paul@pfish.zone>
parents:
106
diff
changeset
|
14 @meta { $(#[$attr])* } |
113
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
15 $(pub const $name: i32 = $value;)+ |
108
e97534be35e3
Make some proc macros for doing cfg-like stuff for PAM impls.
Paul Fisher <paul@pfish.zone>
parents:
106
diff
changeset
|
16 ); |
e97534be35e3
Make some proc macros for doing cfg-like stuff for PAM impls.
Paul Fisher <paul@pfish.zone>
parents:
106
diff
changeset
|
17 }; |
e97534be35e3
Make some proc macros for doing cfg-like stuff for PAM impls.
Paul Fisher <paul@pfish.zone>
parents:
106
diff
changeset
|
18 (@meta $m:tt $($i:item)+) => { define!(@expand $($m $i)+); }; |
e97534be35e3
Make some proc macros for doing cfg-like stuff for PAM impls.
Paul Fisher <paul@pfish.zone>
parents:
106
diff
changeset
|
19 (@expand $({ $(#[$m:meta])* } $i:item)+) => {$($(#[$m])* $i)+}; |
e97534be35e3
Make some proc macros for doing cfg-like stuff for PAM impls.
Paul Fisher <paul@pfish.zone>
parents:
106
diff
changeset
|
20 } |
106
49d9e2b5c189
An irresponsible mix of implementing libpam-sys and other stuff.
Paul Fisher <paul@pfish.zone>
parents:
diff
changeset
|
21 |
113
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
22 /// Macro to make defining C-style enums way easier. |
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
23 macro_rules! c_enum { |
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
24 ($(#[$attr:meta])* $($name:ident $(= $value:expr)?,)*) => { |
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
25 c_enum!( |
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
26 (0) |
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
27 $(#[$attr])* |
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
28 $($name $(= $value)?,)* |
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
29 ); |
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
30 }; |
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
31 (($n:expr) $(#[$attr:meta])* $name:ident, $($rest:ident $(= $rv:expr)?,)*) => { |
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
32 $(#[$attr])* pub const $name: i32 = $n; |
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
33 c_enum!(($n + 1) $(#[$attr])* $($rest $(= $rv)?,)*); |
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
34 }; |
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
35 (($n:expr) $(#[$attr:meta])* $name:ident = $value:expr, $($rest:ident $(= $rv:expr)?,)*) => { |
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
36 $(#[$attr])* pub const $name: i32 = $value; |
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
37 c_enum!(($value + 1) $(#[$attr])* $($rest $(= $rv)?,)*); |
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
38 }; |
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
39 (($n:expr) $(#[$attr:meta])*) => {}; |
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
40 } |
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
41 |
109 | 42 // There are a few truly universal constants. |
43 // They are defined here directly. | |
118
39760dfc9b3b
Detect PAM library based only on system lib; rename minimal lib to XSso.
Paul Fisher <paul@pfish.zone>
parents:
113
diff
changeset
|
44 /// The successful return code. |
113
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
45 pub const PAM_SUCCESS: i32 = 0; |
106
49d9e2b5c189
An irresponsible mix of implementing libpam-sys and other stuff.
Paul Fisher <paul@pfish.zone>
parents:
diff
changeset
|
46 |
113
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
47 c_enum!( |
109 | 48 /// An item type. |
113
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
49 PAM_SERVICE = 1, |
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
50 PAM_USER, |
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
51 PAM_TTY, |
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
52 PAM_RHOST, |
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
53 PAM_CONV, |
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
54 PAM_AUTHTOK, |
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
55 PAM_OLDAUTHTOK, |
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
56 PAM_RUSER, |
118
39760dfc9b3b
Detect PAM library based only on system lib; rename minimal lib to XSso.
Paul Fisher <paul@pfish.zone>
parents:
113
diff
changeset
|
57 PAM_USER_PROMPT, |
109 | 58 ); |
106
49d9e2b5c189
An irresponsible mix of implementing libpam-sys and other stuff.
Paul Fisher <paul@pfish.zone>
parents:
diff
changeset
|
59 |
113
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
60 c_enum!( |
109 | 61 /// A message style. |
113
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
62 PAM_PROMPT_ECHO_OFF = 1, |
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
63 PAM_PROMPT_ECHO_ON, |
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
64 PAM_ERROR_MSG, |
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
65 PAM_TEXT_INFO, |
109 | 66 ); |
106
49d9e2b5c189
An irresponsible mix of implementing libpam-sys and other stuff.
Paul Fisher <paul@pfish.zone>
parents:
diff
changeset
|
67 |
109 | 68 define!( |
69 /// Maximum size of PAM conversation elements (suggested). | |
70 PAM_MAX_NUM_MSG = 32; | |
71 PAM_MAX_MSG_SIZE = 512; | |
72 PAM_MAX_RESP_SIZE = 512; | |
73 ); | |
106
49d9e2b5c189
An irresponsible mix of implementing libpam-sys and other stuff.
Paul Fisher <paul@pfish.zone>
parents:
diff
changeset
|
74 |
134
6c1e1bdb4164
Use standard #[cfg] directives rather than custom proc macros.
Paul Fisher <paul@pfish.zone>
parents:
133
diff
changeset
|
75 #[cfg(pam_impl = "LinuxPam")] |
109 | 76 pub use linux_pam::*; |
134
6c1e1bdb4164
Use standard #[cfg] directives rather than custom proc macros.
Paul Fisher <paul@pfish.zone>
parents:
133
diff
changeset
|
77 #[cfg(pam_impl = "LinuxPam")] |
106
49d9e2b5c189
An irresponsible mix of implementing libpam-sys and other stuff.
Paul Fisher <paul@pfish.zone>
parents:
diff
changeset
|
78 mod linux_pam { |
136
efbc235f01d3
Separate libpam-sys-helpers from libpam-sys.
Paul Fisher <paul@pfish.zone>
parents:
134
diff
changeset
|
79 use super::{IntoPrimitive, TryFromPrimitive}; |
113
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
80 c_enum!( |
118
39760dfc9b3b
Detect PAM library based only on system lib; rename minimal lib to XSso.
Paul Fisher <paul@pfish.zone>
parents:
113
diff
changeset
|
81 /// An error return code. |
113
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
82 PAM_OPEN_ERR = 1, |
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
83 PAM_SYMBOL_ERR, |
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
84 PAM_SERVICE_ERR, |
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
85 PAM_SYSTEM_ERR, |
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
86 PAM_BUF_ERR, |
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
87 PAM_PERM_DENIED, |
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
88 PAM_AUTH_ERR, |
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
89 PAM_CRED_INSUFFICIENT, |
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
90 PAM_AUTHINFO_UNAVAIL, |
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
91 PAM_USER_UNKNOWN, |
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
92 PAM_MAXTRIES, |
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
93 PAM_NEW_AUTHTOK_REQD, |
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
94 PAM_ACCT_EXPIRED, |
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
95 PAM_SESSION_ERR, |
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
96 PAM_CRED_UNAVAIL, |
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
97 PAM_CRED_EXPIRED, |
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
98 PAM_CRED_ERR, |
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
99 PAM_NO_MODULE_DATA, |
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
100 PAM_CONV_ERR, |
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
101 PAM_AUTHTOK_ERR, |
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
102 PAM_AUTHTOK_RECOVERY_ERR, |
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
103 PAM_AUTHTOK_LOCK_BUSY, |
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
104 PAM_AUTHTOK_DISABLE_AGING, |
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
105 PAM_TRY_AGAIN, |
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
106 PAM_IGNORE, |
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
107 PAM_ABORT, |
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
108 PAM_AUTHTOK_EXPIRED, |
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
109 PAM_MODULE_UNKNOWN, |
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
110 PAM_BAD_ITEM, |
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
111 PAM_CONV_AGAIN, |
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
112 PAM_INCOMPLETE, |
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
113 _PAM_RETURN_VALUES, |
106
49d9e2b5c189
An irresponsible mix of implementing libpam-sys and other stuff.
Paul Fisher <paul@pfish.zone>
parents:
diff
changeset
|
114 ); |
49d9e2b5c189
An irresponsible mix of implementing libpam-sys and other stuff.
Paul Fisher <paul@pfish.zone>
parents:
diff
changeset
|
115 |
49d9e2b5c189
An irresponsible mix of implementing libpam-sys and other stuff.
Paul Fisher <paul@pfish.zone>
parents:
diff
changeset
|
116 define!( |
49d9e2b5c189
An irresponsible mix of implementing libpam-sys and other stuff.
Paul Fisher <paul@pfish.zone>
parents:
diff
changeset
|
117 /// A flag value. |
49d9e2b5c189
An irresponsible mix of implementing libpam-sys and other stuff.
Paul Fisher <paul@pfish.zone>
parents:
diff
changeset
|
118 PAM_SILENT = 0x8000; |
49d9e2b5c189
An irresponsible mix of implementing libpam-sys and other stuff.
Paul Fisher <paul@pfish.zone>
parents:
diff
changeset
|
119 PAM_DISALLOW_NULL_AUTHTOK = 0x0001; |
49d9e2b5c189
An irresponsible mix of implementing libpam-sys and other stuff.
Paul Fisher <paul@pfish.zone>
parents:
diff
changeset
|
120 PAM_ESTABLISH_CRED = 0x0002; |
49d9e2b5c189
An irresponsible mix of implementing libpam-sys and other stuff.
Paul Fisher <paul@pfish.zone>
parents:
diff
changeset
|
121 PAM_DELETE_CRED = 0x0004; |
49d9e2b5c189
An irresponsible mix of implementing libpam-sys and other stuff.
Paul Fisher <paul@pfish.zone>
parents:
diff
changeset
|
122 PAM_REINITIALIZE_CRED = 0x0008; |
108
e97534be35e3
Make some proc macros for doing cfg-like stuff for PAM impls.
Paul Fisher <paul@pfish.zone>
parents:
106
diff
changeset
|
123 PAM_REFRESH_CRED = 0x0010; |
106
49d9e2b5c189
An irresponsible mix of implementing libpam-sys and other stuff.
Paul Fisher <paul@pfish.zone>
parents:
diff
changeset
|
124 |
49d9e2b5c189
An irresponsible mix of implementing libpam-sys and other stuff.
Paul Fisher <paul@pfish.zone>
parents:
diff
changeset
|
125 PAM_CHANGE_EXPIRED_AUTHTOK = 0x0020; |
108
e97534be35e3
Make some proc macros for doing cfg-like stuff for PAM impls.
Paul Fisher <paul@pfish.zone>
parents:
106
diff
changeset
|
126 |
e97534be35e3
Make some proc macros for doing cfg-like stuff for PAM impls.
Paul Fisher <paul@pfish.zone>
parents:
106
diff
changeset
|
127 PAM_PRELIM_CHECK = 0x4000; |
e97534be35e3
Make some proc macros for doing cfg-like stuff for PAM impls.
Paul Fisher <paul@pfish.zone>
parents:
106
diff
changeset
|
128 PAM_UPDATE_AUTHTOK = 0x2000; |
e97534be35e3
Make some proc macros for doing cfg-like stuff for PAM impls.
Paul Fisher <paul@pfish.zone>
parents:
106
diff
changeset
|
129 PAM_DATA_REPLACE = 0x20000000; |
106
49d9e2b5c189
An irresponsible mix of implementing libpam-sys and other stuff.
Paul Fisher <paul@pfish.zone>
parents:
diff
changeset
|
130 ); |
49d9e2b5c189
An irresponsible mix of implementing libpam-sys and other stuff.
Paul Fisher <paul@pfish.zone>
parents:
diff
changeset
|
131 |
113
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
132 c_enum!( |
127 | 133 /// An item type (Linux-only). |
118
39760dfc9b3b
Detect PAM library based only on system lib; rename minimal lib to XSso.
Paul Fisher <paul@pfish.zone>
parents:
113
diff
changeset
|
134 PAM_FAIL_DELAY = 10, |
113
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
135 PAM_XDISPLAY, |
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
136 PAM_XAUTHDATA, |
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
137 PAM_AUTHTOK_TYPE, |
106
49d9e2b5c189
An irresponsible mix of implementing libpam-sys and other stuff.
Paul Fisher <paul@pfish.zone>
parents:
diff
changeset
|
138 ); |
49d9e2b5c189
An irresponsible mix of implementing libpam-sys and other stuff.
Paul Fisher <paul@pfish.zone>
parents:
diff
changeset
|
139 |
49d9e2b5c189
An irresponsible mix of implementing libpam-sys and other stuff.
Paul Fisher <paul@pfish.zone>
parents:
diff
changeset
|
140 /// To suppress messages in the item cleanup function. |
113
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
141 pub const PAM_DATA_SILENT: i32 = 0x40000000; |
106
49d9e2b5c189
An irresponsible mix of implementing libpam-sys and other stuff.
Paul Fisher <paul@pfish.zone>
parents:
diff
changeset
|
142 |
49d9e2b5c189
An irresponsible mix of implementing libpam-sys and other stuff.
Paul Fisher <paul@pfish.zone>
parents:
diff
changeset
|
143 // Message styles |
49d9e2b5c189
An irresponsible mix of implementing libpam-sys and other stuff.
Paul Fisher <paul@pfish.zone>
parents:
diff
changeset
|
144 define!( |
49d9e2b5c189
An irresponsible mix of implementing libpam-sys and other stuff.
Paul Fisher <paul@pfish.zone>
parents:
diff
changeset
|
145 /// A message style. |
49d9e2b5c189
An irresponsible mix of implementing libpam-sys and other stuff.
Paul Fisher <paul@pfish.zone>
parents:
diff
changeset
|
146 PAM_RADIO_TYPE = 5; |
49d9e2b5c189
An irresponsible mix of implementing libpam-sys and other stuff.
Paul Fisher <paul@pfish.zone>
parents:
diff
changeset
|
147 PAM_BINARY_PROMPT = 7; |
49d9e2b5c189
An irresponsible mix of implementing libpam-sys and other stuff.
Paul Fisher <paul@pfish.zone>
parents:
diff
changeset
|
148 ); |
131
a632a8874131
Get all the Linux-PAM functions into libpam-sys, and get tests right.
Paul Fisher <paul@pfish.zone>
parents:
127
diff
changeset
|
149 |
a632a8874131
Get all the Linux-PAM functions into libpam-sys, and get tests right.
Paul Fisher <paul@pfish.zone>
parents:
127
diff
changeset
|
150 pub const PAM_MODUTIL_NGROUPS: i32 = 64; |
136
efbc235f01d3
Separate libpam-sys-helpers from libpam-sys.
Paul Fisher <paul@pfish.zone>
parents:
134
diff
changeset
|
151 |
efbc235f01d3
Separate libpam-sys-helpers from libpam-sys.
Paul Fisher <paul@pfish.zone>
parents:
134
diff
changeset
|
152 #[derive(Copy, Clone, Debug, PartialEq, Eq, TryFromPrimitive, IntoPrimitive)] |
efbc235f01d3
Separate libpam-sys-helpers from libpam-sys.
Paul Fisher <paul@pfish.zone>
parents:
134
diff
changeset
|
153 #[repr(i32)] |
efbc235f01d3
Separate libpam-sys-helpers from libpam-sys.
Paul Fisher <paul@pfish.zone>
parents:
134
diff
changeset
|
154 pub enum pam_modutil_redirect_fd { |
efbc235f01d3
Separate libpam-sys-helpers from libpam-sys.
Paul Fisher <paul@pfish.zone>
parents:
134
diff
changeset
|
155 PAM_MODUTIL_IGNORE_FD, |
efbc235f01d3
Separate libpam-sys-helpers from libpam-sys.
Paul Fisher <paul@pfish.zone>
parents:
134
diff
changeset
|
156 PAM_MODUTIL_PIPE_FD, |
efbc235f01d3
Separate libpam-sys-helpers from libpam-sys.
Paul Fisher <paul@pfish.zone>
parents:
134
diff
changeset
|
157 PAM_MODUTIL_NULL_FD, |
efbc235f01d3
Separate libpam-sys-helpers from libpam-sys.
Paul Fisher <paul@pfish.zone>
parents:
134
diff
changeset
|
158 } |
efbc235f01d3
Separate libpam-sys-helpers from libpam-sys.
Paul Fisher <paul@pfish.zone>
parents:
134
diff
changeset
|
159 |
efbc235f01d3
Separate libpam-sys-helpers from libpam-sys.
Paul Fisher <paul@pfish.zone>
parents:
134
diff
changeset
|
160 pub use pam_modutil_redirect_fd::*; |
106
49d9e2b5c189
An irresponsible mix of implementing libpam-sys and other stuff.
Paul Fisher <paul@pfish.zone>
parents:
diff
changeset
|
161 } |
49d9e2b5c189
An irresponsible mix of implementing libpam-sys and other stuff.
Paul Fisher <paul@pfish.zone>
parents:
diff
changeset
|
162 |
134
6c1e1bdb4164
Use standard #[cfg] directives rather than custom proc macros.
Paul Fisher <paul@pfish.zone>
parents:
133
diff
changeset
|
163 #[cfg(any(pam_impl = "OpenPam", pam_impl = "Sun", pam_impl = "XSso"))] |
118
39760dfc9b3b
Detect PAM library based only on system lib; rename minimal lib to XSso.
Paul Fisher <paul@pfish.zone>
parents:
113
diff
changeset
|
164 pub use xsso_shared::*; |
134
6c1e1bdb4164
Use standard #[cfg] directives rather than custom proc macros.
Paul Fisher <paul@pfish.zone>
parents:
133
diff
changeset
|
165 #[cfg(any(pam_impl = "OpenPam", pam_impl = "Sun", pam_impl = "XSso"))] |
118
39760dfc9b3b
Detect PAM library based only on system lib; rename minimal lib to XSso.
Paul Fisher <paul@pfish.zone>
parents:
113
diff
changeset
|
166 mod xsso_shared { |
113
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
167 c_enum!( |
118
39760dfc9b3b
Detect PAM library based only on system lib; rename minimal lib to XSso.
Paul Fisher <paul@pfish.zone>
parents:
113
diff
changeset
|
168 /// An error return code. |
113
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
169 PAM_OPEN_ERR = 1, |
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
170 PAM_SYMBOL_ERR, |
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
171 PAM_SERVICE_ERR, |
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
172 PAM_SYSTEM_ERR, |
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
173 PAM_BUF_ERR, |
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
174 PAM_CONV_ERR, |
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
175 PAM_PERM_DENIED, |
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
176 PAM_MAXTRIES, |
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
177 PAM_AUTH_ERR, |
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
178 PAM_NEW_AUTHTOK_REQD, |
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
179 PAM_CRED_INSUFFICIENT, |
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
180 PAM_AUTHINFO_UNAVAIL, |
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
181 PAM_USER_UNKNOWN, |
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
182 PAM_CRED_UNAVAIL, |
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
183 PAM_CRED_EXPIRED, |
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
184 PAM_CRED_ERR, |
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
185 PAM_ACCT_EXPIRED, |
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
186 PAM_AUTHTOK_EXPIRED, |
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
187 PAM_SESSION_ERR, |
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
188 PAM_AUTHTOK_ERR, |
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
189 PAM_AUTHTOK_RECOVERY_ERR, |
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
190 PAM_AUTHTOK_LOCK_BUSY, |
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
191 PAM_AUTHTOK_DISABLE_AGING, |
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
192 PAM_NO_MODULE_DATA, |
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
193 PAM_IGNORE, |
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
194 PAM_ABORT, |
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
195 PAM_TRY_AGAIN, |
106
49d9e2b5c189
An irresponsible mix of implementing libpam-sys and other stuff.
Paul Fisher <paul@pfish.zone>
parents:
diff
changeset
|
196 ); |
118
39760dfc9b3b
Detect PAM library based only on system lib; rename minimal lib to XSso.
Paul Fisher <paul@pfish.zone>
parents:
113
diff
changeset
|
197 // While `PAM_MODULE_UNKNOWN` and `PAM_DOMAIN_UNKNOWN` are in X/SSO, |
39760dfc9b3b
Detect PAM library based only on system lib; rename minimal lib to XSso.
Paul Fisher <paul@pfish.zone>
parents:
113
diff
changeset
|
198 // Sun doesn't use them so we're omitting them here. |
106
49d9e2b5c189
An irresponsible mix of implementing libpam-sys and other stuff.
Paul Fisher <paul@pfish.zone>
parents:
diff
changeset
|
199 |
49d9e2b5c189
An irresponsible mix of implementing libpam-sys and other stuff.
Paul Fisher <paul@pfish.zone>
parents:
diff
changeset
|
200 /// A general flag for PAM operations. |
113
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
201 pub const PAM_SILENT: i32 = 0x80000000u32 as i32; |
106
49d9e2b5c189
An irresponsible mix of implementing libpam-sys and other stuff.
Paul Fisher <paul@pfish.zone>
parents:
diff
changeset
|
202 |
118
39760dfc9b3b
Detect PAM library based only on system lib; rename minimal lib to XSso.
Paul Fisher <paul@pfish.zone>
parents:
113
diff
changeset
|
203 /// A flag for `pam_authenticate`. |
113
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
204 pub const PAM_DISALLOW_NULL_AUTHTOK: i32 = 0b1; |
106
49d9e2b5c189
An irresponsible mix of implementing libpam-sys and other stuff.
Paul Fisher <paul@pfish.zone>
parents:
diff
changeset
|
205 |
49d9e2b5c189
An irresponsible mix of implementing libpam-sys and other stuff.
Paul Fisher <paul@pfish.zone>
parents:
diff
changeset
|
206 define!( |
49d9e2b5c189
An irresponsible mix of implementing libpam-sys and other stuff.
Paul Fisher <paul@pfish.zone>
parents:
diff
changeset
|
207 /// A flag for `pam_setcred`. |
49d9e2b5c189
An irresponsible mix of implementing libpam-sys and other stuff.
Paul Fisher <paul@pfish.zone>
parents:
diff
changeset
|
208 PAM_ESTABLISH_CRED = 0b0001; |
49d9e2b5c189
An irresponsible mix of implementing libpam-sys and other stuff.
Paul Fisher <paul@pfish.zone>
parents:
diff
changeset
|
209 PAM_DELETE_CRED = 0b0010; |
49d9e2b5c189
An irresponsible mix of implementing libpam-sys and other stuff.
Paul Fisher <paul@pfish.zone>
parents:
diff
changeset
|
210 PAM_REINITIALIZE_CRED = 0b0100; |
49d9e2b5c189
An irresponsible mix of implementing libpam-sys and other stuff.
Paul Fisher <paul@pfish.zone>
parents:
diff
changeset
|
211 PAM_REFRESH_CRED = 0b1000; |
49d9e2b5c189
An irresponsible mix of implementing libpam-sys and other stuff.
Paul Fisher <paul@pfish.zone>
parents:
diff
changeset
|
212 ); |
49d9e2b5c189
An irresponsible mix of implementing libpam-sys and other stuff.
Paul Fisher <paul@pfish.zone>
parents:
diff
changeset
|
213 |
49d9e2b5c189
An irresponsible mix of implementing libpam-sys and other stuff.
Paul Fisher <paul@pfish.zone>
parents:
diff
changeset
|
214 define!( |
118
39760dfc9b3b
Detect PAM library based only on system lib; rename minimal lib to XSso.
Paul Fisher <paul@pfish.zone>
parents:
113
diff
changeset
|
215 /// A flag for `pam_sm_chauthtok`. |
106
49d9e2b5c189
An irresponsible mix of implementing libpam-sys and other stuff.
Paul Fisher <paul@pfish.zone>
parents:
diff
changeset
|
216 PAM_PRELIM_CHECK = 0b0001; |
49d9e2b5c189
An irresponsible mix of implementing libpam-sys and other stuff.
Paul Fisher <paul@pfish.zone>
parents:
diff
changeset
|
217 PAM_UPDATE_AUTHTOK = 0b0010; |
49d9e2b5c189
An irresponsible mix of implementing libpam-sys and other stuff.
Paul Fisher <paul@pfish.zone>
parents:
diff
changeset
|
218 PAM_CHANGE_EXPIRED_AUTHTOK = 0b0100; |
49d9e2b5c189
An irresponsible mix of implementing libpam-sys and other stuff.
Paul Fisher <paul@pfish.zone>
parents:
diff
changeset
|
219 ); |
49d9e2b5c189
An irresponsible mix of implementing libpam-sys and other stuff.
Paul Fisher <paul@pfish.zone>
parents:
diff
changeset
|
220 } |
49d9e2b5c189
An irresponsible mix of implementing libpam-sys and other stuff.
Paul Fisher <paul@pfish.zone>
parents:
diff
changeset
|
221 |
134
6c1e1bdb4164
Use standard #[cfg] directives rather than custom proc macros.
Paul Fisher <paul@pfish.zone>
parents:
133
diff
changeset
|
222 #[cfg(pam_impl = "OpenPam")] |
109 | 223 pub use openpam::*; |
134
6c1e1bdb4164
Use standard #[cfg] directives rather than custom proc macros.
Paul Fisher <paul@pfish.zone>
parents:
133
diff
changeset
|
224 #[cfg(pam_impl = "OpenPam")] |
106
49d9e2b5c189
An irresponsible mix of implementing libpam-sys and other stuff.
Paul Fisher <paul@pfish.zone>
parents:
diff
changeset
|
225 mod openpam { |
113
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
226 c_enum!( |
118
39760dfc9b3b
Detect PAM library based only on system lib; rename minimal lib to XSso.
Paul Fisher <paul@pfish.zone>
parents:
113
diff
changeset
|
227 /// An error return code. |
113
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
228 PAM_MODULE_UNKNOWN = 28, |
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
229 PAM_DOMAIN_UNKNOWN, |
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
230 PAM_BAD_HANDLE, |
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
231 PAM_BAD_ITEM, |
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
232 PAM_BAD_FEATURE, |
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
233 PAM_BAD_CONSTANT, |
106
49d9e2b5c189
An irresponsible mix of implementing libpam-sys and other stuff.
Paul Fisher <paul@pfish.zone>
parents:
diff
changeset
|
234 ); |
118
39760dfc9b3b
Detect PAM library based only on system lib; rename minimal lib to XSso.
Paul Fisher <paul@pfish.zone>
parents:
113
diff
changeset
|
235 /// The total number of PAM error codes (including success). |
106
49d9e2b5c189
An irresponsible mix of implementing libpam-sys and other stuff.
Paul Fisher <paul@pfish.zone>
parents:
diff
changeset
|
236 pub const PAM_NUM_ERRORS: i32 = 34; |
49d9e2b5c189
An irresponsible mix of implementing libpam-sys and other stuff.
Paul Fisher <paul@pfish.zone>
parents:
diff
changeset
|
237 |
113
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
238 c_enum!( |
106
49d9e2b5c189
An irresponsible mix of implementing libpam-sys and other stuff.
Paul Fisher <paul@pfish.zone>
parents:
diff
changeset
|
239 /// An item type. |
118
39760dfc9b3b
Detect PAM library based only on system lib; rename minimal lib to XSso.
Paul Fisher <paul@pfish.zone>
parents:
113
diff
changeset
|
240 PAM_REPOSITORY = 10, |
39760dfc9b3b
Detect PAM library based only on system lib; rename minimal lib to XSso.
Paul Fisher <paul@pfish.zone>
parents:
113
diff
changeset
|
241 PAM_AUTHTOK_PROMPT, |
113
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
242 PAM_OLDAUTHTOK_PROMPT, |
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
243 PAM_HOST, |
106
49d9e2b5c189
An irresponsible mix of implementing libpam-sys and other stuff.
Paul Fisher <paul@pfish.zone>
parents:
diff
changeset
|
244 ); |
49d9e2b5c189
An irresponsible mix of implementing libpam-sys and other stuff.
Paul Fisher <paul@pfish.zone>
parents:
diff
changeset
|
245 /// The total number of PAM items. |
113
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
246 pub const PAM_NUM_ITEMS: i32 = 14; |
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
247 |
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
248 c_enum!( |
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
249 /// An optional OpenPAM feature. |
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
250 OPENPAM_RESTRICT_SERVICE_NAME, |
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
251 OPENPAM_VERIFY_POLICY_FILE, |
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
252 OPENPAM_RESTRICT_MODULE_NAME, |
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
253 OPENPAM_VERIFY_MODULE_FILE, |
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
254 OPENPAM_FALLBACK_TO_OTHER, |
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
255 ); |
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
256 /// The number of optional OpenPAM features. |
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
257 pub const OPENPAM_NUM_FEATURES: i32 = 5; |
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
258 |
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
259 c_enum!( |
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
260 /// Log level. |
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
261 PAM_LOG_LIBDEBUG = -1, |
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
262 PAM_LOG_DEBUG, |
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
263 PAM_LOG_VERBOSE, |
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
264 PAM_LOG_NOTICE, |
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
265 PAM_LOG_ERROR, |
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
266 ); |
133
32b2a545ca3e
Add functions and constants from openpam.h.
Paul Fisher <paul@pfish.zone>
parents:
132
diff
changeset
|
267 |
132
0b6a17f8c894
Get constant test working again with OpenPAM.
Paul Fisher <paul@pfish.zone>
parents:
131
diff
changeset
|
268 c_enum!( |
0b6a17f8c894
Get constant test working again with OpenPAM.
Paul Fisher <paul@pfish.zone>
parents:
131
diff
changeset
|
269 /// PAM primitives. |
0b6a17f8c894
Get constant test working again with OpenPAM.
Paul Fisher <paul@pfish.zone>
parents:
131
diff
changeset
|
270 PAM_SM_AUTHENTICATE, |
0b6a17f8c894
Get constant test working again with OpenPAM.
Paul Fisher <paul@pfish.zone>
parents:
131
diff
changeset
|
271 PAM_SM_SETCRED, |
0b6a17f8c894
Get constant test working again with OpenPAM.
Paul Fisher <paul@pfish.zone>
parents:
131
diff
changeset
|
272 PAM_SM_ACCT_MGMT, |
0b6a17f8c894
Get constant test working again with OpenPAM.
Paul Fisher <paul@pfish.zone>
parents:
131
diff
changeset
|
273 PAM_SM_OPEN_SESSION, |
0b6a17f8c894
Get constant test working again with OpenPAM.
Paul Fisher <paul@pfish.zone>
parents:
131
diff
changeset
|
274 PAM_SM_CLOSE_SESSION, |
0b6a17f8c894
Get constant test working again with OpenPAM.
Paul Fisher <paul@pfish.zone>
parents:
131
diff
changeset
|
275 PAM_SM_CHAUTHTOK, |
0b6a17f8c894
Get constant test working again with OpenPAM.
Paul Fisher <paul@pfish.zone>
parents:
131
diff
changeset
|
276 ); |
0b6a17f8c894
Get constant test working again with OpenPAM.
Paul Fisher <paul@pfish.zone>
parents:
131
diff
changeset
|
277 /// The number of PAM primitives. |
0b6a17f8c894
Get constant test working again with OpenPAM.
Paul Fisher <paul@pfish.zone>
parents:
131
diff
changeset
|
278 pub const PAM_NUM_PRIMITIVES: i32 = 6; |
106
49d9e2b5c189
An irresponsible mix of implementing libpam-sys and other stuff.
Paul Fisher <paul@pfish.zone>
parents:
diff
changeset
|
279 } |
49d9e2b5c189
An irresponsible mix of implementing libpam-sys and other stuff.
Paul Fisher <paul@pfish.zone>
parents:
diff
changeset
|
280 |
112
82995b4dccee
Finish renaming "illumos" to "sun".
Paul Fisher <paul@pfish.zone>
parents:
110
diff
changeset
|
281 /// Constants exclusive to Illumos. |
134
6c1e1bdb4164
Use standard #[cfg] directives rather than custom proc macros.
Paul Fisher <paul@pfish.zone>
parents:
133
diff
changeset
|
282 #[cfg(pam_impl = "Sun")] |
112
82995b4dccee
Finish renaming "illumos" to "sun".
Paul Fisher <paul@pfish.zone>
parents:
110
diff
changeset
|
283 pub use sun::*; |
134
6c1e1bdb4164
Use standard #[cfg] directives rather than custom proc macros.
Paul Fisher <paul@pfish.zone>
parents:
133
diff
changeset
|
284 #[cfg(pam_impl = "Sun")] |
112
82995b4dccee
Finish renaming "illumos" to "sun".
Paul Fisher <paul@pfish.zone>
parents:
110
diff
changeset
|
285 mod sun { |
82995b4dccee
Finish renaming "illumos" to "sun".
Paul Fisher <paul@pfish.zone>
parents:
110
diff
changeset
|
286 /// The total number of PAM error codes. |
113
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
287 pub const PAM_TOTAL_ERRNUM: i32 = 28; |
112
82995b4dccee
Finish renaming "illumos" to "sun".
Paul Fisher <paul@pfish.zone>
parents:
110
diff
changeset
|
288 |
118
39760dfc9b3b
Detect PAM library based only on system lib; rename minimal lib to XSso.
Paul Fisher <paul@pfish.zone>
parents:
113
diff
changeset
|
289 c_enum!( |
112
82995b4dccee
Finish renaming "illumos" to "sun".
Paul Fisher <paul@pfish.zone>
parents:
110
diff
changeset
|
290 /// An item type. |
118
39760dfc9b3b
Detect PAM library based only on system lib; rename minimal lib to XSso.
Paul Fisher <paul@pfish.zone>
parents:
113
diff
changeset
|
291 PAM_REPOSITORY = 10, |
39760dfc9b3b
Detect PAM library based only on system lib; rename minimal lib to XSso.
Paul Fisher <paul@pfish.zone>
parents:
113
diff
changeset
|
292 PAM_RESOURCE, |
39760dfc9b3b
Detect PAM library based only on system lib; rename minimal lib to XSso.
Paul Fisher <paul@pfish.zone>
parents:
113
diff
changeset
|
293 PAM_AUSER, |
112
82995b4dccee
Finish renaming "illumos" to "sun".
Paul Fisher <paul@pfish.zone>
parents:
110
diff
changeset
|
294 ); |
82995b4dccee
Finish renaming "illumos" to "sun".
Paul Fisher <paul@pfish.zone>
parents:
110
diff
changeset
|
295 |
82995b4dccee
Finish renaming "illumos" to "sun".
Paul Fisher <paul@pfish.zone>
parents:
110
diff
changeset
|
296 /// A flag for `pam_chauthtok`. |
113
178310336596
Fix up more constants, make things i32 rather than u32.
Paul Fisher <paul@pfish.zone>
parents:
112
diff
changeset
|
297 pub const PAM_NO_AUTHTOK_CHECK: i32 = 0b1000; |
137
88627c057709
Add Sun PAM functions from Illumos headers.
Paul Fisher <paul@pfish.zone>
parents:
136
diff
changeset
|
298 |
88627c057709
Add Sun PAM functions from Illumos headers.
Paul Fisher <paul@pfish.zone>
parents:
136
diff
changeset
|
299 define!( |
88627c057709
Add Sun PAM functions from Illumos headers.
Paul Fisher <paul@pfish.zone>
parents:
136
diff
changeset
|
300 /// A flag for `__pam_get_authtok`. |
88627c057709
Add Sun PAM functions from Illumos headers.
Paul Fisher <paul@pfish.zone>
parents:
136
diff
changeset
|
301 PAM_PROMPT = 1; |
88627c057709
Add Sun PAM functions from Illumos headers.
Paul Fisher <paul@pfish.zone>
parents:
136
diff
changeset
|
302 PAM_HANDLE = 2; |
88627c057709
Add Sun PAM functions from Illumos headers.
Paul Fisher <paul@pfish.zone>
parents:
136
diff
changeset
|
303 ); |
112
82995b4dccee
Finish renaming "illumos" to "sun".
Paul Fisher <paul@pfish.zone>
parents:
110
diff
changeset
|
304 } |