Provided by: libmtbl-dev_0.8.0-1build1_amd64 bug

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.

                                            01/31/2014                             MTBL_VARINT(3)