1#ifndef NDNDPDK_NDNI_NNI_H
2#define NDNDPDK_NDNI_NNI_H
12__attribute__((nonnull))
static __rte_always_inline
bool
13Nni_Decode(uint32_t length,
const uint8_t* value, uint64_t* n) {
19 *n = rte_be_to_cpu_16(*(unaligned_uint16_t*)value);
22 *n = rte_be_to_cpu_32(*(unaligned_uint32_t*)value);
25 *n = rte_be_to_cpu_64(*(unaligned_uint64_t*)value);
38__attribute__((nonnull))
static __rte_always_inline uint8_t
39Nni_Encode(uint8_t* room, uint64_t n) {
42 unaligned_uint64_t* b = (unaligned_uint64_t*)room;
43 *b = rte_cpu_to_be_64(n);
47 unaligned_uint32_t* b = (unaligned_uint32_t*)room;
48 *b = rte_cpu_to_be_32(n);
53 unaligned_uint16_t* b = (unaligned_uint16_t*)room;
54 *b = rte_cpu_to_be_16(n);
67__attribute__((nonnull))
static __rte_always_inline uint8_t
68Nni_EncodeNameComponent(uint8_t* room, uint8_t typ, uint64_t n) {
70 room[1] = Nni_Encode(RTE_PTR_ADD(room, 2), n);