ReactOS 0.4.16-dev-2491-g3dc6630
bluetoothapis.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 2016 Austin English
3 *
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
8 *
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
13 *
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
17 */
18#ifndef __BLUETOOTHAPIS_H
19#define __BLUETOOTHAPIS_H
20
21#ifdef __cplusplus
22extern "C" {
23#endif
24
26
27typedef struct _BLUETOOTH_ADDRESS {
28 union {
33
34#define BLUETOOTH_ADDRESS BLUETOOTH_ADDRESS_STRUCT
35#define BLUETOOTH_NULL_ADDRESS ((ULONGLONG) 0x0)
36
37#define BLUETOOTH_MAX_NAME_SIZE (248)
38#define BLUETOOTH_MAX_PASSKEY_SIZE (16)
39#define BLUETOOTH_MAX_PASSKEY_BUFFER_SIZE (BLUETOOTH_MAX_PASSKEY_SIZE + 1)
40
41#define BLUETOOTH_SERVICE_DISABLE 0x00
42#define BLUETOOTH_SERVICE_ENABLE 0x01
43#define BLUETOOTH_SERVICE_MASK (BLUETOOTH_ENABLE_SERVICE | BLUETOOTH_DISABLE_SERVICE)
44
48
49typedef struct _BLUETOOTH_RADIO_INFO {
57
58typedef struct _BLUETOOTH_DEVICE_INFO {
69
80
85
86typedef struct _BLUETOOTH_COD_PAIRS {
90
92
106 void *pvParam;
110
112
113#define BLUETOOTH_DEVICE_INFO BLUETOOTH_DEVICE_INFO_STRUCT
114
116
124
132
142
148 union{
151 };
153
155
156typedef struct _SDP_ELEMENT_DATA {
159 union {
165
171
173
177
178 struct {
182
183 struct {
184 BYTE *value;
187
188 struct {
189 BYTE *value;
192
193 struct {
194 BYTE *value;
199
200typedef struct _SDP_STRING_TYPE_DATA {
205
207 ULONG uAttribId,
208 BYTE *pValueStream,
209 ULONG cbStreamSize,
210 void *pvParam);
211
231#define BluetoothEnumAttributes BluetoothSdpEnumAttributes
243
244#ifdef __cplusplus
245}
246#endif
247
248#endif /* __BLUETOOTHAPIS_H */
DWORD WINAPI BluetoothSdpGetContainerElementData(BYTE *, ULONG, HBLUETOOTH_CONTAINER_ELEMENT *, PSDP_ELEMENT_DATA)
DWORD WINAPI BluetoothAuthenticateDevice(HWND, HANDLE, BLUETOOTH_DEVICE_INFO *, WCHAR *, ULONG)
BOOL WINAPI BluetoothFindDeviceClose(HBLUETOOTH_DEVICE_FIND)
Definition: main.c:126
struct _BLUETOOTH_DEVICE_SEARCH_PARAMS BLUETOOTH_DEVICE_SEARCH_PARAMS
struct _BLUETOOTH_SELECT_DEVICE_PARAMS BLUETOOTH_SELECT_DEVICE_PARAMS
DWORD WINAPI BluetoothSdpGetAttributeValue(BYTE *, ULONG, USHORT, PSDP_ELEMENT_DATA)
BOOL WINAPI BluetoothDisplayDeviceProperties(HWND, BLUETOOTH_DEVICE_INFO *)
BOOL WINAPI BluetoothFindRadioClose(HBLUETOOTH_RADIO_FIND)
Definition: main.c:105
struct _BLUETOOTH_ADDRESS BLUETOOTH_ADDRESS_STRUCT
HBLUETOOTH_RADIO_FIND WINAPI BluetoothFindFirstRadio(BLUETOOTH_FIND_RADIO_PARAMS *, HANDLE *)
Definition: main.c:58
DWORD WINAPI BluetoothSdpGetElementData(BYTE *, ULONG, PSDP_ELEMENT_DATA)
DWORD WINAPI BluetoothSendAuthenticationResponse(HANDLE, BLUETOOTH_DEVICE_INFO *, WCHAR *)
BOOL WINAPI BluetoothUnregisterAuthentication(HBLUETOOTH_AUTHENTICATION_REGISTRATION)
Definition: main.c:209
BOOL(WINAPI * PFN_AUTHENTICATION_CALLBACK)(void *, PBLUETOOTH_DEVICE_INFO)
BOOL WINAPI BluetoothSelectDevicesFree(BLUETOOTH_SELECT_DEVICE_PARAMS *)
struct _SDP_ELEMENT_DATA * PSDP_ELEMENT_DATA
enum _BLUETOOTH_AUTHENTICATION_METHOD BLUETOOTH_AUTHENTICATION_METHOD
BOOL WINAPI BluetoothFindNextRadio(HBLUETOOTH_RADIO_FIND, HANDLE *)
Definition: main.c:136
BOOL WINAPI BluetoothIsDiscoverable(HANDLE)
BOOL WINAPI BluetoothSelectDevices(BLUETOOTH_SELECT_DEVICE_PARAMS *)
DWORD WINAPI BluetoothGetRadioInfo(HANDLE, PBLUETOOTH_RADIO_INFO)
Definition: main.c:180
DWORD WINAPI BluetoothRegisterForAuthentication(const BLUETOOTH_DEVICE_INFO *, HBLUETOOTH_AUTHENTICATION_REGISTRATION *, PFN_AUTHENTICATION_CALLBACK, void *)
struct _BLUETOOTH_COD_PAIRS BLUETOOTH_COD_PAIRS
HANDLE HBLUETOOTH_DEVICE_FIND
Definition: bluetoothapis.h:83
struct _BLUETOOTH_FIND_RADIO_PARAMS BLUETOOTH_FIND_RADIO_PARAMS
ULONGLONG BTH_ADDR
Definition: bluetoothapis.h:25
HANDLE HBLUETOOTH_RADIO_FIND
Definition: bluetoothapis.h:84
BOOL(CALLBACK * PFN_AUTHENTICATION_CALLBACK_EX)(void *, BLUETOOTH_AUTHENTICATION_CALLBACK_PARAMS *)
BOOL WINAPI BluetoothFindNextDevice(HBLUETOOTH_DEVICE_FIND, BLUETOOTH_DEVICE_INFO *)
Definition: main.c:189
struct _BLUETOOTH_DEVICE_INFO BLUETOOTH_DEVICE_INFO_STRUCT
DWORD WINAPI BluetoothSetServiceState(HANDLE, BLUETOOTH_DEVICE_INFO *, GUID *, DWORD)
enum _BLUETOOTH_AUTHENTICATION_METHOD * PBLUETOOTH_AUTHENTICATION_METHOD
_BLUETOOTH_AUTHENTICATION_METHOD
@ BLUETOOTH_AUTHENTICATION_METHOD_PASSKEY
@ BLUETOOTH_AUTHENTICATION_METHOD_PASSKEY_NOTIFICATION
@ BLUETOOTH_AUTHENTICATION_METHOD_LEGACY
@ BLUETOOTH_AUTHENTICATION_METHOD_NUMERIC_COMPARISON
@ BLUETOOTH_AUTHENTICATION_METHOD_OOB
DWORD WINAPI BluetoothRemoveDevice(BLUETOOTH_ADDRESS *)
BOOL WINAPI BluetoothEnableIncomingConnections(HANDLE, BOOL)
DWORD WINAPI BluetoothGetDeviceInfo(HANDLE, BLUETOOTH_DEVICE_INFO *)
HANDLE HBLUETOOTH_AUTHENTICATION_REGISTRATION
Definition: bluetoothapis.h:81
BOOL WINAPI BluetoothEnableDiscovery(HANDLE, BOOL)
DWORD WINAPI BluetoothAuthenticateMultipleDevices(HWND, HANDLE, DWORD, BLUETOOTH_DEVICE_INFO *)
_BLUETOOTH_IO_CAPABILITY
@ BLUETOOTH_IO_CAPABILITY_NOINPUTNOOUTPUT
@ BLUETOOTH_IO_CAPABILITY_UNDEFINED
@ BLUETOOTH_IO_CAPABILITY_DISPLAYYESNO
@ BLUETOOTH_IO_CAPABILITY_KEYBOARDONLY
@ BLUETOOTH_IO_CAPABILITY_DISPLAYONLY
BOOL WINAPI BluetoothSdpEnumAttributes(BYTE *, ULONG, PFN_BLUETOOTH_ENUM_ATTRIBUTES_CALLBACK, void *)
Definition: sdp.c:320
struct _SDP_STRING_TYPE_DATA SDP_STRING_TYPE_DATA
struct _BLUETOOTH_AUTHENTICATION_CALLBACK_PARAMS * PBLUETOOTH_AUTHENTICATION_CALLBACK_PARAMS
_BLUETOOTH_AUTHENTICATION_REQUIREMENTS
@ BLUETOOTH_MITM_ProtectionNotRequired
@ BLUETOOTH_MITM_ProtectionNotRequiredGeneralBonding
@ BLUETOOTH_MITM_ProtectionNotDefined
@ BLUETOOTH_MITM_ProtectionRequired
@ BLUETOOTH_MITM_ProtectionRequiredBonding
@ BLUETOOTH_MITM_ProtectionRequiredGeneralBonding
@ BLUETOOTH_MITM_ProtectionNotRequiredBonding
DWORD WINAPI BluetoothSdpGetString(BYTE *, ULONG, PSDP_STRING_TYPE_DATA, USHORT, WCHAR *, ULONG *)
#define BLUETOOTH_ADDRESS
Definition: bluetoothapis.h:34
HANDLE HBLUETOOTH_CONTAINER_ELEMENT
Definition: bluetoothapis.h:82
#define BLUETOOTH_DEVICE_INFO
enum _BLUETOOTH_AUTHENTICATION_REQUIREMENTS BLUETOOTH_AUTHENTICATION_REQUIREMENTS
struct _BLUETOOTH_RADIO_INFO * PBLUETOOTH_RADIO_INFO
BOOL WINAPI BluetoothIsConnectable(HANDLE)
struct _BLUETOOTH_RADIO_INFO BLUETOOTH_RADIO_INFO
HBLUETOOTH_DEVICE_FIND WINAPI BluetoothFindFirstDevice(BLUETOOTH_DEVICE_SEARCH_PARAMS *, BLUETOOTH_DEVICE_INFO *)
Definition: main.c:47
BOOL(WINAPI * PFN_DEVICE_CALLBACK)(void *pvParam, const BLUETOOTH_DEVICE_INFO *pDevice)
Definition: bluetoothapis.h:91
struct _BLUETOOTH_AUTHENTICATION_CALLBACK_PARAMS BLUETOOTH_AUTHENTICATION_CALLBACK_PARAMS
BOOL(CALLBACK * PFN_BLUETOOTH_ENUM_ATTRIBUTES_CALLBACK)(ULONG uAttribId, BYTE *pValueStream, ULONG cbStreamSize, void *pvParam)
struct _BLUETOOTH_DEVICE_INFO * PBLUETOOTH_DEVICE_INFO
DWORD WINAPI BluetoothUpdateDeviceRecord(BLUETOOTH_DEVICE_INFO *)
DWORD WINAPI BluetoothRegisterForAuthenticationEx(const BLUETOOTH_DEVICE_INFO *, HBLUETOOTH_AUTHENTICATION_REGISTRATION *, PFN_AUTHENTICATION_CALLBACK_EX, void *)
Definition: main.c:199
struct _SDP_ELEMENT_DATA SDP_ELEMENT_DATA
struct _SDP_STRING_TYPE_DATA * PSDP_STRING_TYPE_DATA
#define BLUETOOTH_MAX_NAME_SIZE
Definition: bluetoothapis.h:37
DWORD WINAPI BluetoothEnumerateInstalledServices(HANDLE, BLUETOOTH_DEVICE_INFO *, DWORD *, GUID *)
enum _BLUETOOTH_IO_CAPABILITY BLUETOOTH_IO_CAPABILITY
SDP_SPECIFICTYPE
Definition: bthsdpdef.h:55
SDP_TYPE
Definition: bthsdpdef.h:42
#define CALLBACK
Definition: compat.h:35
unsigned int BOOL
Definition: ntddk_ex.h:94
unsigned long DWORD
Definition: ntddk_ex.h:95
FxDevice * pDevice
#define BOOL
Definition: nt_native.h:43
short SHORT
Definition: pedump.c:59
long LONG
Definition: pedump.c:60
unsigned short USHORT
Definition: pedump.c:61
union _BLUETOOTH_ADDRESS::@2939 DUMMYUNIONNAME
BLUETOOTH_AUTHENTICATION_REQUIREMENTS authenticationRequirements
BLUETOOTH_AUTHENTICATION_METHOD authenticationMethod
const WCHAR * pcszDescription
Definition: bluetoothapis.h:88
BLUETOOTH_ADDRESS Address
Definition: bluetoothapis.h:60
WCHAR szName[BLUETOOTH_MAX_NAME_SIZE]
Definition: bluetoothapis.h:67
WCHAR szName[BLUETOOTH_MAX_NAME_SIZE]
Definition: bluetoothapis.h:52
BLUETOOTH_ADDRESS address
Definition: bluetoothapis.h:51
BLUETOOTH_COD_PAIRS * prgClassOfDevices
Definition: bluetoothapis.h:96
PBLUETOOTH_DEVICE_INFO pDevices
PFN_DEVICE_CALLBACK pfnDeviceCallback
SDP_ULARGE_INTEGER_16 uint128
SDP_LARGE_INTEGER_16 int128
struct _SDP_ELEMENT_DATA::@2942::@2944 url
struct _SDP_ELEMENT_DATA::@2942::@2945 sequence
union _SDP_ELEMENT_DATA::@2942 data
SDP_SPECIFICTYPE specificType
struct _SDP_ELEMENT_DATA::@2942::@2946 alternative
struct _SDP_ELEMENT_DATA::@2942::@2943 string
int64_t LONGLONG
Definition: typedefs.h:68
uint32_t ULONG
Definition: typedefs.h:59
uint64_t ULONGLONG
Definition: typedefs.h:67
#define WINAPI
Definition: msvc.h:6
unsigned char UCHAR
Definition: xmlstorage.h:181
__wchar_t WCHAR
Definition: xmlstorage.h:180
char CHAR
Definition: xmlstorage.h:175
unsigned char BYTE
Definition: xxhash.c:193