/**
* This file has no copyright assigned and is placed in the Public Domain.
* This file is part of the mingw-w64 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;
typedef struct _SDP_LARGE_INTEGER_16 {
ULONGLONG LowPart;
LONGLONG HighPart;
} SDP_LARGE_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*/