sig
  external unsafe_all_pread :
    Unix.file_descr -> int -> ('a, 'b) ExtUnixAll.carray -> int
    = "caml_extunixba_all_pread"
  val all_pread : Unix.file_descr -> int -> ('a, 'b) ExtUnixAll.carray -> int
  external unsafe_single_pread :
    Unix.file_descr -> int -> ('a, 'b) ExtUnixAll.carray -> int
    = "caml_extunixba_single_pread"
  val single_pread :
    Unix.file_descr -> int -> ('a, 'b) ExtUnixAll.carray -> int
  external unsafe_pread :
    Unix.file_descr -> int -> ('a, 'b) ExtUnixAll.carray -> int
    = "caml_extunixba_pread"
  val pread : Unix.file_descr -> int -> ('a, 'b) ExtUnixAll.carray -> int
  external unsafe_intr_pread :
    Unix.file_descr -> int -> ('a, 'b) ExtUnixAll.carray -> int
    = "caml_extunixba_intr_pread"
  val intr_pread :
    Unix.file_descr -> int -> ('a, 'b) ExtUnixAll.carray -> int
  external unsafe_all_pwrite :
    Unix.file_descr -> int -> ('a, 'b) ExtUnixAll.carray -> int
    = "caml_extunixba_all_pwrite"
  val all_pwrite :
    Unix.file_descr -> int -> ('a, 'b) ExtUnixAll.carray -> int
  external unsafe_single_pwrite :
    Unix.file_descr -> int -> ('a, 'b) ExtUnixAll.carray -> int
    = "caml_extunixba_single_pwrite"
  val single_pwrite :
    Unix.file_descr -> int -> ('a, 'b) ExtUnixAll.carray -> int
  external unsafe_pwrite :
    Unix.file_descr -> int -> ('a, 'b) ExtUnixAll.carray -> int
    = "caml_extunixba_pwrite"
  val pwrite : Unix.file_descr -> int -> ('a, 'b) ExtUnixAll.carray -> int
  external unsafe_intr_pwrite :
    Unix.file_descr -> int -> ('a, 'b) ExtUnixAll.carray -> int
    = "caml_extunixba_intr_pwrite"
  val intr_pwrite :
    Unix.file_descr -> int -> ('a, 'b) ExtUnixAll.carray -> int
  external all_read : Unix.file_descr -> ('a, 'b) ExtUnixAll.carray -> int
    = "caml_extunixba_all_read"
  external single_read : Unix.file_descr -> ('a, 'b) ExtUnixAll.carray -> int
    = "caml_extunixba_single_read"
  external read : Unix.file_descr -> ('a, 'b) ExtUnixAll.carray -> int
    = "caml_extunixba_read"
  external intr_read : Unix.file_descr -> ('a, 'b) ExtUnixAll.carray -> int
    = "caml_extunixba_intr_read"
  external all_write : Unix.file_descr -> ('a, 'b) ExtUnixAll.carray -> int
    = "caml_extunixba_all_write"
  external single_write :
    Unix.file_descr -> ('a, 'b) ExtUnixAll.carray -> int
    = "caml_extunixba_single_write"
  external write : Unix.file_descr -> ('a, 'b) ExtUnixAll.carray -> int
    = "caml_extunixba_write"
  external intr_write : Unix.file_descr -> ('a, 'b) ExtUnixAll.carray -> int
    = "caml_extunixba_intr_write"
  module BigEndian :
    sig
      external unsafe_get_uint8 : 'ExtUnixAll.carray8 -> int -> int
        = "caml_extunixba_get_u8" [@@noalloc]
      external unsafe_get_int8 : 'ExtUnixAll.carray8 -> int -> int
        = "caml_extunixba_get_s8" [@@noalloc]
      external unsafe_get_uint16 : 'ExtUnixAll.carray8 -> int -> int
        = "caml_extunixba_get_bu16" [@@noalloc]
      external unsafe_get_int16 : 'ExtUnixAll.carray8 -> int -> int
        = "caml_extunixba_get_bs16" [@@noalloc]
      external unsafe_get_uint31 : 'ExtUnixAll.carray8 -> int -> int
        = "caml_extunixba_get_bu31" [@@noalloc]
      external unsafe_get_int31 : 'ExtUnixAll.carray8 -> int -> int
        = "caml_extunixba_get_bs31" [@@noalloc]
      external unsafe_get_int32 : 'ExtUnixAll.carray8 -> int -> int32
        = "caml_extunixba_get_bs32"
      external unsafe_get_uint63 : 'ExtUnixAll.carray8 -> int -> int
        = "caml_extunixba_get_bu63" [@@noalloc]
      external unsafe_get_int63 : 'ExtUnixAll.carray8 -> int -> int
        = "caml_extunixba_get_bs63" [@@noalloc]
      external unsafe_get_int64 : 'ExtUnixAll.carray8 -> int -> int64
        = "caml_extunixba_get_bs64"
      val get_uint8 : 'ExtUnixAll.carray8 -> int -> int
      val get_int8 : 'ExtUnixAll.carray8 -> int -> int
      val get_uint16 : 'ExtUnixAll.carray8 -> int -> int
      val get_int16 : 'ExtUnixAll.carray8 -> int -> int
      val get_uint31 : 'ExtUnixAll.carray8 -> int -> int
      val get_int31 : 'ExtUnixAll.carray8 -> int -> int
      val get_int32 : 'ExtUnixAll.carray8 -> int -> int32
      val get_uint63 : 'ExtUnixAll.carray8 -> int -> int
      val get_int63 : 'ExtUnixAll.carray8 -> int -> int
      val get_int64 : 'ExtUnixAll.carray8 -> int -> int64
      external unsafe_set_uint8 : 'ExtUnixAll.carray8 -> int -> int -> unit
        = "caml_extunixba_set_8" [@@noalloc]
      external unsafe_set_int8 : 'ExtUnixAll.carray8 -> int -> int -> unit
        = "caml_extunixba_set_8" [@@noalloc]
      external unsafe_set_uint16 :
        'ExtUnixAll.carray8 -> int -> int -> unit
        = "caml_extunixba_set_b16" [@@noalloc]
      external unsafe_set_int16 : 'ExtUnixAll.carray8 -> int -> int -> unit
        = "caml_extunixba_set_b16" [@@noalloc]
      external unsafe_set_uint31 :
        'ExtUnixAll.carray8 -> int -> int -> unit
        = "caml_extunixba_set_b31" [@@noalloc]
      external unsafe_set_int31 : 'ExtUnixAll.carray8 -> int -> int -> unit
        = "caml_extunixba_set_b31" [@@noalloc]
      external unsafe_set_int32 :
        'ExtUnixAll.carray8 -> int -> int32 -> unit
        = "caml_extunixba_set_b32" [@@noalloc]
      external unsafe_set_uint63 :
        'ExtUnixAll.carray8 -> int -> int -> unit
        = "caml_extunixba_set_b63" [@@noalloc]
      external unsafe_set_int63 : 'ExtUnixAll.carray8 -> int -> int -> unit
        = "caml_extunixba_set_b63" [@@noalloc]
      external unsafe_set_int64 :
        'ExtUnixAll.carray8 -> int -> int64 -> unit
        = "caml_extunixba_set_b64" [@@noalloc]
      val set_uint8 : 'ExtUnixAll.carray8 -> int -> int -> unit
      val set_int8 : 'ExtUnixAll.carray8 -> int -> int -> unit
      val set_uint16 : 'ExtUnixAll.carray8 -> int -> int -> unit
      val set_int16 : 'ExtUnixAll.carray8 -> int -> int -> unit
      val set_uint31 : 'ExtUnixAll.carray8 -> int -> int -> unit
      val set_int31 : 'ExtUnixAll.carray8 -> int -> int -> unit
      val set_int32 : 'ExtUnixAll.carray8 -> int -> int32 -> unit
      val set_uint63 : 'ExtUnixAll.carray8 -> int -> int -> unit
      val set_int63 : 'ExtUnixAll.carray8 -> int -> int -> unit
      val set_int64 : 'ExtUnixAll.carray8 -> int -> int64 -> unit
    end
  module LittleEndian :
    sig
      external unsafe_get_uint8 : 'ExtUnixAll.carray8 -> int -> int
        = "caml_extunixba_get_u8" [@@noalloc]
      external unsafe_get_int8 : 'ExtUnixAll.carray8 -> int -> int
        = "caml_extunixba_get_s8" [@@noalloc]
      external unsafe_get_uint16 : 'ExtUnixAll.carray8 -> int -> int
        = "caml_extunixba_get_lu16" [@@noalloc]
      external unsafe_get_int16 : 'ExtUnixAll.carray8 -> int -> int
        = "caml_extunixba_get_ls16" [@@noalloc]
      external unsafe_get_uint31 : 'ExtUnixAll.carray8 -> int -> int
        = "caml_extunixba_get_lu31" [@@noalloc]
      external unsafe_get_int31 : 'ExtUnixAll.carray8 -> int -> int
        = "caml_extunixba_get_ls31" [@@noalloc]
      external unsafe_get_int32 : 'ExtUnixAll.carray8 -> int -> int32
        = "caml_extunixba_get_ls32"
      external unsafe_get_uint63 : 'ExtUnixAll.carray8 -> int -> int
        = "caml_extunixba_get_lu63" [@@noalloc]
      external unsafe_get_int63 : 'ExtUnixAll.carray8 -> int -> int
        = "caml_extunixba_get_ls63" [@@noalloc]
      external unsafe_get_int64 : 'ExtUnixAll.carray8 -> int -> int64
        = "caml_extunixba_get_ls64"
      val get_uint8 : 'ExtUnixAll.carray8 -> int -> int
      val get_int8 : 'ExtUnixAll.carray8 -> int -> int
      val get_uint16 : 'ExtUnixAll.carray8 -> int -> int
      val get_int16 : 'ExtUnixAll.carray8 -> int -> int
      val get_uint31 : 'ExtUnixAll.carray8 -> int -> int
      val get_int31 : 'ExtUnixAll.carray8 -> int -> int
      val get_int32 : 'ExtUnixAll.carray8 -> int -> int32
      val get_uint63 : 'ExtUnixAll.carray8 -> int -> int
      val get_int63 : 'ExtUnixAll.carray8 -> int -> int
      val get_int64 : 'ExtUnixAll.carray8 -> int -> int64
      external unsafe_set_uint8 : 'ExtUnixAll.carray8 -> int -> int -> unit
        = "caml_extunixba_set_8" [@@noalloc]
      external unsafe_set_int8 : 'ExtUnixAll.carray8 -> int -> int -> unit
        = "caml_extunixba_set_8" [@@noalloc]
      external unsafe_set_uint16 :
        'ExtUnixAll.carray8 -> int -> int -> unit
        = "caml_extunixba_set_l16" [@@noalloc]
      external unsafe_set_int16 : 'ExtUnixAll.carray8 -> int -> int -> unit
        = "caml_extunixba_set_l16" [@@noalloc]
      external unsafe_set_uint31 :
        'ExtUnixAll.carray8 -> int -> int -> unit
        = "caml_extunixba_set_l31" [@@noalloc]
      external unsafe_set_int31 : 'ExtUnixAll.carray8 -> int -> int -> unit
        = "caml_extunixba_set_l31" [@@noalloc]
      external unsafe_set_int32 :
        'ExtUnixAll.carray8 -> int -> int32 -> unit
        = "caml_extunixba_set_l32" [@@noalloc]
      external unsafe_set_uint63 :
        'ExtUnixAll.carray8 -> int -> int -> unit
        = "caml_extunixba_set_l63" [@@noalloc]
      external unsafe_set_int63 : 'ExtUnixAll.carray8 -> int -> int -> unit
        = "caml_extunixba_set_l63" [@@noalloc]
      external unsafe_set_int64 :
        'ExtUnixAll.carray8 -> int -> int64 -> unit
        = "caml_extunixba_set_l64" [@@noalloc]
      val set_uint8 : 'ExtUnixAll.carray8 -> int -> int -> unit
      val set_int8 : 'ExtUnixAll.carray8 -> int -> int -> unit
      val set_uint16 : 'ExtUnixAll.carray8 -> int -> int -> unit
      val set_int16 : 'ExtUnixAll.carray8 -> int -> int -> unit
      val set_uint31 : 'ExtUnixAll.carray8 -> int -> int -> unit
      val set_int31 : 'ExtUnixAll.carray8 -> int -> int -> unit
      val set_int32 : 'ExtUnixAll.carray8 -> int -> int32 -> unit
      val set_uint63 : 'ExtUnixAll.carray8 -> int -> int -> unit
      val set_int63 : 'ExtUnixAll.carray8 -> int -> int -> unit
      val set_int64 : 'ExtUnixAll.carray8 -> int -> int64 -> unit
    end
  module HostEndian :
    sig
      external unsafe_get_uint8 : 'ExtUnixAll.carray8 -> int -> int
        = "caml_extunixba_get_u8" [@@noalloc]
      external unsafe_get_int8 : 'ExtUnixAll.carray8 -> int -> int
        = "caml_extunixba_get_s8" [@@noalloc]
      external unsafe_get_uint16 : 'ExtUnixAll.carray8 -> int -> int
        = "caml_extunixba_get_hu16" [@@noalloc]
      external unsafe_get_int16 : 'ExtUnixAll.carray8 -> int -> int
        = "caml_extunixba_get_hs16" [@@noalloc]
      external unsafe_get_uint31 : 'ExtUnixAll.carray8 -> int -> int
        = "caml_extunixba_get_hu31" [@@noalloc]
      external unsafe_get_int31 : 'ExtUnixAll.carray8 -> int -> int
        = "caml_extunixba_get_hs31" [@@noalloc]
      external unsafe_get_int32 : 'ExtUnixAll.carray8 -> int -> int32
        = "caml_extunixba_get_hs32"
      external unsafe_get_uint63 : 'ExtUnixAll.carray8 -> int -> int
        = "caml_extunixba_get_hu63" [@@noalloc]
      external unsafe_get_int63 : 'ExtUnixAll.carray8 -> int -> int
        = "caml_extunixba_get_hs63" [@@noalloc]
      external unsafe_get_int64 : 'ExtUnixAll.carray8 -> int -> int64
        = "caml_extunixba_get_hs64"
      val get_uint8 : 'ExtUnixAll.carray8 -> int -> int
      val get_int8 : 'ExtUnixAll.carray8 -> int -> int
      val get_uint16 : 'ExtUnixAll.carray8 -> int -> int
      val get_int16 : 'ExtUnixAll.carray8 -> int -> int
      val get_uint31 : 'ExtUnixAll.carray8 -> int -> int
      val get_int31 : 'ExtUnixAll.carray8 -> int -> int
      val get_int32 : 'ExtUnixAll.carray8 -> int -> int32
      val get_uint63 : 'ExtUnixAll.carray8 -> int -> int
      val get_int63 : 'ExtUnixAll.carray8 -> int -> int
      val get_int64 : 'ExtUnixAll.carray8 -> int -> int64
      external unsafe_set_uint8 : 'ExtUnixAll.carray8 -> int -> int -> unit
        = "caml_extunixba_set_8" [@@noalloc]
      external unsafe_set_int8 : 'ExtUnixAll.carray8 -> int -> int -> unit
        = "caml_extunixba_set_8" [@@noalloc]
      external unsafe_set_uint16 :
        'ExtUnixAll.carray8 -> int -> int -> unit
        = "caml_extunixba_set_h16" [@@noalloc]
      external unsafe_set_int16 : 'ExtUnixAll.carray8 -> int -> int -> unit
        = "caml_extunixba_set_h16" [@@noalloc]
      external unsafe_set_uint31 :
        'ExtUnixAll.carray8 -> int -> int -> unit
        = "caml_extunixba_set_h31" [@@noalloc]
      external unsafe_set_int31 : 'ExtUnixAll.carray8 -> int -> int -> unit
        = "caml_extunixba_set_h31" [@@noalloc]
      external unsafe_set_int32 :
        'ExtUnixAll.carray8 -> int -> int32 -> unit
        = "caml_extunixba_set_h32" [@@noalloc]
      external unsafe_set_uint63 :
        'ExtUnixAll.carray8 -> int -> int -> unit
        = "caml_extunixba_set_h63" [@@noalloc]
      external unsafe_set_int63 : 'ExtUnixAll.carray8 -> int -> int -> unit
        = "caml_extunixba_set_h63" [@@noalloc]
      external unsafe_set_int64 :
        'ExtUnixAll.carray8 -> int -> int64 -> unit
        = "caml_extunixba_set_h64" [@@noalloc]
      val set_uint8 : 'ExtUnixAll.carray8 -> int -> int -> unit
      val set_int8 : 'ExtUnixAll.carray8 -> int -> int -> unit
      val set_uint16 : 'ExtUnixAll.carray8 -> int -> int -> unit
      val set_int16 : 'ExtUnixAll.carray8 -> int -> int -> unit
      val set_uint31 : 'ExtUnixAll.carray8 -> int -> int -> unit
      val set_int31 : 'ExtUnixAll.carray8 -> int -> int -> unit
      val set_int32 : 'ExtUnixAll.carray8 -> int -> int32 -> unit
      val set_uint63 : 'ExtUnixAll.carray8 -> int -> int -> unit
      val set_int63 : 'ExtUnixAll.carray8 -> int -> int -> unit
      val set_int64 : 'ExtUnixAll.carray8 -> int -> int64 -> unit
    end
  external unsafe_get_substr : 'ExtUnixAll.carray8 -> int -> int -> string
    = "caml_extunixba_get_substr"
  val get_substr : 'ExtUnixAll.carray8 -> int -> int -> string
  external unsafe_set_substr : 'ExtUnixAll.carray8 -> int -> string -> unit
    = "caml_extunixba_set_substr"
  val set_substr : 'ExtUnixAll.carray8 -> int -> string -> unit
  type 'a iov = {
    iov_buf : 'ExtUnixAll.carray8;
    iov_off : int;
    iov_len : int;
  }
  external vmsplice :
    Unix.file_descr ->
    'ExtUnixAll.BA.iov array -> ExtUnixAll.splice_flag list -> int
    = "caml_extunixba_vmsplice"
end