/******************************************************************************/
/*
                                   login.h
*/
/******************************************************************************/

#ifndef INCLUDE_LOGIN_H
#define INCLUDE_LOGIN_H

#define LOGIN_VERIFY_SECONDS_DEFAULT  300  /* five minutes */
#define LOGIN_IDLE_SECONDS_DEFAULT   3600  /* sixty minutes */

/* location of default page HTML */
#define LOGIN_PAGE_DEFAULT "SOYMAIL_THEME:LOGIN.HTML"
#define LOGIN_CHANGE_PAGE_DEFAULT "SOYMAIL_THEME:CHANGE.HTML"

/* include plain-text credential WATCH statements (essential debug only) */
#define LOGIN_WATCH_CRED 0

#ifndef __ILEDEF_LOADED
#  pragma member_alignment __save
#  pragma __nomember_alignment
   typedef struct _ile3 {
       unsigned short int ile3$w_length;
       unsigned short int ile3$w_code;
       void *ile3$ps_bufaddr;
       unsigned short int *ile3$ps_retlen_addr;
   } ILE3;
#  pragma member_alignment __restore
#endif

/*************/
/* prototype */
/*************/

int LoginAcmeVerifyUser (char*, char*, char*, char*);
int LoginAcmeChangePassword (char*, char*, char*, char*);
int LoginAgentVerifyUser (char*, char*, char*);
BOOL LoginAlias (char**, char**);
int LoginGetCookie (REQUEST_DATA*, char**, int*);
void LoginPage (REQUEST_DATA*, char*, char*, int);
void LoginSetCookie (REQUEST_DATA*, char*, int);
int LoginSysUafVerifyUser (char*, char*, char*, char*);
int LoginSysUafChangePassword (char*, char*);
int LoginUaiUser (char*, char*, char*);
char* LoginVerifyUser (REQUEST_DATA*);

#endif /* INCLUDE_LOGIN_H */

/******************************************************************************/

