NDN-DPDK
High-Speed Named Data Networking Forwarder
base16.h
Go to the documentation of this file.
1 #ifndef NDNDPDK_CORE_BASE16_H
2 #define NDNDPDK_CORE_BASE16_H
3 
6 #include "common.h"
7 
9 #define Base16_BufferSize(size) (2 * (size) + 1)
10 
19 __attribute__((nonnull)) static inline int
20 Base16_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