Leaked source code of windows server 2003
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.

111 lines
2.5 KiB

  1. #ifndef __BTHSDPDEF_H__
  2. #define __BTHSDPDEF_H__
  3. #ifdef __cplusplus
  4. extern "C" {
  5. #endif
  6. struct SDP_LARGE_INTEGER_16 {
  7. ULONGLONG LowPart;
  8. LONGLONG HighPart;
  9. };
  10. struct SDP_ULARGE_INTEGER_16 {
  11. ULONGLONG LowPart;
  12. ULONGLONG HighPart;
  13. };
  14. typedef struct SDP_ULARGE_INTEGER_16 SDP_ULARGE_INTEGER_16, *PSDP_ULARGE_INTEGER_16, *LPSDP_ULARGE_INTEGER_16;
  15. typedef struct SDP_LARGE_INTEGER_16 SDP_LARGE_INTEGER_16, *PSDP_LARGE_INTEGER_16, *LPSDP_LARGE_INTEGER_16;
  16. enum NodeContainerType {
  17. NodeContainerTypeSequence,
  18. NodeContainerTypeAlternative
  19. };
  20. typedef enum NodeContainerType NodeContainerType;
  21. typedef USHORT SDP_ERROR, *PSDP_ERROR;
  22. enum SDP_TYPE {
  23. SDP_TYPE_NIL = 0x00,
  24. SDP_TYPE_UINT = 0x01,
  25. SDP_TYPE_INT = 0x02,
  26. SDP_TYPE_UUID = 0x03,
  27. SDP_TYPE_STRING = 0x04,
  28. SDP_TYPE_BOOLEAN = 0x05,
  29. SDP_TYPE_SEQUENCE = 0x06,
  30. SDP_TYPE_ALTERNATIVE = 0x07,
  31. SDP_TYPE_URL = 0x08,
  32. SDP_TYPE_CONTAINER = 0x20
  33. };
  34. // 9 - 31 are reserved
  35. typedef enum SDP_TYPE SDP_TYPE;
  36. // allow for a little easier type checking / sizing for integers and UUIDs
  37. // ((SDP_ST_XXX & 0xF0) >> 4) == SDP_TYPE_XXX
  38. // size of the data (in bytes) is encoded as ((SDP_ST_XXX & 0xF0) >> 8)
  39. enum SDP_SPECIFICTYPE {
  40. SDP_ST_NONE = 0x0000,
  41. SDP_ST_UINT8 = 0x0010,
  42. SDP_ST_UINT16 = 0x0110,
  43. SDP_ST_UINT32 = 0x0210,
  44. SDP_ST_UINT64 = 0x0310,
  45. SDP_ST_UINT128 = 0x0410,
  46. SDP_ST_INT8 = 0x0020,
  47. SDP_ST_INT16 = 0x0120,
  48. SDP_ST_INT32 = 0x0220,
  49. SDP_ST_INT64 = 0x0320,
  50. SDP_ST_INT128 = 0x0420,
  51. SDP_ST_UUID16 = 0x0130,
  52. SDP_ST_UUID32 = 0x0220,
  53. SDP_ST_UUID128 = 0x0430
  54. };
  55. typedef enum SDP_SPECIFICTYPE SDP_SPECIFICTYPE;
  56. typedef struct _SdpAttributeRange {
  57. USHORT minAttribute;
  58. USHORT maxAttribute;
  59. } SdpAttributeRange;
  60. typedef
  61. #ifdef USE_MIDL_SYNTAX
  62. [switch_type(unsigned short)]
  63. #endif
  64. union SdpQueryUuidUnion {
  65. #ifdef USE_MIDL_SYNTAX
  66. [case(SDP_ST_UUID128)]
  67. #endif
  68. GUID uuid128;
  69. #ifdef USE_MIDL_SYNTAX
  70. [case(SDP_ST_UUID32)]
  71. #endif _NTDDK_
  72. ULONG uuid32;
  73. #ifdef USE_MIDL_SYNTAX
  74. [case(SDP_ST_UUID16)]
  75. #endif _NTDDK_
  76. USHORT uuid16;
  77. } SdpQueryUuidUnion;
  78. typedef struct _SdpQueryUuid {
  79. #ifdef USE_MIDL_SYNTAX
  80. [switch_is(uuidType)]
  81. #endif
  82. SdpQueryUuidUnion u;
  83. USHORT uuidType;
  84. } SdpQueryUuid;
  85. #ifdef __cplusplus
  86. };
  87. #endif
  88. #endif // __BTHSDPDEF_H__