Home | History | Annotate | Download | only in include
      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