Unit Records;
interface
Uses dos;

{Const
 1EnterHandleStr   = '~CR|15L|07o|08gin|07: ';
 2EnterPWStr       = '|15P|07a|08ssword|07: ';
 3UserFoundStr     = '|15User Found!~CR';
 4UserNotFoundStr  = '|15User not Found!';
 5LookingUpUserStr = '~CR~CR|07Looking up User|15.|07.|08.';
 6WelcomeStr       = '~CSWelcome to |15~BL!~CR';
 7CheckAnsiStr     = '|08-|04*|08- |07Checking For |15ANSi.|07.|08. |07Hold yer fro, P|15u|07NK|08!~CR';
 8WantsToChatStr   = '~CR~CRThe System Operator wants to Chat. Acknowledge? ';
 9Ap_AbortApp      = '~CR~CR|15Ab|07or|08t Newuser Application? ';
10Ap_EnterHandle   = '~CR|15Pl|07ea|08se Select a Handle~CR|07: |09';
11Ap_CheckHandle   = '~CR|15Ch|07ec|08king to see if handle is being Used|15.|07.|08.~CR';
12Ap_HandleBad     = '~CR|08Sorr|04y, Y|12ou ca|14nnot u|15se that Handle.~CR';
13Ap_EnterName     = '~CR|15Pl|07ea|08se Enter your Full Name~CR|07: |09';
14Ap_NameBad       = '~CR|08Yo|04u mu|12st e|14nter bo|15th your First and Last Names.~CR';
15Ap_PhoneNumber   = '~CR|15En|07te|08r your Phone Number~CR|07: |09';
16Ap_UserNote      = '~CR|15En|07te|08r Desired UserNote~CR|07: |09';
17Ap_Password      = '~CR|15Pl|07ea|08se Select a Password~CR|07: |09';
18Ap_PWBad         = '~CR|08Pa|04ssw|12ord|14s do n|15ot Match!';
19Ap_ReEnterPW     = '~CR|15No|07w R|08e-Enter your Password for Verification. ~CR|07: |09';
20Ap_XPert         = '~CR|15Wo|07ul|08d you like Expert Mode? ';
21Ap_FSE           = '~CRUse the Fullscreen Editor? ';
22Ap_Ansi          = '~CRUse ANSI Graphics? ';
23Ap_Filing        = '~CRPlease Wait..Filing User Data...~CR';
24Ap_Note          = '~CRNow you must leave a Note to the SysOp.~CR';
25Ap_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];
  Menustackrec = array[1..10] of string[20];

type        filearearec=record
            name:string[30];
            filename:string[12];
            path:string[50];
            password:String[30];
            acs:string[30];
            SPONSER:STRING[30];
            maxfiles:integer;
            free:boolean;
            pointsk:byte;
            ulacs:string[30];
            dlacs:string[30];
            listacs:string[30];
            commish:boolean;
            end;

     filelistrec=record
     filename        : string[12];
     path            : string[80];
     uploader        : string[20];
     size            : longint;
     points          : integer;
     date            : string[10];
     sendto          : string[20];
     description     : array[1..10] of string[50];
     end;


  dszrec = record
    stat:    char;
    size:    longint;
    connect: longint;
    avcps:   longint;
    errcnt:  longint;
    flcnt:   longint;
    block:   word;
    name:    string[80];
    serno:   longint;
  end;

 strrec=record
            str : string[100];
            dsc : String[100];
            del : boolean;
            end;

  MessageRec = Record
                Author   : String[30];
                Status   : Byte;
                         { Bit 1 - Private         }
                         { Bit 2 - Anonymous       }
                Position : LongInt;
                Numlines : integer;
                ToField  : String[30];
                UserNote : String[50];
                DateTime : string[8];
                Subject  : string[30];
               End;

   FidoType  = Record
                zone,Net,Node,Point : word;
                domain : string[15];
               End;

   MessageBaseRec = Record
                     Description : String[40];
                     DataFile    : String[8];
                     QWKID       : String[10];
                     BaseType    : array[1..7] of boolean;
                     { 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];
                     Nondata     : boolean;
                     filename    : String[8];
                     Access,
                     AddACS      : STRING[20];
                     ListAnsi    : string[3];
                     ShowAnsi    : string[8];
                     AddAnsi     : STRING[8];
                     Sponsor     : STRING[30];
                     AllowAnon   : Boolean;
                     StorMessage : Boolean;
                     totalentry  : string[6];
                     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 ----------------------}
      Lucid_dir,
      Text_dir,
      Board_Dir,
      Data_Dir,
      Textfile_dir,
      Door_dir,
      work_dir,
      menu_dir,
      prot_dir,
      arch_dir,
      Extract_dir : String[80];
    {-------------------------- Modem Shit -------------------------}
      Comport     : 0..8;
      LockBaud    : 300..115200;
      LowestBaud  : Longint;
      AnswerStr   : String[30];
      InitStr     : String[50];
      Hangup      : string[50];
      fossil      : boolean;
    {---------------------------------------------------------------}
      ChangePage  : boolean;
   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;
      Scrln              : Word;
      EmailWaiting       : Word;
      MainLev            : Word;
      FileLev            : Word;
      Level              : Char;
      time               : integer;
      timePerDay         : integer;
      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;
      PAUSE              : BOOLEAN;
      HOTKEY             : BOOLEAN;
      AUTOSIG            : BOOLEAN;
      prompt             : byte;
          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;

     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   : string[2];
              log   : string;
              end;

     archrec=record
     name       : string[15];
     id         : string[2];
     compress   : String[255];
     uncompress : String[255];
     test       : String[255];
     comment    : String[255];
     delete     : String[255];
     listChar   : Char;
     errorLevel : Byte;
   end;

 scrollrec      = record
 used    : boolean;
 total   : integer;
 current : integer;
 x,y     : byte;
 leng    : byte;
 delay   : byte;
 filename: string;
 end;

     Charrec=record
              enter       : boolean;
              caseing     : boolean;
              ch          : char;
              fore        : byte;
              back        : byte;
              use         : boolean;
             end;

     Type Mcis=Array[1..30] of Mcirec;


Var Configf         : Text;   { config file }
    UserF           : File of userrec; { user file }
    StatF           : File of StatRec; { stat file }
    Config          : Configrec; { config }
    User            : UserRec;   { user record }
    Stat            : StatRec;   { stat record }
    scroller        : scrollrec; { scroller record }
    usernum         : longint;   { current usernumber}
    ConnectBaud     : Longint;   { current connected baud }
    menustack       : menustackrec; { menustack for 10 menus }
    Currs           : Byte; { dunno }
    Ansi            : Boolean; { ansi being used }
    Back,Fore       : Byte;    { back and fore ground }
    basicmci        : mcis;    { basic bbs mci codes }
    currentmenu     : byte;    { current menu }
    loggedoff       : boolean; { user loggedoff? }
    charit          : charrec; { char record }
    hide            : boolean; { hide characters }
    wleng           : byte;    { write length }
    buflen          : byte;    { input length }
    enter           : boolean; { enter length }
    Localon         : boolean; { local logon }
    SavedX,SavedY   : Byte;    { savex and savey position }
    ax,ay           : byte;    { temp }
    colorf,colorb   : byte;    { colors temp }
    CurrentBar      : Byte;    { current status bar }
    typedkey        : boolean; { key }
    tempyn          : boolean; { yesno }
    doyn            : boolean; { yesno }
    infoit          : boolean; { info }
    hungup          : boolean; { hangup }
    menuname        : string[15]; { current menu name }
    swap            : boolean; { do swap }
    abort           : boolean; { abort ansi }
Implementation

begin
end.

