mirror of
https://github.com/switchbrew/libnx.git
synced 2025-07-03 18:12:14 +02:00
btdrv: update StartInquiry and RespondToSspRequest service wrappers for 12.0.0
This commit is contained in:
parent
7a0f6b8a14
commit
3a4447feee
@ -436,32 +436,60 @@ Result btdrvDisableBluetooth(void);
|
|||||||
Result btdrvFinalizeBluetooth(void);
|
Result btdrvFinalizeBluetooth(void);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief GetAdapterProperties
|
* @brief GetAdapterProperties [1.0.0-11.0.1]
|
||||||
* @param[out] property \ref BtdrvAdapterProperty
|
* @param[out] properties \ref BtdrvAdapterProperty
|
||||||
*/
|
*/
|
||||||
Result btdrvGetAdapterProperties(BtdrvAdapterProperty *property);
|
Result btdrvLegacyGetAdapterProperties(BtdrvAdapterPropertyOld *properties);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief GetAdapterProperty
|
* @brief GetAdapterProperties [12.0.0+]
|
||||||
|
* @param[out] properties \ref BtdrvAdapterPropertySet
|
||||||
|
*/
|
||||||
|
Result btdrvGetAdapterProperties(BtdrvAdapterPropertySet *properties);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief GetAdapterProperty [1.0.0-11.0.1]
|
||||||
* @param[in] type \ref BtdrvBluetoothPropertyType
|
* @param[in] type \ref BtdrvBluetoothPropertyType
|
||||||
* @param[out] buffer Output buffer, see \ref BtdrvBluetoothPropertyType for the contents.
|
* @param[out] buffer Output buffer, see \ref BtdrvBluetoothPropertyType for the contents.
|
||||||
* @param[in] size Output buffer size.
|
* @param[in] size Output buffer size.
|
||||||
*/
|
*/
|
||||||
Result btdrvGetAdapterProperty(BtdrvBluetoothPropertyType type, void* buffer, size_t size);
|
Result btdrvLegacyGetAdapterProperty(BtdrvBluetoothPropertyType type, void* buffer, size_t size);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief SetAdapterProperty
|
* @brief GetAdapterProperty [12.0.0+]
|
||||||
|
* @param[in] type \ref BtdrvAdapterPropertyType
|
||||||
|
* @param[in] property \ref BtdrvAdapterProperty
|
||||||
|
*/
|
||||||
|
Result btdrvGetAdapterProperty(BtdrvAdapterPropertyType type, BtdrvAdapterProperty *property);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief SetAdapterProperty [1.0.0-11.0.1]
|
||||||
* @param[in] type \ref BtdrvBluetoothPropertyType
|
* @param[in] type \ref BtdrvBluetoothPropertyType
|
||||||
* @param[in] buffer Input buffer, see \ref BtdrvBluetoothPropertyType for the contents.
|
* @param[in] buffer Input buffer, see \ref BtdrvBluetoothPropertyType for the contents.
|
||||||
* @param[in] size Input buffer size.
|
* @param[in] size Input buffer size.
|
||||||
*/
|
*/
|
||||||
Result btdrvSetAdapterProperty(BtdrvBluetoothPropertyType type, const void* buffer, size_t size);
|
Result btdrvLegacySetAdapterProperty(BtdrvBluetoothPropertyType type, const void* buffer, size_t size);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief This starts Inquiry, the output data will be available via \ref btdrvGetEventInfo. Inquiry will automatically stop in 10.24 seconds.
|
* @brief SetAdapterProperty [12.0.0+]
|
||||||
|
* @param[in] type \ref BtdrvAdapterPropertyType
|
||||||
|
* @param[in] property \ref BtdrvAdapterProperty
|
||||||
|
*/
|
||||||
|
Result btdrvSetAdapterProperty(BtdrvAdapterPropertyType type, const BtdrvAdapterProperty *property);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief StartInquiry [1.0.0-11.0.1] This starts Inquiry, the output data will be available via \ref btdrvGetEventInfo. Inquiry will automatically stop in 10.24 seconds.
|
||||||
* @note This is used by btm-sysmodule.
|
* @note This is used by btm-sysmodule.
|
||||||
*/
|
*/
|
||||||
Result btdrvStartInquiry(void);
|
Result btdrvLegacyStartInquiry(void);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief [12.0.0+] This starts Inquiry, the output data will be available via \ref btdrvGetEventInfo.
|
||||||
|
* @param[in] services Bitmask of allowed services. When -1 the original defaults from pre-12.0.0 are used.
|
||||||
|
* @param[in] duration Inquiry duration in nanoseconds.
|
||||||
|
* @note This is used by btm-sysmodule.
|
||||||
|
*/
|
||||||
|
Result btdrvStartInquiry(u32 services, s64 duration);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief This stops Inquiry which was started by \ref btdrvStartInquiry, if it's still active.
|
* @brief This stops Inquiry which was started by \ref btdrvStartInquiry, if it's still active.
|
||||||
@ -514,17 +542,17 @@ Result btdrvRespondToPinRequest(BtdrvAddress addr, const BtdrvPinCode *pin_code)
|
|||||||
* @note This is used by btm-sysmodule.
|
* @note This is used by btm-sysmodule.
|
||||||
* @param[in] addr \ref BtdrvAddress
|
* @param[in] addr \ref BtdrvAddress
|
||||||
* @param[in] variant BluetoothSspVariant
|
* @param[in] variant BluetoothSspVariant
|
||||||
* @param[in] flag Whether the request is accepted.
|
* @param[in] accept Whether the request is accepted.
|
||||||
* @param[in] unk Unknown
|
* @param[in] passkey Passkey.
|
||||||
*/
|
*/
|
||||||
Result btdrvRespondToSspRequest(BtdrvAddress addr, u8 variant, bool flag, u32 unk);
|
Result btdrvRespondToSspRequest(BtdrvAddress addr, u8 variant, bool accept, u32 passkey);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief GetEventInfo
|
* @brief GetEventInfo
|
||||||
* @note This is used by btm-sysmodule.
|
* @note This is used by btm-sysmodule.
|
||||||
* @param[out] buffer Output buffer, see \ref BtdrvEventInfo.
|
* @param[out] buffer Output buffer, see \ref BtdrvEventInfo.
|
||||||
* @param[in] size Output buffer size.
|
* @param[in] size Output buffer size.
|
||||||
* @oaram[out] type Output BtdrvEventType.
|
* @param[out] type Output BtdrvEventType.
|
||||||
*/
|
*/
|
||||||
Result btdrvGetEventInfo(void* buffer, size_t size, BtdrvEventType *type);
|
Result btdrvGetEventInfo(void* buffer, size_t size, BtdrvEventType *type);
|
||||||
|
|
||||||
|
@ -180,10 +180,19 @@ Result btdrvSetAdapterProperty(BtdrvBluetoothPropertyType type, const void* buff
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
Result btdrvStartInquiry(void) {
|
Result btdrvLegacyStartInquiry(void) {
|
||||||
return _btdrvCmdNoIO(8);
|
return _btdrvCmdNoIO(8);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Result btdrvStartInquiry(u32 services, s64 duration) {
|
||||||
|
const struct {
|
||||||
|
u32 services;
|
||||||
|
s64 duration;
|
||||||
|
} in = { services, duration };
|
||||||
|
|
||||||
|
return serviceDispatchIn(&g_btdrvSrv, 8, in);
|
||||||
|
}
|
||||||
|
|
||||||
Result btdrvStopInquiry(void) {
|
Result btdrvStopInquiry(void) {
|
||||||
return _btdrvCmdNoIO(9);
|
return _btdrvCmdNoIO(9);
|
||||||
}
|
}
|
||||||
@ -239,15 +248,27 @@ Result btdrvRespondToPinRequest(BtdrvAddress addr, const BtdrvPinCode *pin_code)
|
|||||||
return serviceDispatchIn(&g_btdrvSrv, 13, in);
|
return serviceDispatchIn(&g_btdrvSrv, 13, in);
|
||||||
}
|
}
|
||||||
|
|
||||||
Result btdrvRespondToSspRequest(BtdrvAddress addr, u8 variant, bool flag, u32 unk) {
|
Result btdrvRespondToSspRequest(BtdrvAddress addr, u8 variant, bool accept, u32 passkey) {
|
||||||
|
if (hosversionBefore(12,0,0)) {
|
||||||
const struct {
|
const struct {
|
||||||
BtdrvAddress addr;
|
BtdrvAddress addr;
|
||||||
u8 variant;
|
u8 variant;
|
||||||
u8 flag;
|
u8 accept;
|
||||||
u32 unk;
|
u32 passkey;
|
||||||
} in = { addr, variant, flag!=0, unk };
|
} in = { addr, variant, accept!=0, passkey };
|
||||||
|
|
||||||
return serviceDispatchIn(&g_btdrvSrv, 14, in);
|
return serviceDispatchIn(&g_btdrvSrv, 14, in);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
const struct {
|
||||||
|
BtdrvAddress addr;
|
||||||
|
u8 accept;
|
||||||
|
u8 variant;
|
||||||
|
u32 passkey;
|
||||||
|
} in = { addr, accept!=0, variant, passkey };
|
||||||
|
|
||||||
|
return serviceDispatchIn(&g_btdrvSrv, 14, in);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Result btdrvGetEventInfo(void* buffer, size_t size, BtdrvEventType *type) {
|
Result btdrvGetEventInfo(void* buffer, size_t size, BtdrvEventType *type) {
|
||||||
|
Loading…
Reference in New Issue
Block a user