//user.h



#define ONLY_NAME              0x0000
#define UDRATES                0x0002
#define CPSRATES               0x0004
#define ALLUSER_INFO           0x0010
#define USER_PASSWORD  (UWORD) 0x00FF

//============Flags for u.data files =====================
#define UNSET_TYPE (UWORD) 0xffff

/* file type used in users:user/msgareas file , etc codes */
#define USER_ACCOUNT          (UWORD) 0x0001
#define NEW_USER_ACCOUNT      UNSET_TYPE
#define CONFERENCE            (UWORD) 0x0002
#define MSG_AREA              (UWORD) 0x0004
#define FILE_AREA             (UWORD) 0x0008
#define CONFIG                (UWORD) 0x0010
#define USERMSG_AREASFILE     (UWORD) 0x0020
#define USERFILE_AREASFILE    (UWORD) 0x0040


/* User data structure - USER:First_Last/User.Data */
//for our conversion function
#define USCORE2SPACE 0
#define SPACE2USCORE 1

// Users u.data file
struct UData {
  UWORD   dirty;
  UWORD   Code;              // File code from above
  ULONG   fsize;             //size of this u.data filestruct when saved
  char    Alias[31];         //
  char    Name[31];          // Real Name for Fido
  char    Pass[9];           // Password
  char    Locale[30];        // Location
  char    Phone[13];         // Phone
  UWORD   ComputerType;      // USHORT in express.h
  UBYTE   Ratio;             // User Ratio
  UBYTE   RatioType;         // Ratio Type
  UBYTE   AccessLevel;       // Access Level
  UBYTE   NewUser;           // set if user is a new user
  long    DateJoined;        // the date the user joined
  long    TimeLastOn;        // Date Time user was on last
  long    TimeUsed;          // Time used today
  long    TimeLimit;         // Daily Time limit
  long    TimeTotal;         // Total Time used daily
  long    TotalCalls;        // Total calls
  ULONG   DByte_Limit;       // Daily_Bytes_Limit in exp.h
  ULONG   DBytes_Dld;        // Daily_Bytes_Dld in exp.h
  ULONG   BytesUp;           // Number of Bytes uploaded
  ULONG   BytesDn;           // Number of Bytes Downloaded
  long    FilesUp;           // Number of Files Uploaded
  long    FilesDn;           // Number of Files Downloaded
  long    SysopPages;        // Number of Sysop pages
  UWORD   modemtype;         // HST/v32bis/v32
  long    onlinebaud;        // current online baud rate
  UWORD   UPcps;             // Highest Cps Rate Upload
  UWORD   UPbaud;
  UWORD   DNcps;             // Highest CPS rate Downloaded
  UWORD   DNbaud;            // baud of the dnload
  UWORD   Userflags;         // User flags
  char    Expert;
  char    AnsiFlag;          // Ansi Color in express
  char    screen_width;
  char    screen_height;
  char    menuset;
  long    MsgSent;           // Number of messages entered
  long    MsgRead;           // Number of Messages Read
  ULONG   LastArea;          /* 0x00000000 if hi bit set we are in file areas */
                             /* 0x80000000 meaning you can have 2,147,483,647 */
  long    LastDate;          // last date in last area
  UWORD   money_sent;
  UWORD   megsperbucks;
  UWORD   bytescredit;
  UWORD   pad[4];            // temp info
  char    Lex_Flag;
  char    Editor;
  char    NetMail;
  SHORT   credit;
  UBYTE   protocol;
  char    captureflags;
  char    UUCP;

};

/* Flags for UUCP */

#define UUCP_CLIENT      1
#define USENET_ACCESS    2

/* Help levels */
#define NOVICE           0
#define INTERMEDIATE     1
#define EXPERT           2

/*  */
// Ansi settings : Defines for Ansi Flag: Colour, Screen Clears, and Positioning

#define ANSI_COLOR  1
#define ANSI_CLR    2
#define ANSI_POS    4
#define ANSI_SCROLL 8
