sig
  type t =
      (char, Bigarray.int8_unsigned_elt, Bigarray.c_layout) Bigarray.Array1.t
  exception IOError of int * exn
  val create : int -> Bigstring.t
  val of_string : ?pos:int -> ?len:int -> string -> Bigstring.t
  val to_string : ?pos:int -> ?len:int -> Bigstring.t -> string
  val check_args : loc:string -> Bigstring.t -> pos:int -> len:int -> unit
  val get_opt_len : Bigstring.t -> pos:int -> int option -> int
  val length : Bigstring.t -> int
  val sub : ?pos:int -> ?len:int -> Bigstring.t -> Bigstring.t
  external is_mmapped : Bigstring.t -> bool = "bigstring_is_mmapped_stub"
    "noalloc"
  val blit :
    ?src_pos:int ->
    src:Bigstring.t -> ?dst_pos:int -> dst:Bigstring.t -> int -> unit
  val blit_string_bigstring :
    ?src_pos:int -> string -> ?dst_pos:int -> Bigstring.t -> len:int -> unit
  val blit_bigstring_string :
    ?src_pos:int -> Bigstring.t -> ?dst_pos:int -> string -> len:int -> unit
  val read :
    ?min_len:int ->
    Unix.file_descr -> ?pos:int -> ?len:int -> Bigstring.t -> int
  val really_read :
    Unix.file_descr -> ?pos:int -> ?len:int -> Bigstring.t -> unit
  val really_recv :
    Unix.file_descr -> ?pos:int -> ?len:int -> Bigstring.t -> unit
  val read_assume_nonblocking :
    Unix.file_descr -> ?pos:int -> ?len:int -> Bigstring.t -> int
  val input :
    ?min_len:int ->
    Pervasives.in_channel -> ?pos:int -> ?len:int -> Bigstring.t -> int
  val really_input :
    Pervasives.in_channel -> ?pos:int -> ?len:int -> Bigstring.t -> unit
  val really_write :
    Unix.file_descr -> ?pos:int -> ?len:int -> Bigstring.t -> unit
  val really_send_no_sigpipe :
    Unix.file_descr -> ?pos:int -> ?len:int -> Bigstring.t -> unit
  val send_nonblocking_no_sigpipe :
    Unix.file_descr -> ?pos:int -> ?len:int -> Bigstring.t -> int option
  val write : Unix.file_descr -> ?pos:int -> ?len:int -> Bigstring.t -> int
  val write_assume_nonblocking :
    Unix.file_descr -> ?pos:int -> ?len:int -> Bigstring.t -> int
  val writev :
    Unix.file_descr ->
    ?count:int -> Bigstring.t Unix_ext.IOVec.t array -> int
  val writev_assume_nonblocking :
    Unix.file_descr ->
    ?count:int -> Bigstring.t Unix_ext.IOVec.t array -> int
  val output :
    ?min_len:int ->
    Pervasives.out_channel -> ?pos:int -> ?len:int -> Bigstring.t -> int
  val really_output :
    Pervasives.out_channel -> ?pos:int -> ?len:int -> Bigstring.t -> unit
  val map_file : shared:bool -> Unix.file_descr -> int -> Bigstring.t
  val load_file : ?pos:int -> ?len:int -> string -> Bigstring.t
  val store_file :
    ?create:bool ->
    ?exclusive:bool ->
    ?append:bool ->
    ?perm:int -> string -> ?pos:int -> ?len:int -> Bigstring.t -> unit
  external unsafe_blit :
    src_pos:int ->
    src:Bigstring.t -> dst_pos:int -> dst:Bigstring.t -> len:int -> unit
    = "bigstring_blit_stub"
  external unsafe_blit_string_bigstring :
    src_pos:int -> string -> dst_pos:int -> Bigstring.t -> len:int -> unit
    = "bigstring_blit_string_bigstring_stub" "noalloc"
  external unsafe_blit_bigstring_string :
    src_pos:int -> Bigstring.t -> dst_pos:int -> string -> len:int -> unit
    = "bigstring_blit_bigstring_string_stub" "noalloc"
  external unsafe_read_assume_nonblocking :
    Unix.file_descr -> pos:int -> len:int -> Bigstring.t -> int
    = "bigstring_read_assume_nonblocking_stub"
  external unsafe_write :
    Unix.file_descr -> pos:int -> len:int -> Bigstring.t -> int
    = "bigstring_write_stub"
  external unsafe_write_assume_nonblocking :
    Unix.file_descr -> pos:int -> len:int -> Bigstring.t -> int
    = "bigstring_write_assume_nonblocking_stub"
  external unsafe_read :
    min_len:int ->
    Unix.file_descr -> pos:int -> len:int -> Bigstring.t -> int
    = "bigstring_read_stub"
  external unsafe_really_recv :
    Unix.file_descr -> pos:int -> len:int -> Bigstring.t -> unit
    = "bigstring_really_recv_stub"
  external unsafe_input :
    min_len:int ->
    Pervasives.in_channel -> pos:int -> len:int -> Bigstring.t -> int
    = "bigstring_input_stub"
  external unsafe_really_write :
    Unix.file_descr -> pos:int -> len:int -> Bigstring.t -> unit
    = "bigstring_really_write_stub"
  external unsafe_really_send_no_sigpipe :
    Unix.file_descr -> pos:int -> len:int -> Bigstring.t -> unit
    = "bigstring_really_send_no_sigpipe_stub"
  external unsafe_send_nonblocking_no_sigpipe :
    Unix.file_descr -> pos:int -> len:int -> Bigstring.t -> int option
    = "bigstring_send_nonblocking_no_sigpipe_stub"
  external unsafe_output :
    min_len:int ->
    Pervasives.out_channel -> pos:int -> len:int -> Bigstring.t -> int
    = "bigstring_output_stub"
  external unsafe_writev :
    Unix.file_descr -> Bigstring.t Unix_ext.IOVec.t array -> int -> int
    = "bigstring_writev_stub"
  external unsafe_sendmsg_nonblocking_no_sigpipe :
    Unix.file_descr -> Bigstring.t Unix_ext.IOVec.t array -> int -> int
    = "bigstring_sendmsg_nonblocking_no_sigpipe_stub"
  val sendmsg_nonblocking_no_sigpipe :
    Unix.file_descr ->
    ?count:int -> Bigstring.t Unix_ext.IOVec.t array -> int
end