sig
module Oid :
sig
type t
val of_string : string -> Ldap_schema.Oid.t
val to_string : Ldap_schema.Oid.t -> string
val compare : Ldap_schema.Oid.t -> Ldap_schema.Oid.t -> int
end
module Oidset :
sig
type elt = Ldap_schema.Oid.t
type t = Set.Make(Oid).t
val empty : Ldap_schema.Oidset.t
val is_empty : Ldap_schema.Oidset.t -> bool
val mem : Ldap_schema.Oidset.elt -> Ldap_schema.Oidset.t -> bool
val add :
Ldap_schema.Oidset.elt ->
Ldap_schema.Oidset.t -> Ldap_schema.Oidset.t
val singleton : Ldap_schema.Oidset.elt -> Ldap_schema.Oidset.t
val remove :
Ldap_schema.Oidset.elt ->
Ldap_schema.Oidset.t -> Ldap_schema.Oidset.t
val union :
Ldap_schema.Oidset.t -> Ldap_schema.Oidset.t -> Ldap_schema.Oidset.t
val inter :
Ldap_schema.Oidset.t -> Ldap_schema.Oidset.t -> Ldap_schema.Oidset.t
val diff :
Ldap_schema.Oidset.t -> Ldap_schema.Oidset.t -> Ldap_schema.Oidset.t
val compare : Ldap_schema.Oidset.t -> Ldap_schema.Oidset.t -> int
val equal : Ldap_schema.Oidset.t -> Ldap_schema.Oidset.t -> bool
val subset : Ldap_schema.Oidset.t -> Ldap_schema.Oidset.t -> bool
val iter :
(Ldap_schema.Oidset.elt -> unit) -> Ldap_schema.Oidset.t -> unit
val fold :
(Ldap_schema.Oidset.elt -> 'a -> 'a) ->
Ldap_schema.Oidset.t -> 'a -> 'a
val for_all :
(Ldap_schema.Oidset.elt -> bool) -> Ldap_schema.Oidset.t -> bool
val exists :
(Ldap_schema.Oidset.elt -> bool) -> Ldap_schema.Oidset.t -> bool
val filter :
(Ldap_schema.Oidset.elt -> bool) ->
Ldap_schema.Oidset.t -> Ldap_schema.Oidset.t
val partition :
(Ldap_schema.Oidset.elt -> bool) ->
Ldap_schema.Oidset.t -> Ldap_schema.Oidset.t * Ldap_schema.Oidset.t
val cardinal : Ldap_schema.Oidset.t -> int
val elements : Ldap_schema.Oidset.t -> Ldap_schema.Oidset.elt list
val min_elt : Ldap_schema.Oidset.t -> Ldap_schema.Oidset.elt
val max_elt : Ldap_schema.Oidset.t -> Ldap_schema.Oidset.elt
val choose : Ldap_schema.Oidset.t -> Ldap_schema.Oidset.elt
val split :
Ldap_schema.Oidset.elt ->
Ldap_schema.Oidset.t ->
Ldap_schema.Oidset.t * bool * Ldap_schema.Oidset.t
end
module Oidmap :
sig
type key = Ldap_schema.Oid.t
type 'a t = 'a Map.Make(Oid).t
val empty : 'a Ldap_schema.Oidmap.t
val is_empty : 'a Ldap_schema.Oidmap.t -> bool
val add :
Ldap_schema.Oidmap.key ->
'a -> 'a Ldap_schema.Oidmap.t -> 'a Ldap_schema.Oidmap.t
val find : Ldap_schema.Oidmap.key -> 'a Ldap_schema.Oidmap.t -> 'a
val remove :
Ldap_schema.Oidmap.key ->
'a Ldap_schema.Oidmap.t -> 'a Ldap_schema.Oidmap.t
val mem : Ldap_schema.Oidmap.key -> 'a Ldap_schema.Oidmap.t -> bool
val iter :
(Ldap_schema.Oidmap.key -> 'a -> unit) ->
'a Ldap_schema.Oidmap.t -> unit
val map :
('a -> 'b) -> 'a Ldap_schema.Oidmap.t -> 'b Ldap_schema.Oidmap.t
val mapi :
(Ldap_schema.Oidmap.key -> 'a -> 'b) ->
'a Ldap_schema.Oidmap.t -> 'b Ldap_schema.Oidmap.t
val fold :
(Ldap_schema.Oidmap.key -> 'a -> 'b -> 'b) ->
'a Ldap_schema.Oidmap.t -> 'b -> 'b
val compare :
('a -> 'a -> int) ->
'a Ldap_schema.Oidmap.t -> 'a Ldap_schema.Oidmap.t -> int
val equal :
('a -> 'a -> bool) ->
'a Ldap_schema.Oidmap.t -> 'a Ldap_schema.Oidmap.t -> bool
end
val format_oid : Ldap_schema.Oid.t -> unit
val format_oidset : Ldap_schema.Oidset.t -> unit
module Lcstring :
sig
type t
val of_string : string -> Ldap_schema.Lcstring.t
val to_string : Ldap_schema.Lcstring.t -> string
val compare : Ldap_schema.Lcstring.t -> Ldap_schema.Lcstring.t -> int
end
module Lcmap :
sig
type key = Ldap_schema.Lcstring.t
type 'a t = 'a Map.Make(Lcstring).t
val empty : 'a Ldap_schema.Lcmap.t
val is_empty : 'a Ldap_schema.Lcmap.t -> bool
val add :
Ldap_schema.Lcmap.key ->
'a -> 'a Ldap_schema.Lcmap.t -> 'a Ldap_schema.Lcmap.t
val find : Ldap_schema.Lcmap.key -> 'a Ldap_schema.Lcmap.t -> 'a
val remove :
Ldap_schema.Lcmap.key ->
'a Ldap_schema.Lcmap.t -> 'a Ldap_schema.Lcmap.t
val mem : Ldap_schema.Lcmap.key -> 'a Ldap_schema.Lcmap.t -> bool
val iter :
(Ldap_schema.Lcmap.key -> 'a -> unit) ->
'a Ldap_schema.Lcmap.t -> unit
val map :
('a -> 'b) -> 'a Ldap_schema.Lcmap.t -> 'b Ldap_schema.Lcmap.t
val mapi :
(Ldap_schema.Lcmap.key -> 'a -> 'b) ->
'a Ldap_schema.Lcmap.t -> 'b Ldap_schema.Lcmap.t
val fold :
(Ldap_schema.Lcmap.key -> 'a -> 'b -> 'b) ->
'a Ldap_schema.Lcmap.t -> 'b -> 'b
val compare :
('a -> 'a -> int) ->
'a Ldap_schema.Lcmap.t -> 'a Ldap_schema.Lcmap.t -> int
val equal :
('a -> 'a -> bool) ->
'a Ldap_schema.Lcmap.t -> 'a Ldap_schema.Lcmap.t -> bool
end
val format_lcstring : Ldap_schema.Lcstring.t -> unit
type octype = Abstract | Structural | Auxiliary
type objectclass = {
oc_name : string list;
oc_oid : Ldap_schema.Oid.t;
oc_desc : string;
oc_obsolete : bool;
oc_sup : string list;
oc_must : string list;
oc_may : string list;
oc_type : Ldap_schema.octype;
oc_xattr : string list;
}
type attribute = {
at_name : string list;
at_desc : string;
at_oid : Ldap_schema.Oid.t;
at_equality : Ldap_schema.Oid.t option;
at_ordering : Ldap_schema.Oid.t option;
at_substr : Ldap_schema.Oid.t option;
at_syntax : Ldap_schema.Oid.t;
at_length : Int64.t;
at_obsolete : bool;
at_single_value : bool;
at_collective : bool;
at_no_user_modification : bool;
at_usage : string;
at_sup : string list;
at_xattr : string list;
}
type schema = {
objectclasses : Ldap_schema.objectclass Ldap_schema.Lcmap.t;
objectclasses_byoid : Ldap_schema.objectclass Ldap_schema.Oidmap.t;
attributes : Ldap_schema.attribute Ldap_schema.Lcmap.t;
attributes_byoid : Ldap_schema.attribute Ldap_schema.Oidmap.t;
}
val schema_print_depth : int Pervasives.ref
val format_schema : Ldap_schema.schema -> unit
exception Parse_error_oc of Lexing.lexbuf * Ldap_schema.objectclass *
string
exception Parse_error_at of Lexing.lexbuf * Ldap_schema.attribute * string
exception Syntax_error_oc of Lexing.lexbuf * Ldap_schema.objectclass *
string
exception Syntax_error_at of Lexing.lexbuf * Ldap_schema.attribute * string
exception Invalid_objectclass of string
exception Non_unique_objectclass_alias of string
exception Invalid_attribute of string
exception Non_unique_attribute_alias of string
val readSchema : string list -> string list -> Ldap_schema.schema
val attrNameToOid : Ldap_schema.schema -> string -> Ldap_schema.Oid.t
val oidToAttr :
Ldap_schema.schema -> Ldap_schema.Oid.t -> Ldap_schema.attribute
val oidToAttrName : Ldap_schema.schema -> Ldap_schema.Oid.t -> string
val attrNameToAttr : Ldap_schema.schema -> string -> Ldap_schema.attribute
val ocNameToOc : Ldap_schema.schema -> string -> Ldap_schema.objectclass
val ocNameToOid : Ldap_schema.schema -> string -> Ldap_schema.Oid.t
val oidToOc :
Ldap_schema.schema -> Ldap_schema.Oid.t -> Ldap_schema.objectclass
val oidToOcName : Ldap_schema.schema -> Ldap_schema.Oid.t -> string
val compareAttrs : Ldap_schema.schema -> string -> string -> int
val compareOcs : Ldap_schema.schema -> string -> string -> int
val lookupMatchingRule :
Ldap_schema.schema ->
[< `Equality | `Ordering | `Substring ] ->
Ldap_schema.attribute -> Ldap_schema.Oid.t option
end