home *** CD-ROM | disk | FTP | other *** search
/ Jason Aller Floppy Collection / 189.img / TCS120S.ZIP / GENTYPES.PAS < prev    next >
Pascal/Delphi Source File  |  1989-04-06  |  9KB  |  352 lines

  1. {$R-,S-,I-,D-,F+,V-,B-,N-,L+ }
  2. {$M 65500,0,0 }
  3.  
  4. unit gentypes;
  5.  
  6. interface
  7.  
  8. uses dos;
  9.  
  10. const ver='1.20';
  11.       date='04/06/89';
  12.       thisversioncode=1;
  13.       maxusers=30000;
  14.       maxmessagesize=100;
  15.       maxlastcallers=20;
  16.       maxtopics=10;
  17.       maxcats=10;
  18.       maxbackscroll=5000;
  19.       sectorsize=512;
  20.       numsectors=10000;
  21.       maxcatalogsize=50;
  22.       maxgroupsize=50;
  23.       maxsyslogdat=150;
  24.       maxsyslogsize=1000;
  25.       e_door=3;
  26.       e_controlbreak=9;
  27.       e_badconfig=100;
  28.       e_fatalfileerror=90;
  29.       e_files30=50;
  30.       e_nomodemdrv=2;
  31.       maxb=25;
  32.  
  33. { All of these are extended keystroke values. }
  34.       breakoutchar=    0;   {Control-Break}
  35.       chatchar=        59;  {F1}
  36.       sysopcomchar=    60;  {F2}
  37.       sysnextchar=     65;  {F7}
  38.       timelockchar=    66;  {F8}
  39.       inlockchar=      67;  {F9}
  40.       outlockchar=     68;  {F10}
  41.       printerechochar= 114; {Ctrl-PrtScr}
  42.       availtogglechar= 30;  {Alt-A}
  43.       bottomchar=      48;  {Alt-B}
  44.       texttrapchar=    18;  {Alt-E}
  45.       sysophelpchar=   35;  {Alt-H}
  46.       notimechar=      37;  {Alt-K}
  47.       lesstimechar=    38;  {Alt-L}
  48.       moretimechar=    50;  {Alt-M}
  49.       tempsysopchar=   20;  {Alt-T}
  50.       viewstatchar=    47;  {Alt-S}
  51.       sm1char=        104;  {Alt-F1}
  52.       sm2char=        105;  {Alt-F2}
  53.       sm3char=        106;  {Alt-F3}
  54.       sm4char=        107;  {Alt-F4}
  55.       sm5char=        108;  {Alt-F5}
  56.       sm6char=        109;  {Alt-F6}
  57.       sm7char=        110;  {Alt-F7}
  58.       sm8char=        111;  {Alt-F8}
  59.       sm9char=        112;  {Alt-F9}
  60.       sm10char=       113;  {Alt-F10}
  61.       phunkey=        117;  {Ctrl-End}
  62.       betakey=        131;  {Alt-=}
  63.       scroverride=     24;  {Alt-O}
  64.       leftshift=    $0100;  {Left-Shift}
  65.       rightshift=   $0200;  {Right-Shift}
  66.       control=      $0400;  {Control Key}
  67.       alt=          $0800;  {Alt Key}
  68.       shifttab=        15;  {Shift-Tab}
  69.       home=            71;  {Home Key}
  70.       uparrow=         72;  {Up Arrow}
  71.       pgup=            73;  {Page Up}
  72.       leftarrow=       75;  {Left Arrow}
  73.       rightarrow=      77;  {Right Arrow}
  74.       endkey=          79;  {End Key}
  75.       downarrow=       80;  {Down Arrow}
  76.       pgdn=            81;  {Page Down}
  77.       ins=             82;  {Insert Key}
  78.       del=             83;  {Delete Key}
  79.       altdash=         130; {Alt--}
  80.       altequal=        131; {Alt-=}
  81.       alt1=            120; {Alt-1}
  82.       alt2=            121; {Alt-2}
  83.       alt3=            122; {Alt-3}
  84.       alt4=            123; {Alt-4}
  85.       alt5=            124; {Alt-5}
  86.       alt6=            125; {Alt-6}
  87.       alt7=            126; {Alt-7}
  88.       alt8=            127; {Alt-8}
  89.       alt9=            128; {Alt-9}
  90.       alt0=            129; {Alt-0}
  91.       noscreenoutput=  118; {Ctrl-PgDn}
  92.  
  93. { Overlay manager constants. }
  94.       OvrOk          =  0;   { Success }
  95.       OvrError       = -1;   { Overlay manager error }
  96.       OvrNotFound    = -2;   { Overlay file not found }
  97.       OvrNoMemory    = -3;   { Not enough memory for overlay buffer }
  98.       OvrIOError     = -4;   { Overlay file I/O error }
  99.       OvrNoEMSDriver = -5;   { EMS driver not installed }
  100.       OvrNoEMSMemory = -6;   { Not enough EMS memory }
  101.  
  102. type anystr=string[255];
  103.      lstr=string[80];
  104.      mstr=string[30];
  105.      sstr=string[15];
  106.      accesstype=(bylevel,keepout,letin,invalid);
  107.      availtype=(available,bytime,notavailable);
  108.      configtype=(lowercase,eightycols,linefeeds,postprompts,moreprompts,
  109.                  asciigraphics,ansigraphics,udsysop,bulletinsysop,votingsysop,
  110.                  emailsysop,doorssysop,mainsysop,databasesysop,jsysop,
  111.                  gfsysop,wanted,showtime,vt52,fseditor);
  112.      groupclass=(publicgroup,privategroup,personalgroup);
  113.      voteset=array [1..maxtopics] of byte;
  114.      boardorder=array [0..255] of byte;
  115.      backscroll=array [1..maxbackscroll] of char;
  116.  
  117. type userrec=record
  118.        handle,note:mstr;
  119.        macro1,macro2,macro3:lstr;
  120.        password:sstr;
  121.        phonenum:string[10];
  122.        laston:longint;
  123.        numon,timetoday,nup,ndn,nbu,uploads,downloads:integer;
  124.        totaltime:real;
  125.        voted:voteset;
  126.        udlevel,udpoints,level,emailannounce,beepedpwd,infoform1,infoform2,
  127.        infoform3,infoform4,infoform5:integer;
  128.        regularcolor,promptcolor,statcolor,inputcolor,displaylen:byte;
  129.        lastmessages,lastups,lastgfiles,lastdbases,integer1:integer;
  130.        downk,upk:longint;
  131.        gflevel,gfuploads,gfdownloads:integer;
  132.        menutype,byte1:byte;
  133.        defproto,char1:char;
  134.        config:set of configtype;
  135.        newscanconfig,access1,access2:set of byte;
  136.        lastread:array [0..255] of word
  137.      end;
  138.  
  139.      userspecsrec=record
  140.        name:mstr;
  141.        minlevel,maxlevel,minlaston,maxlaston:integer;
  142.        minpcr,maxpcr:real
  143.      end;
  144.  
  145.      boardrec=record
  146.        boardname,sponsor,entrypw:mstr;
  147.        level,autodel:integer;
  148.        shortname:sstr
  149.      end;
  150.  
  151.      bulrec=record
  152.        leftby,leftto:mstr;
  153.        title,status:lstr;
  154.        when:longint;
  155.        anon,recieved:boolean;
  156.        line,plevel:integer;
  157.        id:word
  158.      end;
  159.  
  160.      filerec=record
  161.        descrip,fname:lstr;
  162.        sentby,password:mstr;
  163.        when:longint;
  164.        downloaded:integer
  165.      end;
  166.  
  167.      mailrec=record
  168.        title,sentby:mstr;
  169.        when:longint;
  170.        anon,read:boolean;
  171.        sentto,line,fileindex:integer
  172.      end;
  173.  
  174.      abrec=record
  175.        title,fname:lstr;
  176.        level:integer;
  177.        when:longint
  178.      end;
  179.  
  180.      rumorrec=record
  181.        title,author,author2:mstr;
  182.        rumor:lstr;
  183.        when:longint;
  184.        level:integer;
  185.      end;
  186.  
  187.      catalogrec=record
  188.        nummail,additional:integer;
  189.        mail:array [1..maxcatalogsize] of mailrec
  190.      end;
  191.  
  192.      grouprec=record
  193.        name:mstr;
  194.        class:groupclass;
  195.        creator,nummembers:integer;
  196.        members:array [1..maxgroupsize] of integer
  197.      end;
  198.  
  199.      message=record
  200.        text:array [1..maxmessagesize] of lstr;
  201.        leftto:mstr;
  202.        title:lstr;
  203.        anon:boolean;
  204.        numlines:integer
  205.      end;
  206.  
  207.      newsrec=record
  208.        m:message;
  209.        when:longint;
  210.        from:lstr;
  211.        min,max:integer;
  212.        forced:boolean;
  213.      end;
  214.  
  215.      bbsrec=record
  216.        name:string[48];
  217.        number:string[12];
  218.        maxbaud:string[4];
  219.        ware:string[4];
  220.        extdesc:string[76];
  221.        leftby:mstr;
  222.      end;
  223.  
  224.      topicrec=record
  225.        topicname:lstr;
  226.        numvoted,addlevel:integer;
  227.        mandatory:boolean
  228.      end;
  229.  
  230.      choicerec=record
  231.        choice:lstr;
  232.        numvoted:integer
  233.      end;
  234.  
  235.      lastrec=record
  236.        name:mstr;
  237.        callnum:longint;
  238.        when:longint
  239.      end;
  240.  
  241.      buffer=array [1..sectorsize] of char;
  242.  
  243.      baserec=record
  244.        numcats,numents,level:integer;
  245.        basename:mstr;
  246.        catnames:anystr
  247.      end;
  248.  
  249.      entryrec=record
  250.        data:anystr;
  251.        when:longint;
  252.        addedby:integer
  253.      end;
  254.  
  255.      parsedentry=array [1..maxcats] of anystr;
  256.  
  257.      udrec=record
  258.        sentby:mstr;
  259.        when,whenrated:longint;
  260.        filename:sstr;
  261.        path:string[50];
  262.        points:integer;
  263.        filesize:longint;
  264.        descrip,dlpw:lstr;
  265.        extdesc:string[255];
  266.        downloaded:integer;
  267.        newfile,specialfile:boolean
  268.      end;
  269.  
  270.      batchrec=record
  271.        fn:sstr;
  272.        path:string[50];
  273.        points,downloaded,num:integer;
  274.        filesize:longint;
  275.        descrip,dlpw:lstr;
  276.        extdesc:string[255];
  277.        sent:boolean;
  278.      end;
  279.  
  280.      arearec=record
  281.        name,xmodemdir:lstr;
  282.        sponsor,areapw:mstr;
  283.        level:integer;
  284.        upload,download:boolean
  285.      end;
  286.  
  287.      gfilerec=record
  288.        gfiledescr:string[75];
  289.        sentby:mstr;
  290.        path:string[50];
  291.        fname:mstr;
  292.        filesize:real;
  293.        when:longint;
  294.        downloaded:integer;
  295.        specialfile,newfile:boolean;
  296.      end;
  297.  
  298.      gfilearea=Record
  299.        name:lstr;
  300.        gfiledir:string[49];
  301.        sponsor:mstr;
  302.        level:integer;
  303.        upable:boolean;
  304.      end;
  305.  
  306.      windowrec=record
  307.        x1,y1,x2,y2,
  308.        cx,cy,color:byte
  309.      end;
  310.  
  311.      fib=textrec;
  312.  
  313.      doorrec=record
  314.        name:mstr;
  315.        level,numused,info:integer;
  316.        batchname:lstr;
  317.        getparams:boolean;
  318.      end;
  319.  
  320.      minuterec=record
  321.        started:boolean;
  322.        startedat:integer;
  323.        total:real
  324.      end;
  325.  
  326.      logrec=record
  327.        menu,subcommand:integer;
  328.        param:string[41];
  329.        when:longint
  330.      end;
  331.  
  332.      syslogdatrec=record
  333.        menu,subcommand:integer;
  334.        text:mstr
  335.      end;
  336.  
  337.      baudratetype=(b110,b300,b450,b600,b1200,b2400,b4800,b9600);
  338.      baudset=set of baudratetype;
  339.  
  340. const baudarray:array [b110..b9600] of integer=
  341.          (110,300,450,600,1200,2400,4800,9600);
  342.       versioncodes:array [1..thisversioncode] of string[4]=
  343.         ('1.00');
  344.  
  345. const firstbaud=b110;
  346.       lastbaud=b9600;
  347.  
  348. implementation
  349.  
  350. begin
  351. end.
  352.