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 9 #ifdef __cplusplus 10 extern "C" { 11 #endif 12 13 typedef union SdpQueryUuidUnion { 14 GUID uuid128; 15 ULONG uuid32; 16 USHORT uuid16; 17 } SdpQueryUuidUnion; 18 19 typedef struct _SdpAttributeRange { 20 USHORT minAttribute; 21 USHORT maxAttribute; 22 } SdpAttributeRange; 23 24 typedef struct _SdpQueryUuid { 25 SdpQueryUuidUnion u; 26 USHORT uuidType; 27 } SdpQueryUuid; 28 29 typedef enum _SDP_TYPE { 30 SDP_TYPE_NIL = 0x00, 31 SDP_TYPE_UINT = 0x01, 32 SDP_TYPE_INT = 0x02, 33 SDP_TYPE_UUID = 0x03, 34 SDP_TYPE_STRING = 0x04, 35 SDP_TYPE_BOOLEAN = 0x05, 36 SDP_TYPE_SEQUENCE = 0x06, 37 SDP_TYPE_ALTERNATIVE = 0x07, 38 SDP_TYPE_URL = 0x08, 39 SDP_TYPE_CONTAINER = 0x20 40 } SDP_TYPE; 41 42 typedef enum _SDP_SPECIFICTYPE { 43 SDP_ST_NONE = 0x0000, 44 SDP_ST_UINT8 = 0x0010, 45 SDP_ST_UINT16 = 0x0110, 46 SDP_ST_UINT32 = 0x0210, 47 SDP_ST_UINT64 = 0x0310, 48 SDP_ST_UINT128 = 0x0410, 49 SDP_ST_INT8 = 0x0020, 50 SDP_ST_INT16 = 0x0120, 51 SDP_ST_INT32 = 0x0220, 52 SDP_ST_INT64 = 0x0320, 53 SDP_ST_INT128 = 0x0420, 54 SDP_ST_UUID16 = 0x0130, 55 SDP_ST_UUID32 = 0x0220, 56 SDP_ST_UUID128 = 0x0430 57 } SDP_SPECIFICTYPE; 58 59 typedef struct _SDP_LARGE_INTEGER_16 { 60 ULONGLONG LowPart; 61 LONGLONG HighPart; 62 } SDP_LARGE_INTEGER_16; 63 64 typedef struct _SDP_ULARGE_INTEGER_16 { 65 ULONGLONG LowPart; 66 ULONGLONG HighPart; 67 } SDP_ULARGE_INTEGER_16; 68 69 typedef struct _SPD_ELEMENT_DATA { 70 SDP_TYPE type; 71 SDP_SPECIFICTYPE specificType; 72 __C89_NAMELESS union { 73 SDP_LARGE_INTEGER_16 int128; 74 LONGLONG int64; 75 LONG int32; 76 SHORT int16; 77 CHAR int8; 78 SDP_ULARGE_INTEGER_16 uint128; 79 ULONGLONG uint64; 80 ULONG uint32; 81 USHORT uint16; 82 UCHAR uint8; 83 UCHAR booleanVal; 84 GUID uuid128; 85 ULONG uuid32; 86 USHORT uuid16; 87 struct { 88 LPBYTE value; 89 ULONG length; 90 } string; 91 struct { 92 LPBYTE value; 93 ULONG length; 94 } url; 95 struct { 96 LPBYTE value; 97 ULONG length; 98 } sequence; 99 struct { 100 LPBYTE value; 101 ULONG length; 102 } alternative; 103 } data; 104 } SDP_ELEMENT_DATA, *PSDP_ELEMENT_DATA; 105 106 typedef struct _SDP_STRING_TYPE_DATA { 107 USHORT encoding; 108 USHORT mibeNum; 109 USHORT attributeID; 110 } SDP_STRING_TYPE_DATA, *PSDP_STRING_TYPE_DATA; 111 112 #ifdef __cplusplus 113 } 114 #endif 115 #endif /*_INC_BTHSDPDEF*/ 116