home *** CD-ROM | disk | FTP | other *** search
/ Beijing Paradise BBS Backup / PARADISE.ISO / software / BBSDOORW / RAUSM120.ZIP / RA20.H < prev    next >
Encoding:
C/C++ Source or Header  |  1993-03-04  |  11.6 KB  |  347 lines

  1. //
  2. //  RA20.H
  3. //
  4. //      RemoteAccess version 2.00 data structure.
  5. //
  6. //      Copyright (c) 1993 Tommy Wu.
  7. //      All Rights Reserved.
  8. //
  9. #if !defined(__RA20_H)
  10.  
  11. #define __RA20_H
  12.  
  13. #ifdef __cplusplus
  14. extern "C" {
  15. #endif
  16.  
  17.                                                     // AskType
  18. #define         RA2_AskType_Yes             0       // Yes
  19. #define         RA2_AskType_No              1       // No
  20. #define         RA2_AskType_Ask             2       // Ask
  21. #define         RA2_AskType_Only            3       // Only
  22.  
  23.  
  24.                                                     // VideoType
  25. #define         RA2_VideoType_Auto          0       // Auto
  26. #define         RA2_VideoType_Short         1       // Short
  27. #define         RA2_VideoType_Long          2       // Long
  28.  
  29.                                                     // MsgType
  30. #define         RA2_MsgType_LocalMail       0       // LocalMail
  31. #define         RA2_MsgType_NetMail         1       // NetMail
  32. #define         RA2_MsgType_EchoMail        2       // EchoMail
  33.  
  34.                                                     // MsgKindsType
  35. #define         RA2_MsgKindsType_Both       0       // Both
  36. #define         RA2_MsgKindsType_Private    1       // Private
  37. #define         RA2_MsgKindsType_Public     2       // Public
  38. #define         RA2_MsgKindsType_ROnly      3       // ROnly
  39. #define         RA2_MsgKindsType_NoReply    4       // NoReply
  40.  
  41.                                                     // OrphanType
  42. #define         RA2_OrphanType_Ignore       0       // Ignore
  43. #define         RA2_OrphanType_Create       1       // Create
  44. #define         RA2_OrphanType_Kill         2       // Kill
  45.  
  46. //
  47. //  FlagType       = array[1..4] of Byte;
  48. //  Time           = String[5];
  49. //  Date           = String[8];
  50. //  LongDate       = String[9];
  51. //  ByteArray32    = Array[1..32] of Byte;
  52. //
  53.  
  54. typedef struct {
  55.     unsigned int        Zone,
  56.                         Net,
  57.                         Node,
  58.                         Point;
  59. } RA2T_netaddress;
  60.  
  61. typedef struct {
  62.     unsigned int        Security,
  63.                         Ltime,
  64.                         L300,
  65.                         L1200,
  66.                         L2400,
  67.                         L4800,
  68.                         L7200,
  69.                         L9600,
  70.                         L12000,
  71.                         L14400,
  72.                         L16800,
  73.                         L19200,
  74.                         L38400,
  75.                         Llocal,
  76.                         RatioNum,
  77.                         RatioK;
  78.     unsigned char       PerMinCost[6];  // Real number, size not exist in C/C++
  79.     unsigned char       FreeSpace[42];
  80. } RA2T_limits;
  81.  
  82. typedef struct {
  83.     unsigned char       Name[36],
  84.                         Handle[36];
  85.     unsigned char       Line;
  86.     unsigned int        Baud;
  87.     unsigned char       City[26];
  88.     unsigned char       Status,
  89.                         Attribute;
  90. //
  91. //                   { Status byte - 0 : Browsing (in a menu)
  92. //                                   1 : Uploading/downloading
  93. //                                   2 : Reading/posting messages
  94. //                                   3 : In a door/external utility
  95. //                                   4 : Chatting with sysop
  96. //                                   5 : Answering questionnaire
  97. //                                   6 : RTC
  98. //                                   7 : New user logon
  99. //                                 255 : User-defined - display StatDesc
  100. //
  101. //                     Attribute   - Bit 0 : Hidden
  102. //                                       1 : Wants chat
  103. //                                       2 : Reserved for RANETMGR
  104. //                                       3 : Do not disturb flag
  105. //                                       6 : Ready (0=busy) }
  106. //
  107.     unsigned char       StatDesc[11];
  108.     unsigned char       FreeSpace[98];
  109.     unsigned int        NoCalls;
  110. } RA2T_useron;
  111.  
  112. typedef struct {
  113.     unsigned char       Name[13];
  114.     long int            Size,
  115.                         CRC32;
  116.     unsigned char       Uploader[36];
  117.     long int            UploadDate,
  118.                         FileDate,
  119.                         LastDL;
  120.     unsigned int        TimesDL;
  121.     unsigned char       Attrib;
  122. //
  123. //          {Attrib - Bit 0 : Deleted
  124. //                        1 : Unlisted
  125. //                        2 : Free (don't adjust ratio) - Does NOT affect "Cost"
  126. //                        3 : Not available (don't allow downloads)
  127. //                        4 : Locked (no kill)
  128. //                        5 : Missing/offline
  129. //                        6 : No time restrictions - always allow DL
  130. //          }
  131. //
  132.     unsigned char       Password[16];
  133.     unsigned char       KeyWord[5][16];
  134.     unsigned int        Cost;
  135.     long int            LongDescPtr;
  136.     unsigned char       FreeSpace[20];
  137. } RA2T_fileshdr;
  138.  
  139. typedef struct {
  140.     unsigned char       Name[13];
  141.     long int            UploadDate;
  142.     long int            KeyWordCRC[5];
  143.     long int            LongDescPtr;
  144. } RA2T_filesidx;
  145.  
  146. typedef struct {
  147.     long int            NameCRC32;
  148.     long int            HandleCRC32;
  149. } RA2T_usersidx;
  150.  
  151. //  COMBINEDrecord = array[1..200] of Word;
  152.  
  153. typedef struct {
  154.     unsigned char       Name[36],
  155.                         Location[26],
  156.                         Organisation[51],
  157.                         Address1[51],
  158.                         Address2[51],
  159.                         Address3[51],
  160.                         Handle[36],
  161.                         Comment[81];
  162.     long int            PasswordCRC;
  163.     unsigned char       DataPhone[16],
  164.                         VoicePhone[16],
  165.                         LastTime[6],
  166.                         LastDate[9];
  167.     unsigned char       Attribute;
  168. //
  169. //                      { Bit 0 : Deleted
  170. //                            1 : Clear screen
  171. //                            2 : More prompt
  172. //                            3 : ANSI
  173. //                            4 : No-kill
  174. //                            5 : Xfer priority
  175. //                            6 : Full screen msg editor
  176. //                            7 : Quiet mode }
  177. //
  178.     unsigned char       Attribute2;
  179. //
  180. //                      { Bit 0 : Hot-keys
  181. //                            1 : AVT/0
  182. //                            2 : Full screen message viewer
  183. //                            3 : Hidden from userlist
  184. //                            4 : Page priority
  185. //                            5 : No echomail in mailbox scan
  186. //                            6 : Guest account
  187. //                            7 : Post bill enabled }
  188. //
  189.     unsigned char       Flags[4];
  190.     long int            Credit,
  191.                         Pending;
  192.     unsigned int        MsgsPosted,
  193.                         Security;
  194.     long int            LastRead,
  195.                         NoCalls,
  196.                         Uploads,
  197.                         Downloads,
  198.                         UploadsK,
  199.                         DownloadsK,
  200.                         TodayK;
  201.     int                 Elapsed;
  202.     unsigned int        ScreenLength;
  203.     unsigned char       LastPwdChange;
  204.     unsigned int        Group;
  205.     unsigned int        CombinedInfo[200];
  206.     unsigned char       FirstDate[9],
  207.                         BirthDate[9],
  208.                         SubDate[9];
  209.     unsigned char       ScreenWidth,
  210.                         Language,
  211.                         DateFormat;
  212.     unsigned char       ForwardTo[36];
  213.     unsigned int        MsgArea,
  214.                         FileArea;
  215.     char                DefaultProtocol;
  216.     unsigned int        FileGroup;
  217.     unsigned char       LastDOBCheck,
  218.                         Sex;
  219.     long int            XIrecord;
  220.     unsigned int        MsgGroup;
  221.     unsigned char       FreeSpace[48];
  222. } RA2T_users;
  223.  
  224. typedef struct {
  225.     unsigned char       FreeSpcae[200];
  226. } RA2T_usersxi;
  227.  
  228. typedef struct {
  229.     unsigned int        AreaNum;
  230.     unsigned char       Name[41];
  231.     unsigned int        Security;
  232.     unsigned char       Flags[4],
  233.                         NotFlagsMask[4];
  234.     unsigned char       FreeSpace[100];
  235. } RA2T_group;
  236.  
  237. typedef struct {
  238.     unsigned char       Unused[4];
  239.     unsigned char       Name[41];
  240.     unsigned char       Attrib;
  241. //
  242. //                      { Bit 0 : Include in new files scan
  243. //                            1 : Include in upload dupe scan
  244. //                            2 : Permit long descriptions
  245. //                            3 : Area is on CD-ROM
  246. //                            4 : All files are FREE
  247. //                            5 : Allow DLs not in FDB
  248. //                            6 : Allow users to password uploads
  249. //                            7 : Scan uploads }
  250. //
  251.     unsigned char       FilePath[41];
  252.     unsigned int        KillDaysDL,
  253.                         KillDaysFD;
  254.     unsigned char       Password[16];
  255.     unsigned int        MoveArea;
  256.     unsigned char       Age,
  257.                         ConvertExt;
  258.     unsigned int        Group;
  259.     unsigned char       Attrib2;
  260. //
  261. //                      { Bit 0 : Include in all groups }
  262. //
  263.     unsigned int        DefCost,
  264.                         UploadArea,
  265.                         UploadSecurity;
  266.     unsigned char       UploadFlags[4],
  267.                         UploadNotFlags[4];
  268.     unsigned int        Security;
  269.     unsigned char       Flags[4],
  270.                         NotFlags[4];
  271.     unsigned int        ListSecurity;
  272.     unsigned char       ListFlags[4],
  273.                         ListNotFlags[4];
  274.     unsigned int        AltGroup[3];
  275.     unsigned char       Device;
  276.     unsigned char       FreeSpace[13];
  277. } RA2T_files;
  278.  
  279. typedef struct {
  280.     long int            TotalCalls;
  281.     unsigned char       LastCaller[36];
  282.     unsigned char       ExtraSpace[128];
  283. } RA2T_sysinfo;
  284.  
  285. typedef struct {
  286.     unsigned char       StartDate[9];
  287.     unsigned int        BusyPerHour[24];
  288.     unsigned int        BusyPerDay[7];
  289. } RA2T_timelog;
  290.  
  291. typedef struct {
  292.     unsigned char       Status;
  293. //
  294. //                          { 0=Deleted 1=Enabled 2=Disabled }
  295. //
  296.     unsigned char       StartTime[6];
  297.     unsigned char       ErrorLevel,
  298.                         Days;
  299.     unsigned char       Forced;
  300.     unsigned char       LastTimeRun[9];
  301. } RA2T_event;
  302.  
  303. typedef struct {
  304.     unsigned int        Baud;
  305.     RA2T_sysinfo        SysInfo;
  306.     RA2T_timelog        TimeLogInfo;
  307.     RA2T_users          UserInfo;
  308.     RA2T_event          EventInfo;
  309.     unsigned char       NetMailEntered,
  310.                         EchoMailEntered;
  311.     unsigned char       LoginTime[6];
  312.     unsigned char       LoginDate[9];
  313.     unsigned int        TimeLimit;
  314.     long int            LoginSec;
  315.     int                 UserRecord;
  316.     unsigned int        ReadThru,
  317.                         NumberPages,
  318.                         DownloadLimit;
  319.     unsigned char       TimeOfCreation[6];
  320.     long int            LogonPasswordCRC;
  321.     unsigned char       WantChat;
  322.     int                 DeductedTime;
  323.     unsigned char       MenuStack[50][9];
  324.     unsigned char       MenuStackPointer;
  325.     RA2T_usersxi        UserXIinfo;
  326.     unsigned char       ErrorFreeConnect,
  327.                         SysopNext,
  328.                         EMSI_Session;
  329.     unsigned char       EMSI_Crtdef[41],
  330.                         EMSI_Protocols[41],
  331.                         EMSI_Capabilities[41],
  332.                         EMSI_Requests[41],
  333.                         EMSI_Software[41];
  334.     unsigned char       Hold_Attr1,
  335.                         Hold_Attr2,
  336.                         Hold_Len;
  337.     unsigned char       PageReason[81];
  338.     unsigned char       StatusLine;
  339.     unsigned char       ExtraSpace[99];
  340. } RA2T_exitinfo;
  341.  
  342. #ifdef __cplusplus
  343. }
  344. #endif
  345.  
  346. #endif
  347.