home *** CD-ROM | disk | FTP | other *** search
/ High Voltage Shareware / high1.zip / high1 / DIR4 / XMAIL100.ZIP / ECHODEFS.PAS < prev    next >
Pascal/Delphi Source File  |  1993-12-07  |  11KB  |  210 lines

  1. UNIT EchoDefs;
  2.  
  3. {   File structures for xMail v.1.00
  4.     (c) 1993 Roger Kirchhoff & Stefan Graf
  5.     Attention: These structures may change without notice !             }
  6.  
  7.  
  8.   INTERFACE
  9.  
  10.   CONST
  11.  
  12.     AreaInfoName   = 'AREAS';    { Message Areas                         }
  13.     NodeFileName   = 'NODE';     { Nodes                                 }
  14.     DupeFileName   = 'DUPES';    { Double messages info                  }
  15.     LinkFileName   = 'LINKS';    { Reply link info                       }
  16.     MsgInfoName    = 'MSGINFO';  { *.MSG area info file                  }
  17.     ConfTextName   = 'CONFNAME'; { Conference names                      }
  18.     AreafixReqName = 'AREAREQ';  { Areas requested from Uplink           }
  19.     AreafixDelName = 'AREADEL';  { Deleted Areas (to prevent automatic reinstallation }
  20.     LockingName    = 'LINELOCK'; { Filename of line lock file            }
  21.     EchoExt        = '.XM';
  22.  
  23.     LockKennung    = 1;
  24.  
  25.     PrivateAreaTag = 'RA-ECHO PVT AREA:';
  26.     DupeInfoTag    = 'DUPE INFO:';
  27.  
  28.  
  29.   TYPE
  30.  
  31.     msgbasetype   = (Hudson,Msg,PassThrough,Squish,jam);
  32. {  Link info in LINKS.RAE
  33.    One entry for every subject }
  34.  
  35.     MsgLinkRec   = RECORD
  36.                      SubjectCRC,          { 16-Bit-CRC of Subjects    }
  37.                      RecNumber,           { Record number in the Base }
  38.                      LastMsg    : WORD;   { Message number            }
  39.                    END;  { of RECORD }
  40.  
  41. { DUPES.RAE double messages info
  42.   One entry for every sent or received message }
  43.  
  44.     MsgDupeRec  = LONGINT;   { High-Word: 16-Bit-CRC of message-Headers }
  45.                              { Low-Word:  date of the message           }
  46.  
  47.  
  48.     MsgInfoRec    = RECORD
  49.                       MsgNum  : WORD;            { Number of the message                   }
  50.                       MsgDate : LONGINT;         { Date of the message                     }
  51.                       Change  : BOOLEAN;         { TRUE, if these infos have changed since }
  52.                     END;  { of RECORD }          { the message was last read               }
  53.  
  54.  
  55.     MsgInfoFile   = RECORD
  56.                       InfoOk   : BOOLEAN;        { TRUE, if the infos may be used          }
  57.                       LastImp,                   { Info about the last imported message    }
  58.                       LastExp,                   { Info about the last exported message    }
  59.                       LastSave : MsgInfoRec;     { Info about the last written message     }
  60.                     END;  { of RECORD }
  61.  
  62.  
  63.     AddressRec    = RECORD
  64.                       Zone,
  65.                       Net,
  66.                       Node,
  67.                       Point  : WORD;
  68.                       Domain : STRING [20];
  69.                     END;  { of RECORD }
  70.  
  71.     AreafixReqRec = RECORD
  72.                       InUse     : BOOLEAN;
  73.                       AddFlag,
  74.                       DelFlag   : BOOLEAN;
  75.                       AreaName  : AreaNameStr;
  76.                       NodeName  : STRING [30];
  77.                       NodeAdr,
  78.                       UplinkAdr : EchoAddrRec;
  79.                       ReqDate   : LONGINT;
  80.                       ReqCount  : WORD;
  81.                     END;  { of RECORD }
  82.  
  83.     AreafixDelRec = RECORD
  84.                       areaname : STRING[40];
  85.                       deldate  : LONGINT;
  86.                     END; { of RECORD }
  87.  
  88.     {Flags for netmail and packets}
  89.     PacketFlags   = (NoFlags,Hold,Crash,Direct,KillSend,KillFileSend,TruncatFileSend);
  90.  
  91.  
  92.     MailTypeDef   = (Echomail, Netmail, Localmail, Newmail);
  93.  
  94.  
  95.     ArcProgramDef = (NoArc,
  96.                      ZIPArc,
  97.                      LZHArc,
  98.                      PAKArc,
  99.                      ARCArc,
  100.                      ZOOArc,
  101.                      LHAArc,
  102.                      ARJArc,
  103.                      HyperArc,
  104.                      UnknownArc,
  105.                      UserArc1,
  106.                      UserArc2,
  107.                      UserArc3,
  108.                      UserArc4,
  109.                      UserArc5,
  110.                      UserArc6);
  111.  
  112.     NodeDatenRec  = RECORD
  113.                       PointNr,                         { Point-Number                              }
  114.                       NodeNr,                          { Node-Number                               }
  115.                       NetNr,                           { Net-Number                                }
  116.                       ZoneNr,                          { Zone-Number                               }
  117.                       SendZone,                        { Zone of  Sender                           }
  118.                       SendNet,                         { Net of  Sender                            }
  119.                       SendNode,                        { Node of  Sender                           }
  120.                       SendPoint     : WORD;            { Point of  Sender                          }
  121.                       cDummy        : ARRAY [1..20] OF BOOLEAN; { Dummy, former Conferences        }
  122.                       Access        : WORD;            { Access   Level                            }
  123.                       NodeName      : STRING [30];     { Name of Node                              }
  124.                       PassWord      : STRING [20];     { Password for Areafix/Filefix              }
  125.                       ArcType       : ArcProgramDef;   { Definition of the arcer                   }
  126.                       ArcPassword   : STRING [20];     { Password in Arcmail header                }
  127.                       ReAddress     : BOOLEAN;         { TRUE, if address has to be ramapped       }
  128.                                                        { to 3-d Pointnet address                   }
  129.                       ArcMailStatus : PacketFlags;     { Status of  ArcMail-Packets for the Node   }
  130.                                                        { Node o. Hold o. Crash o. Direct           }
  131.                       NameExport    : BOOLEAN;         { TRUE, if Node wants to get mail addresed  }
  132.                                                        { to his name no matter if he is linked to that echo }
  133.                       AddPacket     : BOOLEAN;         { Append mail to exeistimg packets          }
  134.                       TotalImport,                     { Totale Imports from this node (# of mails }
  135.                       TotalExport   : WORD;            { Totale Exports to this node               }
  136.                       NotifyFlag    : BOOLEAN;         { Does this node get notify messages        }
  137.                       AcceptNewEchos: BOOLEAN;         { New echos received from this node are     }
  138.                                                        { created as passthru echos                 }
  139.                       nodeispassive : BOOLEAN;         { if FALSE mail will NOT be exported to     }
  140.                                                        { this node                                 }
  141.                       LastDate      : STRING [8];      { The last date the user requested via Filefix  }
  142.                       AddNewAreas   : BOOLEAN;         { TRUE if the node gets new echos automatically }
  143.                       NetArcType    : ArcProgramDef;   { Netmail Packer; NoArc = *.PKT             }
  144.                       NetArcStatus  : PacketFlags;     { Status for netmail packets                }
  145.                       MaxArcAge,                       { Maximum age of an arcmail packet (days)            }
  146.                       MaxArcSize    : WORD;            { Maximum size of an arcmail packet (kb)             }
  147.                       UseFTSCName   : BOOLEAN;         { Create arcmail packets with FTSC names             }
  148.                       TotalImportL,                    { Totale Imports from this node (# of mails }
  149.                       TotalExportL  : LONGINT;         { Totale Exports to this node               }
  150.                       Credit        : LONGINT;         { Mail credit for cost sharing              }
  151.                       PayUser       : BOOLEAN;         { Does the user pay for echomail ?          }
  152.                       LastNotifyDate: LONGINT;         { Date when the node received last notify msg }
  153.                       ForwardAreaReq: BOOLEAN;         { TRUE if areafix request of this user may be forwarded }
  154.                       Conferences   : ARRAY [1..50] of BOOLEAN; {The conferences the node has      }
  155.                       Dummy         : ARRAY [1..86] OF BYTE; { - unused - }
  156.                     END;  { of RECORD }
  157.  
  158.     AreaDatenRec  = ARRAY [1..1000] OF BOOLEAN;
  159.     { TRUE if the area is switched on for this node }
  160.  
  161.     NodeFileRec   = RECORD
  162.                       NodeDaten  : NodeDatenRec;
  163.                       AreaFeld   : AreaDatenRec;
  164.                     END;  { of RECORD }
  165.  
  166.  
  167. { The file AREAS.RAE contains all 1000 echo areas, #1-200 are the internal
  168.   message base areas, #201-1000 the passthru areas  }
  169.  
  170.  
  171.     EchoAreaRec   = RECORD
  172.                       Name           : STRING [40]; { Area Name                    }
  173.                       Descr          : STRING [60]; { Description                  }
  174.                       MailType       : MailTypeDef; { local, netmail or what       }
  175.                       StoreType      : msgbasetype;
  176.                       MsgDirectory   : STRING [60]; { ... and the corresponding directory }
  177.                       ReadSecurity   : Word;        { Read access level            }
  178.                       WriteSecurity  : Word;        { Write access level           }
  179.                       OriginLine     : String [60]; { Origin line for this echo    }
  180.                       AreaAddress    : AddressRec;  { Adress of sender for this echo      }
  181.                       ConferenceNr   : Byte;        { The conference this echo belongs    }
  182.                                                     { to. If 0 the echo has NO conference }
  183.                       maxdays,
  184.                       maxrecv,
  185.                       maxcount,
  186.                       totalimp,
  187.                       totalexp       : WORD;        { Purge info }
  188.                       totalimpL,
  189.                       totalexpL      : LONGINT;     { total # of msgs imported/exported in this echo     }
  190.                       BasePathStrip,                { Don't import PATH line to base                     }
  191.                       ExportPathStrip,              { Strip PATH line for downlinks                      }
  192.                       BaseSeenStrip,                { Don't import SEEN-BY to base                       }
  193.                       ExportSeenStrip : BOOLEAN;    { Strip SEEN-BY for downlinks                        }
  194.                       AbsCosts,
  195.                       RelCosts       : WORD;        { The cost for each mail in this echo                }
  196.                       LastActionDate : LONGINT;     { Last date something happened in this echo          }
  197.                       NeverRemove    : BOOLEAN;     { Never remove this echo automatically               }
  198.                       MaxDupes       : WORD;        { Maximum nr. of Dupes                               }
  199.                       SkipPathCheck  : BOOLEAN;
  200.                       Dummy          : ARRAY [1..106] OF BYTE; { unused                   }
  201.  
  202.                     END;  { of RECORD }
  203.  
  204.     ConfNameRec   = STRING [255];
  205.  
  206.  
  207. IMPLEMENTATION
  208.  
  209. END.
  210.