Unit Records;
interface
Uses dos;

Const
  EnterHandleStr   = '~CS~CR|15L|07o|08gin|07: ';
  EnterPWStr       = '|15P|07a|08ssword|07: ';
  UserFoundStr     = '|15User Found!~CR';
  UserNotFoundStr  = '|15User not Found!';
  LookingUpUserStr = '~CR~CR|07Looking up User|15.|07.|08.';
  WelcomeStr       = '~CSWelcome to |15~BL!~CR';
  CheckAnsiStr     = '|08-|04*|08- |07Checking For |15ANSi.|07.|08. |07Hold yer fro, P|15u|07NK|08!~CR';
  WantsToChatStr   = '~CR~CRThe System Operator wants to Chat. Acknowledge? ';
  Ap_AbortApp      = '~CR~CR|15Ab|07or|08t Newuser Application? ';
  Ap_EnterHandle   = '~CR|15Pl|07ea|08se Select a Handle~CR|07: |09';
  Ap_CheckHandle   = '~CR|15Ch|07ec|08king to see if handle is being Used|15.|07.|08.~CR';
  Ap_HandleBad     = '~CR|08Sorr|04y, Y|12ou ca|14nnot u|15se that Handle.~CR';
  Ap_EnterName     = '~CR|15Pl|07ea|08se Enter your Full Name~CR|07: |09';
  Ap_NameBad       = '~CR|08Yo|04u mu|12st e|14nter bo|15th your First and Last Names.~CR';
  Ap_PhoneNumber   = '~CR|15En|07te|08r your Phone Number~CR|07: |09';
  Ap_UserNote      = '~CR|15En|07te|08r Desired UserNote~CR|07: |09';
  Ap_Password      = '~CR|15Pl|07ea|08se Select a Password~CR|07: |09';
  Ap_PWBad         = '~CR|08Pa|04ssw|12ord|14s do n|15ot Match!';
  Ap_ReEnterPW     = '~CR|15No|07w R|08e-Enter your Password for Verification. ~CR|07: |09';

  Ap_XPert         = '~CR|15Wo|07ul|08d you like Expert Mode? ';
  Ap_FSE           = '~CRUse the Fullscreen Editor? ';
  Ap_Ansi          = '~CRUse ANSI Graphics? ';
  Ap_Filing        = '~CRPlease Wait..Filing User Data...~CR';
  Ap_Note          = '~CRNow you must leave a Note to the SysOp.~CR';
  Ap_CallbackLater = '~CRCall back in 48 Hours and Check to see if you have been validated!.~CR';

Type
  str2  = string[2];
  str3  = string[3];
  str8  = string[8];
  str50 = string[50];
  acs   = string[80];
  Menustack = array[1..10] of string[12];
  MessageRec = Record
                Author   : String[30];
                Status   : Byte;
                         { Bit 1 - Private         }
                         { Bit 2 - Anonymous       }
                Position : LongInt;
                Numlines : Word;
                ToField  : String[30];
                UserNote : String[50];
                DateTime : LongInt;
               End;
   FidoType  = Record
                zone,Net,Node,Point : word;
                domain : string[15];
               End;
   MessageBaseRec = Record
                     Description : String[40];
                     DataFile    : String[8];
                     QWKID       : String[10];
                     BaseType    : Byte;
                     { Bit 0  : Allow Anonymous?
                       Bit 1  : Use Real Names?
                       Bit 2  : Allow Quoting?
                       Bit 3  : Allow Private?
                       Bit 4  : Echomail Area?
                       Bit 5  : Award Post?
                       Bit 6-7: Not Used           }
                     Sponsor     : String[30];
                     PostAccess  : String[80]; {i.e. "a17$513"}
                     ReadAccess  : String[80];
                     ListAccess  : String[80];
                     Password    : String[30]; {i.e. "SMEEGLEDIPO"}
                     MaxMessages : 1..1000;
                     UseNet      : Boolean;

                     EchoMailDir : String[80]; {i.e. "C:\NETS\BLACK\ANSI"}
                     NetAddress  : Byte;       {i.e. "23:200/17 }
                     OriginLine  : Byte;       {i.e. "Stolen Archives .."}
                     EchoTag     : String[80]; {i.e. "BLK_ANSI"}
                     NetID       : String[20]; {i.e. "BlackNet"}
                     Kill_Kludge : Boolean;
                     Kill_Seenby : Boolean;
                     Kill_TearLn : Boolean;
                    End;

    Datamci = Record
                     Description : String[15];
                     Mci         : String[3];
                     Length      : 0..80;
                     YesNo       : Boolean;
                     Msg         : Boolean;
                     phone       : boolean;
                     date        : boolean;
                     change      : string[25];
                     END;

    Datarec = Record
                     AreaName    : STRING[20];
                     filename    : String[8];
                     Access,
                     AddACS      : STRING[20];
                     ListAnsi    : string[3];
                     ShowAnsi    : string[8];
                     AddAnsi     : STRING[8];
                     Sponsor     : STRING[30];
                     AllowAnon   : Boolean;
                     StorMessage : Boolean;
                     End;

   Configrec = record
    {------------------------ Main System Shit ---------------------}
      LongName   : String[40];
      Shortname  : String[10];
      SysOpName  : String[30];
      BoardPhone : String[12];
      RegistrationCode : String[20];
      NodeNumber       : Byte;
      TotalNodes       : Byte;
      DefaultUserNote  : String[50];
      Use_NUV          : Boolean;
      Use_SPW          : Boolean;
    {----------------------- Passwords & Shit ----------------------}
      NUPS      : Array[1..5] of String[30];
      NUPAccess : Array[1..5] of Byte;
      SystemPW  : String[30];
      BadBaudPW : String[30];
      ShellPW   : String[30];
      ExitPW    : String[30];
      SysOpPW   : String[30];
      ChatPW    : String[30];
    {------------------------- Directory Shit ----------------------}
      Quantum_dir,
      Text_dir,
      Board_Dir,
      Data_Dir,
      Textfile_dir,
      Door_dir,
      work_dir,
      Extract_dir : String[80];
    {-------------------------- Modem Shit -------------------------}
      Comport     : 0..8;
      LockBaud    : 300..115200;
      LowestBaud  : Longint;
      AnswerStr   : String[30];
      InitStr     : String[50];
    {---------------------------------------------------------------}
   End; {ConfigRec}

   UserRec = Record
      ALIAS              : String[36];
      RealName           : String[36];
      Password           : String[20];
      Phone              : String[13];
      BirthDate          : String[8];
      Location           : String[40];
      Address            : String[36];
      UserNote           : String[40];
      Sex                : Char;
      FLAGS              : STRING[25];
      Calls              : Word;
      curMsgArea         : Word;
      curFileArea        : Word;
      LastCall           : LONGINT;
      PageLength         : Word;
      EmailWaiting       : Word;
      MainLev            : Word;
      FileLev            : Word;
      Level              : Char;
      timeLEFT           : Word;
      timePerDay         : Word;
      AutoSigLns         : Byte;
      confMsg            : Byte;
      confFile           : Byte;
      FirstCall          : String[8];
      StartMenu          : String[8];
      fileScan           : String[8];
      SysOpNote          : String[40];
      Posts              : Word;
      Email              : Word;
      oldUploads         : Word;
      oldDownloads       : Word;
      oldUploadKb        : Word;
      oldDownloadKb      : Word;
      CallsToday         : Word;
      CallsPerDay        : Word;
      CREDITS            : Word;
      pCR                : Word;
      UDRATIO            : WORD;
      limitDL            : Word;
      limitDLkb          : Word;
      todayDL            : Word;
      todayDLkb          : Word;
      lastQwkDate        : LongInt;
      uldlRatio          : Word;
      kbRatio            : Word;
      textLib            : Byte;
      zipCode            : String[10];
      voteYes            : Byte;
      voteNo             : Byte;
      Uploads            : LongInt;
      Downloads          : LongInt;
      BYTESUP            : LongInt;
      BYTESDOWN          : LongInt;
      XPerMode           : Boolean;
      FSE                : Boolean;
      Ansi               : Boolean;
      yesno              : boolean;
      ALLOWPAGE          : BOOLEAN;
      USERLOG            : BOOLEAN;
      LOGUSER            : BOOLEAN;
          End;

   StatRec = Record
              Today_Post  : Word;
              Today_Ups   : Word;
              Today_Dwns  : Word;
              Today_Calls : Word;
              Today_Email : Word;
              Today_Feed  : Word;
              Today_Time  : LongInt;

              Last_Alias  : String[30];
              Last_Posts  : Byte;
              Last_Ups    : Byte;
              Last_Downs  : Byte;
              Last_Feed   : Byte;
              Last_Credits: LongInt;
              Last_Note   : String[50];

              Total_Calls : Word;
              Total_Ups   : Word;
              Total_Downs : Word;
              Total_Email : Word;
              Total_Mesgs : Word;
              Total_Files : Word;
              Total_Users : Word;
             End;

   Bar_WindowRec = Record
                    X,Y,X2,Y2 : Byte;
                   End;

                   TYPE F=PROCEDURE;
     Mcirec = Record
               X       : byte;
               Y       : byte;
               Fore    : 0..31;
               Back    : 0..7;
               attr    : byte;
               action  : procedure;
               input   : boolean;
               useproc : boolean;
               used    : boolean;
               phone   : boolean;
               date    : boolean;
               mci     : string[5];
               str     : string[80];
               lng     : 0..80;
               yesno   : boolean;
               yesnoresult : boolean;
             END;

     protorec=record
              description : string;
              ul    : string;
              dl    : string;
              key   : char;
              ptype : byte;
              end;

     Charrec=record
              enter       : boolean;
              caseing     : boolean;
             end;


     TYPE MCIS=ARRAY[1..30] OF MCIREC;


Var Configf : Text;
    UserF   : File of UserRec;
    StatF   : File of StatRec;
    Config  : Configrec;
    User    : UserRec;
    Stat    : StatRec;
    usernum:longint;
    Connectstr  : Array[1..3] of String[30];  { connection strings! }
    ConnectBaud : Longint;                    { connect baud rate! }
    stack       : Menustack;
    Currs       : Byte;
    Ansi        : Boolean;
    basicmci    : mcis;
    hidden      : boolean;
    wleng       : byte;
    buflen      : byte;
    enter       : boolean;
    Local       : boolean;
    SavedX,SavedY : Byte;
    CurrentBar : Byte;
Implementation

begin
end.

