This module provides some directory access from lisp, in package “LDAP”.
When this module is present, *FEATURES*
contains the symbol :DIRKEY
.
3 types of directory keys may exist, depending on the compilation environment.
valid directory key types
The following functions and macros are exported (please note that these features are experimental and the API may be modified in the future).
(LDAP:DIR-KEY-OPEN
dkey
pathname
&KEY
(:DIRECTION
:INPUT
)
:IF-DOES-NOT-EXIST
)
dkey
, which should
be either an open directory key or a valid directory key type.
The meaning of the :DIRECTION
and :IF-DOES-NOT-EXIST
keyword
arguments is the same as for OPEN
.(LDAP:DIR-KEY-CLOSE
dkey
)
LDAP:WITH-DIR-KEY-OPEN
macro.(LDAP:WITH-DIR-KEY-OPEN
(variable
dkey
pathname
&REST
{option
}*) &BODY
body
)
LDAP:DIR-KEY-OPEN
on dkey
, pathname
and option
s), bind it to variable
,
execute body
, then close it with LDAP:DIR-KEY-CLOSE
.
(LDAP:DIR-KEY-TYPE
dkey
)
(LDAP:DIR-KEY-PATH
dkey
)
pathname
argument of LDAP:DIR-KEY-OPEN
if dkey
was a directory key type or the
concatenation of the pathname
argument and the
ldap:dir-key-path
of dkey
.
(LDAP:DIR-KEY-DIRECTION
dkey
)
:INPUT
, :OUTPUT
and :IO
, indicating
the permitted operation on this key and its derivatives.
(LDAP:DIR-KEY-CLOSED-P
dkey
)
(LDAP:DIR-KEY-SUBKEY-DELETE
dkey
subkey
)
(LDAP:DIR-KEY-VALUE-DELETE
dkey
attribute
)
(LDAP:DIR-KEY-SUBKEY
dkey
)
(LDAP:DIR-KEY-ATTRIBUTES
dkey
)
(LDAP:DIR-KEY-VALUE
dkey
attribute
&OPTIONAL
default
)
GETHASH
and SETF
able just like GETHASH
.
(LDAP:DIR-KEY-INFO
dkey
)
(LDAP:WITH-DIR-KEY-SEARCH
(key-iter
atribute-iter
dkey
pathname
&KEY
:scope
)
&BODY
body
)
This is the main way to iterate over the subtree
under the key dkey
+pathname
.
key-iter
is a non-NIL
symbol
and is bound via MACROLET
to a macro, each call of which returns
the next subkey.
atribute-iter
is a symbol and is
bound, when non-NIL
, to a macro, each call of which returns two
values - the next attribute and its value.
The :scope
keyword argument specifies the
scope of the search and can be
:self
:level
:tree
LDAP:WITH-DIR-KEY-SEARCH
is used to implement
LDAP:DIR-KEY-VALUES
,
LDAP:DIR-KEY-CHILDREN
and
LDAP:DIR-KEY-DUMP-TREE
in
modules/dirkey/dirkey1.lisp
.
These notes document CLISP version 2.49.93+ | Last modified: 2018-02-19 |