home *** CD-ROM | disk | FTP | other *** search
/ The World of Computer Software / World_Of_Computer_Software-02-385-Vol-1of3.iso / f / faq-s.zip / GENTYPES.PAS < prev    next >
Pascal/Delphi Source File  |  1991-04-26  |  12KB  |  434 lines

  1. {$R-,S-,I-,D-,F+,V-,B-,N-,L+ }
  2. {$M 50000,0,0 }
  3.  
  4. unit gentypes;
  5.  
  6. interface
  7.  
  8. uses dos;
  9.  
  10. const ver='1.05'; {1.05ß}
  11.       netver='1.4';
  12.       date='06/01/91';
  13.       thisversioncode=1;
  14.       maxusers=30000;
  15.       maxbackscroll=10000;
  16.       maxmessagesize=100;
  17.       maxlastcallers=20;
  18.       maxtopics=10;
  19.       maxcats=10;
  20.       maxconf=10;
  21.       sectorsize=512;
  22.       numsectors=10000;
  23.       maxcatalogsize=50;
  24.       maxgroupsize=50;
  25.       maxsyslogdat=150;
  26.       maxsyslogsize=1000;
  27.       e_door=3;
  28.       e_controlbreak=9;
  29.       e_badconfig=100;
  30.       e_fatalfileerror=90;
  31.       e_files30=50;
  32.       e_nomodemdrv=2;
  33.       maxb=100;
  34.  
  35. { All of these are extended keystroke values. }
  36.       breakoutchar=    0;   {Control-Break}
  37.       chat1char=       59;  {F1}
  38.       chat2char=       60;  {F2}
  39.       astaline=        61;  {F3}
  40.       validate=        62;  {F4}
  41.       sysopcomchar=    63;  {F5}
  42.       sysnextchar=     65;  {F7}
  43.       timelockchar=    66;  {F8}
  44.       inlockchar=      67;  {F9}
  45.       outlockchar=     68;  {F10}
  46.       printerechochar= 114; {Ctrl-PrtScr}
  47.       availtogglechar= 30;  {Alt-A}
  48.       bottomchar=      48;  {Alt-B}
  49.       doschar=         32;  {Alt-D}
  50.       texttrapchar=    18;  {Alt-E}
  51.       sysophelpchar=   35;  {Alt-H}
  52.       notimechar=      37;  {Alt-K}
  53.       lesstimechar=    38;  {Alt-L}
  54.       moretimechar=    50;  {Alt-M}
  55.       tempsysopchar=   20;  {Alt-T}
  56.       viewstatchar=    47;  {Alt-S}
  57.       sm1char=        104;  {Alt-F1}
  58.       sm2char=        105;  {Alt-F2}
  59.       sm3char=        106;  {Alt-F3}
  60.       sm4char=        107;  {Alt-F4}
  61.       sm5char=        108;  {Alt-F5}
  62.       sm6char=        109;  {Alt-F6}
  63.       sm7char=        110;  {Alt-F7}
  64.       sm8char=        111;  {Alt-F8}
  65.       sm9char=        112;  {Alt-F9}
  66.       sm10char=       113;  {Alt-F10}
  67.       phunkey=        117;  {Ctrl-End}
  68.       betakey=        131;  {Alt-=}
  69.       scroverride=     24;  {Alt-O}
  70.       leftshift=    $0100;  {Left-Shift}
  71.       rightshift=   $0200;  {Right-Shift}
  72.       control=      $0400;  {Control Key}
  73.       alt=          $0800;  {Alt Key}
  74.       shifttab=        15;  {Shift-Tab}
  75.       uparrow=         72;  {Up Arrow}
  76.       downarrow=       80;  {Down Arrow}
  77.       leftarrow=       75;  {Left Arrow}
  78.       rightarrow=      77;  {Right Arrow}
  79.       home=            71;  {Home Key}
  80.       pageup=          73;  {Page Up}
  81.       endkey=          79;  {End Key}
  82.       pagedown=        81;  {Page Down}
  83.       ins=             82;  {Insert Key}
  84.       del=             83;  {Delete Key}
  85.       altdash=         130; {Alt--}
  86.       altequal=        131; {Alt-=}
  87.       alt1=            120; {Alt-1}
  88.       alt2=            121; {Alt-2}
  89.       alt3=            122; {Alt-3}
  90.       alt4=            123; {Alt-4}
  91.       alt5=            124; {Alt-5}
  92.       alt6=            125; {Alt-6}
  93.       alt7=            126; {Alt-7}
  94.       alt8=            127; {Alt-8}
  95.       alt9=            128; {Alt-9}
  96.       alt0=            129; {Alt-0}
  97.       noscreenoutput=  118; {Ctrl-PgDn}
  98.       esc=             27;  {Esc}
  99.  
  100. { Overlay manager constants. }
  101.       OvrOk          =  0;   { Success }
  102.       OvrError       = -1;   { Overlay manager error }
  103.       OvrNotFound    = -2;   { Overlay file not found }
  104.       OvrNoMemory    = -3;   { Not enough memory for overlay buffer }
  105.       OvrIOError     = -4;   { Overlay file I/O error }
  106.       OvrNoEMSDriver = -5;   { EMS driver not installed }
  107.       OvrNoEMSMemory = -6;   { Not enough EMS memory }
  108.  
  109. type anystr=string[128];
  110.      lstr=string[80];
  111.      mstr=string[30];
  112.      sstr=string[15];
  113.  
  114.      regs=record
  115.        case integer of
  116.          0:(ax,bx,cx,dx,bp,si,di,ds,es,flags:integer);
  117.          1:(al,ah,bl,bh,cl,ch,dl,dh:byte)
  118.      end;
  119.      accesstype=(bylevel,keepout,letin,invalid);
  120.      availtype=(available,bytime,notavailable);
  121.      filelisttype=(ffname,ffext,ffsize,ffpoints,ffuploader,ffuploaded,
  122.      ffdown,fffulnam,ffofwhat);   {Configurable file listings}
  123.      configtype=(lowercase,eightycols,linefeeds,postprompts,moreprompts,
  124.                  asciigraphics,ansigraphics,udsysop,bulletinsysop,votingsysop,
  125.                  emailsysop,doorssysop,mainsysop,databasesysop,jsysop,
  126.                  gfsysop,wanted,showtime,vt52,fseditor);
  127.      groupclass=(publicgroup,privategroup,personalgroup);
  128.      voteset=array [1..maxtopics] of byte;
  129.      boardorder=array [0..255] of byte;
  130.  
  131. type bankrec = record
  132.     balance:integer;
  133.     lastt:char;
  134.     lasta:integer;
  135.     lastw:longint;
  136.     end;
  137.  
  138. var    bnkfile:file of bankrec; acct:bankrec;
  139.  
  140. type userrec=record
  141.        handle:mstr;
  142.        realname:string[41];
  143.        note:lstr;
  144.        macro1,macro2,macro3:lstr;
  145.        yesvote,novote,abstain:integer;
  146.        password:sstr;
  147.        sex:string[1];
  148.        age:integer;
  149.        citystate:string[34];
  150.        country:string[20];
  151.        zipcode:string[10];
  152.        phonenum:string[10];
  153.        laston:longint;
  154.        numon,timetoday,nup,ndn,nbu,uploads,downloads:integer;
  155.        totaltime:real;
  156.        voted:voteset;
  157.        udlevel,udpoints,level,emailannounce,beepedpwd,infoform1,infoform2,
  158.        infoform3,infoform4,infoform5:integer;
  159.        bstatuscolor,
  160.        bordercolor,regularcolor,promptcolor,statcolor,inputcolor,displaylen:byte;
  161.        lastmessages,lastups,lastgfiles,lastdbases,integer1:integer;
  162.        downk,upk:longint;
  163.        gflevel,gfuploads,gfdownloads:integer;
  164.        menutype,byte1:byte;
  165.        defproto,char1:char;
  166.        hack:byte;
  167.        config:set of configtype;
  168.        filelister:set of filelisttype;
  169.        newscanconfig,access1,access2:set of byte;
  170.        timeinstorage:word;
  171.        averagecps:integer;
  172.        lastread:array [0..255] of word;
  173.        newvoteyes,newvoteno:integer;
  174.        newvoteit:array [1..255] of integer;
  175.        defcon:array [0..maxconf] of boolean;
  176.      end;
  177.  
  178.      userspecsrec=record
  179.        name:mstr;
  180.        minlevel,maxlevel,minlaston,maxlaston:integer;
  181.        minpcr,maxpcr:real
  182.      end;
  183.  
  184.      boardrec=record
  185.        boardname :mstr;
  186.        sponsor   :mstr;
  187.        entrypw   :mstr;
  188.        level     :integer;
  189.        autodel   :integer;
  190.        anony     :boolean;
  191.        shortname :sstr;
  192.        net       :integer;
  193.       end;
  194.  
  195.      filerec=record
  196.        descrip,fname:lstr;
  197.        sentby,password:mstr;
  198.        when:longint;
  199.        downloaded:integer
  200.      end;
  201.  
  202.      mailrec=record
  203.        title,sentby:mstr;
  204.        when:longint;
  205.        anon,read:boolean;
  206.        sentto,line,fileindex:integer
  207.      end;
  208.  
  209.      abrec=record
  210.        title,fname:lstr;
  211.        level:integer;
  212.        when:longint
  213.      end;
  214.  
  215.      quoterec=record
  216.        title,author,author2:mstr;
  217.        quote:lstr;
  218.     when:longint;
  219.        level:integer;
  220.      end;
  221.  
  222.      netmailrec=record
  223.        name:string[48];
  224.      number:string[12];
  225.     maxbaud:string[4];
  226.    priority:string[2];
  227.    lastsent:longint;
  228.      end;
  229.  
  230.      netlistrec=record
  231.        filename:string[12];
  232.       prioritya:string[2];
  233.      end;
  234.  
  235.      catalogrec=record
  236.        nummail,additional:integer;
  237.        mail:array [1..maxcatalogsize] of mailrec
  238.      end;
  239.  
  240.      grouprec=record
  241.        name:mstr;
  242.        class:groupclass;
  243.        creator,nummembers:integer;
  244.        members:array [1..maxgroupsize] of integer
  245.      end;
  246.  
  247.      bulrec=record                           {Post data}
  248.        leftby,leftto:mstr;
  249.        title,status:mstr;
  250.        when:longint;
  251.        where:lstr;        {Where should say "CelerityNet V1.4 - The BBS"}
  252.        where2:lstr;       {where2 is the sysop-defined origin line}
  253.        version:byte;
  254.        anon,recieved:boolean;
  255.        line,plevel:integer;
  256.        id:word;
  257.        cnet,fidonet,flag3,flag4,flag5,flag6,flag7,flag8:boolean;
  258.        realname:mstr;
  259.      end;
  260.  
  261.      message=record
  262.        text:array [1..maxmessagesize] of lstr;
  263.        leftto:mstr;
  264.        title:lstr;
  265.        anon:boolean;
  266.        numlines:integer
  267.      end;
  268.  
  269.       NetPostRec=record    {Record for networked posts}
  270.              NetIdNum: byte;            {Tells which sub to put the post on}
  271.              BulletinRec: bulrec;       {the post record}
  272.              MessageRec: message;       {the message record}
  273.           end;
  274.  
  275.      Newsrec=Record
  276.         Location:Integer;
  277.         Level:Integer;
  278.         From:mstr;
  279.         When:longint;
  280.         Title:String[28];
  281.         MaxLevel:Integer;
  282.       End;
  283.  
  284.      bbsrec=record
  285.        name:string[48];
  286.        number:string[12];
  287.        maxbaud:string[4];
  288.        ware:string[8];
  289.        extdesc:string[76];
  290.        leftby:mstr;
  291.        when:longint;
  292.      end;
  293.  
  294.      topicrec=record
  295.        topicname:lstr;
  296.        numvoted,addlevel:integer;
  297.        mandatory:boolean
  298.      end;
  299.  
  300.      choicerec=record
  301.        choice:lstr;
  302.        numvoted:integer
  303.      end;
  304.  
  305.      lastrec=record
  306.        name:mstr;
  307.        callnum:longint;
  308.        when:longint;
  309.        baud:sstr
  310.      end;
  311.  
  312.      buffer=array [1..sectorsize] of char;
  313.  
  314.      baserec=record
  315.        numcats,numents,level:integer;
  316.        basename:mstr;
  317.        catnames:anystr
  318.      end;
  319.  
  320.      entryrec=record
  321.        data:anystr;
  322.        when:longint;
  323.        addedby:integer
  324.      end;
  325.  
  326.      parsedentry=array [1..maxcats] of anystr;
  327.  
  328.      udrec=record
  329.        sentby:mstr;
  330.        when,whenrated:longint;
  331.        filename:sstr;
  332.        path:string[50];
  333.        points:integer;
  334.        filesize:longint;
  335.        programname:string[27];
  336.        disknum,totaldisk:integer;
  337.        {descrip,}dlpw:lstr;
  338.        extdesc:string[255];
  339.        downloaded:integer;
  340.        newfile,specialfile:boolean;
  341.        private:mstr
  342.      end;
  343.  
  344.      arearec=record
  345.        name,xmodemdir:lstr;
  346.        sponsor,areapw:mstr;
  347.        level:integer;
  348.        upload,download:boolean
  349.      end;
  350.  
  351. gfilerec=record
  352.        gfiledescr:string[75];
  353.        sentby:mstr;
  354.        path:string[50];
  355.        fname:mstr;
  356.        filesize:longint;
  357.        when:longint;
  358.        downloaded:integer;
  359.        arcname:lstr;
  360.        specialfile,newfile:boolean;
  361.      end;
  362.  
  363.      gfilearea=record
  364.        name:lstr;
  365.        gfiledir:string[49];
  366.        sponsor:mstr;
  367.        level:integer;
  368.        upable:boolean;
  369.        defarc:sstr;
  370.      end;
  371.  
  372.      windowrec=record
  373.        x1,y1,x2,y2,
  374.        cx,cy,color:byte
  375.      end;
  376.  
  377.      fib=textrec;
  378.  
  379.      doorrec=record
  380.        name:mstr;
  381.        level,numused,info:integer;
  382.        batchname:lstr;
  383.        getparams:boolean;
  384.      end;
  385.  
  386.      minuterec=record
  387.        started:boolean;
  388.        startedat:integer;
  389.        total:real
  390.      end;
  391.  
  392.      logrec=record
  393.        menu,subcommand:integer;
  394.        param:string[41];
  395.        when:longint
  396.      end;
  397.  
  398.      syslogdatrec=record
  399.        menu,subcommand:integer;
  400.        text:mstr
  401.      end;
  402.  
  403.      baudratetype=(b110,b300,b1200,b2400,b4800,b9600,b19200,b38400);
  404.      baudset=set of baudratetype;
  405.  
  406.      protorec=record
  407.                     letter:char;
  408.                     desc:string[30];
  409.                     progname:string[12];
  410.                     commfmt:string[60];
  411.                     end;
  412.  
  413.      registerrec=record
  414.                     handle:mstr;
  415.                     serial:longint;
  416.                     end;
  417.  
  418. const baudarray:array [b110..b38400] of longint=
  419.          (110,300,1200,2400,4800,9600,19200,38400);
  420.       versioncodes:array [1..thisversioncode] of string[4]=
  421.         ('1.00');
  422.  
  423. const firstbaud=b110;
  424.       lastbaud=b38400;
  425.  
  426. var prprog, prcomm, prdesc: lstr;
  427.     answer:char;
  428.  
  429.  
  430. implementation
  431.  
  432. begin
  433. end.
  434.