home *** CD-ROM | disk | FTP | other *** search
/ ftp.mactech.com 2010 / ftp.mactech.com.tar / ftp.mactech.com / online / source / c / compilers / Tickle-4.0.sit.hqx / Tickle-4.0 / src / volumes.h < prev    next >
Text File  |  1993-11-18  |  4KB  |  173 lines

  1. /*
  2. ** This source code was written by Tim Endres
  3. ** Email: time@ice.com.
  4. ** USMail: 8840 Main Street, Whitmore Lake, MI  48189
  5. **
  6. ** Some portions of this application utilize sources
  7. ** that are copyrighted by ICE Engineering, Inc., and
  8. ** ICE Engineering retains all rights to those sources.
  9. **
  10. ** Neither ICE Engineering, Inc., nor Tim Endres, 
  11. ** warrants this source code for any reason, and neither
  12. ** party assumes any responsbility for the use of these
  13. ** sources, libraries, or applications. The user of these
  14. ** sources and binaries assumes all responsbilities for
  15. ** any resulting consequences.
  16. */
  17.  
  18. #define fVolSigWord    0xD2D7
  19. #define hVolSigWord    0x4244
  20.  
  21. /* Describes data structures used for raw volume access. */
  22.  
  23. typedef struct {
  24.     unsigned short    firstAlBlk;
  25.     unsigned short    numAlBlks;
  26.     } ExtDesc;
  27.  
  28. typedef struct {
  29.     unsigned char    xkrKeyLen;
  30.     unsigned char    xkrFkType;
  31.     long            xkrFNum;
  32.     unsigned short    xkrFABN;
  33.     } ExtKey;
  34.  
  35. typedef struct {
  36.     unsigned char    ckrKeyLen;
  37.     unsigned char    ckrResrv1;
  38.     long            ckrParID;
  39.     char            ckrCName[1];
  40.     } CatKey;
  41.  
  42. typedef struct {
  43.     unsigned char    cdrType;
  44.     unsigned char    cdrResrv2;
  45.     } CatItem;
  46.  
  47. typedef struct {
  48.     unsigned char    cdrType;
  49.     unsigned char    cdrResrv2;
  50.     unsigned char    filFlags;
  51.     unsigned char    filTyp;
  52.     FInfo            filUsrWds;
  53.     long            filFlNum;
  54.     unsigned short    filStBlk;
  55.     long            filLgLen;
  56.     long            filPyLen;
  57.     unsigned short    filRStBlk;
  58.     long            filRLgLen;
  59.     long            filRPyLen;
  60.     long            filCrDat;
  61.     long            filMdDat;
  62.     long            filBkDat;
  63.     FXInfo            filFndrInfo;
  64.     unsigned short    filClpSize;
  65.     ExtDesc            filExtRec[3];
  66.     ExtDesc            filRExtRec[3];
  67.     long            filResrv;
  68.     } CatFileRecord;
  69.  
  70. typedef struct {
  71.     unsigned char    cdrType;
  72.     unsigned char    cdrResrv2;
  73.     unsigned short    dirFlags;
  74.     unsigned short    dirVal;
  75.     long            dirDirID;
  76.     long            dirCrDat;
  77.     long            dirMdDat;
  78.     long            dirBkDat;
  79.     DInfo            dirUsrInfo;
  80.     DXInfo            dirFndrInfo;
  81.     char            dirResrv[16];
  82.     } CatDirRecord;
  83.  
  84. typedef struct {
  85.     unsigned char    cdrType;
  86.     unsigned char    cdrResrv2;
  87.     char            thdResrv[8];
  88.     long            thdParID;
  89.     char            thdCName[1];
  90.     long            filResrv;
  91.     } CatThreadRecord;
  92.  
  93. typedef struct {
  94.     ExtKey            drKey;
  95.     ExtDesc            drDesc;
  96.     } DRExtRec;
  97.  
  98. typedef struct {
  99.     unsigned short    drSigWord;
  100.     unsigned long    drCrDate;
  101.     unsigned long    drLsMod;
  102.     short            drAtrb;
  103.     unsigned short    drNmFls;
  104.     short            drVBMSt;
  105.     short            drAllocPtr;
  106.     unsigned short    drNmAlBlks;
  107.     long            drAlBlkSiz;
  108.     long            drClpSiz;
  109.     short            drAlBlSt;
  110.     long            drNxtCNID;
  111.     unsigned short    drFreeBks;
  112.     char            drVN[28];
  113.     unsigned long    drVolBkUp;
  114.     unsigned short    drVSeqNum;
  115.     long            drWrCnt;
  116.     long            drXTClpSiz;
  117.     long            drCTClpSiz;
  118.     unsigned short    drNmRtDirs;
  119.     long            drFilCnt;
  120.     long            drDirCnt;
  121.     long            drFndrInfo[8];
  122.     unsigned short    drVCSize;
  123.     unsigned short    drVBMCSiz;
  124.     unsigned short    drCtlCSiz;
  125.     long            drXTFlSize;
  126.     ExtDesc            drXTExtRec[3];
  127.     long            drCTFlSize;
  128.     ExtDesc            drCTExtRec[3];
  129.     } VolInfo, *VolInfoPtr;
  130.  
  131. typedef struct ICEPartInfo {
  132.     long        iceSig;
  133.     long        iceVersion;
  134.     long        partSig;
  135.     short        partLocked;
  136.     } ICEPartInfo, *ICEPartInfoPtr;
  137.     
  138. typedef struct PDEntry {
  139.     long        pdStart;
  140.     long        pdSize;
  141.     long        pdFSID;
  142.     } PDEntry;
  143.  
  144. #define pdSigWord    0x5453
  145. typedef struct OldPartition {            /* 512 bytes long */
  146.     unsigned short    pdSig;
  147.     PDEntry            pdEntries[1];
  148.     } OldPartition;
  149.  
  150. typedef struct BTreeHeader {
  151.     short            hdrCount;        /* ? */
  152.     long            hdrFirstIndex;
  153.     long            hdrLastIndex;    /* ? */
  154.     long            hdrFirstLeaf;
  155.     long            hdrLastLeaf;    /* ? */
  156.     short            something1;        /* ? */
  157.     short            something2;        /* ? */
  158.     long            something3;        /* ? */
  159.     long            something4;        /* ? */
  160.     } BTreeHeader;
  161.  
  162. typedef struct BTreeRecord {            /* 512 bytes long */
  163.     long            ndFLink;
  164.     long            ndBLink;
  165.     unsigned char    ndType;
  166.     unsigned char    ndLevel;
  167.     unsigned short    ndRecs;
  168.     char            ndData[498];
  169.     unsigned short    ndRecPtr[1];
  170.     } BTreeRecord;
  171.  
  172.  
  173.