<html><head> <link rel="stylesheet" href="style.css" type="text/css"> <meta content="text/html; charset=iso-8859-1" http-equiv="Content-Type"> <link rel="Start" href="index.html"> <link title="Index of types" rel=Appendix href="index_types.html"> <link title="Index of exceptions" rel=Appendix href="index_exceptions.html"> <link title="Index of values" rel=Appendix href="index_values.html"> <link title="Index of modules" rel=Appendix href="index_modules.html"> <link title="Bitmatch" rel="Chapter" href="Bitmatch.html"> <link title="Bitstring" rel="Chapter" href="Bitstring.html"> <link title="Bitstring_persistent" rel="Chapter" href="Bitstring_persistent.html"><title>Bitstring</title> </head> <body> <code class="code"><span class="keyword">sig</span><br> <span class="keyword">type</span> endian = <span class="constructor">BigEndian</span> <span class="keywordsign">|</span> <span class="constructor">LittleEndian</span> <span class="keywordsign">|</span> <span class="constructor">NativeEndian</span><br> <span class="keyword">val</span> string_of_endian : <span class="constructor">Bitstring</span>.endian <span class="keywordsign">-></span> string<br> <span class="keyword">type</span> bitstring = string * int * int<br> <span class="keyword">type</span> t = <span class="constructor">Bitstring</span>.bitstring<br> <span class="keyword">exception</span> <span class="constructor">Construct_failure</span> <span class="keyword">of</span> string * string * int * int<br> <span class="keyword">val</span> compare : <span class="constructor">Bitstring</span>.bitstring <span class="keywordsign">-></span> <span class="constructor">Bitstring</span>.bitstring <span class="keywordsign">-></span> int<br> <span class="keyword">val</span> equals : <span class="constructor">Bitstring</span>.bitstring <span class="keywordsign">-></span> <span class="constructor">Bitstring</span>.bitstring <span class="keywordsign">-></span> bool<br> <span class="keyword">val</span> bitstring_length : <span class="constructor">Bitstring</span>.bitstring <span class="keywordsign">-></span> int<br> <span class="keyword">val</span> subbitstring : <span class="constructor">Bitstring</span>.bitstring <span class="keywordsign">-></span> int <span class="keywordsign">-></span> int <span class="keywordsign">-></span> <span class="constructor">Bitstring</span>.bitstring<br> <span class="keyword">val</span> dropbits : int <span class="keywordsign">-></span> <span class="constructor">Bitstring</span>.bitstring <span class="keywordsign">-></span> <span class="constructor">Bitstring</span>.bitstring<br> <span class="keyword">val</span> takebits : int <span class="keywordsign">-></span> <span class="constructor">Bitstring</span>.bitstring <span class="keywordsign">-></span> <span class="constructor">Bitstring</span>.bitstring<br> <span class="keyword">val</span> concat : <span class="constructor">Bitstring</span>.bitstring list <span class="keywordsign">-></span> <span class="constructor">Bitstring</span>.bitstring<br> <span class="keyword">val</span> empty_bitstring : <span class="constructor">Bitstring</span>.bitstring<br> <span class="keyword">val</span> create_bitstring : int <span class="keywordsign">-></span> <span class="constructor">Bitstring</span>.bitstring<br> <span class="keyword">val</span> make_bitstring : int <span class="keywordsign">-></span> char <span class="keywordsign">-></span> <span class="constructor">Bitstring</span>.bitstring<br> <span class="keyword">val</span> zeroes_bitstring : int <span class="keywordsign">-></span> <span class="constructor">Bitstring</span>.bitstring<br> <span class="keyword">val</span> ones_bitstring : int <span class="keywordsign">-></span> <span class="constructor">Bitstring</span>.bitstring<br> <span class="keyword">val</span> bitstring_of_string : string <span class="keywordsign">-></span> <span class="constructor">Bitstring</span>.bitstring<br> <span class="keyword">val</span> bitstring_of_file : string <span class="keywordsign">-></span> <span class="constructor">Bitstring</span>.bitstring<br> <span class="keyword">val</span> bitstring_of_chan : <span class="constructor">Pervasives</span>.in_channel <span class="keywordsign">-></span> <span class="constructor">Bitstring</span>.bitstring<br> <span class="keyword">val</span> bitstring_of_chan_max :<br> <span class="constructor">Pervasives</span>.in_channel <span class="keywordsign">-></span> int <span class="keywordsign">-></span> <span class="constructor">Bitstring</span>.bitstring<br> <span class="keyword">val</span> bitstring_of_file_descr : <span class="constructor">Unix</span>.file_descr <span class="keywordsign">-></span> <span class="constructor">Bitstring</span>.bitstring<br> <span class="keyword">val</span> bitstring_of_file_descr_max :<br> <span class="constructor">Unix</span>.file_descr <span class="keywordsign">-></span> int <span class="keywordsign">-></span> <span class="constructor">Bitstring</span>.bitstring<br> <span class="keyword">val</span> string_of_bitstring : <span class="constructor">Bitstring</span>.bitstring <span class="keywordsign">-></span> string<br> <span class="keyword">val</span> bitstring_to_file : <span class="constructor">Bitstring</span>.bitstring <span class="keywordsign">-></span> string <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> bitstring_to_chan :<br> <span class="constructor">Bitstring</span>.bitstring <span class="keywordsign">-></span> <span class="constructor">Pervasives</span>.out_channel <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> hexdump_bitstring :<br> <span class="constructor">Pervasives</span>.out_channel <span class="keywordsign">-></span> <span class="constructor">Bitstring</span>.bitstring <span class="keywordsign">-></span> unit<br> <span class="keyword">module</span> <span class="constructor">Buffer</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> t<br> <span class="keyword">val</span> create : unit <span class="keywordsign">-></span> <span class="constructor">Bitstring</span>.<span class="constructor">Buffer</span>.t<br> <span class="keyword">val</span> contents : <span class="constructor">Bitstring</span>.<span class="constructor">Buffer</span>.t <span class="keywordsign">-></span> <span class="constructor">Bitstring</span>.bitstring<br> <span class="keyword">val</span> add_bits : <span class="constructor">Bitstring</span>.<span class="constructor">Buffer</span>.t <span class="keywordsign">-></span> string <span class="keywordsign">-></span> int <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> add_bit : <span class="constructor">Bitstring</span>.<span class="constructor">Buffer</span>.t <span class="keywordsign">-></span> bool <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> add_byte : <span class="constructor">Bitstring</span>.<span class="constructor">Buffer</span>.t <span class="keywordsign">-></span> int <span class="keywordsign">-></span> unit<br> <span class="keyword">end</span><br> <span class="keyword">val</span> set : <span class="constructor">Bitstring</span>.bitstring <span class="keywordsign">-></span> int <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> clear : <span class="constructor">Bitstring</span>.bitstring <span class="keywordsign">-></span> int <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> is_set : <span class="constructor">Bitstring</span>.bitstring <span class="keywordsign">-></span> int <span class="keywordsign">-></span> bool<br> <span class="keyword">val</span> is_clear : <span class="constructor">Bitstring</span>.bitstring <span class="keywordsign">-></span> int <span class="keywordsign">-></span> bool<br> <span class="keyword">val</span> put : <span class="constructor">Bitstring</span>.bitstring <span class="keywordsign">-></span> int <span class="keywordsign">-></span> int <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> get : <span class="constructor">Bitstring</span>.bitstring <span class="keywordsign">-></span> int <span class="keywordsign">-></span> int<br> <span class="keyword">val</span> package : string<br> <span class="keyword">val</span> version : string<br> <span class="keyword">val</span> debug : bool <span class="constructor">Pervasives</span>.ref<br> <span class="keyword">val</span> extract_bit : string <span class="keywordsign">-></span> int <span class="keywordsign">-></span> int <span class="keywordsign">-></span> int <span class="keywordsign">-></span> bool<br> <span class="keyword">val</span> extract_char_unsigned : string <span class="keywordsign">-></span> int <span class="keywordsign">-></span> int <span class="keywordsign">-></span> int <span class="keywordsign">-></span> int<br> <span class="keyword">val</span> extract_int_be_unsigned : string <span class="keywordsign">-></span> int <span class="keywordsign">-></span> int <span class="keywordsign">-></span> int <span class="keywordsign">-></span> int<br> <span class="keyword">val</span> extract_int_le_unsigned : string <span class="keywordsign">-></span> int <span class="keywordsign">-></span> int <span class="keywordsign">-></span> int <span class="keywordsign">-></span> int<br> <span class="keyword">val</span> extract_int_ne_unsigned : string <span class="keywordsign">-></span> int <span class="keywordsign">-></span> int <span class="keywordsign">-></span> int <span class="keywordsign">-></span> int<br> <span class="keyword">val</span> extract_int_ee_unsigned :<br> <span class="constructor">Bitstring</span>.endian <span class="keywordsign">-></span> string <span class="keywordsign">-></span> int <span class="keywordsign">-></span> int <span class="keywordsign">-></span> int <span class="keywordsign">-></span> int<br> <span class="keyword">val</span> extract_int32_be_unsigned : string <span class="keywordsign">-></span> int <span class="keywordsign">-></span> int <span class="keywordsign">-></span> int <span class="keywordsign">-></span> int32<br> <span class="keyword">val</span> extract_int32_le_unsigned : string <span class="keywordsign">-></span> int <span class="keywordsign">-></span> int <span class="keywordsign">-></span> int <span class="keywordsign">-></span> int32<br> <span class="keyword">val</span> extract_int32_ne_unsigned : string <span class="keywordsign">-></span> int <span class="keywordsign">-></span> int <span class="keywordsign">-></span> int <span class="keywordsign">-></span> int32<br> <span class="keyword">val</span> extract_int32_ee_unsigned :<br> <span class="constructor">Bitstring</span>.endian <span class="keywordsign">-></span> string <span class="keywordsign">-></span> int <span class="keywordsign">-></span> int <span class="keywordsign">-></span> int <span class="keywordsign">-></span> int32<br> <span class="keyword">val</span> extract_int64_be_unsigned : string <span class="keywordsign">-></span> int <span class="keywordsign">-></span> int <span class="keywordsign">-></span> int <span class="keywordsign">-></span> int64<br> <span class="keyword">val</span> extract_int64_le_unsigned : string <span class="keywordsign">-></span> int <span class="keywordsign">-></span> int <span class="keywordsign">-></span> int <span class="keywordsign">-></span> int64<br> <span class="keyword">val</span> extract_int64_ne_unsigned : string <span class="keywordsign">-></span> int <span class="keywordsign">-></span> int <span class="keywordsign">-></span> int <span class="keywordsign">-></span> int64<br> <span class="keyword">val</span> extract_int64_ee_unsigned :<br> <span class="constructor">Bitstring</span>.endian <span class="keywordsign">-></span> string <span class="keywordsign">-></span> int <span class="keywordsign">-></span> int <span class="keywordsign">-></span> int <span class="keywordsign">-></span> int64<br> <span class="keyword">external</span> extract_fastpath_int16_be_unsigned : string <span class="keywordsign">-></span> int <span class="keywordsign">-></span> int<br> = <span class="string">"ocaml_bitstring_extract_fastpath_int16_be_unsigned"</span> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> extract_fastpath_int16_le_unsigned : string <span class="keywordsign">-></span> int <span class="keywordsign">-></span> int<br> = <span class="string">"ocaml_bitstring_extract_fastpath_int16_le_unsigned"</span> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> extract_fastpath_int16_ne_unsigned : string <span class="keywordsign">-></span> int <span class="keywordsign">-></span> int<br> = <span class="string">"ocaml_bitstring_extract_fastpath_int16_ne_unsigned"</span> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> extract_fastpath_int16_be_signed : string <span class="keywordsign">-></span> int <span class="keywordsign">-></span> int<br> = <span class="string">"ocaml_bitstring_extract_fastpath_int16_be_signed"</span> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> extract_fastpath_int16_le_signed : string <span class="keywordsign">-></span> int <span class="keywordsign">-></span> int<br> = <span class="string">"ocaml_bitstring_extract_fastpath_int16_le_signed"</span> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> extract_fastpath_int16_ne_signed : string <span class="keywordsign">-></span> int <span class="keywordsign">-></span> int<br> = <span class="string">"ocaml_bitstring_extract_fastpath_int16_ne_signed"</span> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> extract_fastpath_int32_be_unsigned :<br> string <span class="keywordsign">-></span> int <span class="keywordsign">-></span> int32 <span class="keywordsign">-></span> int32<br> = <span class="string">"ocaml_bitstring_extract_fastpath_int32_be_unsigned"</span> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> extract_fastpath_int32_le_unsigned :<br> string <span class="keywordsign">-></span> int <span class="keywordsign">-></span> int32 <span class="keywordsign">-></span> int32<br> = <span class="string">"ocaml_bitstring_extract_fastpath_int32_le_unsigned"</span> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> extract_fastpath_int32_ne_unsigned :<br> string <span class="keywordsign">-></span> int <span class="keywordsign">-></span> int32 <span class="keywordsign">-></span> int32<br> = <span class="string">"ocaml_bitstring_extract_fastpath_int32_ne_unsigned"</span> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> extract_fastpath_int32_be_signed : string <span class="keywordsign">-></span> int <span class="keywordsign">-></span> int32 <span class="keywordsign">-></span> int32<br> = <span class="string">"ocaml_bitstring_extract_fastpath_int32_be_signed"</span> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> extract_fastpath_int32_le_signed : string <span class="keywordsign">-></span> int <span class="keywordsign">-></span> int32 <span class="keywordsign">-></span> int32<br> = <span class="string">"ocaml_bitstring_extract_fastpath_int32_le_signed"</span> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> extract_fastpath_int32_ne_signed : string <span class="keywordsign">-></span> int <span class="keywordsign">-></span> int32 <span class="keywordsign">-></span> int32<br> = <span class="string">"ocaml_bitstring_extract_fastpath_int32_ne_signed"</span> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> extract_fastpath_int64_be_unsigned :<br> string <span class="keywordsign">-></span> int <span class="keywordsign">-></span> int64 <span class="keywordsign">-></span> int64<br> = <span class="string">"ocaml_bitstring_extract_fastpath_int64_be_unsigned"</span> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> extract_fastpath_int64_le_unsigned :<br> string <span class="keywordsign">-></span> int <span class="keywordsign">-></span> int64 <span class="keywordsign">-></span> int64<br> = <span class="string">"ocaml_bitstring_extract_fastpath_int64_le_unsigned"</span> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> extract_fastpath_int64_ne_unsigned :<br> string <span class="keywordsign">-></span> int <span class="keywordsign">-></span> int64 <span class="keywordsign">-></span> int64<br> = <span class="string">"ocaml_bitstring_extract_fastpath_int64_ne_unsigned"</span> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> extract_fastpath_int64_be_signed : string <span class="keywordsign">-></span> int <span class="keywordsign">-></span> int64 <span class="keywordsign">-></span> int64<br> = <span class="string">"ocaml_bitstring_extract_fastpath_int64_be_signed"</span> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> extract_fastpath_int64_le_signed : string <span class="keywordsign">-></span> int <span class="keywordsign">-></span> int64 <span class="keywordsign">-></span> int64<br> = <span class="string">"ocaml_bitstring_extract_fastpath_int64_le_signed"</span> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> extract_fastpath_int64_ne_signed : string <span class="keywordsign">-></span> int <span class="keywordsign">-></span> int64 <span class="keywordsign">-></span> int64<br> = <span class="string">"ocaml_bitstring_extract_fastpath_int64_ne_signed"</span> <span class="string">"noalloc"</span><br> <span class="keyword">val</span> construct_bit : <span class="constructor">Bitstring</span>.<span class="constructor">Buffer</span>.t <span class="keywordsign">-></span> bool <span class="keywordsign">-></span> int <span class="keywordsign">-></span> exn <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> construct_char_unsigned :<br> <span class="constructor">Bitstring</span>.<span class="constructor">Buffer</span>.t <span class="keywordsign">-></span> int <span class="keywordsign">-></span> int <span class="keywordsign">-></span> exn <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> construct_int_be_unsigned :<br> <span class="constructor">Bitstring</span>.<span class="constructor">Buffer</span>.t <span class="keywordsign">-></span> int <span class="keywordsign">-></span> int <span class="keywordsign">-></span> exn <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> construct_int_le_unsigned :<br> <span class="constructor">Bitstring</span>.<span class="constructor">Buffer</span>.t <span class="keywordsign">-></span> int <span class="keywordsign">-></span> int <span class="keywordsign">-></span> exn <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> construct_int_ne_unsigned :<br> <span class="constructor">Bitstring</span>.<span class="constructor">Buffer</span>.t <span class="keywordsign">-></span> int <span class="keywordsign">-></span> int <span class="keywordsign">-></span> exn <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> construct_int_ee_unsigned :<br> <span class="constructor">Bitstring</span>.endian <span class="keywordsign">-></span> <span class="constructor">Bitstring</span>.<span class="constructor">Buffer</span>.t <span class="keywordsign">-></span> int <span class="keywordsign">-></span> int <span class="keywordsign">-></span> exn <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> construct_int32_be_unsigned :<br> <span class="constructor">Bitstring</span>.<span class="constructor">Buffer</span>.t <span class="keywordsign">-></span> int32 <span class="keywordsign">-></span> int <span class="keywordsign">-></span> exn <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> construct_int32_le_unsigned :<br> <span class="constructor">Bitstring</span>.<span class="constructor">Buffer</span>.t <span class="keywordsign">-></span> int32 <span class="keywordsign">-></span> int <span class="keywordsign">-></span> exn <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> construct_int32_ne_unsigned :<br> <span class="constructor">Bitstring</span>.<span class="constructor">Buffer</span>.t <span class="keywordsign">-></span> int32 <span class="keywordsign">-></span> int <span class="keywordsign">-></span> exn <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> construct_int32_ee_unsigned :<br> <span class="constructor">Bitstring</span>.endian <span class="keywordsign">-></span> <span class="constructor">Bitstring</span>.<span class="constructor">Buffer</span>.t <span class="keywordsign">-></span> int32 <span class="keywordsign">-></span> int <span class="keywordsign">-></span> exn <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> construct_int64_be_unsigned :<br> <span class="constructor">Bitstring</span>.<span class="constructor">Buffer</span>.t <span class="keywordsign">-></span> int64 <span class="keywordsign">-></span> int <span class="keywordsign">-></span> exn <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> construct_int64_le_unsigned :<br> <span class="constructor">Bitstring</span>.<span class="constructor">Buffer</span>.t <span class="keywordsign">-></span> int64 <span class="keywordsign">-></span> int <span class="keywordsign">-></span> exn <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> construct_int64_ne_unsigned :<br> <span class="constructor">Bitstring</span>.<span class="constructor">Buffer</span>.t <span class="keywordsign">-></span> int64 <span class="keywordsign">-></span> int <span class="keywordsign">-></span> exn <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> construct_int64_ee_unsigned :<br> <span class="constructor">Bitstring</span>.endian <span class="keywordsign">-></span> <span class="constructor">Bitstring</span>.<span class="constructor">Buffer</span>.t <span class="keywordsign">-></span> int64 <span class="keywordsign">-></span> int <span class="keywordsign">-></span> exn <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> construct_string : <span class="constructor">Bitstring</span>.<span class="constructor">Buffer</span>.t <span class="keywordsign">-></span> string <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> construct_bitstring : <span class="constructor">Bitstring</span>.<span class="constructor">Buffer</span>.t <span class="keywordsign">-></span> <span class="constructor">Bitstring</span>.bitstring <span class="keywordsign">-></span> unit<br> <span class="keyword">end</span></code></body></html>