Zephyr Project API 4.0.0
A Scalable Open Source RTOS
|
Bluetooth device address definitions and utilities. More...
Data Structures | |
struct | bt_addr_t |
Bluetooth Device Address. More... | |
struct | bt_addr_le_t |
Bluetooth LE Device Address. More... | |
Macros | |
#define | BT_ADDR_LE_PUBLIC 0x00 |
#define | BT_ADDR_LE_RANDOM 0x01 |
#define | BT_ADDR_LE_PUBLIC_ID 0x02 |
#define | BT_ADDR_LE_RANDOM_ID 0x03 |
#define | BT_ADDR_LE_UNRESOLVED |
#define | BT_ADDR_LE_ANONYMOUS |
#define | BT_ADDR_SIZE 6 |
Length in bytes of a standard Bluetooth address. | |
#define | BT_ADDR_LE_SIZE 7 |
Length in bytes of an LE Bluetooth address. | |
#define | BT_ADDR_ANY (&bt_addr_any) |
Bluetooth device "any" address, not a valid address. | |
#define | BT_ADDR_NONE (&bt_addr_none) |
Bluetooth device "none" address, not a valid address. | |
#define | BT_ADDR_LE_ANY (&bt_addr_le_any) |
Bluetooth LE device "any" address, not a valid address. | |
#define | BT_ADDR_LE_NONE (&bt_addr_le_none) |
Bluetooth LE device "none" address, not a valid address. | |
#define | BT_ADDR_IS_RPA(a) (((a)->val[5] & 0xc0) == 0x40) |
Check if a Bluetooth LE random address is resolvable private address. | |
#define | BT_ADDR_IS_NRPA(a) (((a)->val[5] & 0xc0) == 0x00) |
Check if a Bluetooth LE random address is a non-resolvable private address. | |
#define | BT_ADDR_IS_STATIC(a) (((a)->val[5] & 0xc0) == 0xc0) |
Check if a Bluetooth LE random address is a static address. | |
#define | BT_ADDR_SET_RPA(a) ((a)->val[5] = (((a)->val[5] & 0x3f) | 0x40)) |
Set a Bluetooth LE random address as a resolvable private address. | |
#define | BT_ADDR_SET_NRPA(a) ((a)->val[5] &= 0x3f) |
Set a Bluetooth LE random address as a non-resolvable private address. | |
#define | BT_ADDR_SET_STATIC(a) ((a)->val[5] |= 0xc0) |
Set a Bluetooth LE random address as a static address. | |
#define | BT_ADDR_STR_LEN 18 |
Recommended length of user string buffer for Bluetooth address. | |
#define | BT_ADDR_LE_STR_LEN 30 |
Recommended length of user string buffer for Bluetooth LE address. | |
Functions | |
static int | bt_addr_cmp (const bt_addr_t *a, const bt_addr_t *b) |
Compare Bluetooth device addresses. | |
static bool | bt_addr_eq (const bt_addr_t *a, const bt_addr_t *b) |
Determine equality of two Bluetooth device addresses. | |
static int | bt_addr_le_cmp (const bt_addr_le_t *a, const bt_addr_le_t *b) |
Compare Bluetooth LE device addresses. | |
static bool | bt_addr_le_eq (const bt_addr_le_t *a, const bt_addr_le_t *b) |
Determine equality of two Bluetooth LE device addresses. | |
static void | bt_addr_copy (bt_addr_t *dst, const bt_addr_t *src) |
Copy Bluetooth device address. | |
static void | bt_addr_le_copy (bt_addr_le_t *dst, const bt_addr_le_t *src) |
Copy Bluetooth LE device address. | |
int | bt_addr_le_create_nrpa (bt_addr_le_t *addr) |
Create a Bluetooth LE random non-resolvable private address. | |
int | bt_addr_le_create_static (bt_addr_le_t *addr) |
Create a Bluetooth LE random static address. | |
static bool | bt_addr_le_is_rpa (const bt_addr_le_t *addr) |
Check if a Bluetooth LE address is a random private resolvable address. | |
static bool | bt_addr_le_is_identity (const bt_addr_le_t *addr) |
Check if a Bluetooth LE address is valid identity address. | |
static int | bt_addr_to_str (const bt_addr_t *addr, char *str, size_t len) |
Converts binary Bluetooth address to string. | |
static int | bt_addr_le_to_str (const bt_addr_le_t *addr, char *str, size_t len) |
Converts binary LE Bluetooth address to string. | |
int | bt_addr_from_str (const char *str, bt_addr_t *addr) |
Convert Bluetooth address from string to binary. | |
int | bt_addr_le_from_str (const char *str, const char *type, bt_addr_le_t *addr) |
Convert LE Bluetooth address from string to binary. | |
Variables | |
const bt_addr_t | bt_addr_any |
const bt_addr_t | bt_addr_none |
const bt_addr_le_t | bt_addr_le_any |
const bt_addr_le_t | bt_addr_le_none |
Bluetooth device address definitions and utilities.
#define BT_ADDR_ANY (&bt_addr_any) |
#include <include/zephyr/bluetooth/addr.h>
Bluetooth device "any" address, not a valid address.
#define BT_ADDR_IS_NRPA | ( | a | ) | (((a)->val[5] & 0xc0) == 0x00) |
#include <include/zephyr/bluetooth/addr.h>
Check if a Bluetooth LE random address is a non-resolvable private address.
#define BT_ADDR_IS_RPA | ( | a | ) | (((a)->val[5] & 0xc0) == 0x40) |
#include <include/zephyr/bluetooth/addr.h>
Check if a Bluetooth LE random address is resolvable private address.
#define BT_ADDR_IS_STATIC | ( | a | ) | (((a)->val[5] & 0xc0) == 0xc0) |
#include <include/zephyr/bluetooth/addr.h>
Check if a Bluetooth LE random address is a static address.
#define BT_ADDR_LE_ANONYMOUS |
#include <include/zephyr/bluetooth/addr.h>
#define BT_ADDR_LE_ANY (&bt_addr_le_any) |
#include <include/zephyr/bluetooth/addr.h>
Bluetooth LE device "any" address, not a valid address.
#define BT_ADDR_LE_NONE (&bt_addr_le_none) |
#include <include/zephyr/bluetooth/addr.h>
Bluetooth LE device "none" address, not a valid address.
#define BT_ADDR_LE_PUBLIC 0x00 |
#include <include/zephyr/bluetooth/addr.h>
#define BT_ADDR_LE_PUBLIC_ID 0x02 |
#include <include/zephyr/bluetooth/addr.h>
#define BT_ADDR_LE_RANDOM 0x01 |
#include <include/zephyr/bluetooth/addr.h>
#define BT_ADDR_LE_RANDOM_ID 0x03 |
#include <include/zephyr/bluetooth/addr.h>
#define BT_ADDR_LE_SIZE 7 |
#include <include/zephyr/bluetooth/addr.h>
Length in bytes of an LE Bluetooth address.
Not packed, so no sizeof()
#define BT_ADDR_LE_STR_LEN 30 |
#include <include/zephyr/bluetooth/addr.h>
Recommended length of user string buffer for Bluetooth LE address.
The recommended length guarantee the output of address conversion will not lose valuable information about address being processed.
#define BT_ADDR_LE_UNRESOLVED |
#include <include/zephyr/bluetooth/addr.h>
#define BT_ADDR_NONE (&bt_addr_none) |
#include <include/zephyr/bluetooth/addr.h>
Bluetooth device "none" address, not a valid address.
#define BT_ADDR_SET_NRPA | ( | a | ) | ((a)->val[5] &= 0x3f) |
#include <include/zephyr/bluetooth/addr.h>
Set a Bluetooth LE random address as a non-resolvable private address.
#define BT_ADDR_SET_RPA | ( | a | ) | ((a)->val[5] = (((a)->val[5] & 0x3f) | 0x40)) |
#include <include/zephyr/bluetooth/addr.h>
Set a Bluetooth LE random address as a resolvable private address.
#define BT_ADDR_SET_STATIC | ( | a | ) | ((a)->val[5] |= 0xc0) |
#include <include/zephyr/bluetooth/addr.h>
Set a Bluetooth LE random address as a static address.
#define BT_ADDR_SIZE 6 |
#include <include/zephyr/bluetooth/addr.h>
Length in bytes of a standard Bluetooth address.
#define BT_ADDR_STR_LEN 18 |
#include <include/zephyr/bluetooth/addr.h>
Recommended length of user string buffer for Bluetooth address.
The recommended length guarantee the output of address conversion will not lose valuable information about address being processed.
#include <include/zephyr/bluetooth/addr.h>
Compare Bluetooth device addresses.
a | First Bluetooth device address to compare |
b | Second Bluetooth device address to compare |
#include <include/zephyr/bluetooth/addr.h>
Copy Bluetooth device address.
dst | Bluetooth device address destination buffer. |
src | Bluetooth device address source buffer. |
#include <include/zephyr/bluetooth/addr.h>
Determine equality of two Bluetooth device addresses.
int bt_addr_from_str | ( | const char * | str, |
bt_addr_t * | addr | ||
) |
#include <include/zephyr/bluetooth/addr.h>
Convert Bluetooth address from string to binary.
[in] | str | The string representation of a Bluetooth address. |
[out] | addr | Address of buffer to store the Bluetooth address |
0 | Success. The parsed address is stored in addr . |
str
is not a well-formed Bluetooth address.
|
inlinestatic |
#include <include/zephyr/bluetooth/addr.h>
Compare Bluetooth LE device addresses.
a | First Bluetooth LE device address to compare |
b | Second Bluetooth LE device address to compare |
|
inlinestatic |
#include <include/zephyr/bluetooth/addr.h>
Copy Bluetooth LE device address.
dst | Bluetooth LE device address destination buffer. |
src | Bluetooth LE device address source buffer. |
int bt_addr_le_create_nrpa | ( | bt_addr_le_t * | addr | ) |
#include <include/zephyr/bluetooth/addr.h>
Create a Bluetooth LE random non-resolvable private address.
int bt_addr_le_create_static | ( | bt_addr_le_t * | addr | ) |
#include <include/zephyr/bluetooth/addr.h>
Create a Bluetooth LE random static address.
|
inlinestatic |
#include <include/zephyr/bluetooth/addr.h>
Determine equality of two Bluetooth LE device addresses.
The Bluetooth LE addresses are equal if and only if both the types and the 48-bit addresses are numerically equal.
int bt_addr_le_from_str | ( | const char * | str, |
const char * | type, | ||
bt_addr_le_t * | addr | ||
) |
#include <include/zephyr/bluetooth/addr.h>
Convert LE Bluetooth address from string to binary.
[in] | str | The string representation of an LE Bluetooth address. |
[in] | type | The string representation of the LE Bluetooth address type. |
[out] | addr | Address of buffer to store the LE Bluetooth address |
|
inlinestatic |
#include <include/zephyr/bluetooth/addr.h>
Check if a Bluetooth LE address is valid identity address.
Valid Bluetooth LE identity addresses are either public address or random static address.
addr | Bluetooth LE device address. |
|
inlinestatic |
#include <include/zephyr/bluetooth/addr.h>
Check if a Bluetooth LE address is a random private resolvable address.
addr | Bluetooth LE device address. |
|
inlinestatic |
#include <include/zephyr/bluetooth/addr.h>
Converts binary LE Bluetooth address to string.
addr | Address of buffer containing binary LE Bluetooth address. |
str | Address of user buffer with enough room to store formatted string containing binary LE address. |
len | Length of data to be copied to user string buffer. Refer to BT_ADDR_LE_STR_LEN about recommended value. |
#include <include/zephyr/bluetooth/addr.h>
Converts binary Bluetooth address to string.
addr | Address of buffer containing binary Bluetooth address. |
str | Address of user buffer with enough room to store formatted string containing binary address. |
len | Length of data to be copied to user string buffer. Refer to BT_ADDR_STR_LEN about recommended value. |
|
extern |
#include <include/zephyr/bluetooth/addr.h>
|
extern |
#include <include/zephyr/bluetooth/addr.h>
|
extern |
#include <include/zephyr/bluetooth/addr.h>
|
extern |
#include <include/zephyr/bluetooth/addr.h>