From 6110a1604b7c688ecd5cf671de2044c310f04298 Mon Sep 17 00:00:00 2001
From: Biswapriyo Nath <[email protected]>
Date: Mon, 28 Aug 2023 20:16:57 +0530
Subject: [PATCH] headers: Add missing symbols in bthdef.h

Signed-off-by: Biswapriyo Nath <[email protected]>
---
 mingw-w64-headers/include/bthdef.h | 162 +++++++++++++++++++++++++++--
 1 file changed, 156 insertions(+), 6 deletions(-)

diff --git a/mingw-w64-headers/include/bthdef.h 
b/mingw-w64-headers/include/bthdef.h
index d49a60a..95cfbfa 100644
--- a/mingw-w64-headers/include/bthdef.h
+++ b/mingw-w64-headers/include/bthdef.h
@@ -13,9 +13,10 @@ extern "C" {
 #endif
 
 /* ULONGLONG according to google */
-__MINGW_EXTENSION typedef ULONGLONG BTH_ADDR;
+__MINGW_EXTENSION typedef ULONGLONG BTH_ADDR, *PBTH_ADDR;
 /* ULONG according to google */
-typedef ULONG BTH_COD;
+typedef ULONG BTH_COD, *PBTH_COD;
+typedef ULONG BTH_LAP, *PBTH_LAP;
 
 
/*http://www.koders.com/delphi/fidD54082EB25FCAB99B74E5FDB4F3937EFB567FE9A.aspx*/
 /* The following parts are under LGPL */
@@ -228,6 +229,10 @@ 
DEFINE_GUID(GenericTelephonyServiceClass_UUID,0x00001204,0x0000,0x1000,0x80,0x00
 #define BTH_MFG_SYMBOL_TECHNOLOGIES 42
 #define BTH_MFG_TENOVIS 43
 #define BTH_MFG_MACRONIX_INTERNATIONAL 44
+#define BTH_MFG_MARVELL 72
+#define BTH_MFG_APPLE 76
+#define BTH_MFG_NORDIC_SEMICONDUCTORS_ASA 89
+#define BTH_MFG_ARUBA_NETWORKS 283
 #define BTH_MFG_INTERNAL_USE 65535
 
 #define BTH_ADDR_NULL 0ULL
@@ -265,6 +270,7 @@ 
DEFINE_GUID(GenericTelephonyServiceClass_UUID,0x00001204,0x0000,0x1000,0x80,0x00
 #define COD_VERSION 0
 
 #define COD_SERVICE_LIMITED 0x0001
+#define COD_SERVICE_LE_AUDIO 0x0002
 #define COD_SERVICE_POSITIONING 0x0008
 #define COD_SERVICE_NETWORKING 0x0010
 #define COD_SERVICE_RENDERING 0x0020
@@ -274,9 +280,9 @@ 
DEFINE_GUID(GenericTelephonyServiceClass_UUID,0x00001204,0x0000,0x1000,0x80,0x00
 #define COD_SERVICE_TELEPHONY 0x0200
 #define COD_SERVICE_INFORMATION 0x0400
 
-#define COD_SERVICE_VALID_MASK 
(COD_SERVICE_LIMITED|COD_SERVICE_POSITIONING|COD_SERVICE_NETWORKING|COD_SERVICE_RENDERING|COD_SERVICE_CAPTURING|COD_SERVICE_OBJECT_XFER|COD_SERVICE_AUDIO|COD_SERVICE_TELEPHONY|COD_SERVICE_INFORMATION)
+#define COD_SERVICE_VALID_MASK (COD_SERVICE_LIMITED | COD_SERVICE_LE_AUDIO | 
COD_SERVICE_POSITIONING | COD_SERVICE_NETWORKING | COD_SERVICE_RENDERING | 
COD_SERVICE_CAPTURING | COD_SERVICE_OBJECT_XFER | COD_SERVICE_AUDIO | 
COD_SERVICE_TELEPHONY | COD_SERVICE_INFORMATION)
 
-#define COD_SERVICE_MAX_COUNT 9
+#define COD_SERVICE_MAX_COUNT 10
 
 #define COD_MAJOR_MISCELLANEOUS 0x00
 #define COD_MAJOR_COMPUTER 0x01
@@ -285,6 +291,9 @@ 
DEFINE_GUID(GenericTelephonyServiceClass_UUID,0x00001204,0x0000,0x1000,0x80,0x00
 #define COD_MAJOR_AUDIO 0x04
 #define COD_MAJOR_PERIPHERAL 0x05
 #define COD_MAJOR_IMAGING 0x06
+#define COD_MAJOR_WEARABLE 0x07
+#define COD_MAJOR_TOY 0x08
+#define COD_MAJOR_HEALTH 0x09
 #define COD_MAJOR_UNCLASSIFIED 0x1F
 
 #define COD_COMPUTER_MINOR_UNCLASSIFIED 0x00
@@ -335,6 +344,27 @@ 
DEFINE_GUID(GenericTelephonyServiceClass_UUID,0x00001204,0x0000,0x1000,0x80,0x00
 #define COD_IMAGING_MINOR_SCANNER_MASK 0x10
 #define COD_IMAGING_MINOR_PRINTER_MASK 0x20
 
+#define COD_WEARABLE_MINOR_WRIST_WATCH 0x01
+#define COD_WEARABLE_MINOR_PAGER 0x02
+#define COD_WEARABLE_MINOR_JACKET 0x03
+#define COD_WEARABLE_MINOR_HELMET 0x04
+#define COD_WEARABLE_MINOR_GLASSES 0x05
+
+#define COD_TOY_MINOR_ROBOT 0x01
+#define COD_TOY_MINOR_VEHICLE 0x02
+#define COD_TOY_MINOR_DOLL_ACTION_FIGURE 0x03
+#define COD_TOY_MINOR_CONTROLLER 0x04
+#define COD_TOY_MINOR_GAME 0x05
+
+#define COD_HEALTH_MINOR_BLOOD_PRESSURE_MONITOR 0x01
+#define COD_HEALTH_MINOR_THERMOMETER 0x02
+#define COD_HEALTH_MINOR_WEIGHING_SCALE 0x03
+#define COD_HEALTH_MINOR_GLUCOSE_METER 0x04
+#define COD_HEALTH_MINOR_PULSE_OXIMETER 0x05
+#define COD_HEALTH_MINOR_HEART_PULSE_MONITOR 0x06
+#define COD_HEALTH_MINOR_HEALTH_DATA_DISPLAY 0x07
+#define COD_HEALTH_MINOR_STEP_COUNTER 0x08
+
 #define COD_LAN_ACCESS_BIT_OFFSET 5
 #define COD_LAN_MINOR_MASK 0x0000001C
 #define COD_LAN_ACCESS_MASK 0x000000E0
@@ -379,7 +409,7 @@ typedef UCHAR BTHSTATUS, *PBTHSTATUS;
 #define BTH_ERROR_MAX_NUMBER_OF_SCO_CONNECTIONS 0x0A
 #define BTH_ERROR_ACL_CONNECTION_ALREADY_EXISTS 0x0B
 #define BTH_ERROR_COMMAND_DISALLOWED 0x0C
-#define TH_ERROR_COMMAND_DISALLOWED 0x0D
+#define BTH_ERROR_HOST_REJECTED_LIMITED_RESOURCES 0x0D
 #define BTH_ERROR_HOST_REJECTED_SECURITY_REASONS 0x0E
 #define BTH_ERROR_HOST_REJECTED_PERSONAL_DEVICE 0x0F
 #define BTH_ERROR_HOST_TIMEOUT 0x10
@@ -408,6 +438,31 @@ typedef UCHAR BTHSTATUS, *PBTHSTATUS;
 #define BTH_ERROR_QOS_IS_NOT_SUPPORTED 0x27
 #define BTH_ERROR_INSTANT_PASSED 0x28
 #define BTH_ERROR_PAIRING_WITH_UNIT_KEY_NOT_SUPPORTED 0x29
+#define BTH_ERROR_DIFFERENT_TRANSACTION_COLLISION 0x2A
+#define BTH_ERROR_QOS_UNACCEPTABLE_PARAMETER 0x2C
+#define BTH_ERROR_QOS_REJECTED 0x2D
+#define BTH_ERROR_CHANNEL_CLASSIFICATION_NOT_SUPPORTED 0x2E
+#define BTH_ERROR_INSUFFICIENT_SECURITY 0x2F
+#define BTH_ERROR_PARAMETER_OUT_OF_MANDATORY_RANGE 0x30
+#define BTH_ERROR_ROLE_SWITCH_PENDING 0x32
+#define BTH_ERROR_RESERVED_SLOT_VIOLATION 0x34
+#define BTH_ERROR_ROLE_SWITCH_FAILED 0x35
+#define BTH_ERROR_EXTENDED_INQUIRY_RESPONSE_TOO_LARGE 0x36
+#define BTH_ERROR_SECURE_SIMPLE_PAIRING_NOT_SUPPORTED_BY_HOST 0x37
+#define BTH_ERROR_HOST_BUSY_PAIRING 0x38
+#define BTH_ERROR_CONNECTION_REJECTED_DUE_TO_NO_SUITABLE_CHANNEL_FOUND 0x39
+#define BTH_ERROR_CONTROLLER_BUSY 0x3A
+#define BTH_ERROR_UNACCEPTABLE_CONNECTION_INTERVAL 0x3B
+#define BTH_ERROR_DIRECTED_ADVERTISING_TIMEOUT 0x3C
+#define BTH_ERROR_CONNECTION_TERMINATED_DUE_TO_MIC_FAILURE 0x3D
+#define BTH_ERROR_CONNECTION_FAILED_TO_BE_ESTABLISHED 0x3E
+#define BTH_ERROR_MAC_CONNECTION_FAILED 0x3F
+#define BTH_ERROR_COARSE_CLOCK_ADJUSTMENT_REJECTED 0x40
+#define BTH_ERROR_TYPE_0_SUBMAP_NOT_DEFINED 0x41
+#define BTH_ERROR_UNKNOWN_ADVERTISING_IDENTIFIER 0x42
+#define BTH_ERROR_LIMIT_REACHED 0x43
+#define BTH_ERROR_OPERATION_CANCELLED_BY_HOST 0X44
+#define BTH_ERROR_PACKET_TOO_LONG 0x45
 #define BTH_ERROR_UNSPECIFIED 0xFF
 
 #define L2CAP_MIN_MTU 48
@@ -423,7 +478,78 @@ typedef UCHAR BTHSTATUS, *PBTHSTATUS;
 #define BDIF_PAIRED 0x00000008
 #define BDIF_PERSONAL 0x00000010
 #define BDIF_CONNECTED 0x00000020
-#define BDIF_VALID_FLAGS 
(BDIF_ADDRESS|BDIF_COD|BDIF_NAME|BDIF_PAIRED|BDIF_PERSONAL|BDIF_CONNECTED)
+
+#if (NTDDI_VERSION > NTDDI_VISTASP1)
+
+#define BDIF_SHORT_NAME 0x00000040
+#define BDIF_VISIBLE 0x00000080
+#define BDIF_SSP_SUPPORTED 0x00000100
+#define BDIF_SSP_PAIRED 0x00000200
+#define BDIF_SSP_MITM_PROTECTED 0x00000400
+#define BDIF_RSSI 0x00001000
+#define BDIF_EIR 0x00002000
+
+#if (NTDDI_VERSION >= NTDDI_WIN8)
+
+#define BDIF_BR 0x00004000
+#define BDIF_LE 0x00008000
+#define BDIF_LE_PAIRED 0x00010000
+#define BDIF_LE_PERSONAL 0x00020000
+#define BDIF_LE_MITM_PROTECTED 0x00040000
+#define BDIF_LE_PRIVACY_ENABLED 0x00080000
+#define BDIF_LE_RANDOM_ADDRESS_TYPE 0x00100000
+
+#if (NTDDI_VERSION >= NTDDI_WIN10)
+
+#define BDIF_LE_DISCOVERABLE 0x00200000
+#define BDIF_LE_NAME 0x00400000
+#define BDIF_LE_VISIBLE 0x00800000
+
+#if (NTDDI_VERSION >= NTDDI_WIN10_RS2)
+
+#define BDIF_LE_CONNECTED 0x01000000
+#define BDIF_LE_CONNECTABLE 0x02000000
+#define BDIF_BR_SECURE_CONNECTION_PAIRED 0x08000000
+#define BDIF_LE_SECURE_CONNECTION_PAIRED 0x10000000
+
+#define BDIF_DEBUGKEY 0x20000000
+#define BDIF_LE_DEBUGKEY 0x40000000
+
+#if (NTDDI_VERSION >= NTDDI_WIN10_19H1)
+
+#define BDIF_TX_POWER 0x80000000
+
+#define BDIF_VALID_FLAGS (BDIF_ADDRESS | BDIF_COD | BDIF_NAME | BDIF_PAIRED | 
BDIF_PERSONAL | BDIF_CONNECTED | BDIF_SHORT_NAME | BDIF_VISIBLE | BDIF_RSSI | 
BDIF_EIR | BDIF_SSP_PAIRED | BDIF_SSP_MITM_PROTECTED | BDIF_BR | BDIF_LE | 
BDIF_LE_PAIRED | BDIF_LE_PERSONAL | BDIF_LE_MITM_PROTECTED | 
BDIF_LE_PRIVACY_ENABLED | BDIF_LE_RANDOM_ADDRESS_TYPE | BDIF_LE_DISCOVERABLE | 
BDIF_LE_NAME | BDIF_LE_VISIBLE | BDIF_LE_CONNECTED | BDIF_LE_CONNECTABLE | 
BDIF_BR_SECURE_CONNECTION_PAIRED | BDIF_LE_SECURE_CONNECTION_PAIRED | 
BDIF_DEBUGKEY | BDIF_LE_DEBUGKEY | BDIF_TX_POWER)
+
+#else
+
+#define BDIF_VALID_FLAGS (BDIF_ADDRESS | BDIF_COD | BDIF_NAME | BDIF_PAIRED | 
BDIF_PERSONAL | BDIF_CONNECTED | BDIF_SHORT_NAME | BDIF_VISIBLE | BDIF_RSSI | 
BDIF_EIR | BDIF_SSP_PAIRED | BDIF_SSP_MITM_PROTECTED | BDIF_BR | BDIF_LE | 
BDIF_LE_PAIRED | BDIF_LE_PERSONAL | BDIF_LE_MITM_PROTECTED | 
BDIF_LE_PRIVACY_ENABLED | BDIF_LE_RANDOM_ADDRESS_TYPE | BDIF_LE_DISCOVERABLE | 
BDIF_LE_NAME | BDIF_LE_VISIBLE | BDIF_LE_CONNECTED | BDIF_LE_CONNECTABLE | 
BDIF_BR_SECURE_CONNECTION_PAIRED | BDIF_LE_SECURE_CONNECTION_PAIRED | 
BDIF_DEBUGKEY | BDIF_LE_DEBUGKEY)
+
+#endif /* NTDDI_WIN10_19H1 */
+
+#else
+
+#define BDIF_VALID_FLAGS (BDIF_ADDRESS | BDIF_COD | BDIF_NAME | BDIF_PAIRED | 
BDIF_PERSONAL | BDIF_CONNECTED | BDIF_SHORT_NAME | BDIF_VISIBLE | BDIF_RSSI | 
BDIF_EIR | BDIF_SSP_PAIRED | BDIF_SSP_MITM_PROTECTED | BDIF_BR | BDIF_LE | 
BDIF_LE_PAIRED | BDIF_LE_PERSONAL | BDIF_LE_MITM_PROTECTED | 
BDIF_LE_PRIVACY_ENABLED | BDIF_LE_RANDOM_ADDRESS_TYPE | BDIF_LE_DISCOVERABLE | 
BDIF_LE_NAME | BDIF_LE_VISIBLE)
+
+#endif /* NTDDI_WIN10_RS2 */
+
+#else
+
+#define BDIF_VALID_FLAGS (BDIF_ADDRESS | BDIF_COD | BDIF_NAME | BDIF_PAIRED | 
BDIF_PERSONAL | BDIF_CONNECTED | BDIF_SHORT_NAME | BDIF_VISIBLE | BDIF_RSSI | 
BDIF_EIR | BDIF_SSP_PAIRED | BDIF_SSP_MITM_PROTECTED | BDIF_BR | BDIF_LE | 
BDIF_LE_PAIRED | BDIF_LE_PERSONAL | BDIF_LE_MITM_PROTECTED | 
BDIF_LE_PRIVACY_ENABLED | BDIF_LE_RANDOM_ADDRESS_TYPE)
+
+#endif /* NTDDI_WIN10 */
+
+#else
+
+#define BDIF_VALID_FLAGS (BDIF_ADDRESS | BDIF_COD | BDIF_NAME | BDIF_PAIRED | 
BDIF_PERSONAL | BDIF_CONNECTED | BDIF_SHORT_NAME | BDIF_VISIBLE | BDIF_RSSI | 
BDIF_EIR | BDIF_SSP_PAIRED | BDIF_SSP_MITM_PROTECTED)
+
+#endif /* NTDDI_WIN8 */
+
+#else
+
+#define BDIF_VALID_FLAGS (BDIF_ADDRESS | BDIF_COD | BDIF_NAME | BDIF_PAIRED | 
BDIF_PERSONAL | BDIF_CONNECTED)
+
+#endif /* NTDDI_VISTASP1 */
 
 typedef struct _BTH_DEVICE_INFO {
   ULONG    flags;
@@ -453,6 +579,27 @@ typedef struct _BTH_HCI_EVENT_INFO {
   UCHAR    connected;
 } BTH_HCI_EVENT_INFO, *PBTH_HCI_EVENT_INFO;
 
+typedef enum _IO_CAPABILITY {
+  IoCaps_DisplayOnly = 0x00,
+  IoCaps_DisplayYesNo = 0x01,
+  IoCaps_KeyboardOnly = 0x02,
+  IoCaps_NoInputNoOutput = 0x03,
+  IoCaps_Undefined = 0xff
+} IO_CAPABILITY;
+
+typedef enum _AUTHENTICATION_REQUIREMENTS {
+  MITMProtectionNotRequired = 0x00,
+  MITMProtectionRequired = 0x01,
+  MITMProtectionNotRequiredBonding = 0x02,
+  MITMProtectionRequiredBonding = 0x03,
+  MITMProtectionNotRequiredGeneralBonding = 0x04,
+  MITMProtectionRequiredGeneralBonding = 0x05,
+  MITMProtectionNotDefined = 0xff
+} AUTHENTICATION_REQUIREMENTS;
+
+#define IsMITMProtectionRequired(requirements) ((MITMProtectionRequired == 
requirements) || (MITMProtectionRequiredBonding == requirements) || 
(MITMProtectionRequiredGeneralBonding == requirements))
+
+#define BTH_MAX_SERVICE_NAME_SIZE 256
 #define MAX_UUIDS_IN_QUERY 12
 #define BTH_VID_DEFAULT_VALUE 0xFFFF
 
@@ -492,6 +639,9 @@ typedef struct _BTH_HCI_EVENT_INFO {
 #define LANG_BASE_OFFSET_INDEX 0x0002
 #define LANG_DEFAULT_ID 0x0100
 
+#define LANGUAGE_EN_US 0x656E
+#define ENCODING_UTF_8 0x006A
+
 #define STRING_NAME_OFFSET 0x0000
 #define STRING_DESCRIPTION_OFFSET 0x0001
 #define STRING_PROVIDER_NAME_OFFSET 0x0002
-- 
2.42.0

_______________________________________________
Mingw-w64-public mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

Reply via email to