package biniou

  1. Overview
  2. Docs
Binary data format designed for speed, safety, ease of use and backward compatibility as protocols evolve

Install

Dune Dependency

Authors

Maintainers

Sources

biniou-1.2.2.tbz
sha256=8bf3ff17cd0ecb2d6b6d1d94cb08ef089d44caef96e9bae6be6839d428fa318f
sha512=7d03b3759a3a2e1c77713aa1b8375a1f1917f49d14fe5e3cb01d5e53a12e6385b7a3b0f4827f3be71182c31c416d780e1f9ef011dc205cb8f9b0ab2d8fc23cfd

doc/biniou/Bi_vint/index.html

Module Bi_vintSource

Vint: variable-length representation of integers

This module currently provides only conversions between vint and the OCaml int type. Here are the current limits of OCaml ints on 32-bit and 64-bit systems:

   word length (bits)                 32          64

   int length (bits)                  31          63

   min_int (lowest signed int)        0x40000000  0x4000000000000000
                                      -1073741824 -4611686018427387904

   max_int (greatest signed int)      0x3fffffff  0x3fffffffffffffff
                                      1073741823  4611686018427387903

   lowest unsigned int                0x0         0x0
                                      0           0

   greatest unsigned int              0x7fffffff  0x7fffffffffffffff
                                      2147483647  9223372036854775807

   maximum vint length (data bits)    31          63
   maximum vint length (total bytes)  5           9
Sourcetype uint = int

Unsigned int. Note that ints (signed) and uints use the same representation for integers within [0, max_int].

Sourceval uvint_of_uint : ?buf:Bi_outbuf.t -> uint -> string

Convert an unsigned int to a vint.

  • parameter buf

    existing output buffer that could be reused by this function instead of creating a new one.

Sourceval svint_of_int : ?buf:Bi_outbuf.t -> int -> string

Convert a signed int to a vint.

  • parameter buf

    existing output buffer that could be reused by this function instead of creating a new one.

Sourceval uint_of_uvint : string -> uint

Interpret a vint as an unsigned int.

  • raises Bi_util.Error

    if the input string is not a single valid uvint that is representable using the uint type.

Sourceval int_of_svint : string -> int

Interpret a vint as a signed int.

  • raises Bi_util.Error

    if the input string is not a single valid svint that is representable using the int type.

Sourceval write_uvint : Bi_outbuf.t -> uint -> unit

Write an unsigned int to a buffer.

Sourceval write_svint : Bi_outbuf.t -> int -> unit

Write a signed int to a buffer.

Sourceval read_uvint : Bi_inbuf.t -> uint

Read an unsigned int from a buffer.

  • raises Bi_util.Error

    if there is no data to read from or if the uvint is not representable using the uint type.

Sourceval read_svint : Bi_inbuf.t -> int

Read a signed int from a buffer.

  • raises Bi_util.Error

    if there is no data to read from or if the svint is not representable using the int type.

OCaml

Innovation. Community. Security.