Skip site navigation (1)Skip section navigation (2)

  
 
  

home | help
MTBL_VARINT(3)							  MTBL_VARINT(3)

NAME
     mtbl_varint  -  Variable-width encoding and decoding of 32 and 64 bit inte-
     gers

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  quan-
     tity.

     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)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=mtbl_varint&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help