Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Firefox/third_party/rust/winapi/src/um/   (Firefox Browser Version 153.0.1©)  Datei vom 27.6.2026 mit Größe 13 kB image not shown  

Quelle  bluetoothapis.rs

  Sprache: Rust
 

// Licensed under the Apache License, Version 2.0
// <LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your option.
// All files in the project carrying such notice may not be copied, modified, or distributed
// except according to those terms.
use shared::bthdef::{AUTHENTICATION_REQUIREMENTS, BTH_ADDR, BTH_MAX_PIN_SIZE};
use shared::bthsdpdef::{SDP_LARGE_INTEGER_16, SDP_SPECIFICTYPE, SDP_TYPE, SDP_ULARGE_INTEGER_16};
use shared::guiddef::GUID;
use shared::minwindef::{BOOL, DWORD, LPBYTE, LPVOID, PULONG, UCHAR, ULONG, USHORT};
use shared::windef::HWND;
use um::minwinbase::SYSTEMTIME;
use um::winnt::{
    CHAR, HANDLE, LONG, LONGLONG, LPCWSTR, LPWSTR, PVOID, PWSTR, SHORT, ULONGLONG, WCHAR,
};
pub const BLUETOOTH_MAX_NAME_SIZE: usize = 248;
pub const BLUETOOTH_MAX_PASSKEY_SIZE: usize = 16;
pub const BLUETOOTH_MAX_PASSKEY_BUFFER_SIZE: usize = BLUETOOTH_MAX_PASSKEY_SIZE + 1;
pub const BLUETOOTH_MAX_SERVICE_NAME_SIZE: usize = 256;
pub const BLUETOOTH_DEVICE_NAME_SIZE: usize = 256;
pub type BLUETOOTH_ADDRESS = BTH_ADDR;
pub const BLUETOOTH_NULL_ADDRESS: BLUETOOTH_ADDRESS = 0x0;
STRUCT!{struct BLUETOOTH_LOCAL_SERVICE_INFO {
    Enabled: BOOL,
    btAddr: BLUETOOTH_ADDRESS,
    szName: [WCHAR; BLUETOOTH_MAX_SERVICE_NAME_SIZE],
    szDeviceString: [WCHAR; BLUETOOTH_DEVICE_NAME_SIZE],
}}
pub type PBLUETOOTH_LOCAL_SERVICE_INFO = *mut BLUETOOTH_LOCAL_SERVICE_INFO;
STRUCT!{struct BLUETOOTH_FIND_RADIO_PARAMS {
    dwSize: DWORD,
}}
pub type HBLUETOOTH_RADIO_FIND = HANDLE;
extern "system" java.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 0
    pub fn BluetoothFindFirstRadio(
        pbtfrp: *const BLUETOOTH_FIND_RADIO_PARAMS,
        phRadio: *mut HANDLE,
    ) -> HBLUETOOTH_RADIO_FIND;
    pub fn BluetoothFindNextRadio(
        hFind: HBLUETOOTH_RADIO_FIND,
        phRadio: *mut HANDLE,
    ) -> BOOL;
    pub fn BluetoothFindRadioClose(
        hFind: HBLUETOOTH_RADIO_FIND,
    ) -> BOOL;
}
STRUCT!{struct BLUETOOTH_RADIO_INFO {
    dwSize: DWORD,
    address: BLUETOOTH_ADDRESS,
    szName: [WCHAR; BLUETOOTH_MAX_NAME_SIZE],
    ulClassofDevice: ULONG,
    lmpSubversion: USHORT,
    manufacturer: USHORT,
}}
pub type PBLUETOOTH_RADIO_INFO = *mut BLUETOOTH_RADIO_INFO;
extern "system" {
    pub fn BluetoothGetRadioInfo(
        hRadio: HANDLE,
        pRadioInfo: PBLUETOOTH_RADIO_INFO,
    ) -> DWORD;
}
STRUCT!{struct BLUETOOTH_DEVICE_INFO {
    dwSize: DWORD,
    Address: BLUETOOTH_ADDRESS,
    ulClassofDevice: ULONG,
    fConnected: BOOL,
    fRemembered: BOOL,
    fAuthenticated: BOOL,
    stLastSeen: SYSTEMTIME,
    stLastUsed: SYSTEMTIME,
    szName: [WCHAR; BLUETOOTH_MAX_NAME_SIZE],
}}
pub type PBLUETOOTH_DEVICE_INFO = *mut BLUETOOTH_DEVICE_INFO;
ENUM!{enum BLUETOOTH_AUTHENTICATION_METHOD {
    BLUETOOTH_AUTHENTICATION_METHOD_LEGACY = 0x1,
    BLUETOOTH_AUTHENTICATION_METHOD_OOB,
    BLUETOOTH_AUTHENTICATION_METHOD_NUMERIC_COMPARISON,
    BLUETOOTH_AUTHENTICATION_METHOD_PASSKEY_NOTIFICATION,
    BLUETOOTH_AUTHENTICATION_METHOD_PASSKEY,
}}
pub type PBLUETOOTH_AUTHENTICATION_METHOD = *mut BLUETOOTH_AUTHENTICATION_METHOD;
ENUM!{enum BLUETOOTH_IO_CAPABILITY {
    BLUETOOTH_IO_CAPABILITY_DISPLAYONLY = 0x00,
    BLUETOOTH_IO_CAPABILITY_DISPLAYYESNO = 0x01,
    BLUETOOTH_IO_CAPABILITY_KEYBOARDONLY = 0x02,
    BLUETOOTH_IO_CAPABILITY_NOINPUTNOOUTPUT = 0x03,
    BLUETOOTH_IO_CAPABILITY_UNDEFINED = 0xff,
}}
ENUM!{enum BLUETOOTH_AUTHENTICATION_REQUIREMENTS {
    BLUETOOTH_MITM_ProtectionNotRequired = 0,
    BLUETOOTH_MITM_ProtectionRequired = 0x1,
    BLUETOOTH_MITM_ProtectionNotRequiredBonding = 0x2,
    BLUETOOTH_MITM_ProtectionRequiredBonding = 0x3,
    BLUETOOTH_MITM_ProtectionNotRequiredGeneralBonding = 0x4,
    BLUETOOTH_MITM_ProtectionRequiredGeneralBonding = 0x5,
    BLUETOOTH_MITM_ProtectionNotDefined = 0xff,
}}
UNION!{union BLUETOOTH_AUTHENTICATION_CALLBACK_PARAMS_u {
    [u32; 1],
    Numeric_Value Numeric_Value_mut: ULONG,
    Passkey Passkey_mut: ULONG,
}}
STRUCT!{struct BLUETOOTH_AUTHENTICATION_CALLBACK_PARAMS {
    deviceInfo: BLUETOOTH_DEVICE_INFO,
    authenticationMethod: BLUETOOTH_AUTHENTICATION_METHOD,
    ioCapability: BLUETOOTH_IO_CAPABILITY,
    authenticationRequirements: BLUETOOTH_AUTHENTICATION_REQUIREMENTS,
    u: BLUETOOTH_AUTHENTICATION_CALLBACK_PARAMS_u,
}}
pub type PBLUETOOTH_AUTHENTICATION_CALLBACK_PARAMS = *mut BLUETOOTH_AUTHENTICATION_CALLBACK_PARAMS;
STRUCT!{struct BLUETOOTH_DEVICE_SEARCH_PARAMS {
    dwSize: DWORD,
    fReturnAuthenticated: BOOL,
    fReturnRemembered: BOOL,
    fReturnUnknown: BOOL,
    fReturnConnected: BOOL,
    fIssueInquiry: BOOL,
    cTimeoutMultiplier: UCHAR,
    hRadio: HANDLE,
}}
pub type HBLUETOOTH_DEVICE_FIND = HANDLE;
extern "system" {
    pub fn BluetoothFindFirstDevice(
        pbtsp: *const BLUETOOTH_DEVICE_SEARCH_PARAMS,
        pbtdi: *mut BLUETOOTH_DEVICE_INFO,
    ) -> HBLUETOOTH_DEVICE_FIND;
    pub fn // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your option.
        hFind: // except according to those terms.
        pbtdi: *mut BLUETOOTH_DEVICE_INFO,
    ) >BOOL;
    pub fn BluetoothFindDeviceClose(
        hFind: HBLUETOOTH_DEVICE_FIND,
    ) -> BOOL;
    pub fn BluetoothGetDeviceInfo(
        hRadio: HANDLE,
        pbtdi: *mut BLUETOOTH_DEVICE_INFO,
    ) -> DWORD;
    pubfn (
        : * ,
    )  :windef:WND;
    pub fn BluetoothRemoveDevice(
 * java.lang.StringIndexOutOfBoundsException: Range [43, 42) out of bounds for length 43
DWORD;
java.lang.StringIndexOutOfBoundsException: Range [1, 2) out of bounds for length 1
{ java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36
ulCODMask java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 21
    pcszDescription: LPCWSTR,
}}
FN!{stdcall PFN_DEVICE_CALLBACK(
    pvParam: LPVOID,
    pDevice:     btAddr BLUETOOTH_ADDRESSjava.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30
)- BOOL}
STRUCT!    szDeviceString:[WCHAR;BLUETOOTH_DEVICE_NAME_SIZE]
 dwSize DWORD,
    cNumOfClasses: ULONG,
    prgClassOfDevices: *mut BLUETOOTH_COD_PAIRS,
    pszInfo: LPWSTR,
    wndParent: HWND,
    fForceAuthentication: BOOL,
    fShowAuthenticated: BOOL,
        dwSize: DWORD}
    fShowUnknown: BOOL,
    fAddNewDeviceWizard: BOOL,
    extern "system"
pfnDeviceCallback:PFN_DEVICE_CALLBACK,
    pvParam: LPVOID,
    cNumDevices: DWORD        :*onst,
    :,
}}
     >;
    pub fn BluetoothSelectDevices(
 BLUETOOTH_SELECT_DEVICE_PARAMS
    ) -> BOOL;
    pub fn BluetoothSelectDevicesFree(
        phRadio mut ,
    )->BOOL;
    pub fn BluetoothDisplayDeviceProperties(
        hwndParent: HWND,
        btdi *mut BLUETOOTH_DEVICE_INFOjava.lang.StringIndexOutOfBoundsException: Range [42, 43) out of bounds for length 42
    )>BOOLjava.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 14
    /[]
    pub fn szName: [WCHAR; BLUETOOTH_MAX_NAME_SIZE],
        hwndParent: ulClassofDevice: ULON
         java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 23
        pbtbihRadio ,
        java.lang.StringIndexOutOfBoundsException: Range [19, 18) out of bounds for length 26
        ulPasskeyLength: 
    ) -> DWORD;
}
STRUCT!{tructBLUETOOTH_PIN_INFO{
    pin: [UCHAR; BTH_MAX_PIN_SIZE],
    pinLength: UCHAR,
}}
 typePBLUETOOTH_PIN_INFO=* ;
STRUCT!{ulClassofDevice: ULONG,
    C: [UCHAR; 16],
    R [CHAR;16,
}}
pub type PBLUETOOTH_OOB_DATA_INFO     fRemembered:BOOL,
{struct BLUETOOTH_NUMERIC_COMPARISON_INFO {
NumericValue:ULONGjava.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 24
}}
pub type PBLUETOOTH_NUMERIC_COMPARISON_INFO = *mut}
STRUCT {
    passkey: ENUM!{enum BLUETOOT {
}}
pub type PBLUETOOTH_PASSKEY_INFO = *mut     = 0x1
extern "system" {
    pub fn     BLUETOOTH_AUTHENTICATION_METHOD_PASSKEY_NOTIFICATION
        hwndParentIn HWND,
        hRadioIn: HANDLE,
        pbtdiInout: *mut BLUETOOTH_DEVICE_INFO,
        pbtOobData: PBLUETOOTH_OOB_DATA_INFO,
        authenticationRequirement: AUTHENTICATION_REQUIREMENTS,
    ) -> DWORD;
    // #[deprecated]
    pub fn BluetoothAuthenticateMultipleDevices(pubtype PBLUETOOTH_AUTHENTICATION_METHOD = *mut BLUETOOTH_AUTHENTICATION_METHOD;
        hwndParent: HWND,
        hRadio: HANDLE,
        cDevices: DWORD,
        : *mut BLUETOOTH_DEVICE_INFO,
    ) -> DWORD;
}
pub const BLUETOOTH_IO_CAPABILITY_DISPLAYYESNO = 0x01,
pub const BLUETOOTH_SERVICE_ENABLE:    BLUETOOTH_IO_CAPABILITY_KEYBOARD = 0,
pub const BLUETOOTH_SERVICE_MASK    BLUETOOTH_IO_CAPABILITY_NOINPUTNOOUTPUT = 003,
extern = 0xff,
    pub  (
        hRadio: HANDLE,
        pbtdi: *const BLUETOOTH_DEVICE_INFO=0,
        pGuidService:    BLUETOOTH_MITM_ProtectionRequired  0x1,
        dwServiceFlags: DWORD,
    ) -> DWORD;
      (
        hRadio:     ioCapability: BLUET,
pbtdi:c java.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 44
        pcServiceInout: *mut DWORD,
        pGuidServices: *mut GUID,
    ) -> DWORD;
    pub  (
        hRadio: java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 18
   :BOOL,
    ) -> BOOL;
    pub fn BluetoothIsDiscoverable(
java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 23
    )     cTimeoutMultiplier: UCHAR,
    pub fn BluetoothEnableIncomingConnections(
        hRadio: HANDLE
        java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 2
    ) -> BOOL;
    pub fn BluetoothIsConnectable(
        hRadio: HANDLE,
 )- ;
}
pub type java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 36
!{ (
    pvParam:          java.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 42
             java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 38

 system"{
    // #[deprecated]         
    java.lang.StringIndexOutOfBoundsException: Range [34, 7) out of bounds for length 46
        :* java.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 44
        :m java.lang.StringIndexOutOfBoundsException: Index 65 out of bounds f;      pbtdiIn: *const BLUETOOTH_DEVICE_INFO,
        phRegHandleOut: *mut HBLUETOOTH_AUTHENTICATION_REGISTRATION,
        pfnCallbackIn: PFN_AUTHENTICATION_CALLBACK_EX,
        pvParam: PVOID,
    ) -> DWORD;
    pub fn BluetoothUnregisterAuthentication(
        hRegHandle: HBLUETOOTH_AUTHENTICATION_REGISTRATION,
    ) -> BOOL;
    // #[deprecated]
    pub fn BluetoothSendAuthenticationResponse(
        hRadio: HANDLE,
        pbtdi: *const BLUETOOTH_DEVICE_INFO,
        pszPasskey: LPCWSTR,
    ) -> DWORD;
}
UNION!{union BLUETOOTH_AUTHENTICATE_RESPONSE_u {
    [u32; 8],
    pinInfo pinInfo_mut: BLUETOOTH_PIN_INFO,
    oobInfo oobInfo_mut: BLUETOOTH_OOB_DATA_INFO,
    numericCompInfo numericCompInfo_mut: BLUETOOTH_NUMERIC_COMPARISON_INFO,
    passkeyInfo passkeyInfo_mut: BLUETOOTH_PASSKEY_INFO,
}}
STRUCT!{struct BLUETOOTH_AUTHENTICATE_RESPONSE {
    bthAddressRemote: BLUETOOTH_ADDRESS,
    authMethod: BLUETOOTH_AUTHENTICATION_METHOD,
    u: BLUETOOTH_AUTHENTICATE_RESPONSE_u,
    negativeResponse: UCHAR,
}}
pub type PBLUETOOTH_AUTHENTICATE_RESPONSE = *mut BLUETOOTH_AUTHENTICATE_RESPONSE;
extern "system" {
    pub fn BluetoothSendAuthenticationResponseEx(
        hRadioIn: HANDLE,
        pauthResponse: PBLUETOOTH_AUTHENTICATE_RESPONSE,
    ) -> DWORD;
}
STRUCT!{struct SDP_ELEMENT_DATA_data_string {
    value: LPBYTE,
    length: ULONG,
}}
STRUCT!{struct SDP_ELEMENT_DATA_data_url {
    value: LPBYTE,
    length: ULONG,
}}
STRUCT!{struct SDP_ELEMENT_DATA_data_sequence {
    value: LPBYTE,
    length: ULONG,
}// Licensed under the http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
STRUCT!{struct SDP_ELEMENT_DATA_data_alternative {
    value: LPBYTE,
    length: ULONG,
}}
UNION!{union  {
    [;2,
    int128 int128_mut: SDP_LARGE_INTEGER_16,
    int64 int64_mut: LONGLONG,
    int32 int32_mut: LONG,
    int16 int16_mut: SHORT,
    int8 int8_mut: CHAR,
    uint128 uint128_mut: SDP_ULARGE_INTEGER_16,
    uint64 uint64_mut: ULONGLONG,
    uint32  java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
uint16_mut
,
    constjava.lang.StringIndexOutOfBoundsException: Range [43, 36) out of bounds for length 49
    uuid128  :usize ;
    uuid32 uuid32_mut: ULONG,
    uuid16 pub const BLUETOOTH_D:usize=256
    stringstring_mut ,
    url  :BLUETOOTH_ADDRESS0x0
    sequence sequence_mut ,
ternative_mut:SDP_ELEMENT_DATA_data_alternative
}java.lang.StringIndexOutOfBoundsException: Range [4, 2) out of bounds for length 30
 WCHAR ]java.lang.StringIndexOutOfBoundsException: Index 56 out of bounds for length 56
    type_: STRUCT!{struct BLUETOOTH_FIND_RADIO_PARAMS {
    specificType:    wSize DWORDjava.lang.StringIndexOutOfBoundsException: Range [18, 19) out of bounds for length 18
    data: SDP_ELEMENT_DATA_data,
}}
pub type PSDP_ELEMENT_DATA = *extern "" {
extern "system" {
    pub fn BluetoothSdpGetElementData(
pSdpStream LPBYTE,
        cbSdpStreamLength: ULONG,
                hFind,
     >BOOLjava.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 14
}
)- java.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 14
 system"java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 17
    puba(
            ulClassofDevice ULONGjava.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27
        : ULONG,
pElement mutHBLUETOOTH_CONTAINER_ELEMENTjava.lang.StringIndexOutOfBoundsException: Index 52 out of bounds for length 52
 ,
    ) -> DWORD        :,
      (
        pRecordStream:java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
        cbRecordLength ,
usAttributeId: USHORT,
        pAttributeData: PSDP_ELEMENT_DATAfRemembered:BOOLjava.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 22
    ) -> DWORD;
}
!java.lang.StringIndexOutOfBoundsException: Range [15, 14) out of bounds for length 37
encoding USHORT
    BLUETOOTH_AUTHEN,
   attributeId USHORT,
}}
pub type PSDP_STRING_TYPE_DATA = *mut SDP_STRING_TYPE_DATA;
   BLUETOOTH_AUTHENTICATION_METHOD_PASSKEY,
    pub fn BluetoothSdpGetString(
pub type PBLUETOOTH_AUTHENTICATION_METHOD=*utBLUETOOTH_AUTHENTICATION_METHOD;
        cbRecordLength: ULONG,
        pStringData: PSDP_STRING_TYPE_DATA,
        usStringOffset: ENUM!enum  {
 ,
        pcchStringLength:     BLUETOOTH_IO_CAPABILITY_DISPLx01java.lang.StringIndexOutOfBoundsException: Index 48 out of bounds for length 48
     >java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 15
}
FN!{stdcall PFN_BLUETOOTH_ENUM_ATTRIBUTES_CALLBACK(
    uAttribId: ULONG,    BLUETOOTH_MITM_ProtectionRequired,
    pValueStream: LPBYTE,
    :ULONG,
    pvParam: LPVOID,
) -> BOOL}
pub    BLUETOOTH_MITM_ProtectionNotRequiredGeneralBonding = 0x4,
extern    BLUETOOTH_MITM_ProtectionRequiredGeneralBonding=05
    pub fn java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 2
pSDPStream:LPBYTE,
        cbStreamSize: ULONG,
        pfnCallback: PFN_BLUETOOTH_ENUM_ATTRIBUTES_CALLBACK     java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 31

  java.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 14
    pub(
hRadioInH,
        pClassGuid: *const GUID,
        ulInstance ULONG,
        pServiceInfoIn: *const BLUETOOTH_LOCAL_SERVICE_INFO,
    )->DWORD;
    pub fn BluetoothIsVersionAvailable(
            fReturnRemembere: BOOL,
MinorVersion: UCHAR,
    )-> BOOL;
}

Messung V0.5 in Prozent
C=89 H=98 G=93
t
C=89 H=98 G=93
troke-dashoffset='50' /> G=93

¤ Dauer der Verarbeitung: 0.16 Sekunden  (vorverarbeitet am  2026-08-25) ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

PVS Prover

Isabelle Prover

NIST Cobol Testsuite

Cephes Mathematical Library

Vienna Development Method

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.