logo
Free, Micro AI Code Reviews That Run on Git Commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, Micro AI Code Reviews That Run on Git Commit | Product Hunt git-lrc - Free, Micro AI Code Reviews That Run on Git Commit | Product Hunt

mtbl_varint - Variable-width encoding and decoding of 32 and 64 bit integers

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.

Name

       mtbl_varint - Variable-width encoding and decoding of 32 and 64 bit integers

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)

Synopsis

#include<mtbl.h>unsignedmtbl_varint_length(uint64_tvalue);unsignedmtbl_varint_length_packed(constuint8_t*buf,size_tlen_buf);size_tmtbl_varint_encode32(uint8_t*ptr,uint32_tvalue);size_tmtbl_varint_encode64(uint8_t*ptr,uint64_tvalue);size_tmtbl_varint_decode32(constuint8_t*ptr,uint32_t*value);size_tmtbl_varint_decode64(constuint8_t*ptr,uint64_t*value);

See Also