Loading...
Searching...
No Matches
luid.h
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2017 Freie Universität Berlin
3 * SPDX-License-Identifier: LGPL-2.1-only
4 */
5
6#pragma once
7
51
52#include <stddef.h>
53
54#include "net/eui48.h"
55#include "net/eui64.h"
56#include "net/netdev.h"
57
58#ifdef __cplusplus
59extern "C" {
60#endif
61
66#ifndef LUID_BACKUP_SEED
67#define LUID_BACKUP_SEED 0x23
68#endif
69
85void luid_get(void *buf, size_t len);
86
100void luid_get_lb(void *buf, size_t len);
101
114
126
139
151
164
179void luid_custom(void *buf, size_t len, uint16_t gen);
180
192void luid_base(void *buf, size_t len);
193
194#ifdef __cplusplus
195}
196#endif
197
be_uint16_t network_uint16_t
A 16 bit integer in network byte order.
Definition byteorder.h:104
Definitions low-level network driver interface.
Definition and IPv6 IID conversion for IEEE EUI-48 identifiers.
EUI-64 data type definition.
struct netdev netdev_t
Forward declaration for netdev struct.
Definition netdev.h:285
void luid_get_lb(void *buf, size_t len)
Get a unique ID with change in the last byte.
void luid_custom(void *buf, size_t len, uint16_t gen)
Get a custom unique ID based on a user given generator value.
void luid_get_short(network_uint16_t *addr)
Get a unique short unicast address.
void luid_get_eui48(eui48_t *addr)
Get a unique EUI48 address.
void luid_netdev_get_eui48(const netdev_t *netdev, eui48_t *addr)
Get a unique EUI48 address.
void luid_netdev_get_eui64(const netdev_t *netdev, eui64_t *addr)
Get a unique EUI64 address.
void luid_base(void *buf, size_t len)
Get a LUID base value.
void luid_get_eui64(eui64_t *addr)
Get a unique EUI64 address.
void luid_get(void *buf, size_t len)
Get a unique ID.
Data type to represent an EUI-48.
Definition eui48.h:31
Structure to hold driver state.
Definition netdev.h:363
Data type to represent an EUI-64.
Definition eui64.h:52