master
 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
 7#ifndef __BLUETOOTHLEAPIS_H__
 8#define __BLUETOOTHLEAPIS_H__
 9
10#include <winapifamily.h>
11#include <bthledef.h>
12
13#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
14
15#ifdef __cplusplus
16extern "C"{
17#endif
18
19#if NTDDI_VERSION >= NTDDI_WIN8
20
21HRESULT WINAPI BluetoothGATTGetServices(HANDLE hDevice, USHORT ServicesBufferCount, PBTH_LE_GATT_SERVICE ServicesBuffer, USHORT *ServicesBufferActual, ULONG Flags);
22HRESULT WINAPI BluetoothGATTGetIncludedServices(HANDLE hDevice, PBTH_LE_GATT_SERVICE ParentService, USHORT IncludedServicesBufferCount, PBTH_LE_GATT_SERVICE IncludedServicesBuffer, USHORT *IncludedServicesBufferActual, ULONG Flags);
23HRESULT WINAPI BluetoothGATTGetCharacteristics(HANDLE hDevice, PBTH_LE_GATT_SERVICE Service, USHORT CharacteristicsBufferCount, PBTH_LE_GATT_CHARACTERISTIC CharacteristicsBuffer, USHORT *CharacteristicsBufferActual, ULONG Flags);
24HRESULT WINAPI BluetoothGATTGetDescriptors(HANDLE hDevice, PBTH_LE_GATT_CHARACTERISTIC Characteristic, USHORT DescriptorsBufferCount, PBTH_LE_GATT_DESCRIPTOR DescriptorsBuffer, USHORT *DescriptorsBufferActual, ULONG Flags);
25HRESULT WINAPI BluetoothGATTGetCharacteristicValue(HANDLE hDevice, PBTH_LE_GATT_CHARACTERISTIC Characteristic, ULONG CharacteristicValueDataSize, PBTH_LE_GATT_CHARACTERISTIC_VALUE CharacteristicValue, USHORT *CharacteristicValueSizeRequired, ULONG Flags);
26HRESULT WINAPI BluetoothGATTGetDescriptorValue(HANDLE hDevice, PBTH_LE_GATT_DESCRIPTOR Descriptor, ULONG DescriptorValueDataSize, PBTH_LE_GATT_DESCRIPTOR_VALUE DescriptorValue, USHORT *DescriptorValueSizeRequired, ULONG Flags);
27HRESULT WINAPI BluetoothGATTBeginReliableWrite(HANDLE hDevice, PBTH_LE_GATT_RELIABLE_WRITE_CONTEXT ReliableWriteContext, ULONG Flags);
28HRESULT WINAPI BluetoothGATTSetCharacteristicValue(HANDLE hDevice, PBTH_LE_GATT_CHARACTERISTIC Characteristic, PBTH_LE_GATT_CHARACTERISTIC_VALUE CharacteristicValue, BTH_LE_GATT_RELIABLE_WRITE_CONTEXT ReliableWriteContext, ULONG Flags);
29HRESULT WINAPI BluetoothGATTEndReliableWrite(HANDLE hDevice, BTH_LE_GATT_RELIABLE_WRITE_CONTEXT ReliableWriteContext, ULONG Flags);
30HRESULT WINAPI BluetoothGATTAbortReliableWrite(HANDLE hDevice, BTH_LE_GATT_RELIABLE_WRITE_CONTEXT ReliableWriteContext, ULONG Flags);
31HRESULT WINAPI BluetoothGATTSetDescriptorValue(HANDLE hDevice, PBTH_LE_GATT_DESCRIPTOR Descriptor, PBTH_LE_GATT_DESCRIPTOR_VALUE DescriptorValue, ULONG Flags);
32HRESULT WINAPI BluetoothGATTRegisterEvent(HANDLE hService, BTH_LE_GATT_EVENT_TYPE EventType, PVOID EventParameterIn, PFNBLUETOOTH_GATT_EVENT_CALLBACK Callback, PVOID CallbackContext, BLUETOOTH_GATT_EVENT_HANDLE *pEventHandle, ULONG Flags);
33HRESULT WINAPI BluetoothGATTUnregisterEvent(BLUETOOTH_GATT_EVENT_HANDLE EventHandle, ULONG Flags);
34
35#endif /* NTDDI_WIN8 */
36
37#ifdef __cplusplus
38}
39#endif
40
41#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
42
43#endif /* __BLUETOOTHLEAPIS_H__ */