Man page - mtbl_varint(3)
Packages contains this manual
Manual
MTBL_VARINT
NAMESYNOPSIS
DESCRIPTION
RETURN VALUE
NAME
mtbl_varint - Variable-width encoding and decoding of 32 and 64 bit integers
SYNOPSIS
#include <mtbl.h>
unsigned mtbl_varint_length(uint64_t value );
unsigned mtbl_varint_length_packed(const uint8_t * buf , size_t len_buf );
size_t mtbl_varint_encode32(uint8_t * ptr , uint32_t value );
size_t mtbl_varint_encode64(uint8_t * ptr , uint64_t value );
size_t mtbl_varint_decode32(const uint8_t * ptr , uint32_t * value );
size_t mtbl_varint_decode64(const uint8_t * ptr , uint64_t * value );
DESCRIPTION
mtbl_varint_encode32 () and mtbl_varint_encode64 () write the 32 or 64 bit quantity, respectively, in the argument value to the buffer in the argument dst . The quantity will be written in using a variable-width encoding that uses at most 5 bytes for a 32 bit quantity or 10 bytes for a 64 bit quantity.
mtbl_varint_decode32 () and mtbl_varint_decode64 () read the 32 or 64 bit varint quantity, respectively, in the argument ptr . The quantity read will be placed in the argument value .
Bounds checking must be performed by the caller.
RETURN VALUE
mtbl_varint_encode32 () and mtbl_varint_encode64 () return the number of bytes written to dst .
mtbl_varint_decode32 () and mtbl_varint_decode64 () return the number of bytes read from ptr .
mtbl_varint_length () returns the number of bytes that its argument value would require in the variable-width encoding.
mtbl_varint_length_packed () returns the number of bytes consumed by the variable-width encoded quantity at its argument data . It will read at most len_buf bytes from data . The value 0 is returned if a valid varint is not present.