12#ifndef ZEPHYR_INCLUDE_NET_NET_LINKADDR_H_
13#define ZEPHYR_INCLUDE_NET_NET_LINKADDR_H_
31#ifdef CONFIG_NET_L2_IEEE802154
32#define NET_LINK_ADDR_MAX_LENGTH 8
34#ifdef CONFIG_NET_L2_PPP
35#define NET_LINK_ADDR_MAX_LENGTH 8
37#define NET_LINK_ADDR_MAX_LENGTH 6
110 if (!lladdr1 || !lladdr2) {
114 if (lladdr1->
len != lladdr2->
len) {
133 if (!lladdr_store || !new_addr) {
141 lladdr_store->
len = new_len;
142 memcpy(lladdr_store->
addr, new_addr, new_len);
net_link_type
Definition: net_linkaddr.h:47
static bool net_linkaddr_cmp(struct net_linkaddr *lladdr1, struct net_linkaddr *lladdr2)
Compare two link layer addresses.
Definition: net_linkaddr.h:107
#define NET_LINK_ADDR_MAX_LENGTH
Definition: net_linkaddr.h:37
static int net_linkaddr_set(struct net_linkaddr_storage *lladdr_store, uint8_t *new_addr, uint8_t new_len)
Set the member data of a link layer address storage structure.
Definition: net_linkaddr.h:130
@ NET_LINK_UNKNOWN
Definition: net_linkaddr.h:49
@ NET_LINK_IEEE802154
Definition: net_linkaddr.h:51
@ NET_LINK_DUMMY
Definition: net_linkaddr.h:57
@ NET_LINK_ETHERNET
Definition: net_linkaddr.h:55
@ NET_LINK_CANBUS_RAW
Definition: net_linkaddr.h:59
@ NET_LINK_BLUETOOTH
Definition: net_linkaddr.h:53
#define EINVAL
Definition: errno.h:61
#define EMSGSIZE
Definition: errno.h:107
__UINT8_TYPE__ uint8_t
Definition: stdint.h:88
int memcmp(const void *m1, const void *m2, size_t n)
void * memcpy(void *ZRESTRICT d, const void *ZRESTRICT s, size_t n)
Hardware link address structure.
Definition: net_linkaddr.h:88
uint8_t type
Definition: net_linkaddr.h:90
uint8_t len
Definition: net_linkaddr.h:93
uint8_t addr[6]
Definition: net_linkaddr.h:96
Hardware link address structure.
Definition: net_linkaddr.h:67
uint8_t * addr
Definition: net_linkaddr.h:69
uint8_t type
Definition: net_linkaddr.h:75
uint8_t len
Definition: net_linkaddr.h:72