ldap_first_tmplrow man page on OpenIndiana

Man page or keyword search:  
man Server   20441 pages
apropos Keyword Search (all sections)
Output format
OpenIndiana 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 success,
       0 is returned, and tmpllistp is set to point to a  list	of  templates.
       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		     │system/library (32-bit)	   │
       │			     │SUNWcslx (64-bit)		   │
       │Interface Stability	     │Committed			   │
       └─────────────────────────────┴─────────────────────────────┘

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

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

List of man pages available for OpenIndiana

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