Data compression

Variable length integers

ustream_ret uistream_read_varint(UIStream *stream, ulib_uint *value, size_t *read)

Reads a variable-length unsigned integer.

Parameters:
  • stream – Input stream.

  • value[out] Decoded value.

  • read[out] Number of bytes read.

Returns:

Return code.

ustream_ret uistream_read_svarint(UIStream *stream, ulib_int *value, size_t *read)

Reads a variable-length signed integer.

Parameters:
  • stream – Input stream.

  • value[out] Decoded value.

  • read[out] Number of bytes read.

Returns:

Return code.

ustream_ret uostream_write_varint(UOStream *stream, ulib_uint value, size_t *written)

Writes a variable-length unsigned integer.

Parameters:
  • stream – Output stream.

  • value – Value to encode.

  • written[out] Number of bytes written.

Returns:

Return code.

ustream_ret uostream_write_svarint(UOStream *stream, ulib_int value, size_t *written)

Writes a variable-length signed integer.

Parameters:
  • stream – Output stream.

  • value – Value to encode.

  • written[out] Number of bytes written.

Returns:

Return code.