home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 2 BBS / 02-BBS.zip / foss10.zip / DEVELOP / TYPES.PAS < prev   
Pascal/Delphi Source File  |  1995-10-20  |  28KB  |  594 lines

  1. unit Types;
  2.  
  3. interface
  4. const
  5.   { Size of maximum buffer arrays }
  6.   CByteMaxHigh     = 65519;
  7.   CWordMaxHigh     = 32759;
  8.   CLongMaxHigh     = 16379;
  9.  
  10. type
  11.   { Maximum sized arrays for 16-bit programs }
  12.   TByteMax         = array[0..CByteMaxHigh] of Byte;
  13.   TWordMax         = array[0..CWordMaxHigh] of Word;
  14.   TLongMax         = array[0..CLongMaxHigh] of LongInt;
  15.  
  16.   { Variable usage maximum buffer }
  17.   TBufMax          = record
  18.     case Byte of
  19.       0: ( Bytes : TByteMax );
  20.       1: ( Words : TWordMax );
  21.       2: ( Longs : TLongMax );
  22.   end;
  23.  
  24.   { Message text buffer }
  25.   PMsgBuffer       = ^TMsgBuffer;
  26.   TMsgBuffer       = array[0..CByteMaxHigh] of Char;
  27.  
  28.   { Type orginally defined in the DOS unit }
  29.   PathStr          = string[79];
  30.   DirStr           = string[67];
  31.  
  32.   { String types }
  33.   Str4             = string[4];
  34.   Str6             = string[6];
  35.   Str10            = string[10];
  36.   Str12            = string[12];
  37.   Str16            = string[16];
  38.   Str30            = string[30];
  39.   Str40            = string[40];
  40.   Str46            = string[46];
  41.   Str60            = string[60];
  42.   Str80            = string[80];
  43.   Str200           = string[200];
  44.  
  45.   { Date and time types }
  46.   T_Date           = record
  47.     Year           : Word;
  48.     Month,
  49.     Day            : Byte;
  50.   end;
  51.   T_Time           = record
  52.     Hour,
  53.     Minute         : Byte;
  54.   end;
  55.   T_DateTime       = record
  56.     Date           : T_Date;
  57.     Time           : T_Time;
  58.   end;
  59.  
  60.   { Password types }
  61.   T_Password       = record
  62.     Pwd            : Str12;
  63.     Date           : T_Date;
  64.   end;
  65.  
  66.   { System text type }
  67.   T_NewTxt         = record
  68.     Pnt            : array[0..799] of record
  69.       Pos          : Word;
  70.       Len          : Char;
  71.     end;
  72.     Text           : array[0..49151] of Byte;
  73.   end;
  74.  
  75.   { System meny types }
  76.   TMenuKey         = record
  77.     Func           : string[25];
  78.     MinKey         : Byte;
  79.   end;
  80.   PMenus           = ^TMenus;
  81.   TMenus           = array[0..99] of TMenuKey;
  82.  
  83.   { Various type used }
  84.   T_Access         = ( ReadMsg,
  85.                        WriteMsg,
  86.                        UploadFile,
  87.                        DownloadFile,
  88.                        OpenDoor,
  89.                        AreaOp,
  90.                        SysOp );
  91.   S_Access         = set of T_Access;
  92.  
  93.   T_Area           = ( AllowresignA );
  94.   S_Area           = set of T_Area;
  95.  
  96.   GraphT      = (IBM,ANSI);
  97.   Graph       = Set Of GraphT;
  98.  
  99.   ClearScrT   = (ClrMenu,ClrMsg,ClrBullet);
  100.   ClearScr    = Set Of ClearScrT;
  101.  
  102.   ANSIUseT    = (ANSMenu,ANSMsg,ANSBullet);
  103.   ANSIUseS    = Set Of ANSIUseT;
  104.  
  105.   ArcT        = (None,ZIP,ARC,LZH,ARJ);
  106.  
  107.   AreaMarkT   = Array[1..32767] Of Word;
  108.  
  109.   ConnectT         = record
  110.     ModemSpeed     : LongInt;
  111.     PCSpeed        : LongInt;
  112.     ErrorCorrect   : ( eNone, eMNP, eMNP10, eLAPM );
  113.     Compression    : ( cNone, cMNP5, cV42b );
  114.   end;
  115.  
  116.   Days_Typ        = (Mon,Tue,Wed,Thu,Fri,Sat,Sun);
  117.   Days_Set    = Set Of Days_Typ;
  118. {  EventT      = Record
  119.     FHour       : ShortInt;
  120.     FMin        : Byte;
  121.     LHour       : Byte;
  122.     LMin        : Byte;
  123.     Days        : Days_Set;
  124.     LastDay     : Byte;
  125.   End;
  126. }
  127.   bNetAddr         = Record
  128.     Case LongInt Of
  129.       0: (Country : Word; Region, Node : Byte);
  130.       1: (Buf : LongInt);
  131.   End;
  132.  
  133. {  NodeIDT          = Record
  134.     Case Word Of
  135.       0: (Country, Region, Node : Word);
  136.       1: (Buf : Real);
  137.   End;}
  138.  
  139. {----------------------------------------------------------------------------
  140.   Fileformat for B&BSYS.CFG file - main configuration file
  141.                  MAIN\B&BMODEM.CFG - node configuration file
  142.                  MAIN\B&BAREAS.CFG - area configuration file
  143.  ----------------------------------------------------------------------------}
  144. Type
  145.   SysCfgT    = Record
  146.     Version        : String[19];       {   1-  20=  20}
  147.     BoardName      : Str30;            {  21-  51=  31}
  148.     MaxLoggedChats : Word;             {  52-  53=   2}
  149.     VersionID      : Word;             {  54-  55=   2}
  150.     SystemNodeID   : bNetAddr;         {  56-  59=   4}
  151.     Registered     : Boolean;          {  60-  60=   1}
  152.  
  153.     NU2            : array[61..71] of Byte;
  154.  
  155. {    __Country1       : Str4;             {  52-  56=   5}
  156. {    __Board1         : Str10;            {  61-  71=  11}
  157.  
  158.     SysOpName      : Str30;            {  72- 102=  31}
  159.     SysOpPassword  : T_Password;        { 103- 119=  17}
  160.     FileDescrName  : Str12;            { 120- 132=  13}
  161.     BNetReqUser    : Str30;            { 133- 163=  31}
  162.     Location       : Str30;            { 164- 194=  31}
  163.     GiveBackMS     : Byte;             { 195- 195=   1 * 10..250 }
  164.     NU1            : Array[196..199] Of Byte;
  165.     NewUserTime    : Word;             { 200- 201=  2}
  166.     NewLevel       : Byte;             { 202     =  1}
  167.     NewFlags       : Set Of (NewOk2Reg);
  168.                                        { 203     =  3}
  169.     ScratchPad     : PathStr;          { 204- 283= 80}
  170.     PKUNZIPPath    : PathStr;          { 284- 363= 80}
  171.     PKZIPPath      : PathStr;          { 364- 443= 80}
  172.     MainPhone      : Str16;            { 444- 460= 17}
  173.     PipeServer     : Str30;            { 461- 491= 31}
  174.     NU3            : Array[492..603] Of Byte;
  175.     RAMDisk        : DirStr;           { 604- 671= 68}
  176.     Inactivity     : Word;             { 672- 673=  2}
  177.     NU4            : Array[674..1013] Of Byte;
  178.     PkArcPath      : PathStr;          {1014-1093= 80}
  179.     PkXArcPath     : PathStr;          {1094-1173= 80}
  180.     LHAPath        : PathStr;          {1174-1253= 80}
  181.     ARJPath        : PathStr;          {1254-1333= 80}
  182.     NU6            : Array[1334..1413] Of Byte;
  183.     CDROM          : Array[1..10] Of Char;
  184.  
  185.                                        {1414-1423= 10}
  186.     RFU            : Array[1424..4092] Of Byte;
  187.                                        {1424-4092}
  188.     RecPos         : LongInt;          {4093-4096}
  189.   End; { Type SYSCfgT }
  190.  
  191.   ModFlags1   = Set Of (ShowWhenOffline, UseInactivity);
  192.  
  193.   ModCfgT     = Record
  194.     ComPort        : Integer;          {  2/  2 * 1..4 = COM1..4
  195.                                                   5    = use specified dev.  }
  196.     NU1            : LongInt;          {  4/  6 *                            }
  197.     NU3            : Word;             {  2/  8 * Init baudrate              }
  198.     LockedSpeed    : Boolean;          {  1/  9 * Locked speed node?         }
  199.     ConnectType    : (DirectCOM, DirectLOCAL, WaitForRING, WaitForDCD);
  200.  
  201.     InitStr        : Str60;            { 61/ 71 * Init string                }
  202.     AnswerStr      : Str30;            { 31/102 * Answer string              }
  203.     OnHookStr      : Str30;            { 31/133 * Onhook string              }
  204.     OffHookStr     : Str30;            { 31/164 * Offhook string             }
  205.  
  206.     SysOpAvail     : Boolean;          {  1/165 * SysOp available?           }
  207.     NU2            : Boolean;          {  1/166 * Inactivity disconnect here }
  208.  
  209.     RingB4Answer   : Byte;             {  1/167 * Number of "RING" before
  210.                                                   answering                  }
  211.     IODevice       : Str16;            { 17/184 * IO-Device used if ComPort
  212.                                                   is 5                       }
  213.     Flags1         : ModFlags1;
  214.                                        {  1/185 * }
  215.     InitSpeed      : LongInt;          {  4/189 * Init string                }
  216.     MinSpeed,
  217.     MaxSpeed       : LongInt;          {  8/197 * Min and/or max accepted
  218.                                                   CONNECT rates              }
  219.     MinLevel,
  220.     MaxLevel       : Word;             {  4/201 * Min and/or max accepted
  221.                                                   access level               }
  222.     DialStr        : Str30;            { 31/232 *                            }
  223.  
  224.     RFU            : Array[233..252] Of Byte;
  225.                                        {   /252 * RFU                        }
  226.     RecPos         : LongInt;          {  4/256 * }
  227.   End; { Type ModCfgT }
  228.  
  229.   Area_Directory_Record = Record
  230.     DirNo          : Word;             {  2/  2 * Internal number of
  231.                                                   directory                  }
  232.     DirName        : Str30;            { 31/ 33 * Name of directory          }
  233.     DiskDir        : DirStr;           { 68/101 * Assigned disk directory    }
  234.     Flags          : Set Of (ShowUploader, UploadDir, NoDownload);
  235.                                        {  1/102 * Directory flags            }
  236.     FirstRec,
  237.     NextRec        : LongInt;          {  8/110 * Internal pointers to .DIR  }
  238.     RFU            : Array[111..124] Of Byte;
  239.     RecPos         : LongInt;          {  4/128 * }
  240.   End;
  241.  
  242.   Area_Flags_Type  = Set Of (New_User_Member,
  243.                              Allow_Resign,
  244.                              Public_Messages,
  245.                              Private_Messages,
  246.                              BNet_Member,
  247.                              NU1,
  248.                              External_Area);
  249.   Area_Config_Record = Record
  250.     AreaName       : Str30;            { 31/ 31 * Name of area showed to user}
  251.     AreaCode       : Str4;             {  5/ 36 * Code used for AREAxxxx files
  252.                                                   and bNet                   }
  253.     FileCode       : Str4;             {  5/ 41 *                            }
  254.     DoorCode       : Str4;             {  5/ 46 *                            }
  255.     BullCode       : Str4;             {  5/ 51 *                            }
  256.     NU1            : Word;
  257.     ReadOldMsg     : Word;             {  2/ 55 *                            }
  258.     AreaFlags      : Area_Flags_Type;  {  1/ 56 *                            }
  259.     HostNodeID     : bNetAddr;         {  4/ 60 *                            }
  260.     NU2            : Word;
  261.  
  262.     AccessLevel    : Array[0..15] Of S_Access;
  263.                                        { 15/ 78 *                            }
  264.  
  265.     RFU            : Array[79..124] Of Byte;
  266.                                        {   /124 * RFU                        }
  267.     RecPos         : LongInt;          {  4/128 * }
  268.   End; { Area_Config_Record }
  269.  
  270.   Link_Cfg_Flags   = Set Of (ActiveLink,
  271.                              AcceptRequest,
  272.                              AcceptResign);
  273.   Link_Cfg_Record  = Record
  274.     LinkFlags      : Link_Cfg_Flags;   {  1/  1 * bNet link flags            }
  275.     LastMsgXfer    : LongInt;          {  4/  5 * Last message transfered    }
  276.     TempMsgXfer    : LongInt;          {  4/  9 * Temp message pointer       }
  277.  
  278.     RFU            : Array[10..28] Of Byte;
  279.     RecPos         : LongInt;          {  4/ 32 * }
  280.   End; { Area_Net_Type }
  281.  
  282.   Event_Cfg_Record = record            { Used for file MAIN\EVENTS.CFG       }
  283.     EventName      : Str30;            { 31/ 31 * Name of event              }
  284.     EventType      : ( evtCommand,
  285.                        evtPollHUB );   {  1/ 32 * Type of event              }
  286.     EventFreq      : ( evtCustom,
  287.                        evtDaily,
  288.                        evtWeekly,
  289.                        evtMonthly,
  290.                        evtYearly );    {  1/ 32 * Frequency of event         }
  291.     LastRun,
  292.     NextRun,
  293.     CustomFreq     : T_DateTime;       { 16/ 45 * Last and next time to run  }
  294.  
  295.     EventCommand   : Str80;            { 81/130 * Command to execute         }
  296.     EventNode      : Word;             {  2/132 * Run event from node        }
  297.  
  298.     RFU            : array[123..1020] of Byte;
  299.     RecPos         : Longint;          {  4/    *                            }
  300.   end;
  301.  
  302. {----------------------------------------------------------------------------
  303.   Fileformat for MAIN\LOCUSERS.REG file - The local user database
  304.  ----------------------------------------------------------------------------}
  305.  Type
  306.   LocUsers    = Record
  307.     UserName       : Str30;            { 31/ 31 * Navnet på lokal bruker     }
  308.     UserAddress    : Str30;            { 31/ 62 *  Adressen                  }
  309.     UserPostCode   : Str30;            { 31/ 93 *  PostAdressen              }
  310.     City           : Str12;            { 13/106 *  Bostedsby                 }
  311.     Password       : T_Password;        { 17/123 *  Passord og seneste dato
  312.                                                    for forandring            }
  313.     HomePhone      : Str16;            { 17/140 *  Telefonnummer privat      }
  314.     WorkPhone      : Str16;            { 17/157 *  Telefonnummer arbeid      }
  315.  
  316.     FirstOn        : T_DateTime;        {  6/163 * Tidspunkt for registrering }
  317.     TimesOn        : LongInt;          {  4/167 * Antall ganger på           }
  318.     MsgWritten     : Word;             {  4/171 *                            }
  319.     MsgRead        : Word;             {        *                            }
  320.     LastOn         : T_DateTime;        {  6/177 * Siste gang på              }
  321.     NetNumber      : Byte;             {  1/178 * Brukere en node nummer ... }
  322.  
  323.     Flags          : Set Of (Available,Xpert,Killed,Background,FreeForUse);
  324.                                        {  1/179 *                            }
  325.  
  326.     Downloads      : Word;             {  2/181 * Filer downloadet           }
  327.     DownloadKB     : Word;             {  2/183 * KB downloadet              }
  328.     Uploads        : Word;             {  2/185 * Filer uploadet             }
  329.     UploadKB       : Word;             {  2/187 * KB uploadet                }
  330.     Protocol       : Char;             {  1/188 * Overf¢ringsprotokol        }
  331.  
  332.     Graphics       : Graph;            {  1/189 * Graphics                   }
  333.     AccessLevel    : Byte;             {  1/190 * Xpert modus                }
  334.  
  335.     TimeAllowed    : Word;             {  2/192 * Maks online tid/dag        }
  336.     TimeLeft       : Word;             {  2/194 * Tid igjen i dag            }
  337.     TimeTotal      : LongInt;          {  4/198 * Tid brukt totalt           }
  338.  
  339.     ANSIClear      : ClearScr;         {  1/199 * Hvor skal skjermen blankes }
  340.     ScreenLines    : Byte;             {  1/200 * Hvor lang er skjermen din? }
  341.     Language       : Char;             {  1/201 * Språkvalg                  }
  342.     ANSIUse        : ANSIUseS;         {  1/202 * Hvor skal ANSI brukes      }
  343.     LastScan       : T_DateTime;        {  6/208 * Last New-files scan        }
  344.     Packing        : ArcT;             {  1/209 * Pakkemåte                  }
  345.     Toggles                 : Set Of (DisplayStatus, ShowAddress);
  346.  
  347.     RFU            : Array[211..252] Of Byte;
  348.                                        {   /252 * RFU                        }
  349.     RecPos         : LongInt;          {  4/256 * }
  350.   End; { Type LocUsers }
  351.  
  352. {----------------------------------------------------------------------------
  353.   Fileformat for MAIN\NETUSERS.REG file - bNet user database
  354.  ----------------------------------------------------------------------------}
  355. {Type
  356.   NetUsers    = Record
  357.     UserName       : Str30;            {31/31 * Name of remote-user (nicecase}
  358.  {   NodeID         : bNetAddr;         { 4/35 * Address of remote-node       }
  359.  
  360. {    RFU            : Array[36..124] Of Byte;
  361.     RecPos         : LongInt;
  362.   End; { Type NetUsers }
  363.  
  364. {----------------------------------------------------------------------------
  365.   Fileformat for AREAxxxx.REG files
  366.  ----------------------------------------------------------------------------}
  367. Type
  368.   Area_Flags  = Set Of (Member, Invited);
  369.  
  370.   AREA_Reg    = Record
  371.     LastRead       : LongInt;          {4/ 4 * Last message read in area     }
  372.     Access         : S_Access;           {1/ 5 * Additional access for this area
  373.                                                access should primary be taken
  374.                                                from the B&BAREAS.CFG file    }
  375.     LastScan       : T_DateTime;                 {6/11 * Last new files scan in area,
  376.                                                this one is saved only for file
  377.                                                areas                         }
  378.     Flags          : Area_Flags;       {1/12 * Users area flags              }
  379.     InvitedBy      : LongInt;          {4/16 * Invited by user ...           }
  380.  
  381.     RFU            : Array[17..32] Of Byte;
  382.                                        { /8 * RFU                            }
  383.   End; { Type AREA_Reg }
  384.  
  385. {----------------------------------------------------------------------------
  386.   Filformat for AREAxxxx.MHD filene - filene som innholder headere for
  387.   meldingene i AREAxxxx.MTX filene.
  388.  ----------------------------------------------------------------------------}
  389. Type
  390.   MsgSecT     = (ActiveM,PublicM,PrivateM,ReadM,FileM,ReqM);
  391.   MsgSec      = Set Of MsgSecT;
  392.  
  393.   NetRegT     = (ToLocal,FromLocal,Echo);
  394.   NetReg      = Set Of NetRegT;
  395.  
  396.   TMsgUser         = record
  397.     case UserType : ( Local, FrogNet, OtherNet ) of
  398.       Local:
  399.         ( ID       : LongInt );        { Pos in user database }
  400.       FrogNet:
  401.         ( User     : Str30;            { User name }
  402.           Addr     : bNetAddr;         { User address }
  403.           Node     : bNetAddr );       { Received from node }
  404.       OtherNet:
  405.         ( UserAddr : Str80;
  406.           ExtraPos : LongInt );        { 86/  86 - }
  407.   end; { TMsgUser }
  408.  
  409.  
  410.   AREA_Mhd    = Record
  411.     FromUser       : LongInt;          { 4/  4 - Pointer to LOCALUSR.REG     }
  412.     ToUser         : LongInt;          { 4/  8 - Pointer to LOCALUSR.REG     }
  413.     NetUsers       : NetReg;           { 1/  9 -                             }
  414.     Security       : MsgSec;           { 1/ 10 -                             }
  415.  
  416.     Subject        : Str60;            {61/ 71 - Emne på meldingen           }
  417.     MsgPointer     : LongInt;          { 4/ 75 - Peker til AREAxxxx.MTX      }
  418.     MsgNumber      : LongInt;          { 4/ 79 - Nummeret på meldingen       }
  419.     ReplyTo        : LongInt;          { 4/ 83 - Denne er svar på xxx        }
  420.     FirstReply     : LongInt;          { 4/ 87 - F¢rste svar til denne er    }
  421.  
  422.     Lines          : Word;             { 2/ 89 - Linjer i meldingen          }
  423.     DateEntered    : T_DateTime;       { 6/ 95 - Dato meldingen er skrevet   }
  424.  
  425.     ONumber        : LongInt;          { 4/ 99 - Orginal meldingens nummer   }
  426.     RNumber        : LongInt;          { 4/103 - Denne er svar til           }
  427.     NextInThread   : LongInt;          { 4/107 - Neste melding i denne tråden}
  428.     ReceivedFrom   : bNetAddr;         { 4/111 - }
  429.     RemoteFromID   : bNetAddr;         { 4/115 - }
  430.  
  431.     NU1            : array[116..118] of Byte;
  432.  
  433.     MsgBufLen      : LongInt;          { 4/122 - }
  434.  
  435.     NetFromPos     : LongInt;          { 4/126 - Pointer to .ADR             }
  436.     NetFromLen     : Word;             { 2/128 - Length of addresse          }
  437.     NetToPos       : LongInt;          { 4/132 - Pointer to .ADR             }
  438.     NetToLen       : Word;             { 2/134 - Length of addresse          }
  439.  
  440.     RemoteToID     : bNetAddr;         { 4/138 - }
  441.  
  442.     RFU            : array[139..252] of Byte;
  443.                                        {  /252 - RFU                         }
  444.     RecPos         : LongInt;          { 4/256 - }
  445.   End; { Type AREA_Mhd }
  446.  
  447. {----------------------------------------------------------------------------
  448.   Record format for the MAIN\AREA\AREA*.DIR files - Board file databases
  449.  ----------------------------------------------------------------------------}
  450. type
  451.   PFileRec         = ^TFileRec;
  452.   TFileRec         = record
  453.     FileName       : string[16];       { 17/ 17 * Name of file shown to user }
  454.     Description    : string[120];      {121/138 * File description           }
  455.  
  456. {    Description1   : String[55];       { 56/ 73 * First line of description  }
  457.  {   RFU1           : Array[74..78] Of Byte;
  458.     Description2   : String[55];       { 56/134 * Second line of description }
  459.  
  460.     RFU2           : array[139..139] of Byte;
  461.     FTXPointer     : LongInt;          {  4/143 * Pointer to extended info   }
  462.     Date           : T_DateTime;        {  6/149 * Date of install/upload     }
  463.     Size           : LongInt;          {  4/153 * Size of file in bytes      }
  464.     DirNo          : LongInt;          {  4/157 * DirNo belonging to         }
  465.     UploadedBy     : LongInt;          {  4/161 * Uploaded by Ptr to user db }
  466.     Downloads      : LongInt;          {  4/165 * Number of downloads        }
  467.     CDROM          : Byte;             {  1/166 * CD-ROM# or 0 for normal    }
  468.     CDPath         : string[60];       { 61/227 * CD-ROM path                }
  469.     FileFlags      : set of (KilledFile);
  470.                                        {  1/228 * File record flags          }
  471.     TBU            : array[229..252] of Byte;
  472.     RecPos         : LongInt;          {  4/256 * }
  473.   end; { Type AREA_Dir }
  474.  
  475. {----------------------------------------------------------------------------
  476.   Filformat for MAIN\NODESTAT filen - filen som inneholder node-aktivitet
  477.   post tilsvarer nodenummer, 0=0, 1=1 osv.
  478.  ----------------------------------------------------------------------------}
  479. Type
  480.   ActivityS   = Set Of (WrittenMessage,
  481.                         ReadMessage,
  482.                         UploadedFile,
  483.                         DownloadedFile,
  484.                         OpenedDoor);
  485.  
  486.   NodeStat    = Record
  487.     NodeNo         : Byte;             {  1/  1 * Node nummer                }
  488.     Activity       : Word;             { 0=Down,   1=Event,  2=Wait,
  489.                                          3=Recycling, 4=Picking up call,
  490.                                          5=Loggin in, 6=FrogNet xfer
  491.                                         10=Active,11=Enter, 12=D/l,
  492.                                         13=Upload,14=OpenD, 15=SysOpChat,
  493.                                         16=BiTran,
  494.                                         500..755=Chatting with node          }
  495.  
  496.     ComPort        : Byte;             {  1/  4 * 0 = Local, 1/2, 3=Base+Irq }
  497.     ShowAllways    : Boolean;          {  1/  5 * Allways show in status     }
  498.     IOHandle       : Word;             {  2/  7 * Current COM-handle for node}
  499.     NU2            : Word;
  500.     BaudRate       : Word;             {  2/ 11 * Init bps-rate              }
  501.     DoneWhat       : ActivityS;        {  1/ 12 *                            }
  502.     NU1            : Byte;             {  1/ 13 *                            }
  503.     LockedSpeed    : Boolean;          {  1/ 14 * Kj¢res fast hastighet?
  504.                                                   dvs. bruk initrate?        }
  505.  
  506.     UserName       : Str30;            { 31/ 45 * Navnet på lokal bruker     }
  507.     UserAddress    : Str30;            { 31/ 76 *  Adressen                  }
  508.     UserPostCode   : Str30;            { 31/107 *  PostAdressen              }
  509.     City           : Str12;            { 13/120 *  Bostedsby                 }
  510.  
  511.     Downloads      : Word;             {  2/122 * Filer downloadet           }
  512.     DownloadKB     : Word;             {  2/124 * KB downloadet              }
  513.     Uploads        : Word;             {  2/126 * Filer uploadet             }
  514.     UploadKB       : Word;             {  2/128 * KB uploadet                }
  515.     Protocol       : Char;             {  1/129 * Overf¢ringsprotokol        }
  516.  
  517.     TimeAllowed    : Word;             {  2/131 * Maks online tid/dag        }
  518.     TimeLeft       : Word;             {  2/133 * Tid igjen i dag            }
  519.     Connected      : LongInt;          {  4/137 * Innloggingstid             }
  520.     Graphics       : Graph;            {  1/138 * Grafikk                    }
  521.  
  522.     ConnectSpeed   : ConnectT;         { 10/148 * Connected speed            }
  523.     Avail          : Boolean;          {  1/149 *                            }
  524.     UserPos        : LongInt;          {  4/153 * }
  525.  
  526.     RFU            : Array[154..256] Of Byte;
  527.                                        {   /256 * RFU                        }
  528.   End; { Type NodeStat }
  529.  
  530. {----------------------------------------------------------------------------
  531.   Filformat for MAIN/NODEMSG.* filene - filene inneholder meldinger mellom
  532.   nodene.
  533.  ----------------------------------------------------------------------------}
  534. Type
  535.   NodeMsg     = Record
  536.     FromNode       : Byte;             {  1/  1 * Sendt fra node             }
  537.     FromUser       : LongInt;          {  4/  5 * Sendt av bruker            }
  538.     ToNode         : Byte;             {  1/  6 }
  539.     ToUser         : LongInt;          {  4/ 10 }
  540.     Flags          : Set Of (nmRead, nmInBuffer);
  541.                                        {  1/ 11 }
  542.     RFU            : Array[12..47] Of Byte;
  543.                                        {   / 47 * RFU                        }
  544.     SystemMsg      : Byte;             {  1/ 48 }
  545.     Messy          : String[79];       { 80/128 * Melding                    }
  546.   End; { Type NodeMsg }
  547.  
  548. {----------------------------------------------------------------------------
  549.   Fileformat for the MAIN\B&BLINKS.CFG file - Network link config
  550.  ----------------------------------------------------------------------------}
  551. Type
  552.   Net_Config_Record = Record
  553.     LinkType       : ( FrogNetHost,    { 1/  1 * Remote system is ...        }
  554.                        FrogNetNode,
  555.                        OtherNetLink );
  556.     NodeAddr       : Str30;            {31/ 32 * Remote system ID            }
  557.     LastBullDate   : Word;             { 2/ 34 * Last bulletin exchange date }
  558.     LinkSysOp      : Str30;            {31/ 65 * Remote SysOp name           }
  559.     LinkPassword   : Str12;            {13/ 78 * Password to access link     }
  560.     LinkPhone      : Str16;            {17/ 95 * Link phone number           }
  561.     LinkSystem     : Str30;            {31/126 * Remote system name          }
  562.     NodeID         : bNetAddr;         { 4/130 * }
  563.  
  564.     RFU            : Array[131..254] Of Byte;
  565.  
  566.     LinkLocalPos   : Word;             { 2/256 * Temp pointer to this record,
  567.                                                  only internal use           }
  568.   End; { Record Net_Config_Record }
  569.  
  570. {----------------------------------------------------------------------------
  571.   Fileformat for the MAIN\B&BPROT.CFG file - The file protocol config file
  572.  ----------------------------------------------------------------------------}
  573. type
  574.   ProtTypeType      = set of (Batch, BiDirectional, Auto);
  575.  
  576.   Protocol_Config_Record = record
  577.     Letter         : Char;            {  1/  1 * Letter used to select prot. }
  578.     Name           : Str30;           { 31/ 32 * Name of protocol            }
  579.     ProgramPath    : Str60;           { 61/ 93 * Program path                }
  580.     UploadCommand  : Str200;          {201/294 * Receive command             }
  581.     DownloadCommand: Str200;          {201/495 * Send command                }
  582.  
  583.     OkErrorLevel   : ShortInt;        {  1/496 * Error level returned if OK  }
  584.     ProtType       : ProtTypeType;    {  1/497 * Protocol capabilities       }
  585.     AutoReceive    : Str16;           { 17/514 * Auto receive string         }
  586.  
  587.     RFU            : array[515..1020] of Byte;
  588.     RecPos         : LongInt;         {  4/1024 * Temp pointer to this record,
  589.                                                   only internal use          }
  590.   end; { Record Protocol_Config_Record }
  591.  
  592. IMPLEMENTATION
  593.  
  594. End. { Unit Types }