home *** CD-ROM | disk | FTP | other *** search
/ Jason Aller Floppy Collection / 276.img / FORUM21S.ZIP / GENTYPES.PAS < prev    next >
Pascal/Delphi Source File  |  1988-02-13  |  6KB  |  234 lines

  1. {$R-,S-,I-,D-,T-,F-,V-,B-,N-,L+ }
  2. {$M 65500,0,0 }
  3.  
  4. unit gentypes;
  5.  
  6. interface
  7.  
  8. uses dos;
  9.  
  10. const versionnum='Forum-PC 2.10';
  11.       thisversioncode=1;
  12.       maxusers=30000;
  13.       maxmessagesize=100;
  14.       maxlastcallers=20;
  15.       maxtopics=10;
  16.       maxcats=10;
  17.       sectorsize=512;
  18.       numsectors=10000;
  19.       maxcatalogsize=50;
  20.       maxgroupsize=50;
  21.       maxsyslogdat=125;
  22.       maxsyslogsize=1000;
  23.       e_door=3;
  24.       e_controlbreak=9;
  25.       e_badconfig=100;
  26.       e_fatalfileerror=90;
  27.       e_files30=50;
  28.       e_nomodemdrv=2;
  29.  
  30. { All of these are extended keystroke values. }
  31.       breakoutchar=    0;   {Control-Break}
  32.       chatchar=        59;  {F1}
  33.       sysopcomchar=    60;  {F2}
  34.       sysnextchar=     65;  {F7}
  35.       timelockchar=    66;  {F8}
  36.       inlockchar=      67;  {F9}
  37.       outlockchar=     68;  {F10}
  38.       printerechochar= 114; {Ctrl-PrtSc}
  39.       availtogglechar= 30;  {Alt-A}
  40.       bottomchar=      48;  {Alt-B}
  41.       texttrapchar=    18;  {Alt-E}
  42.       sysophelpchar=   35;  {Alt-H}
  43.       notimechar=      37;  {Alt-K}
  44.       lesstimechar=    38;  {Alt-L}
  45.       moretimechar=    50;  {Alt-M}
  46.       tempsysopchar=   20;  {Alt-T}
  47.       viewstatchar=    47;  {Alt-S}
  48.  
  49. type anystr=string[255];
  50.      lstr=string[80];
  51.      mstr=string[30];
  52.      sstr=string[15];
  53.      accesstype=(bylevel,keepout,letin,invalid);
  54.      availtype=(available,bytime,notavailable);
  55.      configtype=(lowercase,eightycols,linefeeds,postprompts,moreprompts,
  56.                  asciigraphics,ansigraphics,udsysop,bulletinsysop,votingsysop,
  57.                  emailsysop,doorssysop,mainsysop,databasesysop,wanted,
  58.                  showtime,vt52,fseditor);
  59.      groupclass=(publicgroup,privategroup,personalgroup);
  60.      voteset=array [1..maxtopics] of byte;
  61.      boardorder=array [0..255] of byte;
  62.  
  63. type userrec=record
  64.        handle:mstr;
  65.        password:sstr;
  66.        phonenum:string[10];
  67.        laston:longint;
  68.        numon,timetoday,nup,ndn,nbu,uploads,downloads:integer;
  69.        totaltime:real;
  70.        voted:voteset;
  71.        udlevel,udpoints,level,emailannounce,beepedpwd,infoform:integer;
  72.        regularcolor,promptcolor,statcolor,inputcolor,displaylen:byte;
  73.        config:set of configtype;
  74.        newscanconfig,access1,access2:set of byte;
  75.        lastread:array [0..255] of word
  76.      end;
  77.  
  78.      userspecsrec=record
  79.        name:mstr;
  80.        minlevel,maxlevel,minlaston,maxlaston:integer;
  81.        minpcr,maxpcr:real
  82.      end;
  83.  
  84.      boardrec=record
  85.        boardname,sponsor:mstr;
  86.        level,autodel:integer;
  87.        shortname:sstr
  88.      end;
  89.  
  90.      bulrec=record
  91.        title,leftby:mstr;
  92.        when:longint;
  93.        anon:boolean;
  94.        line,plevel:integer;
  95.        id:word
  96.      end;
  97.  
  98.      filerec=record
  99.        descrip,fname:lstr;
  100.        sentby:mstr;
  101.        when:longint;
  102.        downloaded:integer
  103.      end;
  104.  
  105.      mailrec=record
  106.        title,sentby:mstr;
  107.        when:longint;
  108.        anon,read:boolean;
  109.        sentto,line,fileindex:integer
  110.      end;
  111.  
  112.      abrec=record
  113.        title,fname:lstr;
  114.        level:integer;
  115.        when:longint
  116.      end;
  117.  
  118.      catalogrec=record
  119.        nummail,additional:integer;
  120.        mail:array [1..maxcatalogsize] of mailrec
  121.      end;
  122.  
  123.      grouprec=record
  124.        name:mstr;
  125.        class:groupclass;
  126.        creator,nummembers:integer;
  127.        members:array [1..maxgroupsize] of integer
  128.      end;
  129.  
  130.      message=record
  131.        text:array [1..maxmessagesize] of lstr;
  132.        title:mstr;
  133.        anon:boolean;
  134.        numlines:integer
  135.      end;
  136.  
  137.      topicrec=record
  138.        topicname:lstr;
  139.        numvoted,addlevel:integer;
  140.        mandatory:boolean
  141.      end;
  142.  
  143.      choicerec=record
  144.        choice:lstr;
  145.        numvoted:integer
  146.      end;
  147.  
  148.      lastrec=record
  149.        name:mstr;
  150.        callnum:longint;
  151.        when:longint
  152.      end;
  153.  
  154.      buffer=array [1..sectorsize] of char;
  155.  
  156.      baserec=record
  157.        numcats,numents,level:integer;
  158.        basename:mstr;
  159.        catnames:anystr
  160.      end;
  161.  
  162.      entryrec=record
  163.        data:anystr;
  164.        when:longint;
  165.        addedby:integer
  166.      end;
  167.  
  168.      parsedentry=array [1..maxcats] of anystr;
  169.  
  170.      udrec=record
  171.        sentby:mstr;
  172.        when,whenrated:longint;
  173.        filename:sstr;
  174.        path:string[50];
  175.        points:integer;
  176.        filesize:longint;
  177.        descrip:lstr;
  178.        downloaded:integer;
  179.        newfile,specialfile:boolean
  180.      end;
  181.  
  182.      arearec=record
  183.        name,xmodemdir:lstr;
  184.        sponsor:mstr;
  185.        level:integer
  186.      end;
  187.  
  188.      windowrec=record
  189.        x1,y1,x2,y2,
  190.        cx,cy,color:byte
  191.      end;
  192.  
  193.      fib=textrec;
  194.  
  195.      doorrec=record
  196.        name:mstr;
  197.        level,numused,info:integer;
  198.        batchname:lstr;
  199.        getparams:boolean;
  200.      end;
  201.  
  202.      minuterec=record
  203.        started:boolean;
  204.        startedat:integer;
  205.        total:real
  206.      end;
  207.  
  208.      logrec=record
  209.        menu,subcommand:integer;
  210.        param:string[41];
  211.        when:longint
  212.      end;
  213.  
  214.      syslogdatrec=record
  215.        menu,subcommand:integer;
  216.        text:mstr
  217.      end;
  218.  
  219.      baudratetype=(b110,b300,b450,b600,b1200,b2400,b4800,b9600);
  220.      baudset=set of baudratetype;
  221.  
  222. const baudarray:array [b110..b9600] of integer=
  223.          (110,300,450,600,1200,2400,4800,9600);
  224.       versioncodes:array [1..thisversioncode] of string[4]=
  225.         ('2.10');
  226.  
  227. const firstbaud=b110;
  228.       lastbaud=b9600;
  229.  
  230. implementation
  231.  
  232. begin
  233. end.
  234.