bthsdpdef.h 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. /**
  2. * This file has no copyright assigned and is placed in the Public Domain.
  3. * This file is part of the mingw-w64 runtime package.
  4. * No warranty is given; refer to the file DISCLAIMER.PD within this package.
  5. */
  6. #ifndef _INC_BTHSDPDEF
  7. #define _INC_BTHSDPDEF
  8. #ifdef __cplusplus
  9. extern "C" {
  10. #endif
  11. typedef union SdpQueryUuidUnion {
  12. GUID uuid128;
  13. ULONG uuid32;
  14. USHORT uuid16;
  15. } SdpQueryUuidUnion;
  16. typedef struct _SdpAttributeRange {
  17. USHORT minAttribute;
  18. USHORT maxAttribute;
  19. } SdpAttributeRange;
  20. typedef struct _SdpQueryUuid {
  21. SdpQueryUuidUnion u;
  22. USHORT uuidType;
  23. } SdpQueryUuid;
  24. typedef enum _SDP_TYPE {
  25. SDP_TYPE_NIL = 0x00,
  26. SDP_TYPE_UINT = 0x01,
  27. SDP_TYPE_INT = 0x02,
  28. SDP_TYPE_UUID = 0x03,
  29. SDP_TYPE_STRING = 0x04,
  30. SDP_TYPE_BOOLEAN = 0x05,
  31. SDP_TYPE_SEQUENCE = 0x06,
  32. SDP_TYPE_ALTERNATIVE = 0x07,
  33. SDP_TYPE_URL = 0x08,
  34. SDP_TYPE_CONTAINER = 0x20
  35. } SDP_TYPE;
  36. typedef enum _SDP_SPECIFICTYPE {
  37. SDP_ST_NONE = 0x0000,
  38. SDP_ST_UINT8 = 0x0010,
  39. SDP_ST_UINT16 = 0x0110,
  40. SDP_ST_UINT32 = 0x0210,
  41. SDP_ST_UINT64 = 0x0310,
  42. SDP_ST_UINT128 = 0x0410,
  43. SDP_ST_INT8 = 0x0020,
  44. SDP_ST_INT16 = 0x0120,
  45. SDP_ST_INT32 = 0x0220,
  46. SDP_ST_INT64 = 0x0320,
  47. SDP_ST_INT128 = 0x0420,
  48. SDP_ST_UUID16 = 0x0130,
  49. SDP_ST_UUID32 = 0x0220,
  50. SDP_ST_UUID128 = 0x0430
  51. } SDP_SPECIFICTYPE;
  52. typedef struct _SDP_LARGE_INTEGER_16 {
  53. ULONGLONG LowPart;
  54. LONGLONG HighPart;
  55. } SDP_LARGE_INTEGER_16;
  56. typedef struct _SDP_ULARGE_INTEGER_16 {
  57. ULONGLONG LowPart;
  58. ULONGLONG HighPart;
  59. } SDP_ULARGE_INTEGER_16;
  60. typedef struct _SPD_ELEMENT_DATA {
  61. SDP_TYPE type;
  62. SDP_SPECIFICTYPE specificType;
  63. __C89_NAMELESS union {
  64. SDP_LARGE_INTEGER_16 int128;
  65. LONGLONG int64;
  66. LONG int32;
  67. SHORT int16;
  68. CHAR int8;
  69. SDP_ULARGE_INTEGER_16 uint128;
  70. ULONGLONG uint64;
  71. ULONG uint32;
  72. USHORT uint16;
  73. UCHAR uint8;
  74. UCHAR booleanVal;
  75. GUID uuid128;
  76. ULONG uuid32;
  77. USHORT uuid16;
  78. struct {
  79. LPBYTE value;
  80. ULONG length;
  81. } string;
  82. struct {
  83. LPBYTE value;
  84. ULONG length;
  85. } url;
  86. struct {
  87. LPBYTE value;
  88. ULONG length;
  89. } sequence;
  90. struct {
  91. LPBYTE value;
  92. ULONG length;
  93. } alternative;
  94. } data;
  95. } SDP_ELEMENT_DATA, *PSDP_ELEMENT_DATA;
  96. typedef struct _SDP_STRING_TYPE_DATA {
  97. USHORT encoding;
  98. USHORT mibeNum;
  99. USHORT attributeID;
  100. } SDP_STRING_TYPE_DATA, *PSDP_STRING_TYPE_DATA;
  101. #ifdef __cplusplus
  102. }
  103. #endif
  104. #endif /*_INC_BTHSDPDEF*/