Team Fortress 2 Source Code as on 22/4/2020
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

198 lines
4.7 KiB

  1. /*
  2. File: ResourceForkComponent.h
  3. Version: QuickTime 7.3
  4. Copyright: (c) 1984-2007 by Apple Inc., all rights reserved.
  5. Bugs?: For bug reports, consult the following page on
  6. the World Wide Web:
  7. http://developer.apple.com/bugreporter/
  8. */
  9. /*.#endif forMasterInterfaces*/
  10. /*.#ifndef forMergedInterface*/
  11. #ifndef __RESOURCEFORKCOMPONENT__
  12. #define __RESOURCEFORKCOMPONENT__
  13. #ifndef __COMPONENTS__
  14. #include <Components.h>
  15. #endif
  16. #if PRAGMA_ONCE
  17. #pragma once
  18. #endif
  19. #ifdef __cplusplus
  20. extern "C" {
  21. #endif
  22. #if PRAGMA_IMPORT
  23. #pragma import on
  24. #endif
  25. #if PRAGMA_STRUCT_ALIGN
  26. #pragma options align=mac68k
  27. #elif PRAGMA_STRUCT_PACKPUSH
  28. #pragma pack(push, 2)
  29. #elif PRAGMA_STRUCT_PACK
  30. #pragma pack(2)
  31. #endif
  32. /*.#endif forMergedInterfaces*/
  33. enum {
  34. resourceForkComponentType = FOUR_CHAR_CODE('rfrk')
  35. };
  36. enum {
  37. rfmCanExpand = FOUR_CHAR_CODE('expn'),
  38. rfmCanExpandEasily = FOUR_CHAR_CODE('expe'),
  39. rfmIsMultiStream = FOUR_CHAR_CODE('muls')
  40. };
  41. enum {
  42. rfmQueryForkMask = 1 << 0, /* bit on == resource fork, off == data fork*/
  43. rfmQueryResourceFork = 1 << 0,
  44. rfmQueryDataFork = 0
  45. };
  46. #if CALL_NOT_IN_CARBON
  47. /*
  48. * ResourceForkPathNameMap()
  49. *
  50. * Availability:
  51. * Non-Carbon CFM: not available
  52. * CarbonLib: not available
  53. * Mac OS X: not available
  54. */
  55. EXTERN_API( ComponentResult )
  56. ResourceForkPathNameMap(
  57. ComponentInstance rfi,
  58. char * inDataPath,
  59. char * outRsrcPath,
  60. unsigned long maxLen) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0001, 0x7000, 0xA82A);
  61. /*
  62. * ResourceForkOffsetAndLength()
  63. *
  64. * Availability:
  65. * Non-Carbon CFM: not available
  66. * CarbonLib: not available
  67. * Mac OS X: not available
  68. */
  69. EXTERN_API( ComponentResult )
  70. ResourceForkOffsetAndLength(
  71. ComponentInstance rfi,
  72. char * accessPath,
  73. long queryFlags,
  74. long * dataOffset,
  75. long * dataLength) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0002, 0x7000, 0xA82A);
  76. /*
  77. * ResourceForkGetMethodInfo()
  78. *
  79. * Availability:
  80. * Non-Carbon CFM: not available
  81. * CarbonLib: not available
  82. * Mac OS X: not available
  83. */
  84. EXTERN_API( ComponentResult )
  85. ResourceForkGetMethodInfo(
  86. ComponentInstance rfi,
  87. long queryFlags,
  88. long queryType,
  89. long * answer) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0003, 0x7000, 0xA82A);
  90. /*
  91. * ResourceForkFileLength()
  92. *
  93. * Availability:
  94. * Non-Carbon CFM: not available
  95. * CarbonLib: not available
  96. * Mac OS X: not available
  97. */
  98. EXTERN_API( ComponentResult )
  99. ResourceForkFileLength(
  100. ComponentInstance rfi,
  101. char * accessPath,
  102. long queryFlags,
  103. long * fileLength) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0004, 0x7000, 0xA82A);
  104. /*
  105. * ResourceForkOffsetAndLength64()
  106. *
  107. * Availability:
  108. * Non-Carbon CFM: not available
  109. * CarbonLib: not available
  110. * Mac OS X: not available
  111. */
  112. EXTERN_API( ComponentResult )
  113. ResourceForkOffsetAndLength64(
  114. ComponentInstance rfi,
  115. char * accessPath,
  116. long queryFlags,
  117. wide * dataOffset,
  118. wide * dataLength) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0005, 0x7000, 0xA82A);
  119. /*
  120. * ResourceForkFileLength64()
  121. *
  122. * Availability:
  123. * Non-Carbon CFM: not available
  124. * CarbonLib: not available
  125. * Mac OS X: not available
  126. */
  127. EXTERN_API( ComponentResult )
  128. ResourceForkFileLength64(
  129. ComponentInstance rfi,
  130. char * accessPath,
  131. long queryFlags,
  132. wide * fileLength) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0006, 0x7000, 0xA82A);
  133. /*.#ifndef forMergedInterfaces*/
  134. /* selectors for component calls */
  135. enum {
  136. kResourceForkPathNameMapSelect = 0x0001,
  137. kResourceForkOffsetAndLengthSelect = 0x0002,
  138. kResourceForkGetMethodInfoSelect = 0x0003,
  139. kResourceForkFileLengthSelect = 0x0004,
  140. kResourceForkOffsetAndLength64Select = 0x0005,
  141. kResourceForkFileLength64Select = 0x0006
  142. };
  143. /*.#endif forMergedInterfaces*/
  144. #endif /* CALL_NOT_IN_CARBON */
  145. #if PRAGMA_STRUCT_ALIGN
  146. #pragma options align=reset
  147. #elif PRAGMA_STRUCT_PACKPUSH
  148. #pragma pack(pop)
  149. #elif PRAGMA_STRUCT_PACK
  150. #pragma pack()
  151. #endif
  152. #ifdef PRAGMA_IMPORT_OFF
  153. #pragma import off
  154. #elif PRAGMA_IMPORT
  155. #pragma import reset
  156. #endif
  157. #ifdef __cplusplus
  158. }
  159. #endif
  160. #endif /* __RESOURCEFORKCOMPONENT__ */