#![allow(non_upper_case_globals)]
use pam_macros::pam_enum;
#[pam_enum]
pub enum PamReturnCode {
System_Err,
Success,
Open_Err,
Symbol_Err,
Service_Err,
Buf_Err,
Perm_Denied,
Auth_Err,
Cred_Insufficient,
Authinfo_Unavail,
User_Unknown,
MaxTries,
New_Authtok_Reqd,
Acct_Expired,
Session_Err,
Cred_Unavail,
Cred_Expired,
Cred_Err,
No_Module_Data,
Conv_Err,
AuthTok_Err,
AuthTok_Recovery_Err,
AuthTok_Lock_Busy,
AuthTok_Disable_Aging,
Try_Again,
Ignore,
AuthTok_Expired,
Abort,
Module_Unknown,
Bad_Item,
Conv_Again,
Incomplete,
}
impl std::fmt::Display for PamReturnCode {
fn fmt(&self, f: &mut std::fmt::Formatter) -> Result<(), std::fmt::Error> {
f.write_str(&format!("{:?} ({})", self, *self as i32))
}
}
#[pam_enum]
pub enum PamFlag {
None = 0,
Silent,
Disallow_Null_AuthTok,
Establish_Cred,
Delete_Cred,
Reinitialize_Cred,
Refresh_Cred,
Change_Expired_AuthTok,
Update_AuthTok,
Prelim_Check,
}
impl std::fmt::Display for PamFlag {
fn fmt(&self, f: &mut std::fmt::Formatter) -> Result<(), std::fmt::Error> {
f.write_str(&format!("{:?} ({})", self, *self as i32))
}
}
#[pam_enum]
pub enum PamItemType {
Service,
User,
TTY,
RHost,
Conv,
AuthTok,
OldAuthTok,
RUser,
User_Prompt,
Fail_Delay,
XDisplay,
XAuthData,
AuthTok_Type,
}
impl std::fmt::Display for PamItemType {
fn fmt(&self, f: &mut std::fmt::Formatter) -> Result<(), std::fmt::Error> {
f.write_str(&format!("{:?} ({})", self, *self as i32))
}
}
#[pam_enum]
pub enum PamMessageStyle {
Prompt_Echo_On,
Prompt_Echo_Off,
Error_Msg,
Text_Info,
}
impl std::fmt::Display for PamMessageStyle {
fn fmt(&self, f: &mut std::fmt::Formatter) -> Result<(), std::fmt::Error> {
f.write_str(&format!("{:?} ({})", self, *self as i32))
}
}