Zephyr API Documentation  2.7.0-rc2
A Scalable Open Source RTOS
addr.h File Reference

Bluetooth device address definitions and utilities. More...

#include <string.h>
#include <sys/printk.h>
#include <zephyr/types.h>

Go to the source code of this file.

Data Structures

struct  bt_addr_t
 
struct  bt_addr_le_t
 

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_ANY   ((bt_addr_t[]) { { { 0, 0, 0, 0, 0, 0 } } })
 
#define BT_ADDR_NONE
 
#define BT_ADDR_LE_ANY   ((bt_addr_le_t[]) { { 0, { { 0, 0, 0, 0, 0, 0 } } } })
 
#define BT_ADDR_LE_NONE
 
#define BT_ADDR_IS_RPA(a)   (((a)->val[5] & 0xc0) == 0x40)
 
#define BT_ADDR_IS_NRPA(a)   (((a)->val[5] & 0xc0) == 0x00)
 
#define BT_ADDR_IS_STATIC(a)   (((a)->val[5] & 0xc0) == 0xc0)
 
#define BT_ADDR_SET_RPA(a)   ((a)->val[5] = (((a)->val[5] & 0x3f) | 0x40))
 
#define BT_ADDR_SET_NRPA(a)   ((a)->val[5] &= 0x3f)
 
#define BT_ADDR_SET_STATIC(a)   ((a)->val[5] |= 0xc0)
 
#define BT_ADDR_STR_LEN   18
 Recommended length of user string buffer for Bluetooth address. More...
 
#define BT_ADDR_LE_STR_LEN   30
 Recommended length of user string buffer for Bluetooth LE address. More...
 

Functions

static int bt_addr_cmp (const bt_addr_t *a, const bt_addr_t *b)
 Compare Bluetooth device addresses. More...
 
static int bt_addr_le_cmp (const bt_addr_le_t *a, const bt_addr_le_t *b)
 Compare Bluetooth LE device addresses. More...
 
static void bt_addr_copy (bt_addr_t *dst, const bt_addr_t *src)
 Copy Bluetooth device address. More...
 
static void bt_addr_le_copy (bt_addr_le_t *dst, const bt_addr_le_t *src)
 Copy Bluetooth LE device address. More...
 
int bt_addr_le_create_nrpa (bt_addr_le_t *addr)
 Create a Bluetooth LE random non-resolvable private address. More...
 
int bt_addr_le_create_static (bt_addr_le_t *addr)
 Create a Bluetooth LE random static address. More...
 
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. More...
 
static bool bt_addr_le_is_identity (const bt_addr_le_t *addr)
 Check if a Bluetooth LE address is valid identity address. More...
 
static int bt_addr_to_str (const bt_addr_t *addr, char *str, size_t len)
 Converts binary Bluetooth address to string. More...
 
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. More...
 
int bt_addr_from_str (const char *str, bt_addr_t *addr)
 Convert Bluetooth address from string to binary. More...
 
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. More...
 

Detailed Description

Bluetooth device address definitions and utilities.