2 * $Id: bitmatch.mli,v 1.6 2008-04-01 19:10:45 rjones Exp $
5 exception Construct_failure of string * string * int * int
7 type bitstring = string * int * int
9 val empty_bitstring : bitstring
11 val create_bitstring : int -> bitstring
13 val make_bitstring : int -> char -> bitstring
15 val bitstring_of_chan : in_channel -> bitstring
17 val bitstring_of_file : string -> bitstring
19 val hexdump_bitstring : out_channel -> bitstring -> unit
21 val bitstring_length : bitstring -> int
25 val create : unit -> t
26 val contents : t -> bitstring
27 val add_bits : t -> string -> int -> unit
28 val add_bit : t -> bool -> unit
29 val add_byte : t -> int -> unit
35 (* Private functions, called from generated code. Do not use
36 * these directly - they are not safe.
39 val extract_bitstring : string -> int -> int -> int -> bitstring * int * int
41 val extract_remainder : string -> int -> int -> bitstring * int * int
43 val extract_bit : string -> int -> int -> int -> bool * int * int
45 val extract_char_unsigned : string -> int -> int -> int -> int * int * int
47 val extract_int_be_unsigned : string -> int -> int -> int -> int * int * int
49 val extract_int_le_unsigned : string -> int -> int -> int -> int * int * int
51 val extract_int32_be_unsigned : string -> int -> int -> int -> int32 * int * int
53 val extract_int32_le_unsigned : string -> int -> int -> int -> int32 * int * int
55 val extract_int64_be_unsigned : string -> int -> int -> int -> int64 * int * int
57 val construct_bit : Buffer.t -> bool -> int -> unit
59 val construct_char_unsigned : Buffer.t -> int -> int -> exn -> unit
61 val construct_int64_be_unsigned : Buffer.t -> int64 -> int -> exn -> unit