NDN-DPDK
High-Speed Named Data Networking Forwarder
Loading...
Searching...
No Matches
base16.h
Go to the documentation of this file.
1#ifndef NDNDPDK_CORE_BASE16_H
2#define NDNDPDK_CORE_BASE16_H
3
5
6#include "common.h"
7
9#define Base16_BufferSize(size) (2 * (size) + 1)
10
19__attribute__((nonnull)) static inline int
20Base16_Encode(char* output, size_t room, const uint8_t* input, size_t size) {
21 NDNDPDK_ASSERT(room >= Base16_BufferSize(size));
22 static char hex[] = "0123456789ABCDEF";
23 for (uint16_t i = 0; i < size; ++i) {
24 uint8_t b = input[i];
25 output[2 * i] = hex[b >> 4];
26 output[2 * i + 1] = hex[b & 0x0F];
27 }
28 output[2 * size] = '\0';
29 return 2 * size;
30}
31
32#endif // NDNDPDK_CORE_BASE16_H
#define Base16_BufferSize(size)
Compute base16 buffer size from input of size octets.
Definition base16.h:9
#define NDNDPDK_ASSERT(x)
Definition common.h:60