ldap_first_tmplrow man page on Solaris

Man page or keyword search:  
man Server   20652 pages
apropos Keyword Search (all sections)
Output format
Solaris logo
[printable version]

ldap_disptmpl(3LDAP)	    LDAP Library Functions	  ldap_disptmpl(3LDAP)

NAME
       ldap_disptmpl,	    ldap_init_templates,      ldap_init_templates_buf,
       ldap_free_templates,	 ldap_first_disptmpl,	   ldap_next_disptmpl,
       ldap_oc2template,	  ldap_name2template,	       ldap_tmplattrs,
       ldap_first_tmplrow,	 ldap_next_tmplrow,	   ldap_first_tmplcol,
       ldap_next_tmplcol - LDAP display template functions

SYNOPSIS
       cc[ flag... ] file... -lldap[ library... ]

       #include <lber.h>
       #include <ldap.h>

       int ldap_init_templates(char *file, struct ldap_disptmpl **tmpllistp);

       int   ldap_init_templates_buf(char  *buf,  unsigned  long  len,	struct
       ldap_disptmpl **tmpllistp);

       void ldap_free_templates(struct ldap_disptmpl *tmpllist);

       struct	 ldap_disptmpl	  *ldap_first_disptmpl(struct	 ldap_disptmpl
       *tmpllist);

       struct	  ldap_disptmpl	   *ldap_next_disptmpl(struct	 ldap_disptmpl
       *tmpllist, struct ldap_disptmpl *tmpl);

       struct	ldap_disptmpl	 *ldap_oc2template(char	   **oclist,	struct
       ldap_disptmpl *tmpllist);

       struct	 ldap_disptmpl	  *ldap_name2template(char    *name,	struct
       ldap_disptmpl *tmpllist);

       char **ldap_tmplattrs(struct ldap_disptmpl *tmpl, char  **includeattrs,
       int exclude;, unsigned long syntaxmask);

       struct ldap_tmplitem *ldap_first_tmplrow(struct ldap_disptmpl *tmpl);

       struct  ldap_tmplitem  *ldap_next_tmplrow(struct	 ldap_disptmpl	*tmpl,
       struct ldap_tmplitem *row);

       struct ldap_tmplitem  *ldap_first_tmplcol(struct	 ldap_disptmpl	*tmpl,
       struct ldap_tmplitem *row, struct ldap_tmplitem *col);

       struct  ldap_tmplitem  *ldap_next_tmplcol(struct	 ldap_disptmpl	*tmpl,
       struct ldap_tmplitem *row, struct ldap_tmplitem *col);

DESCRIPTION
       These functions provide a standard way to  access  LDAP	entry  display
       templates.   Entry  display  templates  provide a standard way for LDAP
       applications to display directory entries.  The general idea is that it
       is  possible to map the list of object class values present in an entry
       to an appropriate display template.  Display templates are defined in a
       configuration  file.  See  ldaptemplates.conf(4). Each display template
       contains a pre-determined list of items, where each item generally cor‐
       responds	 to  an attribute to be displayed.  The items contain informa‐
       tion and flags that the caller can use to  display  the	attribute  and
       values  in  a  reasonable fashion.  Each item has a syntaxid, which are
       described in the SYNTAX IDS section below.  The	ldap_entry2text(3LDAP)
       functions use the display template functions and produce text output.

       ldap_init_templates()  reads  a sequence of templates from a valid LDAP
       template configuration file (see	  ldaptemplates.conf(4)).   Upon  suc‐
       cess,  0	 is  returned, and tmpllistp is set to point to a list of tem‐
       plates.	Each member of the list is an ldap_disptmpl structure (defined
       below in the DISPTMPL Structure Elements section).

       ldap_init_templates_buf() reads a sequence of templates from buf (whose
       size is buflen). buf should point to the data in the format defined for
       an  LDAP template configuration file (see  ldaptemplates.conf(4)). Upon
       success,	 0 is returned, and tmpllistp is set to point  to  a  list  of
       templates.

       The  LDAP_SET_DISPTMPL_APPDATA()	 macro is used to set the value of the
       dt_appdata  field  in  an   ldap_disptmpl  structure.   This  field  is
       reserved for the calling application to use; it is not used internally.

       The  LDAP_GET_DISPTMPL_APPDATA() macro is used to retrieve the value in
       the  dt_appdata field.

       The   LDAP_IS_DISPTMPL_OPTION_SET()   macro   is	  used	 to   test   a
       ldap_disptmpl  structure	 for  the existence of a template option.  The
       options currently defined are: LDAP_DTMPL_OPT_ADDABLE (it is  appropri‐
       ate  to	allow entries of this type to be added), LDAP_DTMPL_OPT_ALLOW‐
       MODRDN (it  is  appropriate  to	offer  the  "modify  rdn"  operation),
       LDAP_DTMPL_OPT_ALTVIEW  (this  template	is merely an alternate view of
       another template,  typically  used  for	templates  pointed  to	be  an
       LDAP_SYN_LINKACTION item).

       ldap_free_templates()   disposes	  of   the   templates	 allocated  by
       ldap_init_templates().

       ldap_first_disptmpl() returns the first template in the list  tmpllist.
       The tmpllist is typically obtained by calling  ldap_init_templates() .

       ldap_next_disptmpl()  returns  the  template after tmpl in the template
       list tmpllist. A NULL pointer is returned if tmpl is the last  template
       in the list.

       ldap_oc2template()  searches  tmpllist  for the best template to use to
       display an entry that has a specific set of  objectClass values. oclist
       should  be  a null-terminated array of strings that contains the values
       of the  objectClass attribute of the entry.  A  pointer	to  the	 first
       template	 where	all  of	 the  object classes listed in one of the tem‐
       plate's	dt_oclist elements are contained in  oclist  is	 returned.   A
       NULL pointer is returned if no appropriate template is found.

       ldap_tmplattrs()	 returns  a  null-terminated  array  that contains the
       names of attributes that need to be retrieved if the template  tmpl  is
       to  be  used  to	 display an entry.  The attribute list should be freed
       using  ldap_value_free().  The includeattrs parameter contains a	 null-
       terminated  array  of attributes that should always be included (it may
       be NULL if no extra attributes are required).  If  syntaxmask  is  non-
       zero, it is used to restrict the attribute set returned.	 If exclude is
       zero, only attributes where the logical	AND of the template item  syn‐
       tax id and the syntaxmask is non-zero are included.  If exclude is non-
       zero, attributes where the logical  AND of the template item syntax  id
       and the syntaxmask is non-zero are excluded.

       ldap_first_tmplrow()  returns  a	 pointer  to the first row of items in
       template tmpl.

       ldap_next_tmplrow() returns a pointer to the row that  follows  row  in
       template tmpl.

       ldap_first_tmplcol()  returns a pointer to the first item (in the first
       column) of row row within template tmpl. A pointer to an	 ldap_tmplitem
       structure (defined below in the TMPLITEM Structure Elements section) is
       returned.

       The LDAP_SET_TMPLITEM_APPDATA() macro is used to set the value  of  the
       ti_appdata field in a  ldap_tmplitem structure.	This field is reserved
       for the calling application to use; it is not used internally.

       The LDAP_GET_TMPLITEM_APPDATA() macro is used to retrieve the value  of
       the  ti_appdata field.

       The   LDAP_IS_TMPLITEM_OPTION_SET()   macro   is	  used	 to   test   a
       ldap_tmplitem structure for the	existence  of  an  item	 option.   The
       options	currently defined are: LDAP_DITEM_OPT_READONLY (this attribute
       should not be modified), LDAP_DITEM_OPT_SORTVALUES (it makes  sense  to
       sort  the values), LDAP_DITEM_OPT_SINGLEVALUED (this attribute can only
       hold a single value), LDAP_DITEM_OPT_VALUEREQUIRED (this attribute must
       contain	at  least  one value), LDAP_DITEM_OPT_HIDEIFEMPTY (do not show
       this item if there are no values), and LDAP_DITEM_OPT_HIDEIFFALSE  (for
       boolean attributes only:	 hide this item if the value  is FALSE).

       ldap_next_tmplcol() returns a pointer to the item (column) that follows
       column col within row row of template tmpl.

   DISPTMPL Structure Elements
       The  ldap_disptmpl structure is defined as:

       struct ldap_disptmpl {
	    char		     *dt_name;
	    char	   *dt_pluralname;
	    char		     *dt_iconname;
	    unsigned long	     dt_options;
	    char		     *dt_authattrname;
	    char		     *dt_defrdnattrname;
	    char		     *dt_defaddlocation;
	    struct ldap_oclist	*dt_oclist;
	    struct ldap_adddeflist   *dt_adddeflist;
	    struct ldap_tmplitem     *dt_items;
	    void	   *dt_appdata;
	    struct ldap_disptmpl     *dt_next;
       };

       The  dt_name member is the singular name of the template.  The  dt_plu‐
       ralname	is  the plural name.  The  dt_iconname member will contain the
       name of an icon or other graphical element that can be used  to	depict
       entries that correspond to this display template.  The  dt_options con‐
       tains	 options     which     may     be     tested	 using	   the
       LDAP_IS_TMPLITEM_OPTION_SET() macro.

       The  dt_authattrname contains the name of the DN-syntax attribute whose
       value(s) should be used to authenticate to make changes	to  an	entry.
       If  dt_authattrname is NULL, then authenticating as the entry itself is
       appropriate.  The  dt_defrdnattrname is the name of the attribute  that
       is  normally  used  to name entries of this type, for example, "cn" for
       person entries.	The  dt_defaddlocation is the distinguished name of an
       entry  below  which new entries of this type are typically created (its
       value is site-dependent).

       dt_oclist is a pointer to a linked list of object class arrays, defined
       as:

       struct ldap_oclist {
	    char	   **oc_objclasses;
	    struct ldap_oclist	*oc_next;
       };

	 These are used by the	ldap_oc2template() function.

       dt_adddeflist is a pointer to a linked list of rules for defaulting the
       values of attributes when new entries are  created.   The   ldap_addde‐
       flist structure is defined as:

       struct ldap_adddeflist {
	    int		   ad_source;
	    char	   *ad_attrname;
	    char	   *ad_value;
	    struct ldap_adddeflist   *ad_next;
       };

       The  ad_attrname	 member contains the name of the attribute whose value
       this rule sets.	If  ad_source is   LDAP_ADSRC_CONSTANTVALUE  then  the
       ad_value member contains the (constant) value to use. If	  ad_source is
       LDAP_ADSRC_ADDERSDN then ad_value is ignored and the distinguished name
       of  the person who is adding the new entry is used as the default value
       for  ad_attrname.

   TMPLITEM Structure Elements
       The  ldap_tmplitem structure is defined as:

       struct ldap_tmplitem {
	    unsigned long	ti_syntaxid;
	    unsigned long	ti_options;
	    char	   *ti_attrname;
	    char	   *ti_label;
	    char	   **ti_args;
	    struct ldap_tmplitem     *ti_next_in_row;
	    struct ldap_tmplitem     *ti_next_in_col;
	    void	   *ti_appdata;
       };

   Syntax IDs
       Syntax ids are found in the  ldap_tmplitem structure  element   ti_syn‐
       taxid,  and they can be used to determine how to display the values for
       the attribute associated with an item.  The  LDAP_GET_SYN_TYPE()	 macro
       can  be	used to return a general type from a syntax id.	 The five gen‐
       eral types currently defined are:  LDAP_SYN_TYPE_TEXT  (for  attributes
       that  are  most	appropriately shown as text), LDAP_SYN_TYPE_IMAGE (for
       JPEG  or	 FAX  format  images),	LDAP_SYN_TYPE_BOOLEAN	(for   boolean
       attributes),  LDAP_SYN_TYPE_BUTTON  (for attributes whose values are to
       be retrieved and display only upon  request, for example,  in  response
       to  the press of a button, a JPEG image is retrieved, decoded, and dis‐
       played), and LDAP_SYN_TYPE_ACTION (for special purpose actions such  as
       "search	for  the  entries  where  this	entry is listed in the seeAlso
       attribute").

       The LDAP_GET_SYN_OPTIONS macro can be used to retrieve an unsigned long
       bitmap  that  defines  options.	 The  only currently defined option is
       LDAP_SYN_OPT_DEFER, which (if set) implies  that	 the  values  for  the
       attribute should not be retrieved until requested.

       There  are sixteen distinct syntax ids currently defined.  These gener‐
       ally correspond to one or more X.500 syntaxes.

       LDAP_SYN_CASEIGNORESTR is used for text	attributes  which  are	simple
       strings whose case is ignored for comparison purposes.

       LDAP_SYN_MULTILINESTR is used for text attributes which consist of mul‐
       tiple lines, for	 example,   postalAddress,  homePostalAddress,	multi‐
       lineDescription, or any attributes of syntax  caseIgnoreList.

       LDAP_SYN_RFC822ADDR  is used for case ignore string attributes that are
       RFC-822 conformant mail addresses, for example, mail.

       LDAP_SYN_DN is used for attributes with a  Distinguished	 Name  syntax,
       for example,  seeAlso.

       LDAP_SYN_BOOLEAN is used for attributes with a boolean syntax.

       LDAP_SYN_JPEGIMAGE is used for attributes with a jpeg syntax, for exam‐
       ple, jpegPhoto.

       LDAP_SYN_JPEGBUTTON is used to provide a button (or  equivalent	inter‐
       face  element)  that  can  be  used to retrieve, decode, and display an
       attribute of jpeg syntax.

       LDAP_SYN_FAXIMAGE is used for attributes with a photo syntax, for exam‐
       ple, Photo.  These are actually Group 3 Fax (T.4) format images.

       LDAP_SYN_FAXBUTTON is used to provide a button (or equivalent interface
       element) that can be used to retrieve, decode, and display an attribute
       of photo syntax.

       LDAP_SYN_AUDIOBUTTON  is used to provide a button (or equivalent inter‐
       face element) that can be used to retrieve and  play  an	 attribute  of
       audio  syntax.	Audio values are in the "mu law" format, also known as
       "au" format.

       LDAP_SYN_TIME is used for attributes with the UTCTime syntax, for exam‐
       ple,   lastModifiedTime.	 The  value(s) should be displayed in complete
       date and time fashion.

       LDAP_SYN_DATE is used for attributes with the UTCTime syntax, for exam‐
       ple,  lastModifiedTime. Only the date portion of the value(s) should be
       displayed.

       LDAP_SYN_LABELEDURL is used for	labeledURL attributes.

       LDAP_SYN_SEARCHACTION is used to	 define	 a  search  that  is  used  to
       retrieve	 related  information.	If   ti_attrname  is  not  NULL, it is
       assumed to be a boolean attribute which will cause no search to be per‐
       formed  if  its	value  is  FALSE.   The	 ti_args structure member will
       have four strings in it:	  ti_args[ 0  ]	 should	 be  the  name	of  an
       attribute  whose	 values	 are used to help construct a search filter or
       "-dn" is the distinguished name of the entry being displayed should  be
       used,  ti_args[ 1 ] should be a filter pattern where any occurrences of
       "%v" are replaced with the value derived from  ti_args[ 0 ],   ti_args[
       2 ] should be the name of an additional attribute to retrieve when per‐
       forming the search, and	ti_args[ 3 ] should be a human-consumable name
       for that attribute.  The	 ti_args[ 2 ] attribute is typically displayed
       along with a list of distinguished  names  when	multiple  entries  are
       returned by the search.

       LDAP_SYN_LINKACTION  is	used  to  define a link to another template by
       name.   ti_args[ 0 ] will contain the name of the display  template  to
       use.   The   ldap_name2template()  function  can	 be  used  to obtain a
       pointer to the correct  ldap_disptmpl structure.

       LDAP_SYN_ADDDNACTION  and  LDAP_SYN_VERIFYDNACTION  are	 reserved   as
       actions but currently undefined.

ERRORS
       The init template functions return LDAP_TMPL_ERR_VERSION if  buf points
       to data that is newer than can be handled, LDAP_TMPL_ERR_MEM  if	 there
       is  a  memory  allocation  problem,  LDAP_TMPL_ERR_SYNTAX if there is a
       problem	with  the  format   of	 the   templates   buffer   or	 file.
       LDAP_TMPL_ERR_FILE  is returned by ldap_init_templates if the file can‐
       not be read.   Other functions generally return NULL upon error.

ATTRIBUTES
       See attributes(5) for a description of the following attributes:

       ┌─────────────────────────────┬─────────────────────────────┐
       │      ATTRIBUTE TYPE	     │	    ATTRIBUTE VALUE	   │
       │Availability		     │SUNWcsl (32-bit)		   │
       │			     │SUNWcslx (64-bit)		   │
       │Interface Stability	     │Evolving			   │
       └─────────────────────────────┴─────────────────────────────┘

SEE ALSO
       ldap(3LDAP),	  ldap_entry2text(3LDAP),	ldaptemplates.conf(4),
       attributes(5)

SunOS 5.10			  27 Jan 2002		  ldap_disptmpl(3LDAP)
[top]

List of man pages available for Solaris

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net