diff src/constants.rs @ 14:51b097c12d3c

make PamResultCode an enum
author Anthony Nowell <anthony@algorithmia.com>
date Sat, 23 Sep 2017 14:30:18 -0600
parents 2abd89f31a13
children
line wrap: on
line diff
--- a/src/constants.rs	Sun Feb 26 12:16:03 2017 +0100
+++ b/src/constants.rs	Sat Sep 23 14:30:18 2017 -0600
@@ -5,7 +5,6 @@
 pub type PamFlag = c_uint;
 pub type PamItemType = c_int;
 pub type PamMessageStyle = c_int;
-pub type PamResultCode = c_int;
 pub type AlwaysZero = c_int;
 
 // The Linux-PAM flags
@@ -59,35 +58,40 @@
 
 // The Linux-PAM return values
 // see /usr/include/security/_pam_types.h
-pub const PAM_SUCCESS: PamResultCode = 0;
-pub const PAM_OPEN_ERR: PamResultCode = 1;
-pub const PAM_SYMBOL_ERR: PamResultCode = 2;
-pub const PAM_SERVICE_ERR: PamResultCode = 3;
-pub const PAM_SYSTEM_ERR: PamResultCode = 4;
-pub const PAM_BUF_ERR: PamResultCode = 5;
-pub const PAM_PERM_DENIED: PamResultCode = 6;
-pub const PAM_AUTH_ERR: PamResultCode = 7;
-pub const PAM_CRED_INSUFFICIENT: PamResultCode = 8;
-pub const PAM_AUTHINFO_UNAVAIL: PamResultCode = 9;
-pub const PAM_USER_UNKNOWN: PamResultCode = 10;
-pub const PAM_MAXTRIES: PamResultCode = 11;
-pub const PAM_NEW_AUTHTOK_REQD: PamResultCode = 12;
-pub const PAM_ACCT_EXPIRED: PamResultCode = 13;
-pub const PAM_SESSION_ERR: PamResultCode = 14;
-pub const PAM_CRED_UNAVAIL: PamResultCode = 15;
-pub const PAM_CRED_EXPIRED: PamResultCode = 16;
-pub const PAM_CRED_ERR: PamResultCode = 17;
-pub const PAM_NO_MODULE_DATA: PamResultCode = 18;
-pub const PAM_CONV_ERR: PamResultCode = 19;
-pub const PAM_AUTHTOK_ERR: PamResultCode = 20;
-pub const PAM_AUTHTOK_RECOVERY_ERR: PamResultCode = 21;
-pub const PAM_AUTHTOK_LOCK_BUSY: PamResultCode = 22;
-pub const PAM_AUTHTOK_DISABLE_AGING: PamResultCode = 23;
-pub const PAM_TRY_AGAIN: PamResultCode = 24;
-pub const PAM_IGNORE: PamResultCode = 25;
-pub const PAM_ABORT: PamResultCode = 26;
-pub const PAM_AUTHTOK_EXPIRED: PamResultCode = 27;
-pub const PAM_MODULE_UNKNOWN: PamResultCode = 28;
-pub const PAM_BAD_ITEM: PamResultCode = 29;
-pub const PAM_CONV_AGAIN: PamResultCode = 30;
-pub const PAM_INCOMPLETE: PamResultCode = 31;
+#[allow(non_camel_case_types, dead_code)]
+#[derive(Debug, PartialEq)]
+#[repr(C)]
+pub enum PamResultCode {
+    PAM_SUCCESS = 0,
+    PAM_OPEN_ERR = 1,
+    PAM_SYMBOL_ERR = 2,
+    PAM_SERVICE_ERR = 3,
+    PAM_SYSTEM_ERR = 4,
+    PAM_BUF_ERR = 5,
+    PAM_PERM_DENIED = 6,
+    PAM_AUTH_ERR = 7,
+    PAM_CRED_INSUFFICIENT = 8,
+    PAM_AUTHINFO_UNAVAIL = 9,
+    PAM_USER_UNKNOWN = 10,
+    PAM_MAXTRIES = 11,
+    PAM_NEW_AUTHTOK_REQD = 12,
+    PAM_ACCT_EXPIRED = 13,
+    PAM_SESSION_ERR = 14,
+    PAM_CRED_UNAVAIL = 15,
+    PAM_CRED_EXPIRED = 16,
+    PAM_CRED_ERR = 17,
+    PAM_NO_MODULE_DATA = 18,
+    PAM_CONV_ERR = 19,
+    PAM_AUTHTOK_ERR = 20,
+    PAM_AUTHTOK_RECOVERY_ERR = 21,
+    PAM_AUTHTOK_LOCK_BUSY = 22,
+    PAM_AUTHTOK_DISABLE_AGING = 23,
+    PAM_TRY_AGAIN = 24,
+    PAM_IGNORE = 25,
+    PAM_ABORT = 26,
+    PAM_AUTHTOK_EXPIRED = 27,
+    PAM_MODULE_UNKNOWN = 28,
+    PAM_BAD_ITEM = 29,
+    PAM_CONV_AGAIN = 30,
+    PAM_INCOMPLETE = 31,
+}