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 options), 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 SETFable 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:treeLDAP: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 |