home *** CD-ROM | disk | FTP | other *** search
/ The C Users' Group Library 1994 August / wc-cdrom-cusersgrouplibrary-1994-08.iso / vol_200 / 259_01 / profile.h < prev    next >
Text File  |  1988-02-25  |  4KB  |  164 lines

  1.  
  2. #ifndef PROFILE_H
  3.  
  4. #define MAX_PATHNAME            64
  5. #define MAX_SEGMENTS            128
  6.  
  7. #define PRF_FILE_ID            "bw"
  8. #define PRF_FILE_VER            2
  9. #define MAX_SEGNAME_LEN         80
  10. #define MAX_PUBNAME_LEN         40
  11. #define MAX_MODNAME_LEN         16
  12. #define SPACE                ' '
  13.  
  14. #define PRF_ID_REC            0
  15. #define PRF_HDR_REC            1
  16. #define PRF_SEG_REC            2
  17. #define PRF_MOD_REC            3
  18. #define PRF_PUB_REC            4
  19. #define PRF_LIN_REC            5
  20. #define PRF_EOF_REC            6
  21.  
  22. #define RPT_OTH_REC            0
  23. #define RPT_BIO_REC            1
  24. #define RPT_DOS_REC            2
  25. #define RPT_HIT_REC            3
  26. #define RPT_SEG_REC            4
  27. #define RPT_PUB_REC            5
  28. #define RPT_LIN_REC            6
  29. #define RPT_EOF_REC            7
  30.  
  31. #define REC_LEN             PrfRec.Pfx.uRecLen
  32. #define REC_TYPE            PrfRec.Pfx.cRecType
  33.  
  34. #define FILE_ID             PrfRec.Rec.Id.cFileId
  35. #define FILE_VER            PrfRec.Rec.Id.uFileVer
  36.  
  37. #define NO_SEGS             PrfRec.Rec.Hdr.uNoSegs
  38. #define NO_PUBS             PrfRec.Rec.Hdr.uNoPubs
  39. #define NO_LINS             PrfRec.Rec.Hdr.uNoLins
  40. #define NO_MODS             PrfRec.Rec.Hdr.uNoMods
  41.  
  42. #define SEG_VAL             PrfRec.Rec.Seg.uSegVal
  43. #define SEG_LEN             PrfRec.Rec.Seg.uSegLen
  44. #define SEG_NAME_LEN            PrfRec.Rec.Seg.cSegNameLen
  45. #define SEG_CLASS_LEN            PrfRec.Rec.Seg.cSegClassLen
  46. #define SEG_NAMES            PrfRec.Rec.Seg.cSegNames
  47.  
  48. #define MOD_NUM             PrfRec.Rec.Mod.cModNum
  49. #define MOD_NAME_LEN            PrfRec.Rec.Mod.cModNameLen
  50. #define MOD_NAME            PrfRec.Rec.Mod.cModName
  51.  
  52. #define PUB_SEG             PrfRec.Rec.Pub.uPubSeg
  53. #define PUB_OFS             PrfRec.Rec.Pub.uPubOfs
  54. #define PUB_ABS             PrfRec.Rec.Pub.cAbs
  55. #define PUB_NAME_LEN            PrfRec.Rec.Pub.cPubNameLen
  56. #define PUB_NAME            PrfRec.Rec.Pub.cPubName
  57.  
  58. #define LIN_MOD_NUM            PrfRec.Rec.Lin.uLinModNum
  59. #define LIN_NO                PrfRec.Rec.Lin.uLinNo
  60. #define LIN_SEG             PrfRec.Rec.Lin.uLinSeg
  61. #define LIN_OFS             PrfRec.Rec.Lin.uLinOfs
  62.  
  63.  
  64. typedef unsigned long           ulong;
  65. typedef unsigned short           ushort;
  66. typedef unsigned char           uchar;
  67. typedef short               bool;
  68.  
  69.  
  70. struct sPrfFileID
  71. {
  72.     char        cFileId[2];
  73.     ushort        uFileVer;
  74. };
  75. typedef struct sPrfFileID    FILEID, *PFILEID, far *LPFILEID;
  76.  
  77.  
  78. struct sPrfFileHdr
  79. {
  80.     ushort        uNoSegs;
  81.     ushort        uNoPubs;
  82.     ushort        uNoLins;
  83.     ushort        uNoMods;
  84. };
  85. typedef struct sPrfFileHdr    FILEHDR, *PFILEHDR, far *LPFILEHDR;
  86.  
  87.  
  88. struct sPrfFileSeg
  89. {
  90.     ushort        uSegVal;
  91.     ushort        uSegLen;
  92.     uchar        cSegNameLen;
  93.     uchar        cSegClassLen;
  94.     char        cSegNames[MAX_SEGNAME_LEN];
  95. };
  96. typedef struct sPrfFileSeg    FILESEG, *PFILESEG, far *LPFILESEG;
  97.  
  98.  
  99. struct sPrfFileMod
  100. {
  101.     uchar        cModNum;
  102.     uchar        cModNameLen;
  103.     char        cModName[MAX_MODNAME_LEN];
  104. };
  105. typedef struct sPrfFileMod    FILEMOD, *PFILEMOD, far *LPFILEMOD;
  106.  
  107.  
  108. struct sPrfFilePub
  109. {
  110.     ushort        uPubSeg;
  111.     ushort        uPubOfs;
  112.     uchar        cAbs;
  113.     uchar        cPubNameLen;
  114.     char        cPubName[MAX_PUBNAME_LEN];
  115. };
  116. typedef struct sPrfFilePub    FILEPUB, *PFILEPUB, far *LPFILEPUB;
  117.  
  118.  
  119. struct sPrfFileLin
  120. {
  121.     ushort        uLinModNum;
  122.     ushort        uLinNo;
  123.     ushort        uLinSeg;
  124.     ushort        uLinOfs;
  125. };
  126. typedef struct sPrfFileLin    FILELIN, *PFILELIN, far *LPFILELIN;
  127.  
  128.  
  129. struct sPrfFILEPFX
  130. {
  131.     ushort        uRecLen;
  132.     uchar        cRecType;
  133.     uchar        cFiller;
  134. };
  135. typedef struct sPrfFILEPFX   FILEPFX, *PFILEPFX, far *LPFILEPFX;
  136.  
  137.  
  138. struct sPrfFileRec
  139. {
  140.     FILEPFX        Pfx;
  141.     union
  142.     {
  143.     FILEID        Id;
  144.     FILEHDR     Hdr;
  145.     FILESEG     Seg;
  146.     FILEMOD     Mod;
  147.     FILEPUB     Pub;
  148.     FILELIN     Lin;
  149.     }            Rec;
  150. };
  151. typedef struct sPrfFileRec   FILEREC, *PFILEREC, far *LPFILEREC;
  152.  
  153.  
  154. struct sRptFileRec
  155. {
  156.     uchar        cRecType;
  157.     uchar        cFiller;
  158.     ushort        uSegOfs;
  159.     ulong        lCnt;
  160. };
  161. typedef struct sRptFileRec   RPTREC, *PRPTREC, far *LPRPTREC;
  162.  
  163. #endif
  164.