ldap_entry2text, ldap_entry2text_search, ldap_vals2text -
LDAP entry display routines
SYNOPSIS
#include <ldap.h>
#include <disptmpl.h>
int ldap_entry2text( ld, buf, entry, tmpl, defattrs, defvals, writeproc,
writeparm, eol, rdncount, opts )
LDAP *ld;
char *buf;
LDAPMessage *entry;
struct ldap_disptmpl *tmpl;
char **defattrs;
char ***defvals;
int (*writeproc)();
void *writeparm;
char *eol;
int rdncount;
unsigned long opts;
int ldap_entry2text_search( ld, entry, tmpllist, defattrs, defvals,
writeproc, writeparm, eol, rdncount, opts )
LDAP *ld;
char *dn;
char *base;
LDAPMessage *entry;
struct ldap_disptmpl *tmpllist;
char **defattrs;
char ***defvals;
int (*writeproc)();
void *writeparm;
char *eol;
int rdncount;
unsigned long opts;
int ldap_vals2text( ld, buf, vals, label, labelwidth, syntaxid, writeproc,
writeparm, eol, rdncount )
LDAP *ld;
char *buf;
char **vals;
char *label;
int labelwidth;
unsigned long syntaxid;
int (*writeproc)();
void *writeparm;
char *eol;
int rdncount;
int ldap_entry2html( ld, buf, entry, tmpl, defattrs, defvals, writeproc,
writeparm, eol, rdncount, opts )
LDAP *ld;
char *buf;
struct ldap_disptmpl *tmpl;
char **defattrs;
char ***defvals;
int (*writeproc)();
void *writeparm;
char *eol;
int rdncount;
unsigned long opts;
char *urlprefix;
char *base;
int ldap_entry2html_search( ld, entry, tmpllist, defattrs, defvals,
writeproc, writeparm, eol, rdncount, opts )
LDAP *ld;
char *dn;
LDAPMessage *entry;
struct ldap_disptmpl *tmpllist;
char **defattrs;
char ***defvals;
int (*writeproc)();
void *writeparm;
char *eol;
int rdncount;
unsigned long opts;
char *urlprefix;
int ldap_vals2html( ld, buf, vals, label, labelwidth, syntaxid, writeproc,
writeparm, eol, rdncount )
LDAP *ld;
char *buf;
char **vals;
char *label;
int labelwidth;
unsigned long syntaxid;
int (*writeproc)();
void *writeparm;
char *eol;
int rdncount;
char *urlprefix;
#define LDAP_DISP_OPT_AUTOLABELWIDTH 0x00000001
#define LDAP_DISP_OPT_HTMLBODYONLY 0x00000002
#define LDAP_DTMPL_BUFSIZ 2048
DESCRIPTION
These functions use the LDAP display template routines
(see ldap_disptmpl(3) and ldap_templates.conf(5)) to pro
duce a plain text or an HyperText Markup Language (HTML)
display of an entry or a set of values. Typical plain
text output produced for an entry might look like:
Also Known As:
Babs Jensen
Barbara Jensen
Barbara J Jensen
E-Mail Address:
bjensen@terminator.rs.itd.umich.edu
Work Address:
535 W. William
Ann Arbor, MI 48103
Title:
Mythical Manager, Research Systems
...
The exact output produced will depend on the display tem
plate configuration. HTML output is similar to the plain
text output, but more richly formatted.
ldap_entry2text() produces a text representation of entry
and writes the text by calling the writeproc function.
All of the attributes values to be displayed must be pre
sent in entry; no interaction with the LDAP server will be
performed within ldap_entry2text. ld is the LDAP pointer
obtained by a previous call to ldap_open. writeproc
should be declared as:
int writeproc( writeparm, p, len )
void *writeparm;
char *p;
int len;
where p is a pointer to text to be written and len is the
length of the text. p is guaranteed to be zero-termi
nated. Lines of text are terminated with the string eol.
buf is a pointer to a buffer of size LDAP_DTMPL_BUFSIZ or
larger. If buf is NULL then a buffer is allocated and
freed internally. tmpl is a pointer to the display tem
plate to be used (usually obtained by calling ldap_oc2tem
plate). If tmpl is NULL, no template is used and a
generic display is produced. defattrs is a NULL-termi
nated array of LDAP attribute names which you wish to pro
vide default values for (only used if entry contains no
values for the attribute). An array of NULL-terminated
arrays of default values corresponding to the attributes
should be passed in defvals. The rdncount parameter is
used to limit the number of Distinguished Name (DN) compo
nents that are actually displayed for DN attributes. If
rdncount is zero, all components are shown. opts is used
to specify output options. The only values currently
allowed are zero (default output), LDAP_DISP_OPT_AUTOLA
BELWIDTH which causes the width for labels to be deter
mined based on the longest label in tmpl, and
LDAP_DISP_OPT_HTMLBODYONLY. The LDAP_DISP_OPT_HTMLBODY
ONLY option instructs the library not to include <HTML>,
<HEAD>, <TITLE>, and <BODY> tags. In other words, an HTML
prepending and appending the appropriate HTML tags to con
struct a correct HTML document.
ldap_entry2text_search() is similar to ldap_entry2text,
and all of the like-named parameters have the same meaning
except as noted below. If base is not NULL, it is the
search base to use when executing search actions. If it
is NULL, search action template items are ignored. If
entry is not NULL, it should contain the objectClass
attribute values for the entry to be displayed. If entry
is NULL, dn must not be NULL, and ldap_entry2text_search
will retrieve the objectClass values itself by calling
ldap_search_s. ldap_entry2text_search will determine the
appropriate display template to use by calling
ldap_oc2template, and will call ldap_search_s to retrieve
any attribute values to be displayed. The tmpllist param
eter is a pointer to the entire list of templates avail
able (usually obtained by calling ldap_init_templates or
ldap_init_templates_buf). If tmpllist is NULL,
ldap_entry2text_search will attempt to read a load tem
plates from the default template configuration file
/etc/openldap/ldaptemplates.conf.
ldap_vals2text produces a text representation of a single
set of LDAP attribute values. The ld, buf, writeproc,
writeparm, eol, and rdncount parameters are the same as
the like-named parameters for ldap_entry2text. vals is a
NULL-terminated list of values, usually obtained by a call
to ldap_get_values. label is a string shown next to the
values (usually a friendly form of an LDAP attribute
name). labelwidth specifies the label margin, which is
the number of blank spaces displayed to the left of the
values. If zero is passed, a default label width is used.
syntaxid is a display template attribute syntax identifier
(see ldap_disptmpl(3) for a list of the pre-defined
LDAP_SYN_... values).
ldap_entry2html produces an HTML representation of entry.
It behaves exactly like ldap_entry2text(3), except for the
formatted output and the addition of two parameters. url
prefix is the starting text to use when constructing an
LDAP URL. The default is the string ldap:/// The second
additional parameter, base, the search base to use when
executing search actions. If it is NULL, search action
template items are ignored.
ldap_entry2html_search behaves exactly like
ldap_entry2text_search(3), except HTML output is produced
and one additional parameter is required. urlprefix is
the starting text to use when constructing an LDAP URL.
The default is the string ldap:///
ldap_vals2html behaves exactly like ldap_vals2text, except
required. urlprefix is the starting text to use when con
structing an LDAP URL. The default is the string ldap:///
ERRORS
These routines all return an LDAP error code (LDAP_SUCCESS
is returned if no error occurs). See ldap_error(3) for
details. The ld_errno field of the ld parameter is also
set to indicate the error.
FILES
/etc/openldap/ldaptemplates.conf
SEE ALSO
ldap(3), ldap_disptmpl(3), ldaptemplates.conf(5)
ACKNOWLEDGEMENTS
OpenLDAP is developed and maintained by The OpenLDAP Pro
ject (http://www.openldap.org/). OpenLDAP is derived from
University of Michigan LDAP 3.3 Release.
Man(1) output converted with
man2html