Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

mtbl_varint(3) [debian man page]

MTBL_VARINT(3)															    MTBL_VARINT(3)

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. 05/29/2012 MTBL_VARINT(3)

Check Out this Related Man Page

ATOMIC_AND(3)						   BSD Library Functions Manual 					     ATOMIC_AND(3)

NAME
atomic_and, atomic_and_32, atomic_and_uint, atomic_and_ulong, atomic_and_64, atomic_and_32_nv, atomic_and_uint_nv, atomic_and_ulong_nv, atomic_and_64_nv -- atomic logical 'and' operations SYNOPSIS
#include <sys/atomic.h> void atomic_and_32(volatile uint32_t *ptr, uint32_t bits); void atomic_and_uint(volatile unsigned int *ptr, unsigned int bits); void atomic_and_ulong(volatile unsigned long *ptr, unsigned long bits); void atomic_and_64(volatile uint64_t *ptr, uint64_t bits); uint32_t atomic_and_32_nv(volatile uint32_t *ptr, uint32_t bits); unsigned int atomic_and_uint_nv(volatile unsigned int *ptr, unsigned int bits); unsigned long atomic_and_ulong_nv(volatile unsigned long *ptr, unsigned long bits); uint64_t atomic_and_64_nv(volatile uint64_t *ptr, uint64_t bits); DESCRIPTION
The atomic_and family of functions load the value of the variable referenced by ptr, perform a logical 'and' with the value bits, and store the result back to the variable referenced by ptr in an atomic fashion. The *_nv() variants of these functions return the new value. The 64-bit variants of these functions are available only on platforms that can support atomic 64-bit memory access. Applications can check for the availability of 64-bit atomic memory operations by testing if the pre-processor macro __HAVE_ATOMIC64_OPS is defined. SEE ALSO
atomic_ops(3) HISTORY
The atomic_and functions first appeared in NetBSD 5.0. BSD
April 11, 2007 BSD
Man Page