sig
  type library
  exception DL_error of string
  type flag =
      RTLD_LAZY
    | RTLD_NOW
    | RTLD_GLOBAL
    | RTLD_LOCAL
    | RTLD_NODELETE
    | RTLD_NOLOAD
    | RTLD_DEEPBIND
  val dlopen : ?filename:string -> flags:Dl.flag list -> Dl.library
  val dlclose : handle:Dl.library -> unit
  val dlsym : ?handle:Dl.library -> symbol:string -> nativeint
end