70 lines
1.5 KiB
C
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
|