Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(317)

Side by Side Diff: device/bluetooth/bluetooth_low_energy_defs_win.h

Issue 720033003: Update to VS2013 Update 4, and Windows SDK 8.1 (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: ntddi Created 6 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « content/content_gl_tests.isolate ('k') | third_party/usrsctp/usrsctp.gyp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef DEVICE_BLUETOOTH_BLUETOOTH_LOW_ENERGY_DEFS_WIN_H_ 5 #ifndef DEVICE_BLUETOOTH_BLUETOOTH_LOW_ENERGY_DEFS_WIN_H_
6 #define DEVICE_BLUETOOTH_BLUETOOTH_LOW_ENERGY_DEFS_WIN_H_ 6 #define DEVICE_BLUETOOTH_BLUETOOTH_LOW_ENERGY_DEFS_WIN_H_
7 7
8 #include <windows.h> 8 #include <windows.h>
9 #include <cfg.h> 9 #include <cfg.h>
10 #include <devpkey.h> 10 #include <devpkey.h>
11 #include <setupapi.h> 11 #include <setupapi.h>
12 // #include <bthledef.h>
13 // TODO(rpaquay):
14 // bthledef.h from Win8 SDK has a couple of issues when used in a Win32 app:
15 // * line 420: usage of "pragma pop" instead of "pragma warning(pop)"
16 // * line 349: no CALLBACK modifier in the definition of
17 // PFNBLUETOOTH_GATT_EVENT_CALLBACK.
18 //
19 // So, we duplicate the definitions we need and prevent the build from including
20 // the content of bthledef.h.
21 #ifndef __BTHLEDEF_H__
22 #define __BTHLEDEF_H__
23 12
24 // 13 #pragma warning(push)
25 // Bluetooth LE device interface GUID 14 // bthledef.h is buggy and contains
26 // 15 // #pragma pop
27 // {781aee18-7733-4ce4-adb0-91f41c67b592} 16 // which should be
28 DEFINE_GUID(GUID_BLUETOOTHLE_DEVICE_INTERFACE, 17 // #pragma warning(pop)
29 0x781aee18, 18 // So, we disable the "unknown pragma" warning, then actually pop, and then pop
30 0x7733, 19 // our disabling of 4068.
31 0x4ce4, 20 #pragma warning(disable: 4068)
32 0xad, 21 #include <bthledef.h>
33 0xd0, 22 #pragma warning(pop)
34 0x91, 23 #pragma warning(pop)
35 0xf4,
36 0x1c,
37 0x67,
38 0xb5,
39 0x92);
40 24
41 DEFINE_GUID(BTH_LE_ATT_BLUETOOTH_BASE_GUID,
42 0x00000000,
43 0x0000,
44 0x1000,
45 0x80,
46 0x00,
47 0x00,
48 0x80,
49 0x5F,
50 0x9B,
51 0x34,
52 0xFB);
53
54 #define BLUETOOTH_GATT_FLAG_NONE 0x00000000
55
56 typedef struct _BTH_LE_UUID {
57 BOOLEAN IsShortUuid;
58 #ifdef MIDL_PASS
59 [ switch_type(BOOLEAN), switch_is((BOOLEAN)IsShortUuid) ]
60 #endif
61 union {
62 #ifdef MIDL_PASS
63 [case(TRUE)]
64 #endif
65 USHORT ShortUuid;
66 #ifdef MIDL_PASS
67 [case(FALSE)]
68 #endif
69 GUID LongUuid;
70 } Value;
71 } BTH_LE_UUID, *PBTH_LE_UUID;
72
73 typedef struct _BTH_LE_GATT_SERVICE {
74 BTH_LE_UUID ServiceUuid;
75 USHORT AttributeHandle;
76 } BTH_LE_GATT_SERVICE, *PBTH_LE_GATT_SERVICE;
77
78 typedef struct _BTH_LE_GATT_CHARACTERISTIC {
79 USHORT ServiceHandle;
80 BTH_LE_UUID CharacteristicUuid;
81 USHORT AttributeHandle;
82 USHORT CharacteristicValueHandle;
83 BOOLEAN IsBroadcastable;
84 BOOLEAN IsReadable;
85 BOOLEAN IsWritable;
86 BOOLEAN IsWritableWithoutResponse;
87 BOOLEAN IsSignedWritable;
88 BOOLEAN IsNotifiable;
89 BOOLEAN IsIndicatable;
90 BOOLEAN HasExtendedProperties;
91 } BTH_LE_GATT_CHARACTERISTIC, *PBTH_LE_GATT_CHARACTERISTIC;
92
93 typedef struct _BTH_LE_GATT_CHARACTERISTIC_VALUE {
94 ULONG DataSize;
95
96 #ifdef MIDL_PASS
97 [size_is(DataSize)] UCHAR Data[*];
98 #else
99 _Field_size_bytes_(DataSize) UCHAR Data[1];
100 #endif
101 } BTH_LE_GATT_CHARACTERISTIC_VALUE, *PBTH_LE_GATT_CHARACTERISTIC_VALUE;
102
103 typedef enum _BTH_LE_GATT_DESCRIPTOR_TYPE {
104 CharacteristicExtendedProperties,
105 CharacteristicUserDescription,
106 ClientCharacteristicConfiguration,
107 ServerCharacteristicConfiguration,
108 CharacteristicFormat,
109 CharacteristicAggregateFormat,
110 CustomDescriptor
111 } BTH_LE_GATT_DESCRIPTOR_TYPE,
112 *PBTH_LE_GATT_DESCRIPTOR_TYPE;
113
114 typedef struct _BTH_LE_GATT_DESCRIPTOR {
115 USHORT ServiceHandle;
116 USHORT CharacteristicHandle;
117 BTH_LE_GATT_DESCRIPTOR_TYPE DescriptorType;
118 BTH_LE_UUID DescriptorUuid;
119 USHORT AttributeHandle;
120 } BTH_LE_GATT_DESCRIPTOR, *PBTH_LE_GATT_DESCRIPTOR;
121
122 typedef struct _BTH_LE_GATT_DESCRIPTOR_VALUE {
123 BTH_LE_GATT_DESCRIPTOR_TYPE DescriptorType;
124 BTH_LE_UUID DescriptorUuid;
125
126 #ifdef MIDL_PASS
127 [
128 switch_type(BTH_LE_GATT_DESCRIPTOR_TYPE),
129 switch_is((BTH_LE_GATT_DESCRIPTOR_TYPE)DescriptorType)
130 ]
131 #endif
132 union {
133
134 #ifdef MIDL_PASS
135 [case(CharacteristicExtendedProperties)]
136 #endif
137 struct {
138 BOOLEAN IsReliableWriteEnabled;
139 BOOLEAN IsAuxiliariesWritable;
140 } CharacteristicExtendedProperties;
141
142 #ifdef MIDL_PASS
143 [case(ClientCharacteristicConfiguration)]
144 #endif
145 struct {
146 BOOLEAN IsSubscribeToNotification;
147 BOOLEAN IsSubscribeToIndication;
148 } ClientCharacteristicConfiguration;
149
150 #ifdef MIDL_PASS
151 [case(ServerCharacteristicConfiguration)]
152 #endif
153 struct {
154 BOOLEAN IsBroadcast;
155 } ServerCharacteristicConfiguration;
156
157 #ifdef MIDL_PASS
158 [case(CharacteristicFormat)]
159 #endif
160 struct {
161 UCHAR Format;
162 UCHAR Exponent;
163 BTH_LE_UUID Unit;
164 UCHAR NameSpace;
165 BTH_LE_UUID Description;
166 } CharacteristicFormat;
167 #ifdef MIDL_PASS
168 [default];
169 #endif
170 };
171
172 ULONG DataSize;
173
174 #ifdef MIDL_PASS
175 [size_is(DataSize)] UCHAR Data[*];
176 #else
177 _Field_size_bytes_(DataSize) UCHAR Data[1];
178 #endif
179 } BTH_LE_GATT_DESCRIPTOR_VALUE, *PBTH_LE_GATT_DESCRIPTOR_VALUE;
180
181 typedef enum _BTH_LE_GATT_EVENT_TYPE {
182 CharacteristicValueChangedEvent,
183 } BTH_LE_GATT_EVENT_TYPE;
184
185 typedef ULONG64 BTH_LE_GATT_RELIABLE_WRITE_CONTEXT,
186 *PBTH_LE_GATT_RELIABLE_WRITE_CONTEXT;
187
188 #endif // __BTHLEDEF_H__
189 #include <bluetoothapis.h> 25 #include <bluetoothapis.h>
190 #include <bluetoothleapis.h> 26 #include <bluetoothleapis.h>
191 27
192 #endif // DEVICE_BLUETOOTH_BLUETOOTH_LOW_ENERGY_DEFS_WIN_H_ 28 #endif // DEVICE_BLUETOOTH_BLUETOOTH_LOW_ENERGY_DEFS_WIN_H_
OLDNEW
« no previous file with comments | « content/content_gl_tests.isolate ('k') | third_party/usrsctp/usrsctp.gyp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698