1 #ifndef NDNDPDK_NDNI_NNI_H
2 #define NDNDPDK_NDNI_NNI_H
12 __attribute__((nonnull))
static __rte_always_inline
bool
13 Nni_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
39 Nni_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
68 Nni_EncodeNameComponent(uint8_t* room, uint8_t typ, uint64_t n) {
70 room[1] = Nni_Encode(RTE_PTR_ADD(room, 2), n);