ABCDEFGHIJKLMNOPQRSTUVWXYZ

ldap_entry2html

LDAP_ENTRY2TEXT(3)                                          LDAP_ENTRY2TEXT(3)



NAME
       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;
            LDAPMessage         *entry;
            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 produce 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:

           "Barbara J Jensen, Information Technology Division"
            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 template  configu-
       ration.   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 present 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-terminated.  Lines of text are termi-
       nated  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 template to be
       used (usually obtained by calling ldap_oc2template).  If tmpl is  NULL,
       no  template  is used and a generic display is produced.  defattrs is a
       NULL-terminated array of LDAP attribute names which you wish to provide
       default  values  for  (only  used  if  entry contains no values for the
       attribute).  An array of NULL-terminated arrays of default values  cor-
       responding  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_AUTOLABELWIDTH which causes the width for  labels  to  be
       determined  based on the longest label in tmpl, and LDAP_DISP_OPT_HTML-
       BODYONLY.  The LDAP_DISP_OPT_HTMLBODYONLY option instructs the  library
       not  to  include  <HTML>,  <HEAD>,  <TITLE>, and <BODY> tags.  In other
       words, an HTML fragment is generated, and the caller is responsible for
       prepending  and appending the appropriate HTML tags to construct a cor-
       rect 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 dis-
       played.  The tmpllist parameter is a pointer to the entire list of tem-
       plates  available  (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 templates from the default template config-
       uration 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).  label-
       width 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.  urlprefix 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 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:///

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   Project
       (http://www.openldap.org/).   OpenLDAP  is  derived  from University of
       Michigan LDAP 3.3 Release.



OpenLDAP 2.0.27-Release        22 September 1998            LDAP_ENTRY2TEXT(3)