sig
  val is_native : bool
  val loadfile : string -> unit
  val loadfile_private : string -> unit
  val adapt_filename : string -> string
  val set_allowed_units : string list -> unit
  val allow_only : string list -> unit
  val prohibit : string list -> unit
  val main_program_units : unit -> string list
  val public_dynamically_loaded_units : unit -> string list
  val all_units : unit -> string list
  val allow_unsafe_modules : bool -> unit
  type linking_error = private
      Undefined_global of string
    | Unavailable_primitive of string
    | Uninitialized_global of string
  type error = private
      Not_a_bytecode_file of string
    | Inconsistent_import of string
    | Unavailable_unit of string
    | Unsafe_file
    | Linking_error of string * Dynlink.linking_error
    | Corrupted_interface of string
    | Cannot_open_dynamic_library of exn
    | Library's_module_initializers_failed of exn
    | Inconsistent_implementation of string
    | Module_already_loaded of string
    | Private_library_cannot_implement_interface of string
  exception Error of Dynlink.error
  val error_message : Dynlink.error -> string
  val unsafe_get_global_value :
    bytecode_or_asm_symbol:string -> Stdlib.Obj.t option
end