| /** | |
| * This file has no copyright assigned and is placed in the Public Domain. | |
| * This file is part of the w64 mingw-runtime package. | |
| * No warranty is given; refer to the file DISCLAIMER.PD within this package. | |
| */ | |
| #ifndef _INC_BTHSDPDEF | |
| #define _INC_BTHSDPDEF | |
| #ifdef __cplusplus | |
| extern "C" { | |
| #endif | |
| typedef union SdpQueryUuidUnion { | |
| GUID uuid128; | |
| ULONG uuid32; | |
| USHORT uuid16; | |
| } SdpQueryUuidUnion; | |
| typedef struct _SdpAttributeRange { | |
| USHORT minAttribute; | |
| USHORT maxAttribute; | |
| } SdpAttributeRange; | |
| typedef struct _SdpQueryUuid { | |
| SdpQueryUuidUnion u; | |
| USHORT uuidType; | |
| } SdpQueryUuid; | |
| typedef enum _SDP_TYPE { | |
| SDP_TYPE_NIL = 0x00, | |
| SDP_TYPE_UINT = 0x01, | |
| SDP_TYPE_INT = 0x02, | |
| SDP_TYPE_UUID = 0x03, | |
| SDP_TYPE_STRING = 0x04, | |
| SDP_TYPE_BOOLEAN = 0x05, | |
| SDP_TYPE_SEQUENCE = 0x06, | |
| SDP_TYPE_ALTERNATIVE = 0x07, | |
| SDP_TYPE_URL = 0x08, | |
| SDP_TYPE_CONTAINER = 0x20 | |
| } SDP_TYPE; | |
| typedef enum _SDP_SPECIFICTYPE { | |
| SDP_ST_NONE = 0x0000, | |
| SDP_ST_UINT8 = 0x0010, | |
| SDP_ST_UINT16 = 0x0110, | |
| SDP_ST_UINT32 = 0x0210, | |
| SDP_ST_UINT64 = 0x0310, | |
| SDP_ST_UINT128 = 0x0410, | |
| SDP_ST_INT8 = 0x0020, | |
| SDP_ST_INT16 = 0x0120, | |
| SDP_ST_INT32 = 0x0220, | |
| SDP_ST_INT64 = 0x0320, | |
| SDP_ST_INT128 = 0x0420, | |
| SDP_ST_UUID16 = 0x0130, | |
| SDP_ST_UUID32 = 0x0220, | |
| SDP_ST_UUID128 = 0x0430 | |
| } SDP_SPECIFICTYPE; | |
| /* TODO: VERIFY SDP_LARGE_INTEGER_16 */ | |
| typedef struct _SDP_LARGE_INTEGER_16 { | |
| ULONGLONG LowPart; | |
| LONGLONG HighPart; | |
| } SDP_LARGE_INTEGER_16; | |
| /* TODO: VERIFY SDP_ULARGE_INTEGER_16 */ | |
| typedef struct _SDP_ULARGE_INTEGER_16 { | |
| ULONGLONG LowPart; | |
| ULONGLONG HighPart; | |
| } SDP_ULARGE_INTEGER_16; | |
| typedef struct _SPD_ELEMENT_DATA { | |
| SDP_TYPE type; | |
| SDP_SPECIFICTYPE specificType; | |
| __C89_NAMELESS union { | |
| SDP_LARGE_INTEGER_16 int128; | |
| LONGLONG int64; | |
| LONG int32; | |
| SHORT int16; | |
| CHAR int8; | |
| SDP_ULARGE_INTEGER_16 uint128; | |
| ULONGLONG uint64; | |
| ULONG uint32; | |
| USHORT uint16; | |
| UCHAR uint8; | |
| UCHAR booleanVal; | |
| GUID uuid128; | |
| ULONG uuid32; | |
| USHORT uuid16; | |
| struct { | |
| LPBYTE value; | |
| ULONG length; | |
| } string; | |
| struct { | |
| LPBYTE value; | |
| ULONG length; | |
| } url; | |
| struct { | |
| LPBYTE value; | |
| ULONG length; | |
| } sequence; | |
| struct { | |
| LPBYTE value; | |
| ULONG length; | |
| } alternative; | |
| } data; | |
| } SDP_ELEMENT_DATA, *PSDP_ELEMENT_DATA; | |
| typedef struct _SDP_STRING_TYPE_DATA { | |
| USHORT encoding; | |
| USHORT mibeNum; | |
| USHORT attributeID; | |
| } SDP_STRING_TYPE_DATA, *PSDP_STRING_TYPE_DATA; | |
| #ifdef __cplusplus | |
| } | |
| #endif | |
| #endif /*_INC_BTHSDPDEF*/ |