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.

100 lines
2.0 KiB

  1. /*
  2. File: DeviceControl.h
  3. Contains: Component API for doing AVC transactions.
  4. Version: QuickTime 7.3
  5. Copyright: (c) 2007 (c) 1999-2001 by Apple Computer, Inc., all rights reserved.
  6. Bugs?: For bug reports, consult the following page on
  7. the World Wide Web:
  8. http://developer.apple.com/bugreporter/
  9. */
  10. #ifndef __DEVICECONTROL__
  11. #define __DEVICECONTROL__
  12. #ifndef __MACTYPES__
  13. #include <MacTypes.h>
  14. #endif
  15. #ifndef __COMPONENTS__
  16. #include <Components.h>
  17. #endif
  18. #if PRAGMA_ONCE
  19. #pragma once
  20. #endif
  21. #ifdef __cplusplus
  22. extern "C" {
  23. #endif
  24. #if PRAGMA_IMPORT
  25. #pragma import on
  26. #endif
  27. #if PRAGMA_STRUCT_ALIGN
  28. #pragma options align=mac68k
  29. #elif PRAGMA_STRUCT_PACKPUSH
  30. #pragma pack(push, 2)
  31. #elif PRAGMA_STRUCT_PACK
  32. #pragma pack(2)
  33. #endif
  34. typedef CALLBACK_API_C( UInt32 , DCResponseHandler )(UInt32 fwCommandObjectID, Ptr responseBuffer, UInt32 responseLength);
  35. struct DVCTransactionParams {
  36. Ptr commandBufferPtr;
  37. UInt32 commandLength;
  38. Ptr responseBufferPtr;
  39. UInt32 responseBufferSize;
  40. DCResponseHandler * responseHandler;
  41. };
  42. typedef struct DVCTransactionParams DVCTransactionParams;
  43. /*
  44. * DeviceControlDoAVCTransaction()
  45. *
  46. * Availability:
  47. * Non-Carbon CFM: in IDHLib 1.0 and later
  48. * CarbonLib: in CarbonLib 1.3 and later
  49. * Mac OS X: not available
  50. */
  51. EXTERN_API( ComponentResult )
  52. DeviceControlDoAVCTransaction(
  53. ComponentInstance instance,
  54. DVCTransactionParams * params) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0001, 0x7000, 0xA82A);
  55. /* selectors for component calls */
  56. enum {
  57. kDeviceControlDoAVCTransactionSelect = 0x0001
  58. };
  59. #if PRAGMA_STRUCT_ALIGN
  60. #pragma options align=reset
  61. #elif PRAGMA_STRUCT_PACKPUSH
  62. #pragma pack(pop)
  63. #elif PRAGMA_STRUCT_PACK
  64. #pragma pack()
  65. #endif
  66. #ifdef PRAGMA_IMPORT_OFF
  67. #pragma import off
  68. #elif PRAGMA_IMPORT
  69. #pragma import reset
  70. #endif
  71. #ifdef __cplusplus
  72. }
  73. #endif
  74. #endif /* __DEVICECONTROL__ */