UNIT GENTYPES;

Interface
uses dos,crt;
Const version='v.1';

Type
          Configrec=record
              BoardName:string[80];              { Board Name }
              SysOpName:string[40];              { SysOp Name }
              MainDir:string[80];                    { Main Bbs Dir }
              DataDir:string[80];                    { Data file dir }
              WorkDir:string[80];
              ansidir:string[80];                    { ansi file dir }
              comport:1..8;                      { comport }
              baudrate:longint;                  { baud rate }
              init   :string[80];                    { init string }
              hangup :string[80];                    { hang up }
              offhook:string[80];                    { off hook }
              answer :string[80];                    { answer call }
              startmenu:string[13];                  { First menu After Login }
            end;


     XYREC=RECORD
     X:0..80;
     Y:0..25;
     F:0..31;
     B:0..7;
     KEY:CHAR;
     USED:BOOLEAN;
     END;

          DATEREC=RECORD
          MONTH:1..12;
          DAY:1..31;
          YEAR:BYTE;
          X:0..80;
          Y:0..25;
          F:0..31;
          B:0..7;
          USED:BOOLEAN;
          END;

     timerrec=record
       started:boolean;
       startedat:integer;
       total:integer;
     end;

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

   MsgAreaRec = record
      Name          : String[40];
      Filename      : String[8];
      MsgPath       : String[40];
      Sponsor       : String[36];
      Acs           : STRING[10];
      PostAcs       : STRING[10];
      ORIGIN        : STRING[40];
      MaxMsgs       : Word;
      Msgs          : Word;
      Password      : String[20];
      qwkName       : String[16];
   end;



          filerec=record
           sentby:string[20];
           filename:string[12];
           path:string[80];
           points:integer;
           filesize:longint;
           description:ARRAY[1..10] OF string[60];
           downloaded:integer;
           sendto:string[20];
           password:string[20];
           newfile:boolean;
           extend:boolean;
           DATE:DATEREC;
           end;

     BATCHREC=RECORD
      PATH:STRING;
      filename:string[12];
     END;
          arearec=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;

          protrec=record
          Protname:string[30];
          Key     :string[4];
          runcmd  :string[5];
          end;

          UserRec=record
              Handle,                            { User Handle }
              RealName:string[40];               { User Real Name }
              Password:STRING[40];                { User Password  }
              Sex:char;                          { User Sex       }
              Dob:string[8];                     { Date of birth 00-00-00 }
              phone:array[1..2] of string[12];   { user phone # 222-222-2222  }
              location:STRING[80];
              address:string[80];               { User Address }
              USERNOTE:STRING[80];
              AUTOQUOTE:BOOLEAN;
              YESNO:BOOLEAN;
              ZIPCODE:STRING[11];
              EXPERT:BOOLEAN;
              HOTKEY:BOOLEAN;
              PAUSE:BOOLEAN;
              Maxlines:BYTE;
              Userlevel,                         { User Main Level }
              FileLevel,                         { User File Level }
              MessageLevel:0..255;              { User Message Level }
              LastMA:0..255;
              LastMC:0..255;
              LastFA:0..255;
              LastFC:0..255;
              Prompt:1..255;
              TIME:integer;
              End;

              PROTOCOLREC=RECORD
              KEY:STRING[10];
              DESCRIPTION:STRING[40];
              PROTTYPE:INTEGER;
              COMMAND:STRING;
              END;

              BACKREC=RECORD
              FORG:BYTE;
              BACK:BYTE;
              CH  :CHAR;
              END;

              INFOFORMrec=RECORD
              NAME:STRING[30];
              INS:ARRAY[1..30] OF STRING[80];
              END;

              ONEREC=RECORD
                  NAME:STRING[30];
                  LINE:STRING[80];
                    END;

     mcirec=RECORD
     X:0..80;
     Y:0..25;
     F:0..31;
     B:0..7;
     KEY:CHAR;
     USED:BOOLEAN;
     mci:string[10];
     STR:STRING[80];
     END;

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

Var Urec:userrec;                 { User Record }
    CONNECTBAUD:LONGINT;
    Userf:file of userrec;        { User File Record }
    configset:configrec;          { Config Record }
    ConfigF:file of configrec;    { File Of Configrec }
    local,
    hidden:boolean;
    logontime:integer;
    printlength:1..500;
    buflen:0..80;
    savex:1..80;
    savey:1..25;
    UNUM:INTEGER;
    LOGINGOOD:BOOLEAN;
    CURRENTMENU:STRING[15];
    CURRENTAREA:STRING[30];
    MENUDONE   :BOOLEAN;
    timemsg:string;
    LOGOFFBBS:BOOLEAN;
    BACKSPACE:BACKREC;
    mustenter:boolean;
    CURRENTA:BYTE;
    chatmode:boolean;
    CURRENTBAR:0..10;
    notified:boolean;

CONST  LOGOFF       : BOOLEAN = FALSE;
       quicklogoff  : boolean = false;
procedure resetitall;

Implementation

procedure resetitall;
begin
    fillchar(urec,sizeof(urec),#0);
    connectbaud:=0;
    fillchar(configset,sizeof(configset),#0);
    local:=true;
    hidden:=false;
    printlength:=255;
    buflen:=25;
    savex:=1;
    savey:=1;
    unum:=0;
    logingood:=false;
    currentmenu:='';
    currentarea:='';
    menudone:=false;
    logoffbbs:=false;
    fillchar(backspace,sizeof(backspace),#0);
    mustenter:=false;
    currenta:=0;
    CHATMODE:=FALSE;
    currentbar:=1;
end;

begin
end.

