1#ifndef NDNPH_TLV_VARNUM_HPP
2#define NDNPH_TLV_VARNUM_HPP
4#include "../core/common.hpp"
12 return n < 0xFD ? 1 : n <= 0xFFFF ? 3 : 5;
20 }
else if (n <= 0xFFFF) {
38readVarNum(
const uint8_t* input,
size_t size, uint32_t& n) {
39 if (size >= 1 && input[0] < 0xFD) {
43 if (size >= 3 && input[0] == 0xFD) {
44 n = (
static_cast<uint32_t
>(input[1]) << 8) |
static_cast<uint32_t
>(input[2]);
47 if (size >= 5 && input[0] == 0xFE) {
48 n = (
static_cast<uint32_t
>(input[1]) << 24) | (
static_cast<uint32_t
>(input[2]) << 16) |
49 (
static_cast<uint32_t
>(input[3]) << 8) |
static_cast<uint32_t
>(input[4]);
int readVarNum(const uint8_t *input, size_t size, uint32_t &n)
Read VAR-NUMBER.
Definition varnum.hpp:38
void writeVarNum(uint8_t *room, uint32_t n)
Write VAR-NUMBER.
Definition varnum.hpp:17
constexpr size_t sizeofVarNum(uint32_t n)
Compute size of VAR-NUMBER.
Definition varnum.hpp:11