Source code of Windows XP (NT5)
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.

122 lines
2.3 KiB

  1. /*++
  2. Copyright (c) Microsoft Corporation. All rights reserved.
  3. Module Name:
  4. ntdd1394.h
  5. Abstract:
  6. Definitions for the 1394 api
  7. Author:
  8. George Chrysanthakopoulos (georgioc) 4/26/99
  9. Environment:
  10. Kernel mode only
  11. Revision History:
  12. --*/
  13. #ifndef _NTDD1394_H_
  14. #define _NTDD1394_H_
  15. #if (_MSC_VER >= 1020)
  16. #pragma once
  17. #endif
  18. #ifdef __cplusplus
  19. extern "C" {
  20. #endif
  21. //
  22. // registry definitions
  23. //
  24. #define BUS1394_VIRTUAL_DEVICE_LIST_KEY L"Virtual Device List"
  25. #define BUS1394_LOCAL_HOST_INSTANCE_KEY L"LOCAL HOST EUI64"
  26. //
  27. // Various definitions
  28. //
  29. #define IOCTL_IEEE1394_API_REQUEST CTL_CODE( \
  30. FILE_DEVICE_UNKNOWN, \
  31. 0x100, \
  32. METHOD_BUFFERED, \
  33. FILE_ANY_ACCESS \
  34. )
  35. //
  36. // IEEE 1394 Sbp2 Request packet. It is how other
  37. // device drivers communicate with the 1sbp2 trasnport.
  38. //
  39. typedef struct _IEEE1394_VDEV_PNP_REQUEST{
  40. ULONG fulFlags;
  41. ULONG Reserved;
  42. ULARGE_INTEGER InstanceId;
  43. UCHAR DeviceId;
  44. } IEEE1394_VDEV_PNP_REQUEST,*PIEEE1394_VDEV_PNP_REQUEST;
  45. typedef struct _IEEE1394_API_REQUEST {
  46. //
  47. // Holds the zero based Function number that corresponds to the request
  48. // that device drivers are asking the sbp2 port driver to carry out.
  49. //
  50. ULONG RequestNumber;
  51. //
  52. // Holds Flags that may be unique to this particular operation
  53. //
  54. ULONG Flags;
  55. //
  56. // Holds the structures used in performing the various 1394 APIs
  57. //
  58. union {
  59. IEEE1394_VDEV_PNP_REQUEST AddVirtualDevice;
  60. IEEE1394_VDEV_PNP_REQUEST RemoveVirtualDevice;
  61. } u;
  62. } IEEE1394_API_REQUEST, *PIEEE1394_API_REQUEST;
  63. //
  64. // Request Number
  65. //
  66. #define IEEE1394_API_ADD_VIRTUAL_DEVICE 0x00000001
  67. #define IEEE1394_API_REMOVE_VIRTUAL_DEVICE 0x00000002
  68. //
  69. // flags for the add/remove requests
  70. //
  71. #define IEEE1394_REQUEST_FLAG_UNICODE 0x00000001
  72. #define IEEE1394_REQUEST_FLAG_PERSISTENT 0x00000002
  73. #define IEEE1394_REQUEST_FLAG_USE_LOCAL_HOST_EUI 0x00000004
  74. //
  75. // definitions for the access/ownership 1394 scheme
  76. //
  77. #ifdef __cplusplus
  78. }
  79. #endif
  80. #endif // _NTDD1394_H_