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 / asd.h < prev    next >
Text File  |  1993-11-18  |  2KB  |  90 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 VERSION_APPLE        0x00010000
  19. #define MAGIC_APPLE_SINGLE    0x00051600
  20. #define MAGIC_APPLE_DOUBLE    0x00051607
  21.  
  22. #define ASDID_DATA_FORK        1
  23. #define ASDID_RSRC_FORK        2
  24. #define ASDID_NAME_FORK        3
  25. #define ASDID_CMNT_FORK        4
  26. #define ASDID_MICN_FORK        5
  27. #define ASDID_CICN_FORK        6
  28. #define ASDID_INFO_FORK        7
  29. #define ASDID_FNDR_FORK        9
  30. #define ASDID_DATA_PATH        100
  31.  
  32. #define MAC_UNIX_TIME_DIFF        0x7c25b080
  33. #define MAC_TO_UNIX_TIME(time)    ((time) - MAC_UNIX_TIME_DIFF)
  34. #define UNIX_TO_MAC_TIME(time)    ((time) + MAC_UNIX_TIME_DIFF)
  35.  
  36. #define MAX_ASD_ENTRIES        16
  37.  
  38. typedef struct
  39.     {
  40.     long    magic;
  41.     long    version;
  42.     char    filesys[16];
  43.     short    entries;
  44.     } asd_hdr;
  45.  
  46. typedef struct
  47.     {
  48.     long    id;
  49.     long    offset;
  50.     long    length;
  51.     } asd_entry;
  52.  
  53. typedef struct
  54.     {
  55.     long fdType;
  56.     long fdCreator;
  57.     unsigned char fdFlags;
  58.     unsigned char zero;
  59.     short fdLocation[2];
  60.     short fdFldr;
  61.     } asd_fndr_fork;
  62.  
  63. typedef struct
  64.     {
  65.     asd_hdr        asd_head;
  66.     asd_entry    asd_entries[6];
  67.     } asd_file_hdr;
  68.  
  69. #ifndef ALLOC_CLASS
  70. #ifdef ALLOCATE_GLOBALS
  71.  
  72. #define ALLOC_CLASS
  73. #define ALLOC_INIT(def)        = def
  74. #define ALLOC_ARRAY(asize)    [asize]
  75.  
  76. #else
  77.  
  78. #define ALLOC_CLASS            extern
  79. #define ALLOC_INIT(def)
  80. #define ALLOC_ARRAY(asize)    []
  81.  
  82. #endif
  83. #endif
  84.  
  85. ALLOC_CLASS    asd_hdr            asd_header;
  86. ALLOC_CLASS    asd_fndr_fork    g_asd_finder;
  87. ALLOC_CLASS    asd_entry        the_entries        ALLOC_ARRAY(MAX_ASD_ENTRIES);
  88. ALLOC_CLASS    asd_file_hdr    asd_file_head;
  89. ALLOC_CLASS    asd_fndr_fork    asd_finder;
  90.