zigwin32/win32/devices/bluetooth.zig

1772 lines
75 KiB
Zig

//! NOTE: this file is autogenerated, DO NOT MODIFY
//--------------------------------------------------------------------------------
// Section: Constants (779)
//--------------------------------------------------------------------------------
pub const BTH_MAJORVERSION = @as(u32, 2);
pub const BTH_MINORVERSION = @as(u32, 1);
pub const GUID_BTHPORT_DEVICE_INTERFACE = Guid.initString("0850302a-b344-4fda-9be9-90576b8d46f0");
pub const GUID_BTH_RFCOMM_SERVICE_DEVICE_INTERFACE = Guid.initString("b142fc3e-fa4e-460b-8abc-072b628b3c70");
pub const GUID_BLUETOOTH_RADIO_IN_RANGE = Guid.initString("ea3b5b82-26ee-450e-b0d8-d26fe30a3869");
pub const GUID_BLUETOOTH_RADIO_OUT_OF_RANGE = Guid.initString("e28867c9-c2aa-4ced-b969-4570866037c4");
pub const GUID_BLUETOOTH_L2CAP_EVENT = Guid.initString("7eae4030-b709-4aa8-ac55-e953829c9daa");
pub const GUID_BLUETOOTH_HCI_EVENT = Guid.initString("fc240062-1541-49be-b463-84c4dcd7bf7f");
pub const GUID_BLUETOOTH_AUTHENTICATION_REQUEST = Guid.initString("5dc9136d-996c-46db-84f5-32c0a3f47352");
pub const GUID_BLUETOOTH_KEYPRESS_EVENT = Guid.initString("d668dfcd-0f4e-4efc-bfe0-392eeec5109c");
pub const GUID_BLUETOOTH_HCI_VENDOR_EVENT = Guid.initString("547247e6-45bb-4c33-af8c-c00efe15a71d");
pub const Bluetooth_Base_UUID = Guid.initString("00000000-0000-1000-8000-00805f9b34fb");
pub const SDP_PROTOCOL_UUID16 = @as(u32, 1);
pub const UDP_PROTOCOL_UUID16 = @as(u32, 2);
pub const RFCOMM_PROTOCOL_UUID16 = @as(u32, 3);
pub const TCP_PROTOCOL_UUID16 = @as(u32, 4);
pub const TCSBIN_PROTOCOL_UUID16 = @as(u32, 5);
pub const TCSAT_PROTOCOL_UUID16 = @as(u32, 6);
pub const ATT_PROTOCOL_UUID16 = @as(u32, 7);
pub const OBEX_PROTOCOL_UUID16 = @as(u32, 8);
pub const IP_PROTOCOL_UUID16 = @as(u32, 9);
pub const FTP_PROTOCOL_UUID16 = @as(u32, 10);
pub const HTTP_PROTOCOL_UUID16 = @as(u32, 12);
pub const WSP_PROTOCOL_UUID16 = @as(u32, 14);
pub const BNEP_PROTOCOL_UUID16 = @as(u32, 15);
pub const UPNP_PROTOCOL_UUID16 = @as(u32, 16);
pub const HID_PROTOCOL_UUID16 = @as(u32, 17);
pub const HCCC_PROTOCOL_UUID16 = @as(u32, 18);
pub const HCDC_PROTOCOL_UUID16 = @as(u32, 20);
pub const HCN_PROTOCOL_UUID16 = @as(u32, 22);
pub const AVCTP_PROTOCOL_UUID16 = @as(u32, 23);
pub const AVDTP_PROTOCOL_UUID16 = @as(u32, 25);
pub const CMPT_PROTOCOL_UUID16 = @as(u32, 27);
pub const UDI_C_PLANE_PROTOCOL_UUID16 = @as(u32, 29);
pub const L2CAP_PROTOCOL_UUID16 = @as(u32, 256);
pub const ServiceDiscoveryServerServiceClassID_UUID16 = @as(u32, 4096);
pub const BrowseGroupDescriptorServiceClassID_UUID16 = @as(u32, 4097);
pub const PublicBrowseGroupServiceClassID_UUID16 = @as(u32, 4098);
pub const SerialPortServiceClassID_UUID16 = @as(u32, 4353);
pub const LANAccessUsingPPPServiceClassID_UUID16 = @as(u32, 4354);
pub const DialupNetworkingServiceClassID_UUID16 = @as(u32, 4355);
pub const IrMCSyncServiceClassID_UUID16 = @as(u32, 4356);
pub const OBEXObjectPushServiceClassID_UUID16 = @as(u32, 4357);
pub const OBEXFileTransferServiceClassID_UUID16 = @as(u32, 4358);
pub const IrMcSyncCommandServiceClassID_UUID16 = @as(u32, 4359);
pub const HeadsetServiceClassID_UUID16 = @as(u32, 4360);
pub const CordlessTelephonyServiceClassID_UUID16 = @as(u32, 4361);
pub const AudioSourceServiceClassID_UUID16 = @as(u32, 4362);
pub const AudioSinkServiceClassID_UUID16 = @as(u32, 4363);
pub const AVRemoteControlTargetServiceClassID_UUID16 = @as(u32, 4364);
pub const AVRemoteControlServiceClassID_UUID16 = @as(u32, 4366);
pub const AVRemoteControlControllerServiceClass_UUID16 = @as(u32, 4367);
pub const IntercomServiceClassID_UUID16 = @as(u32, 4368);
pub const FaxServiceClassID_UUID16 = @as(u32, 4369);
pub const HeadsetAudioGatewayServiceClassID_UUID16 = @as(u32, 4370);
pub const WAPServiceClassID_UUID16 = @as(u32, 4371);
pub const WAPClientServiceClassID_UUID16 = @as(u32, 4372);
pub const PANUServiceClassID_UUID16 = @as(u32, 4373);
pub const NAPServiceClassID_UUID16 = @as(u32, 4374);
pub const GNServiceClassID_UUID16 = @as(u32, 4375);
pub const DirectPrintingServiceClassID_UUID16 = @as(u32, 4376);
pub const ReferencePrintingServiceClassID_UUID16 = @as(u32, 4377);
pub const ImagingResponderServiceClassID_UUID16 = @as(u32, 4379);
pub const ImagingAutomaticArchiveServiceClassID_UUID16 = @as(u32, 4380);
pub const ImagingReferenceObjectsServiceClassID_UUID16 = @as(u32, 4381);
pub const HandsfreeServiceClassID_UUID16 = @as(u32, 4382);
pub const HandsfreeAudioGatewayServiceClassID_UUID16 = @as(u32, 4383);
pub const DirectPrintingReferenceObjectsServiceClassID_UUID16 = @as(u32, 4384);
pub const ReflectsUIServiceClassID_UUID16 = @as(u32, 4385);
pub const PrintingStatusServiceClassID_UUID16 = @as(u32, 4387);
pub const HumanInterfaceDeviceServiceClassID_UUID16 = @as(u32, 4388);
pub const HCRPrintServiceClassID_UUID16 = @as(u32, 4390);
pub const HCRScanServiceClassID_UUID16 = @as(u32, 4391);
pub const CommonISDNAccessServiceClassID_UUID16 = @as(u32, 4392);
pub const VideoConferencingGWServiceClassID_UUID16 = @as(u32, 4393);
pub const UDIMTServiceClassID_UUID16 = @as(u32, 4394);
pub const UDITAServiceClassID_UUID16 = @as(u32, 4395);
pub const AudioVideoServiceClassID_UUID16 = @as(u32, 4396);
pub const SimAccessServiceClassID_UUID16 = @as(u32, 4397);
pub const PhonebookAccessPceServiceClassID_UUID16 = @as(u32, 4398);
pub const PhonebookAccessPseServiceClassID_UUID16 = @as(u32, 4399);
pub const HeadsetHSServiceClassID_UUID16 = @as(u32, 4401);
pub const MessageAccessServerServiceClassID_UUID16 = @as(u32, 4402);
pub const MessageNotificationServerServiceClassID_UUID16 = @as(u32, 4403);
pub const GNSSServerServiceClassID_UUID16 = @as(u32, 4406);
pub const ThreeDimensionalDisplayServiceClassID_UUID16 = @as(u32, 4407);
pub const ThreeDimensionalGlassesServiceClassID_UUID16 = @as(u32, 4408);
pub const MPSServiceClassID_UUID16 = @as(u32, 4411);
pub const CTNAccessServiceClassID_UUID16 = @as(u32, 4412);
pub const CTNNotificationServiceClassID_UUID16 = @as(u32, 4413);
pub const PnPInformationServiceClassID_UUID16 = @as(u32, 4608);
pub const GenericNetworkingServiceClassID_UUID16 = @as(u32, 4609);
pub const GenericFileTransferServiceClassID_UUID16 = @as(u32, 4610);
pub const GenericAudioServiceClassID_UUID16 = @as(u32, 4611);
pub const GenericTelephonyServiceClassID_UUID16 = @as(u32, 4612);
pub const UPnpServiceClassID_UUID16 = @as(u32, 4613);
pub const UPnpIpServiceClassID_UUID16 = @as(u32, 4614);
pub const ESdpUpnpIpPanServiceClassID_UUID16 = @as(u32, 4864);
pub const ESdpUpnpIpLapServiceClassID_UUID16 = @as(u32, 4865);
pub const ESdpUpnpL2capServiceClassID_UUID16 = @as(u32, 4866);
pub const VideoSourceServiceClassID_UUID16 = @as(u32, 4867);
pub const VideoSinkServiceClassID_UUID16 = @as(u32, 4868);
pub const HealthDeviceProfileSourceServiceClassID_UUID16 = @as(u32, 5121);
pub const HealthDeviceProfileSinkServiceClassID_UUID16 = @as(u32, 5122);
pub const AdvancedAudioDistributionProfileID_UUID16 = @as(u32, 4365);
pub const ImagingServiceProfileID_UUID16 = @as(u32, 4378);
pub const BasicPrintingProfileID_UUID16 = @as(u32, 4386);
pub const HardcopyCableReplacementProfileID_UUID16 = @as(u32, 4389);
pub const PhonebookAccessProfileID_UUID16 = @as(u32, 4400);
pub const MessageAccessProfileID_UUID16 = @as(u32, 4404);
pub const GNSSProfileID_UUID16 = @as(u32, 4405);
pub const ThreeDimensionalSynchronizationProfileID_UUID16 = @as(u32, 4409);
pub const MPSProfileID_UUID16 = @as(u32, 4410);
pub const CTNProfileID_UUID16 = @as(u32, 4414);
pub const VideoDistributionProfileID_UUID16 = @as(u32, 4869);
pub const HealthDeviceProfileID_UUID16 = @as(u32, 5120);
pub const VideoConferencingServiceClassID_UUID16 = @as(u32, 4367);
pub const CommonISDNAccessServiceClass_UUID16 = @as(u32, 4392);
pub const VideoConferencingGWServiceClass_UUID16 = @as(u32, 4393);
pub const UDIMTServiceClass_UUID16 = @as(u32, 4394);
pub const UDITAServiceClass_UUID16 = @as(u32, 4395);
pub const AudioVideoServiceClass_UUID16 = @as(u32, 4396);
pub const CordlessServiceClassID_UUID16 = @as(u32, 4361);
pub const AudioSinkSourceServiceClassID_UUID16 = @as(u32, 4363);
pub const AdvancedAudioDistributionServiceClassID_UUID16 = @as(u32, 4365);
pub const ImagingServiceClassID_UUID16 = @as(u32, 4378);
pub const BasicPrintingServiceClassID_UUID16 = @as(u32, 4386);
pub const HardcopyCableReplacementServiceClassID_UUID16 = @as(u32, 4389);
pub const BTH_MAX_NAME_SIZE = @as(u32, 248);
pub const BTH_MAX_PIN_SIZE = @as(u32, 16);
pub const BTH_LINK_KEY_LENGTH = @as(u32, 16);
pub const BTH_MFG_ERICSSON = @as(u32, 0);
pub const BTH_MFG_NOKIA = @as(u32, 1);
pub const BTH_MFG_INTEL = @as(u32, 2);
pub const BTH_MFG_IBM = @as(u32, 3);
pub const BTH_MFG_TOSHIBA = @as(u32, 4);
pub const BTH_MFG_3COM = @as(u32, 5);
pub const BTH_MFG_MICROSOFT = @as(u32, 6);
pub const BTH_MFG_LUCENT = @as(u32, 7);
pub const BTH_MFG_MOTOROLA = @as(u32, 8);
pub const BTH_MFG_INFINEON = @as(u32, 9);
pub const BTH_MFG_CSR = @as(u32, 10);
pub const BTH_MFG_SILICONWAVE = @as(u32, 11);
pub const BTH_MFG_DIGIANSWER = @as(u32, 12);
pub const BTH_MFG_TI = @as(u32, 13);
pub const BTH_MFG_PARTHUS = @as(u32, 14);
pub const BTH_MFG_BROADCOM = @as(u32, 15);
pub const BTH_MFG_MITEL = @as(u32, 16);
pub const BTH_MFG_WIDCOMM = @as(u32, 17);
pub const BTH_MFG_ZEEVO = @as(u32, 18);
pub const BTH_MFG_ATMEL = @as(u32, 19);
pub const BTH_MFG_MITSIBUSHI = @as(u32, 20);
pub const BTH_MFG_RTX_TELECOM = @as(u32, 21);
pub const BTH_MFG_KC_TECHNOLOGY = @as(u32, 22);
pub const BTH_MFG_NEWLOGIC = @as(u32, 23);
pub const BTH_MFG_TRANSILICA = @as(u32, 24);
pub const BTH_MFG_ROHDE_SCHWARZ = @as(u32, 25);
pub const BTH_MFG_TTPCOM = @as(u32, 26);
pub const BTH_MFG_SIGNIA = @as(u32, 27);
pub const BTH_MFG_CONEXANT = @as(u32, 28);
pub const BTH_MFG_QUALCOMM = @as(u32, 29);
pub const BTH_MFG_INVENTEL = @as(u32, 30);
pub const BTH_MFG_AVM_BERLIN = @as(u32, 31);
pub const BTH_MFG_BANDSPEED = @as(u32, 32);
pub const BTH_MFG_MANSELLA = @as(u32, 33);
pub const BTH_MFG_NEC = @as(u32, 34);
pub const BTH_MFG_WAVEPLUS_TECHNOLOGY_CO = @as(u32, 35);
pub const BTH_MFG_ALCATEL = @as(u32, 36);
pub const BTH_MFG_PHILIPS_SEMICONDUCTOR = @as(u32, 37);
pub const BTH_MFG_C_TECHNOLOGIES = @as(u32, 38);
pub const BTH_MFG_OPEN_INTERFACE = @as(u32, 39);
pub const BTH_MFG_RF_MICRO_DEVICES = @as(u32, 40);
pub const BTH_MFG_HITACHI = @as(u32, 41);
pub const BTH_MFG_SYMBOL_TECHNOLOGIES = @as(u32, 42);
pub const BTH_MFG_TENOVIS = @as(u32, 43);
pub const BTH_MFG_MACRONIX_INTERNATIONAL = @as(u32, 44);
pub const BTH_MFG_MARVELL = @as(u32, 72);
pub const BTH_MFG_APPLE = @as(u32, 76);
pub const BTH_MFG_NORDIC_SEMICONDUCTORS_ASA = @as(u32, 89);
pub const BTH_MFG_ARUBA_NETWORKS = @as(u32, 283);
pub const BTH_MFG_INTERNAL_USE = @as(u32, 65535);
pub const SAP_BIT_OFFSET = @as(u32, 0);
pub const COD_FORMAT_BIT_OFFSET = @as(u32, 0);
pub const COD_MINOR_BIT_OFFSET = @as(u32, 2);
pub const COD_FORMAT_MASK = @as(u32, 3);
pub const COD_MINOR_MASK = @as(u32, 252);
pub const COD_MAJOR_MASK = @as(u32, 7936);
pub const COD_SERVICE_MASK = @as(u32, 16769024);
pub const COD_VERSION = @as(u32, 0);
pub const COD_SERVICE_LIMITED = @as(u32, 1);
pub const COD_SERVICE_POSITIONING = @as(u32, 8);
pub const COD_SERVICE_NETWORKING = @as(u32, 16);
pub const COD_SERVICE_RENDERING = @as(u32, 32);
pub const COD_SERVICE_CAPTURING = @as(u32, 64);
pub const COD_SERVICE_OBJECT_XFER = @as(u32, 128);
pub const COD_SERVICE_AUDIO = @as(u32, 256);
pub const COD_SERVICE_TELEPHONY = @as(u32, 512);
pub const COD_SERVICE_INFORMATION = @as(u32, 1024);
pub const COD_SERVICE_MAX_COUNT = @as(u32, 9);
pub const COD_MAJOR_MISCELLANEOUS = @as(u32, 0);
pub const COD_MAJOR_COMPUTER = @as(u32, 1);
pub const COD_MAJOR_PHONE = @as(u32, 2);
pub const COD_MAJOR_LAN_ACCESS = @as(u32, 3);
pub const COD_MAJOR_AUDIO = @as(u32, 4);
pub const COD_MAJOR_PERIPHERAL = @as(u32, 5);
pub const COD_MAJOR_IMAGING = @as(u32, 6);
pub const COD_MAJOR_WEARABLE = @as(u32, 7);
pub const COD_MAJOR_TOY = @as(u32, 8);
pub const COD_MAJOR_HEALTH = @as(u32, 9);
pub const COD_MAJOR_UNCLASSIFIED = @as(u32, 31);
pub const COD_COMPUTER_MINOR_UNCLASSIFIED = @as(u32, 0);
pub const COD_COMPUTER_MINOR_DESKTOP = @as(u32, 1);
pub const COD_COMPUTER_MINOR_SERVER = @as(u32, 2);
pub const COD_COMPUTER_MINOR_LAPTOP = @as(u32, 3);
pub const COD_COMPUTER_MINOR_HANDHELD = @as(u32, 4);
pub const COD_COMPUTER_MINOR_PALM = @as(u32, 5);
pub const COD_COMPUTER_MINOR_WEARABLE = @as(u32, 6);
pub const COD_PHONE_MINOR_UNCLASSIFIED = @as(u32, 0);
pub const COD_PHONE_MINOR_CELLULAR = @as(u32, 1);
pub const COD_PHONE_MINOR_CORDLESS = @as(u32, 2);
pub const COD_PHONE_MINOR_SMART = @as(u32, 3);
pub const COD_PHONE_MINOR_WIRED_MODEM = @as(u32, 4);
pub const COD_AUDIO_MINOR_UNCLASSIFIED = @as(u32, 0);
pub const COD_AUDIO_MINOR_HEADSET = @as(u32, 1);
pub const COD_AUDIO_MINOR_HANDS_FREE = @as(u32, 2);
pub const COD_AUDIO_MINOR_HEADSET_HANDS_FREE = @as(u32, 3);
pub const COD_AUDIO_MINOR_MICROPHONE = @as(u32, 4);
pub const COD_AUDIO_MINOR_LOUDSPEAKER = @as(u32, 5);
pub const COD_AUDIO_MINOR_HEADPHONES = @as(u32, 6);
pub const COD_AUDIO_MINOR_PORTABLE_AUDIO = @as(u32, 7);
pub const COD_AUDIO_MINOR_CAR_AUDIO = @as(u32, 8);
pub const COD_AUDIO_MINOR_SET_TOP_BOX = @as(u32, 9);
pub const COD_AUDIO_MINOR_HIFI_AUDIO = @as(u32, 10);
pub const COD_AUDIO_MINOR_VCR = @as(u32, 11);
pub const COD_AUDIO_MINOR_VIDEO_CAMERA = @as(u32, 12);
pub const COD_AUDIO_MINOR_CAMCORDER = @as(u32, 13);
pub const COD_AUDIO_MINOR_VIDEO_MONITOR = @as(u32, 14);
pub const COD_AUDIO_MINOR_VIDEO_DISPLAY_LOUDSPEAKER = @as(u32, 15);
pub const COD_AUDIO_MINOR_VIDEO_DISPLAY_CONFERENCING = @as(u32, 16);
pub const COD_AUDIO_MINOR_GAMING_TOY = @as(u32, 18);
pub const COD_PERIPHERAL_MINOR_KEYBOARD_MASK = @as(u32, 16);
pub const COD_PERIPHERAL_MINOR_POINTER_MASK = @as(u32, 32);
pub const COD_PERIPHERAL_MINOR_NO_CATEGORY = @as(u32, 0);
pub const COD_PERIPHERAL_MINOR_JOYSTICK = @as(u32, 1);
pub const COD_PERIPHERAL_MINOR_GAMEPAD = @as(u32, 2);
pub const COD_PERIPHERAL_MINOR_REMOTE_CONTROL = @as(u32, 3);
pub const COD_PERIPHERAL_MINOR_SENSING = @as(u32, 4);
pub const COD_IMAGING_MINOR_DISPLAY_MASK = @as(u32, 4);
pub const COD_IMAGING_MINOR_CAMERA_MASK = @as(u32, 8);
pub const COD_IMAGING_MINOR_SCANNER_MASK = @as(u32, 16);
pub const COD_IMAGING_MINOR_PRINTER_MASK = @as(u32, 32);
pub const COD_WEARABLE_MINOR_WRIST_WATCH = @as(u32, 1);
pub const COD_WEARABLE_MINOR_PAGER = @as(u32, 2);
pub const COD_WEARABLE_MINOR_JACKET = @as(u32, 3);
pub const COD_WEARABLE_MINOR_HELMET = @as(u32, 4);
pub const COD_WEARABLE_MINOR_GLASSES = @as(u32, 5);
pub const COD_TOY_MINOR_ROBOT = @as(u32, 1);
pub const COD_TOY_MINOR_VEHICLE = @as(u32, 2);
pub const COD_TOY_MINOR_DOLL_ACTION_FIGURE = @as(u32, 3);
pub const COD_TOY_MINOR_CONTROLLER = @as(u32, 4);
pub const COD_TOY_MINOR_GAME = @as(u32, 5);
pub const COD_HEALTH_MINOR_BLOOD_PRESSURE_MONITOR = @as(u32, 1);
pub const COD_HEALTH_MINOR_THERMOMETER = @as(u32, 2);
pub const COD_HEALTH_MINOR_WEIGHING_SCALE = @as(u32, 3);
pub const COD_HEALTH_MINOR_GLUCOSE_METER = @as(u32, 4);
pub const COD_HEALTH_MINOR_PULSE_OXIMETER = @as(u32, 5);
pub const COD_HEALTH_MINOR_HEART_PULSE_MONITOR = @as(u32, 6);
pub const COD_HEALTH_MINOR_HEALTH_DATA_DISPLAY = @as(u32, 7);
pub const COD_HEALTH_MINOR_STEP_COUNTER = @as(u32, 8);
pub const COD_LAN_ACCESS_BIT_OFFSET = @as(u32, 5);
pub const COD_LAN_MINOR_MASK = @as(u32, 28);
pub const COD_LAN_ACCESS_MASK = @as(u32, 224);
pub const COD_LAN_MINOR_UNCLASSIFIED = @as(u32, 0);
pub const COD_LAN_ACCESS_0_USED = @as(u32, 0);
pub const COD_LAN_ACCESS_17_USED = @as(u32, 1);
pub const COD_LAN_ACCESS_33_USED = @as(u32, 2);
pub const COD_LAN_ACCESS_50_USED = @as(u32, 3);
pub const COD_LAN_ACCESS_67_USED = @as(u32, 4);
pub const COD_LAN_ACCESS_83_USED = @as(u32, 5);
pub const COD_LAN_ACCESS_99_USED = @as(u32, 6);
pub const COD_LAN_ACCESS_FULL = @as(u32, 7);
pub const BTH_EIR_FLAGS_ID = @as(u32, 1);
pub const BTH_EIR_16_UUIDS_PARTIAL_ID = @as(u32, 2);
pub const BTH_EIR_16_UUIDS_COMPLETE_ID = @as(u32, 3);
pub const BTH_EIR_32_UUIDS_PARTIAL_ID = @as(u32, 4);
pub const BTH_EIR_32_UUIDS_COMPLETE_ID = @as(u32, 5);
pub const BTH_EIR_128_UUIDS_PARTIAL_ID = @as(u32, 6);
pub const BTH_EIR_128_UUIDS_COMPLETE_ID = @as(u32, 7);
pub const BTH_EIR_LOCAL_NAME_PARTIAL_ID = @as(u32, 8);
pub const BTH_EIR_LOCAL_NAME_COMPLETE_ID = @as(u32, 9);
pub const BTH_EIR_TX_POWER_LEVEL_ID = @as(u32, 10);
pub const BTH_EIR_OOB_OPT_DATA_LEN_ID = @as(u32, 11);
pub const BTH_EIR_OOB_BD_ADDR_ID = @as(u32, 12);
pub const BTH_EIR_OOB_COD_ID = @as(u32, 13);
pub const BTH_EIR_OOB_SP_HASH_ID = @as(u32, 14);
pub const BTH_EIR_OOB_SP_RANDOMIZER_ID = @as(u32, 15);
pub const BTH_EIR_MANUFACTURER_ID = @as(u32, 255);
pub const BTH_EIR_SIZE = @as(u32, 240);
pub const LAP_GIAC_VALUE = @as(u32, 10390323);
pub const LAP_LIAC_VALUE = @as(u32, 10390272);
pub const BTH_ADDR_IAC_FIRST = @as(u32, 10390272);
pub const BTH_ADDR_IAC_LAST = @as(u32, 10390335);
pub const BTH_ADDR_LIAC = @as(u32, 10390272);
pub const BTH_ADDR_GIAC = @as(u32, 10390323);
pub const BTH_ERROR_SUCCESS = @as(u32, 0);
pub const BTH_ERROR_UNKNOWN_HCI_COMMAND = @as(u32, 1);
pub const BTH_ERROR_NO_CONNECTION = @as(u32, 2);
pub const BTH_ERROR_HARDWARE_FAILURE = @as(u32, 3);
pub const BTH_ERROR_PAGE_TIMEOUT = @as(u32, 4);
pub const BTH_ERROR_AUTHENTICATION_FAILURE = @as(u32, 5);
pub const BTH_ERROR_KEY_MISSING = @as(u32, 6);
pub const BTH_ERROR_MEMORY_FULL = @as(u32, 7);
pub const BTH_ERROR_CONNECTION_TIMEOUT = @as(u32, 8);
pub const BTH_ERROR_MAX_NUMBER_OF_CONNECTIONS = @as(u32, 9);
pub const BTH_ERROR_MAX_NUMBER_OF_SCO_CONNECTIONS = @as(u32, 10);
pub const BTH_ERROR_ACL_CONNECTION_ALREADY_EXISTS = @as(u32, 11);
pub const BTH_ERROR_COMMAND_DISALLOWED = @as(u32, 12);
pub const BTH_ERROR_HOST_REJECTED_LIMITED_RESOURCES = @as(u32, 13);
pub const BTH_ERROR_HOST_REJECTED_SECURITY_REASONS = @as(u32, 14);
pub const BTH_ERROR_HOST_REJECTED_PERSONAL_DEVICE = @as(u32, 15);
pub const BTH_ERROR_HOST_TIMEOUT = @as(u32, 16);
pub const BTH_ERROR_UNSUPPORTED_FEATURE_OR_PARAMETER = @as(u32, 17);
pub const BTH_ERROR_INVALID_HCI_PARAMETER = @as(u32, 18);
pub const BTH_ERROR_REMOTE_USER_ENDED_CONNECTION = @as(u32, 19);
pub const BTH_ERROR_REMOTE_LOW_RESOURCES = @as(u32, 20);
pub const BTH_ERROR_REMOTE_POWERING_OFF = @as(u32, 21);
pub const BTH_ERROR_LOCAL_HOST_TERMINATED_CONNECTION = @as(u32, 22);
pub const BTH_ERROR_REPEATED_ATTEMPTS = @as(u32, 23);
pub const BTH_ERROR_PAIRING_NOT_ALLOWED = @as(u32, 24);
pub const BTH_ERROR_UKNOWN_LMP_PDU = @as(u32, 25);
pub const BTH_ERROR_UNSUPPORTED_REMOTE_FEATURE = @as(u32, 26);
pub const BTH_ERROR_SCO_OFFSET_REJECTED = @as(u32, 27);
pub const BTH_ERROR_SCO_INTERVAL_REJECTED = @as(u32, 28);
pub const BTH_ERROR_SCO_AIRMODE_REJECTED = @as(u32, 29);
pub const BTH_ERROR_INVALID_LMP_PARAMETERS = @as(u32, 30);
pub const BTH_ERROR_UNSPECIFIED_ERROR = @as(u32, 31);
pub const BTH_ERROR_UNSUPPORTED_LMP_PARM_VALUE = @as(u32, 32);
pub const BTH_ERROR_ROLE_CHANGE_NOT_ALLOWED = @as(u32, 33);
pub const BTH_ERROR_LMP_RESPONSE_TIMEOUT = @as(u32, 34);
pub const BTH_ERROR_LMP_TRANSACTION_COLLISION = @as(u32, 35);
pub const BTH_ERROR_LMP_PDU_NOT_ALLOWED = @as(u32, 36);
pub const BTH_ERROR_ENCRYPTION_MODE_NOT_ACCEPTABLE = @as(u32, 37);
pub const BTH_ERROR_UNIT_KEY_NOT_USED = @as(u32, 38);
pub const BTH_ERROR_QOS_IS_NOT_SUPPORTED = @as(u32, 39);
pub const BTH_ERROR_INSTANT_PASSED = @as(u32, 40);
pub const BTH_ERROR_PAIRING_WITH_UNIT_KEY_NOT_SUPPORTED = @as(u32, 41);
pub const BTH_ERROR_DIFFERENT_TRANSACTION_COLLISION = @as(u32, 42);
pub const BTH_ERROR_QOS_UNACCEPTABLE_PARAMETER = @as(u32, 44);
pub const BTH_ERROR_QOS_REJECTED = @as(u32, 45);
pub const BTH_ERROR_CHANNEL_CLASSIFICATION_NOT_SUPPORTED = @as(u32, 46);
pub const BTH_ERROR_INSUFFICIENT_SECURITY = @as(u32, 47);
pub const BTH_ERROR_PARAMETER_OUT_OF_MANDATORY_RANGE = @as(u32, 48);
pub const BTH_ERROR_ROLE_SWITCH_PENDING = @as(u32, 50);
pub const BTH_ERROR_RESERVED_SLOT_VIOLATION = @as(u32, 52);
pub const BTH_ERROR_ROLE_SWITCH_FAILED = @as(u32, 53);
pub const BTH_ERROR_EXTENDED_INQUIRY_RESPONSE_TOO_LARGE = @as(u32, 54);
pub const BTH_ERROR_SECURE_SIMPLE_PAIRING_NOT_SUPPORTED_BY_HOST = @as(u32, 55);
pub const BTH_ERROR_HOST_BUSY_PAIRING = @as(u32, 56);
pub const BTH_ERROR_CONNECTION_REJECTED_DUE_TO_NO_SUITABLE_CHANNEL_FOUND = @as(u32, 57);
pub const BTH_ERROR_CONTROLLER_BUSY = @as(u32, 58);
pub const BTH_ERROR_UNACCEPTABLE_CONNECTION_INTERVAL = @as(u32, 59);
pub const BTH_ERROR_DIRECTED_ADVERTISING_TIMEOUT = @as(u32, 60);
pub const BTH_ERROR_CONNECTION_TERMINATED_DUE_TO_MIC_FAILURE = @as(u32, 61);
pub const BTH_ERROR_CONNECTION_FAILED_TO_BE_ESTABLISHED = @as(u32, 62);
pub const BTH_ERROR_MAC_CONNECTION_FAILED = @as(u32, 63);
pub const BTH_ERROR_COARSE_CLOCK_ADJUSTMENT_REJECTED = @as(u32, 64);
pub const BTH_ERROR_TYPE_0_SUBMAP_NOT_DEFINED = @as(u32, 65);
pub const BTH_ERROR_UNKNOWN_ADVERTISING_IDENTIFIER = @as(u32, 66);
pub const BTH_ERROR_LIMIT_REACHED = @as(u32, 67);
pub const BTH_ERROR_OPERATION_CANCELLED_BY_HOST = @as(u32, 68);
pub const BTH_ERROR_PACKET_TOO_LONG = @as(u32, 69);
pub const BTH_ERROR_UNSPECIFIED = @as(u32, 255);
pub const L2CAP_MIN_MTU = @as(u32, 48);
pub const L2CAP_MAX_MTU = @as(u32, 65535);
pub const L2CAP_DEFAULT_MTU = @as(u32, 672);
pub const MAX_L2CAP_PING_DATA_LENGTH = @as(u32, 44);
pub const MAX_L2CAP_INFO_DATA_LENGTH = @as(u32, 44);
pub const BDIF_ADDRESS = @as(u32, 1);
pub const BDIF_COD = @as(u32, 2);
pub const BDIF_NAME = @as(u32, 4);
pub const BDIF_PAIRED = @as(u32, 8);
pub const BDIF_PERSONAL = @as(u32, 16);
pub const BDIF_CONNECTED = @as(u32, 32);
pub const BDIF_SHORT_NAME = @as(u32, 64);
pub const BDIF_VISIBLE = @as(u32, 128);
pub const BDIF_SSP_SUPPORTED = @as(u32, 256);
pub const BDIF_SSP_PAIRED = @as(u32, 512);
pub const BDIF_SSP_MITM_PROTECTED = @as(u32, 1024);
pub const BDIF_RSSI = @as(u32, 4096);
pub const BDIF_EIR = @as(u32, 8192);
pub const BDIF_BR = @as(u32, 16384);
pub const BDIF_LE = @as(u32, 32768);
pub const BDIF_LE_PAIRED = @as(u32, 65536);
pub const BDIF_LE_PERSONAL = @as(u32, 131072);
pub const BDIF_LE_MITM_PROTECTED = @as(u32, 262144);
pub const BDIF_LE_PRIVACY_ENABLED = @as(u32, 524288);
pub const BDIF_LE_RANDOM_ADDRESS_TYPE = @as(u32, 1048576);
pub const BDIF_LE_DISCOVERABLE = @as(u32, 2097152);
pub const BDIF_LE_NAME = @as(u32, 4194304);
pub const BDIF_LE_VISIBLE = @as(u32, 8388608);
pub const BDIF_LE_CONNECTED = @as(u32, 16777216);
pub const BDIF_LE_CONNECTABLE = @as(u32, 33554432);
pub const BDIF_CONNECTION_INBOUND = @as(u32, 67108864);
pub const BDIF_BR_SECURE_CONNECTION_PAIRED = @as(u32, 134217728);
pub const BDIF_LE_SECURE_CONNECTION_PAIRED = @as(u32, 268435456);
pub const BDIF_DEBUGKEY = @as(u32, 536870912);
pub const BDIF_LE_DEBUGKEY = @as(u32, 1073741824);
pub const BDIF_TX_POWER = @as(u32, 2147483648);
pub const HCI_CONNECTION_TYPE_ACL = @as(u32, 1);
pub const HCI_CONNECTION_TYPE_SCO = @as(u32, 2);
pub const HCI_CONNECTION_TYPE_LE = @as(u32, 3);
pub const HCI_CONNNECTION_TYPE_ACL = @as(u32, 1);
pub const HCI_CONNNECTION_TYPE_SCO = @as(u32, 2);
pub const BTH_MAX_SERVICE_NAME_SIZE = @as(u32, 256);
pub const MAX_UUIDS_IN_QUERY = @as(u32, 12);
pub const BTH_VID_DEFAULT_VALUE = @as(u32, 65535);
pub const SDP_ERROR_INVALID_SDP_VERSION = @as(u32, 1);
pub const SDP_ERROR_INVALID_RECORD_HANDLE = @as(u32, 2);
pub const SDP_ERROR_INVALID_REQUEST_SYNTAX = @as(u32, 3);
pub const SDP_ERROR_INVALID_PDU_SIZE = @as(u32, 4);
pub const SDP_ERROR_INVALID_CONTINUATION_STATE = @as(u32, 5);
pub const SDP_ERROR_INSUFFICIENT_RESOURCES = @as(u32, 6);
pub const SDP_ATTRIB_RECORD_HANDLE = @as(u32, 0);
pub const SDP_ATTRIB_CLASS_ID_LIST = @as(u32, 1);
pub const SDP_ATTRIB_RECORD_STATE = @as(u32, 2);
pub const SDP_ATTRIB_SERVICE_ID = @as(u32, 3);
pub const SDP_ATTRIB_PROTOCOL_DESCRIPTOR_LIST = @as(u32, 4);
pub const SDP_ATTRIB_BROWSE_GROUP_LIST = @as(u32, 5);
pub const SDP_ATTRIB_LANG_BASE_ATTRIB_ID_LIST = @as(u32, 6);
pub const SDP_ATTRIB_INFO_TIME_TO_LIVE = @as(u32, 7);
pub const SDP_ATTRIB_AVAILABILITY = @as(u32, 8);
pub const SDP_ATTRIB_PROFILE_DESCRIPTOR_LIST = @as(u32, 9);
pub const SDP_ATTRIB_DOCUMENTATION_URL = @as(u32, 10);
pub const SDP_ATTRIB_CLIENT_EXECUTABLE_URL = @as(u32, 11);
pub const SDP_ATTRIB_ICON_URL = @as(u32, 12);
pub const SDP_ATTRIB_ADDITIONAL_PROTOCOL_DESCRIPTOR_LIST = @as(u32, 13);
pub const SDP_ATTRIB_PROFILE_SPECIFIC = @as(u32, 512);
pub const LANG_BASE_LANGUAGE_INDEX = @as(u32, 0);
pub const LANG_BASE_ENCODING_INDEX = @as(u32, 1);
pub const LANG_BASE_OFFSET_INDEX = @as(u32, 2);
pub const LANG_DEFAULT_ID = @as(u32, 256);
pub const LANGUAGE_EN_US = @as(u32, 25966);
pub const ENCODING_UTF_8 = @as(u32, 106);
pub const STRING_NAME_OFFSET = @as(u32, 0);
pub const STRING_DESCRIPTION_OFFSET = @as(u32, 1);
pub const STRING_PROVIDER_NAME_OFFSET = @as(u32, 2);
pub const SDP_ATTRIB_SDP_VERSION_NUMBER_LIST = @as(u32, 512);
pub const SDP_ATTRIB_SDP_DATABASE_STATE = @as(u32, 513);
pub const SDP_ATTRIB_BROWSE_GROUP_ID = @as(u32, 512);
pub const SDP_ATTRIB_CORDLESS_EXTERNAL_NETWORK = @as(u32, 769);
pub const SDP_ATTRIB_FAX_CLASS_1_SUPPORT = @as(u32, 770);
pub const SDP_ATTRIB_FAX_CLASS_2_0_SUPPORT = @as(u32, 771);
pub const SDP_ATTRIB_FAX_CLASS_2_SUPPORT = @as(u32, 772);
pub const SDP_ATTRIB_FAX_AUDIO_FEEDBACK_SUPPORT = @as(u32, 773);
pub const SDP_ATTRIB_HEADSET_REMOTE_AUDIO_VOLUME_CONTROL = @as(u32, 770);
pub const SDP_ATTRIB_LAN_LPSUBNET = @as(u32, 512);
pub const SDP_ATTRIB_OBJECT_PUSH_SUPPORTED_FORMATS_LIST = @as(u32, 771);
pub const SDP_ATTRIB_SYNCH_SUPPORTED_DATA_STORES_LIST = @as(u32, 769);
pub const SDP_ATTRIB_SERVICE_VERSION = @as(u32, 768);
pub const SDP_ATTRIB_PAN_NETWORK_ADDRESS = @as(u32, 774);
pub const SDP_ATTRIB_PAN_WAP_GATEWAY = @as(u32, 775);
pub const SDP_ATTRIB_PAN_HOME_PAGE_URL = @as(u32, 776);
pub const SDP_ATTRIB_PAN_WAP_STACK_TYPE = @as(u32, 777);
pub const SDP_ATTRIB_PAN_SECURITY_DESCRIPTION = @as(u32, 778);
pub const SDP_ATTRIB_PAN_NET_ACCESS_TYPE = @as(u32, 779);
pub const SDP_ATTRIB_PAN_MAX_NET_ACCESS_RATE = @as(u32, 780);
pub const SDP_ATTRIB_IMAGING_SUPPORTED_CAPABILITIES = @as(u32, 784);
pub const SDP_ATTRIB_IMAGING_SUPPORTED_FEATURES = @as(u32, 785);
pub const SDP_ATTRIB_IMAGING_SUPPORTED_FUNCTIONS = @as(u32, 786);
pub const SDP_ATTRIB_IMAGING_TOTAL_DATA_CAPACITY = @as(u32, 787);
pub const SDP_ATTRIB_DI_SPECIFICATION_ID = @as(u32, 512);
pub const SDP_ATTRIB_DI_VENDOR_ID = @as(u32, 513);
pub const SDP_ATTRIB_DI_PRODUCT_ID = @as(u32, 514);
pub const SDP_ATTRIB_DI_VERSION = @as(u32, 515);
pub const SDP_ATTRIB_DI_PRIMARY_RECORD = @as(u32, 516);
pub const SDP_ATTRIB_DI_VENDOR_ID_SOURCE = @as(u32, 517);
pub const SDP_ATTRIB_HID_DEVICE_RELEASE_NUMBER = @as(u32, 512);
pub const SDP_ATTRIB_HID_PARSER_VERSION = @as(u32, 513);
pub const SDP_ATTRIB_HID_DEVICE_SUBCLASS = @as(u32, 514);
pub const SDP_ATTRIB_HID_COUNTRY_CODE = @as(u32, 515);
pub const SDP_ATTRIB_HID_VIRTUAL_CABLE = @as(u32, 516);
pub const SDP_ATTRIB_HID_RECONNECT_INITIATE = @as(u32, 517);
pub const SDP_ATTRIB_HID_DESCRIPTOR_LIST = @as(u32, 518);
pub const SDP_ATTRIB_HID_LANG_ID_BASE_LIST = @as(u32, 519);
pub const SDP_ATTRIB_HID_SDP_DISABLE = @as(u32, 520);
pub const SDP_ATTRIB_HID_BATTERY_POWER = @as(u32, 521);
pub const SDP_ATTRIB_HID_REMOTE_WAKE = @as(u32, 522);
pub const SDP_ATTRIB_HID_PROFILE_VERSION = @as(u32, 523);
pub const SDP_ATTRIB_HID_SUPERVISION_TIMEOUT = @as(u32, 524);
pub const SDP_ATTRIB_HID_NORMALLY_CONNECTABLE = @as(u32, 525);
pub const SDP_ATTRIB_HID_BOOT_DEVICE = @as(u32, 526);
pub const SDP_ATTRIB_HID_SSR_HOST_MAX_LATENCY = @as(u32, 527);
pub const SDP_ATTRIB_HID_SSR_HOST_MIN_TIMEOUT = @as(u32, 528);
pub const SDP_ATTRIB_A2DP_SUPPORTED_FEATURES = @as(u32, 785);
pub const SDP_ATTRIB_AVRCP_SUPPORTED_FEATURES = @as(u32, 785);
pub const SDP_ATTRIB_HFP_SUPPORTED_FEATURES = @as(u32, 785);
pub const AVRCP_SUPPORTED_FEATURES_CATEGORY_1 = @as(u32, 1);
pub const AVRCP_SUPPORTED_FEATURES_CATEGORY_2 = @as(u32, 2);
pub const AVRCP_SUPPORTED_FEATURES_CATEGORY_3 = @as(u32, 4);
pub const AVRCP_SUPPORTED_FEATURES_CATEGORY_4 = @as(u32, 8);
pub const AVRCP_SUPPORTED_FEATURES_CT_BROWSING = @as(u32, 64);
pub const AVRCP_SUPPORTED_FEATURES_CT_COVER_ART_IMAGE_PROPERTIES = @as(u32, 128);
pub const AVRCP_SUPPORTED_FEATURES_CT_COVER_ART_IMAGE = @as(u32, 256);
pub const AVRCP_SUPPORTED_FEATURES_CT_COVER_ART_LINKED_THUMBNAIL = @as(u32, 512);
pub const AVRCP_SUPPORTED_FEATURES_TG_PLAYER_APPLICATION_SETTINGS = @as(u32, 16);
pub const AVRCP_SUPPORTED_FEATURES_TG_GROUP_NAVIGATION = @as(u32, 32);
pub const AVRCP_SUPPORTED_FEATURES_TG_BROWSING = @as(u32, 64);
pub const AVRCP_SUPPORTED_FEATURES_TG_MULTIPLE_PLAYER_APPLICATIONS = @as(u32, 128);
pub const AVRCP_SUPPORTED_FEATURES_TG_COVER_ART = @as(u32, 256);
pub const A2DP_SINK_SUPPORTED_FEATURES_HEADPHONE = @as(u32, 1);
pub const A2DP_SINK_SUPPORTED_FEATURES_SPEAKER = @as(u32, 2);
pub const A2DP_SINK_SUPPORTED_FEATURES_RECORDER = @as(u32, 4);
pub const A2DP_SINK_SUPPORTED_FEATURES_AMPLIFIER = @as(u32, 8);
pub const A2DP_SOURCE_SUPPORTED_FEATURES_PLAYER = @as(u32, 1);
pub const A2DP_SOURCE_SUPPORTED_FEATURES_MICROPHONE = @as(u32, 2);
pub const A2DP_SOURCE_SUPPORTED_FEATURES_TUNER = @as(u32, 4);
pub const A2DP_SOURCE_SUPPORTED_FEATURES_MIXER = @as(u32, 8);
pub const CORDLESS_EXTERNAL_NETWORK_PSTN = @as(u32, 1);
pub const CORDLESS_EXTERNAL_NETWORK_ISDN = @as(u32, 2);
pub const CORDLESS_EXTERNAL_NETWORK_GSM = @as(u32, 3);
pub const CORDLESS_EXTERNAL_NETWORK_CDMA = @as(u32, 4);
pub const CORDLESS_EXTERNAL_NETWORK_ANALOG_CELLULAR = @as(u32, 5);
pub const CORDLESS_EXTERNAL_NETWORK_PACKET_SWITCHED = @as(u32, 6);
pub const CORDLESS_EXTERNAL_NETWORK_OTHER = @as(u32, 7);
pub const OBJECT_PUSH_FORMAT_VCARD_2_1 = @as(u32, 1);
pub const OBJECT_PUSH_FORMAT_VCARD_3_0 = @as(u32, 2);
pub const OBJECT_PUSH_FORMAT_VCAL_1_0 = @as(u32, 3);
pub const OBJECT_PUSH_FORMAT_ICAL_2_0 = @as(u32, 4);
pub const OBJECT_PUSH_FORMAT_VNOTE = @as(u32, 5);
pub const OBJECT_PUSH_FORMAT_VMESSAGE = @as(u32, 6);
pub const OBJECT_PUSH_FORMAT_ANY = @as(u32, 255);
pub const SYNCH_DATA_STORE_PHONEBOOK = @as(u32, 1);
pub const SYNCH_DATA_STORE_CALENDAR = @as(u32, 3);
pub const SYNCH_DATA_STORE_NOTES = @as(u32, 5);
pub const SYNCH_DATA_STORE_MESSAGES = @as(u32, 6);
pub const DI_VENDOR_ID_SOURCE_BLUETOOTH_SIG = @as(u32, 1);
pub const DI_VENDOR_ID_SOURCE_USB_IF = @as(u32, 2);
pub const PSM_SDP = @as(u32, 1);
pub const PSM_RFCOMM = @as(u32, 3);
pub const PSM_TCS_BIN = @as(u32, 5);
pub const PSM_TCS_BIN_CORDLESS = @as(u32, 7);
pub const PSM_BNEP = @as(u32, 15);
pub const PSM_HID_CONTROL = @as(u32, 17);
pub const PSM_HID_INTERRUPT = @as(u32, 19);
pub const PSM_UPNP = @as(u32, 21);
pub const PSM_AVCTP = @as(u32, 23);
pub const PSM_AVDTP = @as(u32, 25);
pub const PSM_AVCTP_BROWSE = @as(u32, 27);
pub const PSM_UDI_C_PLANE = @as(u32, 29);
pub const PSM_ATT = @as(u32, 31);
pub const PSM_3DSP = @as(u32, 33);
pub const PSM_LE_IPSP = @as(u32, 35);
pub const STR_ADDR_FMTA = "(%02x:%02x:%02x:%02x:%02x:%02x)";
pub const STR_ADDR_FMTW = "(%02x:%02x:%02x:%02x:%02x:%02x)";
pub const STR_ADDR_SHORT_FMTA = "%04x%08x";
pub const STR_ADDR_SHORT_FMTW = "%04x%08x";
pub const STR_USBHCI_CLASS_HARDWAREIDA = "USB\\Class_E0&SubClass_01&Prot_01";
pub const STR_USBHCI_CLASS_HARDWAREIDW = "USB\\Class_E0&SubClass_01&Prot_01";
pub const STR_ADDR_FMT = "(%02x:%02x:%02x:%02x:%02x:%02x)";
pub const STR_ADDR_SHORT_FMT = "%04x%08x";
pub const STR_USBHCI_CLASS_HARDWAREID = "USB\\Class_E0&SubClass_01&Prot_01";
pub const BTH_IOCTL_BASE = @as(u32, 0);
pub const SDP_CONNECT_CACHE = @as(u32, 1);
pub const SDP_CONNECT_ALLOW_PIN = @as(u32, 2);
pub const SDP_REQUEST_TO_DEFAULT = @as(u32, 0);
pub const SDP_REQUEST_TO_MIN = @as(u32, 10);
pub const SDP_REQUEST_TO_MAX = @as(u32, 45);
pub const SERVICE_OPTION_DO_NOT_PUBLISH = @as(u32, 2);
pub const SERVICE_OPTION_NO_PUBLIC_BROWSE = @as(u32, 4);
pub const SERVICE_OPTION_DO_NOT_PUBLISH_EIR = @as(u32, 8);
pub const SERVICE_SECURITY_USE_DEFAULTS = @as(u32, 0);
pub const SERVICE_SECURITY_NONE = @as(u32, 1);
pub const SERVICE_SECURITY_AUTHORIZE = @as(u32, 2);
pub const SERVICE_SECURITY_AUTHENTICATE = @as(u32, 4);
pub const SERVICE_SECURITY_ENCRYPT_REQUIRED = @as(u32, 16);
pub const SERVICE_SECURITY_ENCRYPT_OPTIONAL = @as(u32, 32);
pub const SERVICE_SECURITY_DISABLED = @as(u32, 268435456);
pub const SERVICE_SECURITY_NO_ASK = @as(u32, 536870912);
pub const SDP_SEARCH_NO_PARSE_CHECK = @as(u32, 1);
pub const SDP_SEARCH_NO_FORMAT_CHECK = @as(u32, 2);
pub const BTH_HOST_FEATURE_ENHANCED_RETRANSMISSION_MODE = @as(u64, 1);
pub const BTH_HOST_FEATURE_STREAMING_MODE = @as(u64, 2);
pub const BTH_HOST_FEATURE_LOW_ENERGY = @as(u64, 4);
pub const BTH_HOST_FEATURE_SCO_HCI = @as(u64, 8);
pub const BTH_HOST_FEATURE_SCO_HCIBYPASS = @as(u64, 16);
pub const BLUETOOTH_MAX_NAME_SIZE = @as(u32, 248);
pub const BLUETOOTH_MAX_PASSKEY_SIZE = @as(u32, 16);
pub const BLUETOOTH_MAX_PASSKEY_BUFFER_SIZE = @as(u32, 17);
pub const BLUETOOTH_MAX_SERVICE_NAME_SIZE = @as(u32, 256);
pub const BLUETOOTH_DEVICE_NAME_SIZE = @as(u32, 256);
pub const BLUETOOTH_SERVICE_DISABLE = @as(u32, 0);
pub const BLUETOOTH_SERVICE_ENABLE = @as(u32, 1);
pub const GUID_BLUETOOTHLE_DEVICE_INTERFACE = Guid.initString("781aee18-7733-4ce4-add0-91f41c67b592");
pub const GUID_BLUETOOTH_GATT_SERVICE_DEVICE_INTERFACE = Guid.initString("6e3bb679-4372-40c8-9eaa-4509df260cd8");
pub const BTH_LE_ATT_BLUETOOTH_BASE_GUID = Guid.initString("00000000-0000-1000-8000-00805f9b34fb");
pub const BTH_LE_SERVICE_GAP = @as(u32, 6144);
pub const BTH_LE_SERVICE_GATT = @as(u32, 6145);
pub const BTH_LE_GATT_ATTRIBUTE_TYPE_PRIMARY_SERVICE = @as(u32, 10240);
pub const BTH_LE_GATT_ATTRIBUTE_TYPE_SECONDARY_SERVICE = @as(u32, 10241);
pub const BTH_LE_GATT_ATTRIBUTE_TYPE_INCLUDE = @as(u32, 10242);
pub const BTH_LE_GATT_ATTRIBUTE_TYPE_CHARACTERISTIC = @as(u32, 10243);
pub const BTH_LE_GATT_CHARACTERISTIC_DESCRIPTOR_EXTENDED_PROPERTIES = @as(u32, 10496);
pub const BTH_LE_GATT_CHARACTERISTIC_DESCRIPTOR_USER_DESCRIPTION = @as(u32, 10497);
pub const BTH_LE_GATT_CHARACTERISTIC_DESCRIPTOR_CLIENT_CONFIGURATION = @as(u32, 10498);
pub const BTH_LE_GATT_CHARACTERISTIC_DESCRIPTOR_SERVER_CONFIGURATION = @as(u32, 10499);
pub const BTH_LE_GATT_CHARACTERISTIC_DESCRIPTOR_FORMAT = @as(u32, 10500);
pub const BTH_LE_GATT_CHARACTERISTIC_DESCRIPTOR_AGGREGATE_FORMAT = @as(u32, 10501);
pub const BTH_LE_GATT_CHARACTERISTIC_TYPE_DEVICE_NAME = @as(u32, 10752);
pub const BTH_LE_GATT_CHARACTERISTIC_TYPE_APPEARANCE = @as(u32, 10753);
pub const BTH_LE_GATT_CHARACTERISTIC_TYPE_PERIPHERAL_PRIVACY_FLAG = @as(u32, 10754);
pub const BTH_LE_GATT_CHARACTERISTIC_TYPE_RECONNECTION_ADDRESS = @as(u32, 10755);
pub const BTH_LE_GATT_CHARACTERISTIC_TYPE_PERIPHERAL_PREFERED_CONNECTION_PARAMETER = @as(u32, 10756);
pub const BTH_LE_GATT_CHARACTERISTIC_TYPE_SERVICE_CHANGED = @as(u32, 10757);
pub const BTH_LE_GAP_APPEARANCE_CATEGORY_OFFSET = @as(u32, 6);
pub const BTH_LE_GAP_APPEARANCE_CATEGORY_MASK = @as(u32, 1023);
pub const BTH_LE_GAP_APPEARANCE_SUB_CATEGORY_MASK = @as(u32, 63);
pub const BTH_LE_GAP_APPEARANCE_CATEGORY_UNCATEGORIZED = @as(u32, 0);
pub const BTH_LE_GAP_APPEARANCE_CATEGORY_PHONE = @as(u32, 1);
pub const BTH_LE_GAP_APPEARANCE_CATEGORY_COMPUTER = @as(u32, 2);
pub const BTH_LE_GAP_APPEARANCE_CATEGORY_WATCH = @as(u32, 3);
pub const BTH_LE_GAP_APPEARANCE_CATEGORY_CLOCK = @as(u32, 4);
pub const BTH_LE_GAP_APPEARANCE_CATEGORY_DISPLAY = @as(u32, 5);
pub const BTH_LE_GAP_APPEARANCE_CATEGORY_REMOTE_CONTROL = @as(u32, 6);
pub const BTH_LE_GAP_APPEARANCE_CATEGORY_EYE_GLASSES = @as(u32, 7);
pub const BTH_LE_GAP_APPEARANCE_CATEGORY_TAG = @as(u32, 8);
pub const BTH_LE_GAP_APPEARANCE_CATEGORY_KEYRING = @as(u32, 9);
pub const BTH_LE_GAP_APPEARANCE_CATEGORY_MEDIA_PLAYER = @as(u32, 10);
pub const BTH_LE_GAP_APPEARANCE_CATEGORY_BARCODE_SCANNER = @as(u32, 11);
pub const BTH_LE_GAP_APPEARANCE_CATEGORY_THERMOMETER = @as(u32, 12);
pub const BTH_LE_GAP_APPEARANCE_CATEGORY_HEART_RATE = @as(u32, 13);
pub const BTH_LE_GAP_APPEARANCE_CATEGORY_BLOOD_PRESSURE = @as(u32, 14);
pub const BTH_LE_GAP_APPEARANCE_CATEGORY_HID = @as(u32, 15);
pub const BTH_LE_GAP_APPEARANCE_CATEGORY_GLUCOSE_METER = @as(u32, 16);
pub const BTH_LE_GAP_APPEARANCE_CATEGORY_RUNNING_WALKING_SENSOR = @as(u32, 17);
pub const BTH_LE_GAP_APPEARANCE_CATEGORY_CYCLING = @as(u32, 18);
pub const BTH_LE_GAP_APPEARANCE_CATEGORY_PLUSE_OXIMETER = @as(u32, 49);
pub const BTH_LE_GAP_APPEARANCE_CATEGORY_WEIGHT_SCALE = @as(u32, 50);
pub const BTH_LE_GAP_APPEARANCE_CATEGORY_OUTDOOR_SPORTS_ACTIVITY = @as(u32, 81);
pub const BTH_LE_GAP_APPEARANCE_SUBCATEGORY_GENERIC = @as(u32, 0);
pub const BTH_LE_GAP_APPEARANCE_WATCH_SUBCATEGORY_SPORTS_WATCH = @as(u32, 1);
pub const BTH_LE_GAP_APPEARANCE_THERMOMETER_SUBCATEGORY_EAR = @as(u32, 1);
pub const BTH_LE_GAP_APPEARANCE_HEART_RATE_SUBCATEGORY_HEART_RATE_BELT = @as(u32, 1);
pub const BTH_LE_GAP_APPEARANCE_BLOOD_PRESSURE_SUBCATEGORY_ARM = @as(u32, 1);
pub const BTH_LE_GAP_APPEARANCE_BLOOD_PRESSURE_SUBCATEGORY_WRIST = @as(u32, 2);
pub const BTH_LE_GAP_APPEARANCE_HID_SUBCATEGORY_KEYBOARD = @as(u32, 1);
pub const BTH_LE_GAP_APPEARANCE_HID_SUBCATEGORY_MOUSE = @as(u32, 2);
pub const BTH_LE_GAP_APPEARANCE_HID_SUBCATEGORY_JOYSTICK = @as(u32, 3);
pub const BTH_LE_GAP_APPEARANCE_HID_SUBCATEGORY_GAMEPAD = @as(u32, 4);
pub const BTH_LE_GAP_APPEARANCE_HID_SUBCATEGORY_DIGITIZER_TABLET = @as(u32, 5);
pub const BTH_LE_GAP_APPEARANCE_HID_SUBCATEGORY_CARD_READER = @as(u32, 6);
pub const BTH_LE_GAP_APPEARANCE_HID_SUBCATEGORY_DIGITAL_PEN = @as(u32, 7);
pub const BTH_LE_GAP_APPEARANCE_HID_SUBCATEGORY_BARCODE_SCANNER = @as(u32, 8);
pub const BTH_LE_GAP_APPEARANCE_RUNNING_WALKING_SENSOR_SUBCATEGORY_IN_SHOE = @as(u32, 1);
pub const BTH_LE_GAP_APPEARANCE_RUNNING_WALKING_SENSOR_SUBCATEGORY_ON_SHOE = @as(u32, 2);
pub const BTH_LE_GAP_APPEARANCE_RUNNING_WALKING_SENSOR_SUBCATEGORY_ON_HIP = @as(u32, 3);
pub const BTH_LE_GAP_APPEARANCE_CYCLING_SUBCATEGORY_CYCLING_COMPUTER = @as(u32, 1);
pub const BTH_LE_GAP_APPEARANCE_CYCLING_SUBCATEGORY_SPEED_SENSOR = @as(u32, 2);
pub const BTH_LE_GAP_APPEARANCE_CYCLING_SUBCATEGORY_CADENCE_SENSOR = @as(u32, 3);
pub const BTH_LE_GAP_APPEARANCE_CYCLING_SUBCATEGORY_POWER_SENSOR = @as(u32, 4);
pub const BTH_LE_GAP_APPEARANCE_CYCLING_SUBCATEGORY_SPEED_AND_CADENCE_SENSOR = @as(u32, 5);
pub const BTH_LE_GAP_APPEARANCE_PULSE_OXIMETER_SUBCATEGORY_FINGERTIP = @as(u32, 1);
pub const BTH_LE_GAP_APPEARANCE_PULSE_OXIMETER_SUBCATEGORY_WRIST_WORN = @as(u32, 2);
pub const BTH_LE_GAP_APPEARANCE_OUTDOOR_SPORTS_ACTIVITY_SUBCATEGORY_LOCATION_DISPLAY_DEVICE = @as(u32, 1);
pub const BTH_LE_GAP_APPEARANCE_OUTDOOR_SPORTS_ACTIVITY_SUBCATEGORY_LOCATION_NAVIGATION_DISPLAY_DEVICE = @as(u32, 2);
pub const BTH_LE_GAP_APPEARANCE_OUTDOOR_SPORTS_ACTIVITY_SUBCATEGORY_LOCATION_POD = @as(u32, 3);
pub const BTH_LE_GAP_APPEARANCE_OUTDOOR_SPORTS_ACTIVITY_SUBCATEGORY_LOCATION_NAVIGATION_POD = @as(u32, 4);
pub const BTH_LE_GATT_DEFAULT_MAX_INCLUDED_SERVICES_DEPTH = @as(u32, 3);
pub const BTH_LE_ATT_TRANSACTION_TIMEOUT = @as(u32, 30);
pub const BTH_LE_ATT_MAX_VALUE_SIZE = @as(u32, 512);
pub const BTH_LE_ATT_CID = @as(u32, 4);
pub const BTHLEENUM_ATT_MTU_MIN = @as(u32, 23);
pub const BTHLEENUM_ATT_MTU_MAX = @as(u32, 65535);
pub const BTHLEENUM_ATT_MTU_DEFAULT = @as(u32, 23);
pub const BTHLEENUM_ATT_MTU_INITIAL_NEGOTIATION = @as(u32, 525);
pub const BTH_LE_ERROR_INVALID_HANDLE = @as(u32, 1);
pub const BTH_LE_ERROR_READ_NOT_PERMITTED = @as(u32, 2);
pub const BTH_LE_ERROR_WRITE_NOT_PERMITTED = @as(u32, 3);
pub const BTH_LE_ERROR_INVALID_PDU = @as(u32, 4);
pub const BTH_LE_ERROR_INSUFFICIENT_AUTHENTICATION = @as(u32, 5);
pub const BTH_LE_ERROR_REQUEST_NOT_SUPPORTED = @as(u32, 6);
pub const BTH_LE_ERROR_INVALID_OFFSET = @as(u32, 7);
pub const BTH_LE_ERROR_INSUFFICIENT_AUTHORIZATION = @as(u32, 8);
pub const BTH_LE_ERROR_PREPARE_QUEUE_FULL = @as(u32, 9);
pub const BTH_LE_ERROR_ATTRIBUTE_NOT_FOUND = @as(u32, 10);
pub const BTH_LE_ERROR_ATTRIBUTE_NOT_LONG = @as(u32, 11);
pub const BTH_LE_ERROR_INSUFFICIENT_ENCRYPTION_KEY_SIZE = @as(u32, 12);
pub const BTH_LE_ERROR_INVALID_ATTRIBUTE_VALUE_LENGTH = @as(u32, 13);
pub const BTH_LE_ERROR_UNLIKELY = @as(u32, 14);
pub const BTH_LE_ERROR_INSUFFICIENT_ENCRYPTION = @as(u32, 15);
pub const BTH_LE_ERROR_UNSUPPORTED_GROUP_TYPE = @as(u32, 16);
pub const BTH_LE_ERROR_INSUFFICIENT_RESOURCES = @as(u32, 17);
pub const BTH_LE_ERROR_UNKNOWN = @as(u32, 4096);
pub const BLUETOOTH_GATT_FLAG_NONE = @as(u32, 0);
pub const BLUETOOTH_GATT_FLAG_CONNECTION_ENCRYPTED = @as(u32, 1);
pub const BLUETOOTH_GATT_FLAG_CONNECTION_AUTHENTICATED = @as(u32, 2);
pub const BLUETOOTH_GATT_FLAG_FORCE_READ_FROM_DEVICE = @as(u32, 4);
pub const BLUETOOTH_GATT_FLAG_FORCE_READ_FROM_CACHE = @as(u32, 8);
pub const BLUETOOTH_GATT_FLAG_SIGNED_WRITE = @as(u32, 16);
pub const BLUETOOTH_GATT_FLAG_WRITE_WITHOUT_RESPONSE = @as(u32, 32);
pub const BLUETOOTH_GATT_FLAG_RETURN_ALL = @as(u32, 64);
pub const BT_PORT_MIN = @as(u32, 1);
pub const BT_PORT_MAX = @as(u32, 65535);
pub const BT_PORT_DYN_FIRST = @as(u32, 4097);
pub const AF_BTH = @as(u16, 32);
pub const PF_BTH = @as(u16, 32);
pub const NS_BTH = @as(u32, 16);
pub const SVCID_BTH_PROVIDER = Guid.initString("06aa63e0-7d60-41ff-afb2-3ee6d2d9392d");
pub const BTH_ADDR_STRING_SIZE = @as(u32, 12);
pub const BTHPROTO_RFCOMM = @as(u32, 3);
pub const BTHPROTO_L2CAP = @as(u32, 256);
pub const SOL_RFCOMM = @as(u32, 3);
pub const SOL_L2CAP = @as(u32, 256);
pub const SOL_SDP = @as(u32, 257);
pub const SO_BTH_AUTHENTICATE = @as(u32, 2147483649);
pub const SO_BTH_ENCRYPT = @as(u32, 2);
pub const SO_BTH_MTU = @as(u32, 2147483655);
pub const SO_BTH_MTU_MAX = @as(u32, 2147483656);
pub const SO_BTH_MTU_MIN = @as(u32, 2147483658);
pub const RFCOMM_MAX_MTU = @as(u32, 1011);
pub const RFCOMM_MIN_MTU = @as(u32, 23);
pub const BTH_SDP_VERSION = @as(u32, 1);
pub const SDP_DEFAULT_INQUIRY_SECONDS = @as(u32, 6);
pub const SDP_MAX_INQUIRY_SECONDS = @as(u32, 60);
pub const SDP_DEFAULT_INQUIRY_MAX_RESPONSES = @as(u32, 255);
pub const SDP_SERVICE_SEARCH_REQUEST = @as(u32, 1);
pub const SDP_SERVICE_ATTRIBUTE_REQUEST = @as(u32, 2);
pub const SDP_SERVICE_SEARCH_ATTRIBUTE_REQUEST = @as(u32, 3);
pub const BTHNS_RESULT_DEVICE_CONNECTED = @as(u32, 65536);
pub const BTHNS_RESULT_DEVICE_REMEMBERED = @as(u32, 131072);
pub const BTHNS_RESULT_DEVICE_AUTHENTICATED = @as(u32, 262144);
pub const RLS_ERROR = @as(u32, 1);
pub const RLS_OVERRUN = @as(u32, 2);
pub const RLS_PARITY = @as(u32, 4);
pub const RLS_FRAMING = @as(u32, 8);
pub const RPN_BAUD_2400 = @as(u32, 0);
pub const RPN_BAUD_4800 = @as(u32, 1);
pub const RPN_BAUD_7200 = @as(u32, 2);
pub const RPN_BAUD_9600 = @as(u32, 3);
pub const RPN_BAUD_19200 = @as(u32, 4);
pub const RPN_BAUD_38400 = @as(u32, 5);
pub const RPN_BAUD_57600 = @as(u32, 6);
pub const RPN_BAUD_115200 = @as(u32, 7);
pub const RPN_BAUD_230400 = @as(u32, 8);
pub const RPN_DATA_5 = @as(u32, 0);
pub const RPN_DATA_6 = @as(u32, 1);
pub const RPN_DATA_7 = @as(u32, 2);
pub const RPN_DATA_8 = @as(u32, 3);
pub const RPN_STOP_1 = @as(u32, 0);
pub const RPN_STOP_1_5 = @as(u32, 4);
pub const RPN_PARITY_NONE = @as(u32, 0);
pub const RPN_PARITY_ODD = @as(u32, 8);
pub const RPN_PARITY_EVEN = @as(u32, 24);
pub const RPN_PARITY_MARK = @as(u32, 40);
pub const RPN_PARITY_SPACE = @as(u32, 56);
pub const RPN_FLOW_X_IN = @as(u32, 1);
pub const RPN_FLOW_X_OUT = @as(u32, 2);
pub const RPN_FLOW_RTR_IN = @as(u32, 4);
pub const RPN_FLOW_RTR_OUT = @as(u32, 8);
pub const RPN_FLOW_RTC_IN = @as(u32, 16);
pub const RPN_FLOW_RTC_OUT = @as(u32, 32);
pub const RPN_PARAM_BAUD = @as(u32, 1);
pub const RPN_PARAM_DATA = @as(u32, 2);
pub const RPN_PARAM_STOP = @as(u32, 4);
pub const RPN_PARAM_PARITY = @as(u32, 8);
pub const RPN_PARAM_P_TYPE = @as(u32, 16);
pub const RPN_PARAM_XON = @as(u32, 32);
pub const RPN_PARAM_XOFF = @as(u32, 64);
pub const RPN_PARAM_X_IN = @as(u32, 1);
pub const RPN_PARAM_X_OUT = @as(u32, 2);
pub const RPN_PARAM_RTR_IN = @as(u32, 4);
pub const RPN_PARAM_RTR_OUT = @as(u32, 8);
pub const RPN_PARAM_RTC_IN = @as(u32, 16);
pub const RPN_PARAM_RTC_OUT = @as(u32, 32);
pub const RFCOMM_CMD_NONE = @as(u32, 0);
pub const RFCOMM_CMD_MSC = @as(u32, 1);
pub const RFCOMM_CMD_RLS = @as(u32, 2);
pub const RFCOMM_CMD_RPN = @as(u32, 3);
pub const RFCOMM_CMD_RPN_REQUEST = @as(u32, 4);
pub const RFCOMM_CMD_RPN_RESPONSE = @as(u32, 5);
//--------------------------------------------------------------------------------
// Section: Types (61)
//--------------------------------------------------------------------------------
// TODO: this type has an InvalidHandleValue of '0', what can Zig do with this information?
pub const HANDLE_SDP_TYPE = u64;
pub const SDP_LARGE_INTEGER_16 = extern struct {
LowPart: u64,
HighPart: i64,
};
pub const SDP_ULARGE_INTEGER_16 = extern struct {
LowPart: u64,
HighPart: u64,
};
pub const NodeContainerType = enum(i32) {
Sequence = 0,
Alternative = 1,
};
pub const NodeContainerTypeSequence = NodeContainerType.Sequence;
pub const NodeContainerTypeAlternative = NodeContainerType.Alternative;
pub const SDP_TYPE = enum(i32) {
NIL = 0,
UINT = 1,
INT = 2,
UUID = 3,
STRING = 4,
BOOLEAN = 5,
SEQUENCE = 6,
ALTERNATIVE = 7,
URL = 8,
CONTAINER = 32,
};
pub const SDP_TYPE_NIL = SDP_TYPE.NIL;
pub const SDP_TYPE_UINT = SDP_TYPE.UINT;
pub const SDP_TYPE_INT = SDP_TYPE.INT;
pub const SDP_TYPE_UUID = SDP_TYPE.UUID;
pub const SDP_TYPE_STRING = SDP_TYPE.STRING;
pub const SDP_TYPE_BOOLEAN = SDP_TYPE.BOOLEAN;
pub const SDP_TYPE_SEQUENCE = SDP_TYPE.SEQUENCE;
pub const SDP_TYPE_ALTERNATIVE = SDP_TYPE.ALTERNATIVE;
pub const SDP_TYPE_URL = SDP_TYPE.URL;
pub const SDP_TYPE_CONTAINER = SDP_TYPE.CONTAINER;
pub const SDP_SPECIFICTYPE = enum(i32) {
NONE = 0,
UINT8 = 16,
UINT16 = 272,
UINT32 = 528,
UINT64 = 784,
UINT128 = 1040,
INT8 = 32,
INT16 = 288,
INT32 = 544,
INT64 = 800,
INT128 = 1056,
UUID16 = 304,
// UUID32 = 544, this enum value conflicts with INT32
UUID128 = 1072,
};
pub const SDP_ST_NONE = SDP_SPECIFICTYPE.NONE;
pub const SDP_ST_UINT8 = SDP_SPECIFICTYPE.UINT8;
pub const SDP_ST_UINT16 = SDP_SPECIFICTYPE.UINT16;
pub const SDP_ST_UINT32 = SDP_SPECIFICTYPE.UINT32;
pub const SDP_ST_UINT64 = SDP_SPECIFICTYPE.UINT64;
pub const SDP_ST_UINT128 = SDP_SPECIFICTYPE.UINT128;
pub const SDP_ST_INT8 = SDP_SPECIFICTYPE.INT8;
pub const SDP_ST_INT16 = SDP_SPECIFICTYPE.INT16;
pub const SDP_ST_INT32 = SDP_SPECIFICTYPE.INT32;
pub const SDP_ST_INT64 = SDP_SPECIFICTYPE.INT64;
pub const SDP_ST_INT128 = SDP_SPECIFICTYPE.INT128;
pub const SDP_ST_UUID16 = SDP_SPECIFICTYPE.UUID16;
pub const SDP_ST_UUID32 = SDP_SPECIFICTYPE.INT32;
pub const SDP_ST_UUID128 = SDP_SPECIFICTYPE.UUID128;
pub const SdpAttributeRange = extern struct {
minAttribute: u16,
maxAttribute: u16,
};
pub const SdpQueryUuidUnion = extern union {
uuid128: Guid,
uuid32: u32,
uuid16: u16,
};
pub const SdpQueryUuid = extern struct {
u: SdpQueryUuidUnion,
uuidType: u16,
};
pub const BTH_DEVICE_INFO = extern struct {
flags: u32,
address: u64,
classOfDevice: u32,
name: [248]CHAR,
};
pub const BTH_RADIO_IN_RANGE = extern struct {
deviceInfo: BTH_DEVICE_INFO,
previousDeviceFlags: u32,
};
pub const BTH_L2CAP_EVENT_INFO = extern struct {
bthAddress: u64,
psm: u16,
connected: u8,
initiated: u8,
};
pub const BTH_HCI_EVENT_INFO = extern struct {
bthAddress: u64,
connectionType: u8,
connected: u8,
};
pub const IO_CAPABILITY = enum(i32) {
DisplayOnly = 0,
DisplayYesNo = 1,
KeyboardOnly = 2,
NoInputNoOutput = 3,
Undefined = 255,
};
pub const IoCaps_DisplayOnly = IO_CAPABILITY.DisplayOnly;
pub const IoCaps_DisplayYesNo = IO_CAPABILITY.DisplayYesNo;
pub const IoCaps_KeyboardOnly = IO_CAPABILITY.KeyboardOnly;
pub const IoCaps_NoInputNoOutput = IO_CAPABILITY.NoInputNoOutput;
pub const IoCaps_Undefined = IO_CAPABILITY.Undefined;
pub const AUTHENTICATION_REQUIREMENTS = enum(i32) {
NotRequired = 0,
Required = 1,
NotRequiredBonding = 2,
RequiredBonding = 3,
NotRequiredGeneralBonding = 4,
RequiredGeneralBonding = 5,
NotDefined = 255,
};
pub const MITMProtectionNotRequired = AUTHENTICATION_REQUIREMENTS.NotRequired;
pub const MITMProtectionRequired = AUTHENTICATION_REQUIREMENTS.Required;
pub const MITMProtectionNotRequiredBonding = AUTHENTICATION_REQUIREMENTS.NotRequiredBonding;
pub const MITMProtectionRequiredBonding = AUTHENTICATION_REQUIREMENTS.RequiredBonding;
pub const MITMProtectionNotRequiredGeneralBonding = AUTHENTICATION_REQUIREMENTS.NotRequiredGeneralBonding;
pub const MITMProtectionRequiredGeneralBonding = AUTHENTICATION_REQUIREMENTS.RequiredGeneralBonding;
pub const MITMProtectionNotDefined = AUTHENTICATION_REQUIREMENTS.NotDefined;
pub const BLUETOOTH_ADDRESS = extern struct {
Anonymous: extern union {
ullLong: u64,
rgBytes: [6]u8,
},
};
pub const BLUETOOTH_LOCAL_SERVICE_INFO = extern struct {
Enabled: BOOL,
btAddr: BLUETOOTH_ADDRESS,
szName: [256]u16,
szDeviceString: [256]u16,
};
pub const BLUETOOTH_FIND_RADIO_PARAMS = extern struct {
dwSize: u32,
};
pub const BLUETOOTH_RADIO_INFO = extern struct {
dwSize: u32,
address: BLUETOOTH_ADDRESS,
szName: [248]u16,
ulClassofDevice: u32,
lmpSubversion: u16,
manufacturer: u16,
};
pub const BLUETOOTH_DEVICE_INFO = extern struct {
dwSize: u32,
Address: BLUETOOTH_ADDRESS,
ulClassofDevice: u32,
fConnected: BOOL,
fRemembered: BOOL,
fAuthenticated: BOOL,
stLastSeen: SYSTEMTIME,
stLastUsed: SYSTEMTIME,
szName: [248]u16,
};
pub const BLUETOOTH_AUTHENTICATION_METHOD = enum(i32) {
LEGACY = 1,
OOB = 2,
NUMERIC_COMPARISON = 3,
PASSKEY_NOTIFICATION = 4,
PASSKEY = 5,
};
pub const BLUETOOTH_AUTHENTICATION_METHOD_LEGACY = BLUETOOTH_AUTHENTICATION_METHOD.LEGACY;
pub const BLUETOOTH_AUTHENTICATION_METHOD_OOB = BLUETOOTH_AUTHENTICATION_METHOD.OOB;
pub const BLUETOOTH_AUTHENTICATION_METHOD_NUMERIC_COMPARISON = BLUETOOTH_AUTHENTICATION_METHOD.NUMERIC_COMPARISON;
pub const BLUETOOTH_AUTHENTICATION_METHOD_PASSKEY_NOTIFICATION = BLUETOOTH_AUTHENTICATION_METHOD.PASSKEY_NOTIFICATION;
pub const BLUETOOTH_AUTHENTICATION_METHOD_PASSKEY = BLUETOOTH_AUTHENTICATION_METHOD.PASSKEY;
pub const BLUETOOTH_IO_CAPABILITY = enum(i32) {
DISPLAYONLY = 0,
DISPLAYYESNO = 1,
KEYBOARDONLY = 2,
NOINPUTNOOUTPUT = 3,
UNDEFINED = 255,
};
pub const BLUETOOTH_IO_CAPABILITY_DISPLAYONLY = BLUETOOTH_IO_CAPABILITY.DISPLAYONLY;
pub const BLUETOOTH_IO_CAPABILITY_DISPLAYYESNO = BLUETOOTH_IO_CAPABILITY.DISPLAYYESNO;
pub const BLUETOOTH_IO_CAPABILITY_KEYBOARDONLY = BLUETOOTH_IO_CAPABILITY.KEYBOARDONLY;
pub const BLUETOOTH_IO_CAPABILITY_NOINPUTNOOUTPUT = BLUETOOTH_IO_CAPABILITY.NOINPUTNOOUTPUT;
pub const BLUETOOTH_IO_CAPABILITY_UNDEFINED = BLUETOOTH_IO_CAPABILITY.UNDEFINED;
pub const BLUETOOTH_AUTHENTICATION_REQUIREMENTS = enum(i32) {
NotRequired = 0,
Required = 1,
NotRequiredBonding = 2,
RequiredBonding = 3,
NotRequiredGeneralBonding = 4,
RequiredGeneralBonding = 5,
NotDefined = 255,
};
pub const BLUETOOTH_MITM_ProtectionNotRequired = BLUETOOTH_AUTHENTICATION_REQUIREMENTS.NotRequired;
pub const BLUETOOTH_MITM_ProtectionRequired = BLUETOOTH_AUTHENTICATION_REQUIREMENTS.Required;
pub const BLUETOOTH_MITM_ProtectionNotRequiredBonding = BLUETOOTH_AUTHENTICATION_REQUIREMENTS.NotRequiredBonding;
pub const BLUETOOTH_MITM_ProtectionRequiredBonding = BLUETOOTH_AUTHENTICATION_REQUIREMENTS.RequiredBonding;
pub const BLUETOOTH_MITM_ProtectionNotRequiredGeneralBonding = BLUETOOTH_AUTHENTICATION_REQUIREMENTS.NotRequiredGeneralBonding;
pub const BLUETOOTH_MITM_ProtectionRequiredGeneralBonding = BLUETOOTH_AUTHENTICATION_REQUIREMENTS.RequiredGeneralBonding;
pub const BLUETOOTH_MITM_ProtectionNotDefined = BLUETOOTH_AUTHENTICATION_REQUIREMENTS.NotDefined;
pub const BLUETOOTH_AUTHENTICATION_CALLBACK_PARAMS = extern struct {
deviceInfo: BLUETOOTH_DEVICE_INFO,
authenticationMethod: BLUETOOTH_AUTHENTICATION_METHOD,
ioCapability: BLUETOOTH_IO_CAPABILITY,
authenticationRequirements: BLUETOOTH_AUTHENTICATION_REQUIREMENTS,
Anonymous: extern union {
Numeric_Value: u32,
Passkey: u32,
},
};
pub const BLUETOOTH_DEVICE_SEARCH_PARAMS = extern struct {
dwSize: u32,
fReturnAuthenticated: BOOL,
fReturnRemembered: BOOL,
fReturnUnknown: BOOL,
fReturnConnected: BOOL,
fIssueInquiry: BOOL,
cTimeoutMultiplier: u8,
hRadio: ?HANDLE,
};
pub const BLUETOOTH_COD_PAIRS = extern struct {
ulCODMask: u32,
pcszDescription: ?[*:0]const u16,
};
pub const PFN_DEVICE_CALLBACK = switch (@import("builtin").zig_backend) {
.stage1 => fn(
pvParam: ?*anyopaque,
pDevice: ?*const BLUETOOTH_DEVICE_INFO,
) callconv(@import("std").os.windows.WINAPI) BOOL,
else => *const fn(
pvParam: ?*anyopaque,
pDevice: ?*const BLUETOOTH_DEVICE_INFO,
) callconv(@import("std").os.windows.WINAPI) BOOL,
} ;
pub const BLUETOOTH_SELECT_DEVICE_PARAMS = extern struct {
dwSize: u32,
cNumOfClasses: u32,
prgClassOfDevices: ?*BLUETOOTH_COD_PAIRS,
pszInfo: ?PWSTR,
hwndParent: ?HWND,
fForceAuthentication: BOOL,
fShowAuthenticated: BOOL,
fShowRemembered: BOOL,
fShowUnknown: BOOL,
fAddNewDeviceWizard: BOOL,
fSkipServicesPage: BOOL,
pfnDeviceCallback: ?PFN_DEVICE_CALLBACK,
pvParam: ?*anyopaque,
cNumDevices: u32,
pDevices: ?*BLUETOOTH_DEVICE_INFO,
};
pub const BLUETOOTH_PIN_INFO = extern struct {
pin: [16]u8,
pinLength: u8,
};
pub const BLUETOOTH_OOB_DATA_INFO = extern struct {
C: [16]u8,
R: [16]u8,
};
pub const BLUETOOTH_NUMERIC_COMPARISON_INFO = extern struct {
NumericValue: u32,
};
pub const BLUETOOTH_PASSKEY_INFO = extern struct {
passkey: u32,
};
pub const PFN_AUTHENTICATION_CALLBACK = switch (@import("builtin").zig_backend) {
.stage1 => fn(
pvParam: ?*anyopaque,
pDevice: ?*BLUETOOTH_DEVICE_INFO,
) callconv(@import("std").os.windows.WINAPI) BOOL,
else => *const fn(
pvParam: ?*anyopaque,
pDevice: ?*BLUETOOTH_DEVICE_INFO,
) callconv(@import("std").os.windows.WINAPI) BOOL,
} ;
pub const PFN_AUTHENTICATION_CALLBACK_EX = switch (@import("builtin").zig_backend) {
.stage1 => fn(
pvParam: ?*anyopaque,
pAuthCallbackParams: ?*BLUETOOTH_AUTHENTICATION_CALLBACK_PARAMS,
) callconv(@import("std").os.windows.WINAPI) BOOL,
else => *const fn(
pvParam: ?*anyopaque,
pAuthCallbackParams: ?*BLUETOOTH_AUTHENTICATION_CALLBACK_PARAMS,
) callconv(@import("std").os.windows.WINAPI) BOOL,
} ;
pub const BLUETOOTH_AUTHENTICATE_RESPONSE = extern struct {
bthAddressRemote: BLUETOOTH_ADDRESS,
authMethod: BLUETOOTH_AUTHENTICATION_METHOD,
Anonymous: extern union {
pinInfo: BLUETOOTH_PIN_INFO,
oobInfo: BLUETOOTH_OOB_DATA_INFO,
numericCompInfo: BLUETOOTH_NUMERIC_COMPARISON_INFO,
passkeyInfo: BLUETOOTH_PASSKEY_INFO,
},
negativeResponse: u8,
};
pub const SDP_ELEMENT_DATA = extern struct {
type: SDP_TYPE,
specificType: SDP_SPECIFICTYPE,
data: extern union {
int128: SDP_LARGE_INTEGER_16,
int64: i64,
int32: i32,
int16: i16,
int8: CHAR,
uint128: SDP_ULARGE_INTEGER_16,
uint64: u64,
uint32: u32,
uint16: u16,
uint8: u8,
booleanVal: u8,
uuid128: Guid,
uuid32: u32,
uuid16: u16,
string: extern struct {
value: ?*u8,
length: u32,
},
url: extern struct {
value: ?*u8,
length: u32,
},
sequence: extern struct {
value: ?*u8,
length: u32,
},
alternative: extern struct {
value: ?*u8,
length: u32,
},
},
};
pub const SDP_STRING_TYPE_DATA = extern struct {
encoding: u16,
mibeNum: u16,
attributeId: u16,
};
pub const PFN_BLUETOOTH_ENUM_ATTRIBUTES_CALLBACK = switch (@import("builtin").zig_backend) {
.stage1 => fn(
uAttribId: u32,
// TODO: what to do with BytesParamIndex 2?
pValueStream: ?*u8,
cbStreamSize: u32,
pvParam: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) BOOL,
else => *const fn(
uAttribId: u32,
// TODO: what to do with BytesParamIndex 2?
pValueStream: ?*u8,
cbStreamSize: u32,
pvParam: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) BOOL,
} ;
pub const BTH_LE_UUID = extern struct {
IsShortUuid: BOOLEAN,
Value: extern union {
ShortUuid: u16,
LongUuid: Guid,
},
};
pub const BTH_LE_GATT_SERVICE = extern struct {
ServiceUuid: BTH_LE_UUID,
AttributeHandle: u16,
};
pub const BTH_LE_GATT_DESCRIPTOR_TYPE = enum(i32) {
CharacteristicExtendedProperties = 0,
CharacteristicUserDescription = 1,
ClientCharacteristicConfiguration = 2,
ServerCharacteristicConfiguration = 3,
CharacteristicFormat = 4,
CharacteristicAggregateFormat = 5,
CustomDescriptor = 6,
};
pub const CharacteristicExtendedProperties = BTH_LE_GATT_DESCRIPTOR_TYPE.CharacteristicExtendedProperties;
pub const CharacteristicUserDescription = BTH_LE_GATT_DESCRIPTOR_TYPE.CharacteristicUserDescription;
pub const ClientCharacteristicConfiguration = BTH_LE_GATT_DESCRIPTOR_TYPE.ClientCharacteristicConfiguration;
pub const ServerCharacteristicConfiguration = BTH_LE_GATT_DESCRIPTOR_TYPE.ServerCharacteristicConfiguration;
pub const CharacteristicFormat = BTH_LE_GATT_DESCRIPTOR_TYPE.CharacteristicFormat;
pub const CharacteristicAggregateFormat = BTH_LE_GATT_DESCRIPTOR_TYPE.CharacteristicAggregateFormat;
pub const CustomDescriptor = BTH_LE_GATT_DESCRIPTOR_TYPE.CustomDescriptor;
pub const BTH_LE_GATT_CHARACTERISTIC = extern struct {
ServiceHandle: u16,
CharacteristicUuid: BTH_LE_UUID,
AttributeHandle: u16,
CharacteristicValueHandle: u16,
IsBroadcastable: BOOLEAN,
IsReadable: BOOLEAN,
IsWritable: BOOLEAN,
IsWritableWithoutResponse: BOOLEAN,
IsSignedWritable: BOOLEAN,
IsNotifiable: BOOLEAN,
IsIndicatable: BOOLEAN,
HasExtendedProperties: BOOLEAN,
};
pub const BTH_LE_GATT_CHARACTERISTIC_VALUE = extern struct {
DataSize: u32,
Data: [1]u8,
};
pub const BTH_LE_GATT_DESCRIPTOR = extern struct {
ServiceHandle: u16,
CharacteristicHandle: u16,
DescriptorType: BTH_LE_GATT_DESCRIPTOR_TYPE,
DescriptorUuid: BTH_LE_UUID,
AttributeHandle: u16,
};
pub const BTH_LE_GATT_DESCRIPTOR_VALUE = extern struct {
DescriptorType: BTH_LE_GATT_DESCRIPTOR_TYPE,
DescriptorUuid: BTH_LE_UUID,
Anonymous: extern union {
CharacteristicExtendedProperties: extern struct {
IsReliableWriteEnabled: BOOLEAN,
IsAuxiliariesWritable: BOOLEAN,
},
ClientCharacteristicConfiguration: extern struct {
IsSubscribeToNotification: BOOLEAN,
IsSubscribeToIndication: BOOLEAN,
},
ServerCharacteristicConfiguration: extern struct {
IsBroadcast: BOOLEAN,
},
CharacteristicFormat: extern struct {
Format: u8,
Exponent: u8,
Unit: BTH_LE_UUID,
NameSpace: u8,
Description: BTH_LE_UUID,
},
},
DataSize: u32,
Data: [1]u8,
};
pub const BTH_LE_GATT_EVENT_TYPE = enum(i32) {
t = 0,
};
pub const CharacteristicValueChangedEvent = BTH_LE_GATT_EVENT_TYPE.t;
pub const PFNBLUETOOTH_GATT_EVENT_CALLBACK = switch (@import("builtin").zig_backend) {
.stage1 => fn(
EventType: BTH_LE_GATT_EVENT_TYPE,
EventOutParameter: ?*anyopaque,
Context: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
EventType: BTH_LE_GATT_EVENT_TYPE,
EventOutParameter: ?*anyopaque,
Context: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) void,
} ;
pub const BLUETOOTH_GATT_VALUE_CHANGED_EVENT_REGISTRATION = extern struct {
NumCharacteristics: u16,
Characteristics: [1]BTH_LE_GATT_CHARACTERISTIC,
};
pub const BLUETOOTH_GATT_VALUE_CHANGED_EVENT = extern struct {
ChangedAttributeHandle: u16,
CharacteristicValueDataSize: usize,
CharacteristicValue: ?*BTH_LE_GATT_CHARACTERISTIC_VALUE,
};
pub const SOCKADDR_BTH = extern struct {
addressFamily: u16 align(1),
btAddr: u64 align(1),
serviceClassId: Guid align(1),
port: u32 align(1),
};
pub const BTH_SET_SERVICE = extern struct {
pSdpVersion: ?*u32 align(1),
pRecordHandle: ?*?HANDLE align(1),
fCodService: u32 align(1),
Reserved: [5]u32 align(1),
ulRecordLength: u32 align(1),
pRecord: [1]u8 align(1),
};
pub const BTH_QUERY_DEVICE = extern struct {
LAP: u32 align(1),
length: u8 align(1),
};
pub const BTH_QUERY_SERVICE = extern struct {
type: u32 align(1),
serviceHandle: u32 align(1),
uuids: [12]SdpQueryUuid align(1),
numRange: u32 align(1),
pRange: [1]SdpAttributeRange align(1),
};
pub const RFCOMM_MSC_DATA = extern struct {
Signals: u8,
Break: u8,
};
pub const RFCOMM_RLS_DATA = extern struct {
LineStatus: u8,
};
pub const RFCOMM_RPN_DATA = extern struct {
Baud: u8,
Data: u8,
FlowControl: u8,
XonChar: u8,
XoffChar: u8,
ParameterMask1: u8,
ParameterMask2: u8,
};
pub const RFCOMM_COMMAND = extern struct {
CmdType: u32 align(1),
Data: extern union {
MSC: RFCOMM_MSC_DATA,
RLS: RFCOMM_RLS_DATA,
RPN: RFCOMM_RPN_DATA,
} align(1),
};
pub const BTH_PING_REQ = extern struct {
btAddr: u64 align(1),
dataLen: u8 align(1),
data: [44]u8 align(1),
};
pub const BTH_PING_RSP = extern struct {
dataLen: u8,
data: [44]u8,
};
pub const BTH_INFO_REQ = extern struct {
btAddr: u64 align(1),
infoType: u16 align(1),
};
pub const BTH_INFO_RSP = extern struct {
result: u16 align(1),
dataLen: u8 align(1),
Anonymous: extern union {
connectionlessMTU: u16 align(1),
data: [44]u8 align(1),
} align(1),
};
//--------------------------------------------------------------------------------
// Section: Functions (47)
//--------------------------------------------------------------------------------
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "bluetoothapis" fn BluetoothFindFirstRadio(
pbtfrp: ?*const BLUETOOTH_FIND_RADIO_PARAMS,
phRadio: ?*?HANDLE,
) callconv(@import("std").os.windows.WINAPI) isize;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "bluetoothapis" fn BluetoothFindNextRadio(
hFind: isize,
phRadio: ?*?HANDLE,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "bluetoothapis" fn BluetoothFindRadioClose(
hFind: isize,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "bluetoothapis" fn BluetoothGetRadioInfo(
hRadio: ?HANDLE,
pRadioInfo: ?*BLUETOOTH_RADIO_INFO,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "bluetoothapis" fn BluetoothFindFirstDevice(
pbtsp: ?*const BLUETOOTH_DEVICE_SEARCH_PARAMS,
pbtdi: ?*BLUETOOTH_DEVICE_INFO,
) callconv(@import("std").os.windows.WINAPI) isize;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "bluetoothapis" fn BluetoothFindNextDevice(
hFind: isize,
pbtdi: ?*BLUETOOTH_DEVICE_INFO,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "bluetoothapis" fn BluetoothFindDeviceClose(
hFind: isize,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "bluetoothapis" fn BluetoothGetDeviceInfo(
hRadio: ?HANDLE,
pbtdi: ?*BLUETOOTH_DEVICE_INFO,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "bluetoothapis" fn BluetoothUpdateDeviceRecord(
pbtdi: ?*const BLUETOOTH_DEVICE_INFO,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "bluetoothapis" fn BluetoothRemoveDevice(
pAddress: ?*const BLUETOOTH_ADDRESS,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "bthprops.cpl" fn BluetoothSelectDevices(
pbtsdp: ?*BLUETOOTH_SELECT_DEVICE_PARAMS,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "bthprops.cpl" fn BluetoothSelectDevicesFree(
pbtsdp: ?*BLUETOOTH_SELECT_DEVICE_PARAMS,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "bthprops.cpl" fn BluetoothDisplayDeviceProperties(
hwndParent: ?HWND,
pbtdi: ?*BLUETOOTH_DEVICE_INFO,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "bthprops.cpl" fn BluetoothAuthenticateDevice(
hwndParent: ?HWND,
hRadio: ?HANDLE,
pbtbi: ?*BLUETOOTH_DEVICE_INFO,
pszPasskey: ?[*:0]u16,
ulPasskeyLength: u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "bthprops.cpl" fn BluetoothAuthenticateDeviceEx(
hwndParentIn: ?HWND,
hRadioIn: ?HANDLE,
pbtdiInout: ?*BLUETOOTH_DEVICE_INFO,
pbtOobData: ?*BLUETOOTH_OOB_DATA_INFO,
authenticationRequirement: AUTHENTICATION_REQUIREMENTS,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "bthprops.cpl" fn BluetoothAuthenticateMultipleDevices(
hwndParent: ?HWND,
hRadio: ?HANDLE,
cDevices: u32,
rgbtdi: [*]BLUETOOTH_DEVICE_INFO,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "bluetoothapis" fn BluetoothSetServiceState(
hRadio: ?HANDLE,
pbtdi: ?*const BLUETOOTH_DEVICE_INFO,
pGuidService: ?*const Guid,
dwServiceFlags: u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "bluetoothapis" fn BluetoothEnumerateInstalledServices(
hRadio: ?HANDLE,
pbtdi: ?*const BLUETOOTH_DEVICE_INFO,
pcServiceInout: ?*u32,
pGuidServices: ?[*]Guid,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "bluetoothapis" fn BluetoothEnableDiscovery(
hRadio: ?HANDLE,
fEnabled: BOOL,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "bluetoothapis" fn BluetoothIsDiscoverable(
hRadio: ?HANDLE,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "bluetoothapis" fn BluetoothEnableIncomingConnections(
hRadio: ?HANDLE,
fEnabled: BOOL,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "bluetoothapis" fn BluetoothIsConnectable(
hRadio: ?HANDLE,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "bluetoothapis" fn BluetoothRegisterForAuthentication(
pbtdi: ?*const BLUETOOTH_DEVICE_INFO,
phRegHandle: ?*isize,
pfnCallback: ?PFN_AUTHENTICATION_CALLBACK,
pvParam: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "bluetoothapis" fn BluetoothRegisterForAuthenticationEx(
pbtdiIn: ?*const BLUETOOTH_DEVICE_INFO,
phRegHandleOut: ?*isize,
pfnCallbackIn: ?PFN_AUTHENTICATION_CALLBACK_EX,
pvParam: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "bluetoothapis" fn BluetoothUnregisterAuthentication(
hRegHandle: isize,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "bluetoothapis" fn BluetoothSendAuthenticationResponse(
hRadio: ?HANDLE,
pbtdi: ?*const BLUETOOTH_DEVICE_INFO,
pszPasskey: ?[*:0]const u16,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "bluetoothapis" fn BluetoothSendAuthenticationResponseEx(
hRadioIn: ?HANDLE,
pauthResponse: ?*BLUETOOTH_AUTHENTICATE_RESPONSE,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "bluetoothapis" fn BluetoothSdpGetElementData(
// TODO: what to do with BytesParamIndex 1?
pSdpStream: ?*u8,
cbSdpStreamLength: u32,
pData: ?*SDP_ELEMENT_DATA,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "bluetoothapis" fn BluetoothSdpGetContainerElementData(
// TODO: what to do with BytesParamIndex 1?
pContainerStream: ?*u8,
cbContainerLength: u32,
pElement: ?*isize,
pData: ?*SDP_ELEMENT_DATA,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "bluetoothapis" fn BluetoothSdpGetAttributeValue(
// TODO: what to do with BytesParamIndex 1?
pRecordStream: ?*u8,
cbRecordLength: u32,
usAttributeId: u16,
pAttributeData: ?*SDP_ELEMENT_DATA,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "bluetoothapis" fn BluetoothSdpGetString(
// TODO: what to do with BytesParamIndex 1?
pRecordStream: ?*u8,
cbRecordLength: u32,
pStringData: ?*const SDP_STRING_TYPE_DATA,
usStringOffset: u16,
pszString: [*:0]u16,
pcchStringLength: ?*u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "bluetoothapis" fn BluetoothSdpEnumAttributes(
// TODO: what to do with BytesParamIndex 1?
pSDPStream: ?*u8,
cbStreamSize: u32,
pfnCallback: ?PFN_BLUETOOTH_ENUM_ATTRIBUTES_CALLBACK,
pvParam: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "bluetoothapis" fn BluetoothSetLocalServiceInfo(
hRadioIn: ?HANDLE,
pClassGuid: ?*const Guid,
ulInstance: u32,
pServiceInfoIn: ?*const BLUETOOTH_LOCAL_SERVICE_INFO,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "bluetoothapis" fn BluetoothIsVersionAvailable(
MajorVersion: u8,
MinorVersion: u8,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows8.0'
pub extern "bluetoothapis" fn BluetoothGATTGetServices(
hDevice: ?HANDLE,
ServicesBufferCount: u16,
ServicesBuffer: ?[*]BTH_LE_GATT_SERVICE,
ServicesBufferActual: ?*u16,
Flags: u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
// TODO: this type is limited to platform 'windows8.0'
pub extern "bluetoothapis" fn BluetoothGATTGetIncludedServices(
hDevice: ?HANDLE,
ParentService: ?*BTH_LE_GATT_SERVICE,
IncludedServicesBufferCount: u16,
IncludedServicesBuffer: ?[*]BTH_LE_GATT_SERVICE,
IncludedServicesBufferActual: ?*u16,
Flags: u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
// TODO: this type is limited to platform 'windows8.0'
pub extern "bluetoothapis" fn BluetoothGATTGetCharacteristics(
hDevice: ?HANDLE,
Service: ?*BTH_LE_GATT_SERVICE,
CharacteristicsBufferCount: u16,
CharacteristicsBuffer: ?[*]BTH_LE_GATT_CHARACTERISTIC,
CharacteristicsBufferActual: ?*u16,
Flags: u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
// TODO: this type is limited to platform 'windows8.0'
pub extern "bluetoothapis" fn BluetoothGATTGetDescriptors(
hDevice: ?HANDLE,
Characteristic: ?*BTH_LE_GATT_CHARACTERISTIC,
DescriptorsBufferCount: u16,
DescriptorsBuffer: ?[*]BTH_LE_GATT_DESCRIPTOR,
DescriptorsBufferActual: ?*u16,
Flags: u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
// TODO: this type is limited to platform 'windows8.0'
pub extern "bluetoothapis" fn BluetoothGATTGetCharacteristicValue(
hDevice: ?HANDLE,
Characteristic: ?*BTH_LE_GATT_CHARACTERISTIC,
CharacteristicValueDataSize: u32,
CharacteristicValue: ?*BTH_LE_GATT_CHARACTERISTIC_VALUE,
CharacteristicValueSizeRequired: ?*u16,
Flags: u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
// TODO: this type is limited to platform 'windows8.0'
pub extern "bluetoothapis" fn BluetoothGATTGetDescriptorValue(
hDevice: ?HANDLE,
Descriptor: ?*BTH_LE_GATT_DESCRIPTOR,
DescriptorValueDataSize: u32,
DescriptorValue: ?*BTH_LE_GATT_DESCRIPTOR_VALUE,
DescriptorValueSizeRequired: ?*u16,
Flags: u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
// TODO: this type is limited to platform 'windows8.0'
pub extern "bluetoothapis" fn BluetoothGATTBeginReliableWrite(
hDevice: ?HANDLE,
ReliableWriteContext: ?*u64,
Flags: u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
// TODO: this type is limited to platform 'windows8.0'
pub extern "bluetoothapis" fn BluetoothGATTSetCharacteristicValue(
hDevice: ?HANDLE,
Characteristic: ?*BTH_LE_GATT_CHARACTERISTIC,
CharacteristicValue: ?*BTH_LE_GATT_CHARACTERISTIC_VALUE,
ReliableWriteContext: u64,
Flags: u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
// TODO: this type is limited to platform 'windows8.0'
pub extern "bluetoothapis" fn BluetoothGATTEndReliableWrite(
hDevice: ?HANDLE,
ReliableWriteContext: u64,
Flags: u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
// TODO: this type is limited to platform 'windows8.0'
pub extern "bluetoothapis" fn BluetoothGATTAbortReliableWrite(
hDevice: ?HANDLE,
ReliableWriteContext: u64,
Flags: u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
// TODO: this type is limited to platform 'windows8.0'
pub extern "bluetoothapis" fn BluetoothGATTSetDescriptorValue(
hDevice: ?HANDLE,
Descriptor: ?*BTH_LE_GATT_DESCRIPTOR,
DescriptorValue: ?*BTH_LE_GATT_DESCRIPTOR_VALUE,
Flags: u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
// TODO: this type is limited to platform 'windows8.0'
pub extern "bluetoothapis" fn BluetoothGATTRegisterEvent(
hService: ?HANDLE,
EventType: BTH_LE_GATT_EVENT_TYPE,
EventParameterIn: ?*anyopaque,
Callback: ?PFNBLUETOOTH_GATT_EVENT_CALLBACK,
CallbackContext: ?*anyopaque,
pEventHandle: ?*isize,
Flags: u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
// TODO: this type is limited to platform 'windows8.0'
pub extern "bluetoothapis" fn BluetoothGATTUnregisterEvent(
EventHandle: isize,
Flags: u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
//--------------------------------------------------------------------------------
// Section: Unicode Aliases (0)
//--------------------------------------------------------------------------------
const thismodule = @This();
pub usingnamespace switch (@import("../zig.zig").unicode_mode) {
.ansi => struct {
},
.wide => struct {
},
.unspecified => if (@import("builtin").is_test) struct {
} else struct {
},
};
//--------------------------------------------------------------------------------
// Section: Imports (9)
//--------------------------------------------------------------------------------
const Guid = @import("../zig.zig").Guid;
const BOOL = @import("../foundation.zig").BOOL;
const BOOLEAN = @import("../foundation.zig").BOOLEAN;
const CHAR = @import("../foundation.zig").CHAR;
const HANDLE = @import("../foundation.zig").HANDLE;
const HRESULT = @import("../foundation.zig").HRESULT;
const HWND = @import("../foundation.zig").HWND;
const PWSTR = @import("../foundation.zig").PWSTR;
const SYSTEMTIME = @import("../foundation.zig").SYSTEMTIME;
test {
// The following '_ = <FuncPtrType>' lines are a workaround for https://github.com/ziglang/zig/issues/4476
if (@hasDecl(@This(), "PFN_DEVICE_CALLBACK")) { _ = PFN_DEVICE_CALLBACK; }
if (@hasDecl(@This(), "PFN_AUTHENTICATION_CALLBACK")) { _ = PFN_AUTHENTICATION_CALLBACK; }
if (@hasDecl(@This(), "PFN_AUTHENTICATION_CALLBACK_EX")) { _ = PFN_AUTHENTICATION_CALLBACK_EX; }
if (@hasDecl(@This(), "PFN_BLUETOOTH_ENUM_ATTRIBUTES_CALLBACK")) { _ = PFN_BLUETOOTH_ENUM_ATTRIBUTES_CALLBACK; }
if (@hasDecl(@This(), "PFNBLUETOOTH_GATT_EVENT_CALLBACK")) { _ = PFNBLUETOOTH_GATT_EVENT_CALLBACK; }
@setEvalBranchQuota(
comptime @import("std").meta.declarations(@This()).len * 3
);
// reference all the pub declarations
if (!@import("builtin").is_test) return;
inline for (comptime @import("std").meta.declarations(@This())) |decl| {
_ = @field(@This(), decl.name);
}
}