`sig
type t
type open_flag = Dbm_rdonly | Dbm_wronly | Dbm_rdwr | Dbm_create
exception Dbm_error of string
val opendbm : string -> Dbm.open_flag list -> int -> Dbm.t
external close : Dbm.t -> unit = "caml_dbm_close"
external find : Dbm.t -> string -> string = "caml_dbm_fetch"
external add : Dbm.t -> string -> string -> unit = "caml_dbm_insert"
external replace : Dbm.t -> string -> string -> unit = "caml_dbm_replace"
external remove : Dbm.t -> string -> unit = "caml_dbm_delete"
external firstkey : Dbm.t -> string = "caml_dbm_firstkey"
external nextkey : Dbm.t -> string = "caml_dbm_nextkey"
val iter : (string -> string -> 'a) -> Dbm.t -> unit
end`