Files
mars-nwe/tests/fake/include/security/pam_appl.h
2026-06-14 08:24:17 +02:00

70 lines
1.5 KiB
C

#ifndef MARS_NWE_TEST_FAKE_SECURITY_PAM_APPL_H
#define MARS_NWE_TEST_FAKE_SECURITY_PAM_APPL_H
#ifdef __cplusplus
extern "C" {
#endif
typedef struct pam_handle pam_handle_t;
struct pam_message {
int msg_style;
const char *msg;
};
struct pam_response {
char *resp;
int resp_retcode;
};
struct pam_conv {
int (*conv)(int num_msg,
const struct pam_message **msg,
struct pam_response **resp,
void *appdata_ptr);
void *appdata_ptr;
};
#define PAM_SUCCESS 0
#define PAM_OPEN_ERR 1
#define PAM_SYMBOL_ERR 2
#define PAM_SERVICE_ERR 3
#define PAM_SYSTEM_ERR 4
#define PAM_BUF_ERR 5
#define PAM_CONV_ERR 6
#define PAM_PERM_DENIED 7
#define PAM_AUTH_ERR 9
#define PAM_CRED_INSUFFICIENT 8
#define PAM_USER_UNKNOWN 10
#define PAM_MAXTRIES 11
#define PAM_NEW_AUTHTOK_REQD 12
#define PAM_ACCT_EXPIRED 13
#define PAM_SESSION_ERR 14
#define PAM_CRED_UNAVAIL 15
#define PAM_CRED_EXPIRED 16
#define PAM_CRED_ERR 17
#define PAM_NO_MODULE_DATA 18
#define PAM_CONV_AGAIN 19
#define PAM_INCOMPLETE 20
#define PAM_SILENT 0x8000
#define PAM_PROMPT_ECHO_OFF 1
#define PAM_PROMPT_ECHO_ON 2
#define PAM_ERROR_MSG 3
#define PAM_TEXT_INFO 4
int pam_start(const char *service_name, const char *user,
const struct pam_conv *pam_conversation,
pam_handle_t **pamh);
int pam_authenticate(pam_handle_t *pamh, int flags);
int pam_acct_mgmt(pam_handle_t *pamh, int flags);
int pam_end(pam_handle_t *pamh, int pam_status);
const char *pam_strerror(pam_handle_t *pamh, int errnum);
#ifdef __cplusplus
}
#endif
#endif