home *** CD-ROM | disk | FTP | other *** search
/ Programmer 7500 / MAX_PROGRAMMERS.iso / PASCAL / ECO30603.ZIP / ECO30603.LZH / ECOLIBBS / RASTRUCT.INC < prev    next >
Encoding:
Text File  |  1992-06-27  |  13.3 KB  |  516 lines

  1. (* file "STRUCT.111" *)
  2.  
  3. (* structures document for remoteaccess 1.10/1.11/noncommercial. *)
  4. (* may be freely distributed in unmodified form and used         *)
  5. (* by third-party developers. this document is copyright         *)
  6. (* (c) 1991 andrew milner and continental software.              *)
  7.  
  8.  
  9. type
  10.   asktype        = (yes, no, ask, only);
  11.   videotype      = (auto, short, long);
  12.   msgtype        = (localmail, netmail, echomail);
  13.   msgkindstype   = (both, private, public, ronly);
  14.   orphantype     = (ignore, create, kill);
  15.   flagtype       = array[1..4] of byte;
  16.   time           = string[5];
  17.   date           = string[8];
  18.   longdate       = string[9];
  19.  
  20.   netaddress     = record
  21.     zone,
  22.     net,
  23.     node,
  24.     point          : word;
  25.   end;
  26.  
  27.   languagerecord = record
  28.     name           : string[20];
  29.     attribute      : byte;
  30.     defname,
  31.     menupath,
  32.     textpath,
  33.     quespath       : string[60];
  34.     freespace      : array[1..200] of byte;
  35.   end;
  36.  
  37.   msginforecord  = record
  38.     lowmsg,
  39.     highmsg,
  40.     totalmsgs      : word;
  41.     totalonboard   : array[1..200] of word;
  42.   end;
  43.  
  44.   msgidxrecord   = record
  45.     msgnum         : integer;
  46.     board          : byte;
  47.   end;
  48.  
  49.   msgtoidxrecord = string[35];
  50.  
  51.   msghdrrecord   = record
  52.     msgnum         : integer;
  53.     prevreply,
  54.     nextreply,
  55.     timesread      : word;
  56.     startblock     : word;
  57.     numblocks,
  58.     destnet,
  59.     destnode,
  60.     orignet,
  61.     orignode       : word;
  62.     destzone,
  63.     origzone       : byte;
  64.     cost           : word;
  65.     msgattr,
  66.     netattr,
  67.     board          : byte;
  68.     posttime       : time;
  69.     postdate       : date;
  70.     whoto,
  71.     whofrom        : msgtoidxrecord;
  72.     subject        : string[72];
  73.   end;
  74.  
  75.   msgtxtrecord   = string[255];
  76.  
  77.   useronrecord   = record
  78.     name,
  79.     handle         : msgtoidxrecord;
  80.     line           : byte;
  81.     baud           : word;
  82.     city           : string[25];
  83.     donotdisturb   : boolean;
  84.     status         : byte;
  85.     attribute      : byte;
  86.   end;
  87.  
  88.   { status byte - 0 : browsing (in a menu)
  89.                   1 : uploading/downloading
  90.                   2 : reading/posting messages
  91.                   3 : in a door/external utility
  92.                   4 : chatting with sysop
  93.                   5 : answering questionnaire
  94.                   6 : system ready (0=busy)
  95.  
  96.     attribute   - bit 0 : hidden }
  97.  
  98.   lastcallrecord = record
  99.     line           : byte;
  100.     name,
  101.     handle         : msgtoidxrecord;
  102.     city           : string[25];
  103.     baud           : word;
  104.     times          : longint;
  105.     logon          : string[5];
  106.     logoff         : string[5];
  107.     attribute      : byte;
  108.   end;
  109.  
  110.                 { attribute - bit 0 : hidden }
  111.  
  112.   lastreadrecord = array[1..200] of word;
  113.  
  114.   combinedrecord = array[1..25] of byte;
  115.  
  116.   usersidxrecord = record
  117.     namecrc32,
  118.     handlecrc32    : longint;
  119.   end;
  120.  
  121.   usersxirecord  = record
  122.     handle         : string[35];
  123.     comment        : string[80];
  124.     firstdate      : date;
  125.     combinedinfo   : combinedrecord;
  126.     birthdate,
  127.     subdate        : date;
  128.     screenwidth,
  129.     msgarea,
  130.     filearea,
  131.     language,
  132.     dateformat     : byte;
  133.     forwardto      : string[35];
  134.     extraspace     : array[1..43] of byte;
  135.   end;
  136.  
  137.   usersrecord    = record
  138.     name           : msgtoidxrecord;
  139.     location       : string[25];
  140.     password       : string[15];
  141.     dataphone,
  142.     voicephone     : string[12];
  143.     lasttime       : time;
  144.     lastdate       : date;
  145.     attribute      : byte;
  146.  
  147.      { bit 0 : deleted
  148.            1 : clear screen
  149.            2 : more prompt
  150.            3 : ansi
  151.            4 : no-kill
  152.            5 : xfer priority
  153.            6 : full screen msg editor
  154.            7 : quiet mode }
  155.  
  156.     flags          : flagtype;
  157.     credit,
  158.     pending        : word;
  159.     msgsposted,
  160.     lastread,
  161.     security,
  162.     nocalls,
  163.     uploads,
  164.     downloads,
  165.     uploadsk,
  166.     downloadsk     : word;
  167.     todayk,
  168.     elapsed        : integer;
  169.     screenlength   : word;
  170.     lastpwdchange,
  171.     attribute2,
  172.  
  173.      { bit 0 : hot-keys
  174.            1 : avt/0
  175.            2 : full screen message viewer
  176.            3 : hidden from userlist }
  177.  
  178.  
  179.     group          : byte;
  180.     xirecord       : word;
  181.     extraspace     : array[1..3] of byte;
  182.   end;
  183.  
  184.   sysinforecord  = record
  185.     totalcalls     : longint;
  186.     lastcaller     : msgtoidxrecord;
  187.     extraspace     : array[1..128] of byte;
  188.   end;
  189.  
  190.   timelogrecord  = record
  191.     startdate      : date;
  192.     busyperhour    : array[0..23] of word;
  193.     busyperday     : array[0..6] of word;
  194.   end;
  195.  
  196.   mnurecord      = record
  197.     typ            : byte;
  198.     security       : word;
  199.     flags          : flagtype;
  200.     display        : string[75];
  201.     hotkey         : char;
  202.     miscdata       : string[80];
  203.     foreground,
  204.     background     : byte;
  205.   end;
  206.  
  207.   eventrecord    = record
  208.     status         : byte; { 0=deleted 1=enabled 2=disabled }
  209.     starttime      : time;
  210.     errorlevel     : byte;
  211.     days           : byte;
  212.     forced         : boolean;
  213.     lasttimerun    : date;
  214.   end;
  215.  
  216.   eventrecordarray = array[1..20] of eventrecord;
  217.  
  218.   messagerecord  = record
  219.     name           : string[40];
  220.     typ            : msgtype;
  221.     msgkinds       : msgkindstype;
  222.     attribute      : byte;
  223.  
  224.      { bit 0 : enable echoinfo
  225.            1 : combined access
  226.            2 : file attaches
  227.            3 : allow aliases
  228.            4 : use softcrs as characters
  229.            5 : force handle
  230.            6 : allow deletes }
  231.  
  232.     dayskill,    { kill older than 'x' days }
  233.     recvkill       : byte; { kill recv msgs, recv for more than 'x' days }
  234.     countkill      : word;
  235.  
  236.     readsecurity   : word;
  237.     readflags      : flagtype;
  238.  
  239.     writesecurity  : word;
  240.     writeflags     : flagtype;
  241.  
  242.     sysopsecurity  : word;
  243.     sysopflags     : flagtype;
  244.  
  245.     originline     : string[60];
  246.     akaaddress     : byte;
  247.   end;
  248.  
  249.   filesrecord    = record
  250.     name           : string[30];
  251.     attrib         : byte;
  252.  
  253.      { bit 0 : include in new files scan
  254.            1 : include in upload dupe scan
  255.            2 : permit long descriptions }
  256.  
  257.     filepath       : string[40];
  258.     freespace      : array[1..35] of byte;
  259.     uploadsecurity : word;
  260.     uploadflags    : flagtype;
  261.     security       : word;
  262.     flags          : flagtype;
  263.     listsecurity   : word;
  264.     listflags      : flagtype;
  265.   end;
  266.  
  267.   configrecord = record
  268.     versionid           : word;
  269.     commport            : byte;
  270.     baud                : longint;
  271.     inittries           : byte;
  272.     initstr,
  273.     busystr             : string[70];
  274.     initresp,
  275.     busyresp,
  276.     connect300,
  277.     connect1200,
  278.     connect2400,
  279.     connect4800,
  280.     connect9600,
  281.     connect19k,
  282.     connect38k          : string[40];
  283.     answerphone         : boolean;
  284.     ring,
  285.     answerstr           : string[20];
  286.     flushbuffer         : boolean;
  287.     modemdelay          : integer;
  288.  
  289.     minimumbaud,
  290.     graphicsbaud,
  291.     transferbaud        : integer;
  292.     slowbaudtimestart,
  293.     slowbaudtimeend,
  294.     downloadtimestart,
  295.     downloadtimeend     : time;
  296.  
  297.     pagestart           : array[0..6] of time;
  298.     pageend             : array[0..6] of time;
  299.  
  300. {}  freespace1          : array[1..70] of byte;
  301.     pwdexpiry           : word;
  302.  
  303.     menupath,
  304.     textpath,
  305.     attachpath,
  306.     nodelistpath,
  307.     msgbasepath,
  308.     syspath,
  309.     externaledcmd       : string[60];
  310.  
  311.     address             : array[0..9] of netaddress;
  312.     systemname          : string[30];
  313.  
  314.     newsecurity         : word;
  315.     newcredit           : word;
  316.     newflags            : flagtype;
  317.  
  318.     originline          : string[60];
  319.     quotestring         : string[15];
  320.     sysop               : string[35];
  321.     logfilename         : string[60];
  322.     fastlogon,
  323.     allowsysrem,
  324.     monomode,
  325.     strictpwdchecking,
  326.     directwrite,
  327.     snowcheck           : boolean;
  328.     creditfactor        : integer;
  329.  
  330.     usertimeout,
  331.     logontime,
  332.     passwordtries,
  333.     maxpage,
  334.     pagelength          : word;
  335.     checkformultilogon,
  336.     excludesysopfromlist,
  337.     onewordnames        : boolean;
  338.     checkmail           : asktype;
  339.     askvoicephone,
  340.     askdataphone,
  341.     dofullmailcheck,
  342.     allowfileshells,
  343.     fixuploaddates,
  344.     freezechat          : boolean;
  345.     ansi,                       { ansi: yes, no, or ask new users     }
  346.     clearscreen,                { clear:        "                     }
  347.     moreprompt          : asktype;    { more:         "                     }
  348.     uploadmsgs          : boolean;
  349.     killsent            : asktype;    { kill/sent     "                     }
  350.  
  351.     crashasksec         : word;       { min sec# to ask 'Crash Mail ?'      }
  352.     crashaskflags       : flagtype;
  353.     crashsec            : word;       { min sec# to always send crash mail. }
  354.     crashflags          : flagtype;
  355.     fattachsec          : word;       {        "    ask 'File Attach ?'     }
  356.     fattachflags        : flagtype;
  357.  
  358.     normfore,
  359.     normback,
  360.     statfore,
  361.     statback,
  362.     hiback,
  363.     hifore,
  364.     windfore,
  365.     windback,
  366.     exitlocal,
  367.     exit300,
  368.     exit1200,
  369.     exit2400,
  370.     exit4800,
  371.     exit9600,
  372.     exit19k,
  373.     exit38k             : byte;
  374.  
  375.     multiline           : boolean;
  376.     minpwdlen           : byte;
  377.     minupspace          : word;
  378.     hotkeys             : asktype;
  379.     borderfore,
  380.     borderback,
  381.     barfore,
  382.     barback,
  383.     logstyle,
  384.     multitasker,
  385.     pwdboard            : byte;
  386.     buffersize          : word;
  387.     fkeys               : array[1..10] of string[60];
  388.  
  389.     whypage             : boolean;
  390.     leavemsg            : byte;
  391.     showmissingfiles    : boolean;
  392. {}  freespace2          : array[1..11] of byte;
  393.     allownetmailreplies : boolean;
  394.     logonprompt         : string[40];
  395.     checknewfiles       : asktype;
  396.     replyheader         : string[60];
  397.     blanksecs           : byte;
  398.     protocolattrib      : array[1..6] of byte;
  399.     errorfreestring     : string[15];
  400.     defaultcombined     : combinedrecord;
  401.     renumthreshold      : word;
  402.     leftbracket,
  403.     rightbracket        : char;
  404.     askforhandle        : boolean;
  405.     askforbirthdate     : boolean;
  406.  
  407.     groupmailsec        : word;
  408.  
  409.     confirmmsgdeletes   : boolean;
  410.     freespace3          : array[1..163] of byte;
  411.     newusergroup        : byte;
  412.     avatar              : asktype;
  413.     badpwdarea          : byte;
  414.     location            : string[40];
  415.     doafteraction       : byte; {0 = wait for cr, > 0 = wait for x seconds}
  416.     fileline            : string[40];
  417.     crfore,
  418.     crback              : byte;
  419.     langhdr             : string[40];
  420.     sendbreak           : boolean;
  421.     listpath            : string[60];
  422.     fullmsgview         : asktype;
  423.     emsi_enable         : asktype;
  424.     emsi_newuser        : boolean;
  425.  
  426.     echochar            : string[1];
  427.     connect7200,
  428.     connect12000,
  429.     connect14400        : string[40];
  430.     exit7200,
  431.     exit12000,
  432.     exit14400           : byte;
  433.     chatcommand         : string[60];
  434.     exted               : asktype;
  435.     newuserlanguage     : byte;
  436.     languageprompt      : string[40];
  437.     videomode           : videotype;
  438.     autodetectansi      : boolean;
  439.     offhook             : boolean;
  440.     newuserdateformat   : byte;
  441.     keyboardpwd         : string[15];
  442.     caplocation         : boolean;
  443.     newusersub          : byte;
  444.     printername         : string[4];
  445.     hilitepromptfore,
  446.     hilitepromptback    : byte;
  447.     initstr2            : string[70];
  448.     altjswap            : boolean;
  449.     sempath             : string[60];
  450.     autochatcapture     : boolean;
  451.  
  452.     futureexpansion : array[1..97] of byte;
  453.   end;
  454.  
  455.   exitinforecord = record
  456.     baud             : word;
  457.     sysinfo          : sysinforecord;
  458.     timeloginfo      : timelogrecord;
  459.     userinfo         : usersrecord;
  460.     eventinfo        : eventrecord;
  461.     netmailentered,
  462.     echomailentered  : boolean;
  463.     logintime        : time;
  464.     logindate        : date;
  465.     timelimit        : word;
  466.     loginsec,
  467.     credit           : longint;
  468.     userrecord       : integer;
  469.     readthru,
  470.     numberpages,
  471.     downloadlimit    : word;
  472.     timeofcreation   : time;
  473.     logonpassword    : string[15];
  474.     wantchat         : boolean;
  475.  
  476.     deductedtime     : integer;
  477.     menustack        : array[1..50] of string[8];
  478.     menustackpointer : byte;
  479.     userxiinfo       : usersxirecord;
  480.     errorfreeconnect,
  481.     sysopnext        : boolean;
  482.  
  483.     emsi_session     : boolean;        { these fields hold  }
  484.     emsi_crtdef,                       { data related to an }
  485.     emsi_protocols,                    { emsi session       }
  486.     emsi_capabilities,
  487.     emsi_requests,
  488.     emsi_software    : string[40];
  489.     hold_attr1,
  490.     hold_attr2,
  491.     hold_len         : byte;
  492.  
  493.     extraspace       : array[1..100] of byte;
  494.   end;
  495.  
  496.   protocolrecord = record
  497.     name           : string[15];
  498.     activekey      : char;
  499.     opustypectlfile,
  500.     batchavailable : boolean;
  501.     attribute      : byte; { 0=disabled, 1=enabled }
  502.     logfilename,
  503.     ctlfilename,
  504.     dncmdstring,
  505.     dnctlstring,
  506.     upcmdstring,
  507.     upctlstring    : string[80];
  508.     uplogkeyword,
  509.     dnlogkeyword   : string[20];
  510.     xferdescwordnum,
  511.     xfernamewordnum : byte;
  512.   end;
  513.  
  514. (* end of file "STRUCT.111" *)
  515.  
  516.