`sig
type oid = Netoid.t
type dn = (Netdn.oid * Netasn1.Value.value) list list
module type AT_LOOKUP =
sig
val attribute_types : (Netdn.oid * string * string list) list
val lookup_attribute_type_by_oid : Netdn.oid -> string * string list
val lookup_attribute_type_by_name :
string -> Netdn.oid * string * string list
end
module type DN_string =
sig val parse : string -> Netdn.dn val print : Netdn.dn -> string end
module DN_string_generic : functor (L : AT_LOOKUP) -> DN_string
val directory_string_from_ASN1 : Netasn1.Value.value -> string
end`