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.

135 lines
3.0 KiB

  1. /*++
  2. Copyright (c) Microsoft Corporation. All rights reserved.
  3. Module Name:
  4. sbp2api.h
  5. Abstract:
  6. Definitions for the 1394 Sbp2 transport/protocol driver api
  7. Author:
  8. George Chrysanthakopoulos (georgioc) 2/12/99
  9. Environment:
  10. Kernel mode only
  11. Revision History:
  12. --*/
  13. #ifndef _NTDDSBP2_H_
  14. #define _NTDDSBP2_H_
  15. #if (_MSC_VER >= 1020)
  16. #pragma once
  17. #endif
  18. #ifdef __cplusplus
  19. extern "C" {
  20. #endif
  21. //
  22. // Various definitions
  23. //
  24. #define IOCTL_SBP2_REQUEST CTL_CODE( \
  25. FILE_DEVICE_UNKNOWN, \
  26. 0x200, \
  27. METHOD_IN_DIRECT, \
  28. FILE_ANY_ACCESS \
  29. )
  30. //
  31. // IEEE 1394 Sbp2 Request packet. It is how other
  32. // device drivers communicate with the 1sbp2 trasnport.
  33. //
  34. typedef struct _SBP2_REQUEST {
  35. //
  36. // Holds the zero based Function number that corresponds to the request
  37. // that device drivers are asking the sbp2 port driver to carry out.
  38. //
  39. ULONG RequestNumber;
  40. //
  41. // Holds Flags that may be unique to this particular operation
  42. //
  43. ULONG Flags;
  44. //
  45. // Holds the structures used in performing the various 1394 APIs
  46. //
  47. union {
  48. //
  49. // Fields necessary in order for the 1394 stack to carry out an
  50. // ParseTextLeaf request.
  51. //
  52. struct {
  53. ULONG fulFlags;
  54. ULONG Key; // quadlet direct value to search for
  55. ULONG ulLength;
  56. PVOID Buffer; // mdl to store the retrieved text leaf
  57. } RetrieveTextLeaf;
  58. struct {
  59. ULONG fulFlags;
  60. ULONG Parameter;
  61. ULONG Value;
  62. } AccessTransportSettings;
  63. struct {
  64. ULONG fulFlags;
  65. } SetPassword;
  66. } u;
  67. } SBP2_REQUEST, *PSBP2_REQUEST;
  68. #define SBP2REQ_FLAG_RETRIEVE_VALUE 0x1
  69. #define SBP2REQ_FLAG_MODIFY_VALUE 0x2
  70. //
  71. // sbp2 requests
  72. //
  73. #define SBP2_REQUEST_RETRIEVE_TEXT_LEAFS 1
  74. #define SBP2_REQUEST_ACCESS_TRANSPORT_SETTINGS 2
  75. #define SBP2_REQUEST_SET_PASSWORD 3
  76. //
  77. // values required for the SBP2_REQUEST_RETRIEVE_TEXT_LEAFS call
  78. //
  79. #define SBP2REQ_RETRIEVE_TEXT_LEAF_DIRECT 0x00000001
  80. #define SBP2REQ_RETRIEVE_TEXT_LEAF_INDIRECT 0x00000002
  81. #define SBP2REQ_RETRIEVE_TEXT_LEAF_FROM_UNIT_DIR 0x00000004
  82. #define SBP2REQ_RETRIEVE_TEXT_LEAF_FROM_LU_DIR 0x00000008
  83. //
  84. // values required for the parameter in SBP2_REQUEST_ACCESS_TRANSPORT_SETTINGS call
  85. //
  86. #define SBP2REQ_ACCESS_SETTINGS_QUEUE_SIZE 0x00000001
  87. //
  88. // values required for SBP2_REQUEST_SET_PASSWORD
  89. //
  90. #define SBP2REQ_SET_PASSWORD_CLEAR 0x00000001
  91. #define SBP2REQ_SET_PASSWORD_EXCLUSIVE 0x00000002
  92. #ifdef __cplusplus
  93. }
  94. #endif
  95. #endif // _NTDDSBP2_H_