Loading...
Searching...
No Matches
luid.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 2017 Freie Universität Berlin
3 *
4 * This file is subject to the terms and conditions of the GNU Lesser
5 * General Public License v2.1. See the file LICENSE in the top level
6 * directory for more details.
7 */
8
9#pragma once
10
54
55#include <stddef.h>
56
57#include "net/eui48.h"
58#include "net/eui64.h"
59#include "net/netdev.h"
60
61#ifdef __cplusplus
62extern "C" {
63#endif
64
69#ifndef LUID_BACKUP_SEED
70#define LUID_BACKUP_SEED 0x23
71#endif
72
88void luid_get(void *buf, size_t len);
89
103void luid_get_lb(void *buf, size_t len);
104
117
129
142
154
167
182void luid_custom(void *buf, size_t len, uint16_t gen);
183
195void luid_base(void *buf, size_t len);
196
197#ifdef __cplusplus
198}
199#endif
200
be_uint16_t network_uint16_t
A 16 bit integer in network byte order.
Definition byteorder.h:107
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:288
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:34
Structure to hold driver state.
Definition netdev.h:364
Data type to represent an EUI-64.
Definition eui64.h:55