BTM services: Difference between revisions

No edit summary
No edit summary
Line 317: Line 317:


== GetGattService ==
== GetGattService ==
Takes a type-0x1A output buffer containing a [[#GattService]], an u32, a [[Bluetooth_Driver_services#GattAttributeUuid|GattAttributeUuid]], returns an output u8 total_out.
Takes a type-0x1A output buffer containing a [[#GattService]], an u32, a [[Bluetooth_Driver_services#GattAttributeUuid|GattAttributeUuid]], returns an output bool.


The u32 is the same as the param for [[#BleDisconnect]].
The u32 is the same as the param for [[#BleDisconnect]]. The output bool indicates whether a [[#GattService]] was returned.


Same as [[#GetGattServices]] except this only returns the [[#GattService]] which matches the input [[Bluetooth_Driver_services#GattAttributeUuid|GattAttributeUuid]].
Same as [[#GetGattServices]] except this only returns the [[#GattService]] which matches the input [[Bluetooth_Driver_services#GattAttributeUuid|GattAttributeUuid]].
Line 333: Line 333:


== GetBelongingService ==
== GetBelongingService ==
Takes a type-0x1A output buffer containing a [[#GattService]], an u16, an u32, returns an output u8 total_out.
Takes a type-0x1A output buffer containing a [[#GattService]], an u16, an u32, returns an output bool.


The u32 is the same as the param for [[#BleDisconnect]].
The u32 is the same as the param for [[#BleDisconnect]]. The output bool indicates whether a [[#GattService]] was returned.


This is similar to [[#GetGattIncludedServices]] except this only returns 1 [[#GattService]].
This is similar to [[#GetGattIncludedServices]] except this only returns 1 [[#GattService]].
Line 343: Line 343:


The u32 is the same as the param for [[#BleDisconnect]]. The max array entries is 100.
The u32 is the same as the param for [[#BleDisconnect]]. The max array entries is 100.
The u16 controls which [[#GattCharacteristic]] entries to return.


== GetGattDescriptors ==
== GetGattDescriptors ==
Line 348: Line 350:


The u32 is the same as the param for [[#BleDisconnect]]. The max array entries is 100.
The u32 is the same as the param for [[#BleDisconnect]]. The max array entries is 100.
The u16 controls which [[#GattDescriptor]] entries to return.


== AcquireBleMtuConfigEvent ==
== AcquireBleMtuConfigEvent ==
Line 706: Line 710:
Takes a PID, a type-0x6 output buffer containing an array of [[#GattService]], an u32, an [[Applet_Manager_services#AppletResourceUserId|AppletResourceUserId]], returns an output u8 total_out.
Takes a PID, a type-0x6 output buffer containing an array of [[#GattService]], an u32, an [[Applet_Manager_services#AppletResourceUserId|AppletResourceUserId]], returns an output u8 total_out.


The u32 is handled the same as [[#BleDisconnect_2|BleDisconnect]]. The max array entries is 100.
This is similar to the [[#GetGattServices|btm]] cmd.


=== GetGattService ===
=== GetGattService ===
Takes a PID, a type-0x1A output buffer containing a [[#GattService]], an u32, a [[Bluetooth_Driver_services#GattAttributeUuid|GattAttributeUuid]], an [[Applet_Manager_services#AppletResourceUserId|AppletResourceUserId]], returns an output u8 total_out.
Takes a PID, a type-0x1A output buffer containing a [[#GattService]], an u32, a [[Bluetooth_Driver_services#GattAttributeUuid|GattAttributeUuid]], an [[Applet_Manager_services#AppletResourceUserId|AppletResourceUserId]], returns an output bool.


The u32 is handled the same as [[#BleDisconnect_2|BleDisconnect]].
The u32 is handled the same as [[#BleDisconnect_2|BleDisconnect]].


Same as [[#GetGattServices_2|GetGattServices]] except this only returns the [[#GattService]] which matches the input [[Bluetooth_Driver_services#GattAttributeUuid|GattAttributeUuid]].
This is similar to the [[#GetGattService|btm]] cmd.


=== GetGattIncludedServices ===
=== GetGattIncludedServices ===
Takes a PID, a type-0x6 output buffer containing an array of [[#GattService]], an u16, an u32, an [[Applet_Manager_services#AppletResourceUserId|AppletResourceUserId]], returns an output u8.
Takes a PID, a type-0x6 output buffer containing an array of [[#GattService]], an u16, an u32, an [[Applet_Manager_services#AppletResourceUserId|AppletResourceUserId]], returns an output u8.


The u32 is handled the same as [[#BleDisconnect_2|BleDisconnect]]. The max array entries is 100.
This is similar to the [[#GetGattIncludedServices|btm]] cmd.
 
Same as [[#GetGattServices_2|GetGattServices]] except this only returns [[#GattService]] entries where various checks pass with u16 fields.


The param for the output u8 is unused by the sysmodule, hence the output is always 0. However, a sdknso func which calls the nn::btm::* func for this expects this u8 to be set.
The param for the output u8 is unused by the sysmodule, hence the output is always 0. However, a sdknso func which calls the nn::btm::* func for this expects this u8 to be set.


=== GetBelongingGattService ===
=== GetBelongingGattService ===
Takes a PID, a type-0x1A output buffer containing a [[#GattService]], an u16, an u32, an [[Applet_Manager_services#AppletResourceUserId|AppletResourceUserId]], returns an output u8 total_out.
Takes a PID, a type-0x1A output buffer containing a [[#GattService]], an u16, an u32, an [[Applet_Manager_services#AppletResourceUserId|AppletResourceUserId]], returns an output bool.


The u32 is handled the same as [[#BleDisconnect_2|BleDisconnect]].
This is similar to the [[#GetBelongingService|btm]] cmd.
 
This is similar to [[#GetGattIncludedServices_2|GetGattIncludedServices]] except this only returns 1 [[#GattService]].


=== GetGattCharacteristics ===
=== GetGattCharacteristics ===
Takes a PID, a type-0x6 output buffer containing an array of [[#GattCharacteristic]], an u16, an u32, an [[Applet_Manager_services#AppletResourceUserId|AppletResourceUserId]], returns an output u8 total_out.
Takes a PID, a type-0x6 output buffer containing an array of [[#GattCharacteristic]], an u16, an u32, an [[Applet_Manager_services#AppletResourceUserId|AppletResourceUserId]], returns an output u8 total_out.


The u32 is handled the same as [[#BleDisconnect_2|BleDisconnect]]. The max array entries is 100.
This is similar to the [[#GetGattCharacteristics|btm]] cmd.
 
The u16 controls which [[#GattCharacteristic]] entries to return.


=== GetGattDescriptors ===
=== GetGattDescriptors ===
Takes a PID, a type-0x6 output buffer containing an array of [[#GattDescriptor]], an u16, an u32, an [[Applet_Manager_services#AppletResourceUserId|AppletResourceUserId]], returns an output u8 total_out.
Takes a PID, a type-0x6 output buffer containing an array of [[#GattDescriptor]], an u16, an u32, an [[Applet_Manager_services#AppletResourceUserId|AppletResourceUserId]], returns an output u8 total_out.


The u32 is handled the same as [[#BleDisconnect_2|BleDisconnect]]. The max array entries is 100.
This is similar to the [[#GetGattDescriptors|btm]] cmd.
 
The u16 controls which [[#GattDescriptor]] entries to return.


=== AcquireBleMtuConfigEvent ===
=== AcquireBleMtuConfigEvent ===