17c478bd9Sstevel@tonic-gate /* 27c478bd9Sstevel@tonic-gate * Copyright (c) 2001 by Sun Microsystems, Inc. 37c478bd9Sstevel@tonic-gate * All rights reserved. 47c478bd9Sstevel@tonic-gate */ 57c478bd9Sstevel@tonic-gate 67c478bd9Sstevel@tonic-gate /* 77c478bd9Sstevel@tonic-gate * The contents of this file are subject to the Netscape Public 87c478bd9Sstevel@tonic-gate * License Version 1.1 (the "License"); you may not use this file 97c478bd9Sstevel@tonic-gate * except in compliance with the License. You may obtain a copy of 107c478bd9Sstevel@tonic-gate * the License at http://www.mozilla.org/NPL/ 117c478bd9Sstevel@tonic-gate * 127c478bd9Sstevel@tonic-gate * Software distributed under the License is distributed on an "AS 137c478bd9Sstevel@tonic-gate * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or 147c478bd9Sstevel@tonic-gate * implied. See the License for the specific language governing 157c478bd9Sstevel@tonic-gate * rights and limitations under the License. 167c478bd9Sstevel@tonic-gate * 177c478bd9Sstevel@tonic-gate * The Original Code is Mozilla Communicator client code, released 187c478bd9Sstevel@tonic-gate * March 31, 1998. 197c478bd9Sstevel@tonic-gate * 207c478bd9Sstevel@tonic-gate * The Initial Developer of the Original Code is Netscape 217c478bd9Sstevel@tonic-gate * Communications Corporation. Portions created by Netscape are 227c478bd9Sstevel@tonic-gate * Copyright (C) 1998-1999 Netscape Communications Corporation. All 237c478bd9Sstevel@tonic-gate * Rights Reserved. 247c478bd9Sstevel@tonic-gate * 257c478bd9Sstevel@tonic-gate * Contributor(s): 267c478bd9Sstevel@tonic-gate */ 277c478bd9Sstevel@tonic-gate 287c478bd9Sstevel@tonic-gate /* 297c478bd9Sstevel@tonic-gate * Copyright (c) 1993, 1994 Regents of the University of Michigan. 307c478bd9Sstevel@tonic-gate * All rights reserved. 317c478bd9Sstevel@tonic-gate * 327c478bd9Sstevel@tonic-gate * Redistribution and use in source and binary forms are permitted 337c478bd9Sstevel@tonic-gate * provided that this notice is preserved and that due credit is given 347c478bd9Sstevel@tonic-gate * to the University of Michigan at Ann Arbor. The name of the University 357c478bd9Sstevel@tonic-gate * may not be used to endorse or promote products derived from this 367c478bd9Sstevel@tonic-gate * software without specific prior written permission. This software 377c478bd9Sstevel@tonic-gate * is provided ``as is'' without express or implied warranty. 387c478bd9Sstevel@tonic-gate * 397c478bd9Sstevel@tonic-gate * disptmpl.h: display template library defines 407c478bd9Sstevel@tonic-gate */ 417c478bd9Sstevel@tonic-gate 427c478bd9Sstevel@tonic-gate #ifndef _DISPTMPL_H 437c478bd9Sstevel@tonic-gate #define _DISPTMPL_H 447c478bd9Sstevel@tonic-gate 457c478bd9Sstevel@tonic-gate #ifdef __cplusplus 467c478bd9Sstevel@tonic-gate extern "C" { 477c478bd9Sstevel@tonic-gate #endif 487c478bd9Sstevel@tonic-gate 497c478bd9Sstevel@tonic-gate /* calling conventions used by library */ 507c478bd9Sstevel@tonic-gate #ifndef LDAP_CALL 517c478bd9Sstevel@tonic-gate #if defined( _WINDOWS ) || defined( _WIN32 ) 527c478bd9Sstevel@tonic-gate #define LDAP_C __cdecl 53*1da57d55SToomas Soome #ifndef _WIN32 547c478bd9Sstevel@tonic-gate #define __stdcall _far _pascal 557c478bd9Sstevel@tonic-gate #define LDAP_CALLBACK _loadds 567c478bd9Sstevel@tonic-gate #else 577c478bd9Sstevel@tonic-gate #define LDAP_CALLBACK 587c478bd9Sstevel@tonic-gate #endif /* _WIN32 */ 597c478bd9Sstevel@tonic-gate #define LDAP_PASCAL __stdcall 607c478bd9Sstevel@tonic-gate #define LDAP_CALL LDAP_PASCAL 617c478bd9Sstevel@tonic-gate #else /* _WINDOWS */ 627c478bd9Sstevel@tonic-gate #define LDAP_C 637c478bd9Sstevel@tonic-gate #define LDAP_CALLBACK 647c478bd9Sstevel@tonic-gate #define LDAP_PASCAL 657c478bd9Sstevel@tonic-gate #define LDAP_CALL 667c478bd9Sstevel@tonic-gate #endif /* _WINDOWS */ 677c478bd9Sstevel@tonic-gate #endif /* LDAP_CALL */ 687c478bd9Sstevel@tonic-gate 69*1da57d55SToomas Soome #ifndef _SOLARIS_SDK 707c478bd9Sstevel@tonic-gate 717c478bd9Sstevel@tonic-gate #define LDAP_TEMPLATE_VERSION 1 727c478bd9Sstevel@tonic-gate 737c478bd9Sstevel@tonic-gate /* 747c478bd9Sstevel@tonic-gate * general types of items (confined to most significant byte) 757c478bd9Sstevel@tonic-gate */ 767c478bd9Sstevel@tonic-gate #define LDAP_SYN_TYPE_TEXT 0x01000000L 777c478bd9Sstevel@tonic-gate #define LDAP_SYN_TYPE_IMAGE 0x02000000L 787c478bd9Sstevel@tonic-gate #define LDAP_SYN_TYPE_BOOLEAN 0x04000000L 797c478bd9Sstevel@tonic-gate #define LDAP_SYN_TYPE_BUTTON 0x08000000L 807c478bd9Sstevel@tonic-gate #define LDAP_SYN_TYPE_ACTION 0x10000000L 817c478bd9Sstevel@tonic-gate 827c478bd9Sstevel@tonic-gate 837c478bd9Sstevel@tonic-gate /* 847c478bd9Sstevel@tonic-gate * syntax options (confined to second most significant byte) 857c478bd9Sstevel@tonic-gate */ 867c478bd9Sstevel@tonic-gate #define LDAP_SYN_OPT_DEFER 0x00010000L 877c478bd9Sstevel@tonic-gate 887c478bd9Sstevel@tonic-gate 89*1da57d55SToomas Soome /* 907c478bd9Sstevel@tonic-gate * display template item syntax ids (defined by common agreement) 917c478bd9Sstevel@tonic-gate * these are the valid values for the ti_syntaxid of the tmplitem 927c478bd9Sstevel@tonic-gate * struct (defined below). A general type is encoded in the 937c478bd9Sstevel@tonic-gate * most-significant 8 bits, and some options are encoded in the next 947c478bd9Sstevel@tonic-gate * 8 bits. The lower 16 bits are reserved for the distinct types. 957c478bd9Sstevel@tonic-gate */ 967c478bd9Sstevel@tonic-gate #define LDAP_SYN_CASEIGNORESTR ( 1 | LDAP_SYN_TYPE_TEXT ) 977c478bd9Sstevel@tonic-gate #define LDAP_SYN_MULTILINESTR ( 2 | LDAP_SYN_TYPE_TEXT ) 987c478bd9Sstevel@tonic-gate #define LDAP_SYN_DN ( 3 | LDAP_SYN_TYPE_TEXT ) 997c478bd9Sstevel@tonic-gate #define LDAP_SYN_BOOLEAN ( 4 | LDAP_SYN_TYPE_BOOLEAN ) 1007c478bd9Sstevel@tonic-gate #define LDAP_SYN_JPEGIMAGE ( 5 | LDAP_SYN_TYPE_IMAGE ) 1017c478bd9Sstevel@tonic-gate #define LDAP_SYN_JPEGBUTTON ( 6 | LDAP_SYN_TYPE_BUTTON | LDAP_SYN_OPT_DEFER ) 1027c478bd9Sstevel@tonic-gate #define LDAP_SYN_FAXIMAGE ( 7 | LDAP_SYN_TYPE_IMAGE ) 1037c478bd9Sstevel@tonic-gate #define LDAP_SYN_FAXBUTTON ( 8 | LDAP_SYN_TYPE_BUTTON | LDAP_SYN_OPT_DEFER ) 1047c478bd9Sstevel@tonic-gate #define LDAP_SYN_AUDIOBUTTON ( 9 | LDAP_SYN_TYPE_BUTTON | LDAP_SYN_OPT_DEFER ) 1057c478bd9Sstevel@tonic-gate #define LDAP_SYN_TIME ( 10 | LDAP_SYN_TYPE_TEXT ) 1067c478bd9Sstevel@tonic-gate #define LDAP_SYN_DATE ( 11 | LDAP_SYN_TYPE_TEXT ) 1077c478bd9Sstevel@tonic-gate #define LDAP_SYN_LABELEDURL ( 12 | LDAP_SYN_TYPE_TEXT ) 1087c478bd9Sstevel@tonic-gate #define LDAP_SYN_SEARCHACTION ( 13 | LDAP_SYN_TYPE_ACTION ) 1097c478bd9Sstevel@tonic-gate #define LDAP_SYN_LINKACTION ( 14 | LDAP_SYN_TYPE_ACTION ) 1107c478bd9Sstevel@tonic-gate #define LDAP_SYN_ADDDNACTION ( 15 | LDAP_SYN_TYPE_ACTION ) 1117c478bd9Sstevel@tonic-gate #define LDAP_SYN_VERIFYDNACTION ( 16 | LDAP_SYN_TYPE_ACTION ) 1127c478bd9Sstevel@tonic-gate #define LDAP_SYN_RFC822ADDR ( 17 | LDAP_SYN_TYPE_TEXT ) 1137c478bd9Sstevel@tonic-gate 1147c478bd9Sstevel@tonic-gate 1157c478bd9Sstevel@tonic-gate /* 1167c478bd9Sstevel@tonic-gate * handy macros 1177c478bd9Sstevel@tonic-gate */ 1187c478bd9Sstevel@tonic-gate #define LDAP_GET_SYN_TYPE( syid ) ((syid) & 0xFF000000UL ) 1197c478bd9Sstevel@tonic-gate #define LDAP_GET_SYN_OPTIONS( syid ) ((syid) & 0x00FF0000UL ) 1207c478bd9Sstevel@tonic-gate 1217c478bd9Sstevel@tonic-gate 1227c478bd9Sstevel@tonic-gate /* 1237c478bd9Sstevel@tonic-gate * display options for output routines (used by entry2text and friends) 1247c478bd9Sstevel@tonic-gate */ 1257c478bd9Sstevel@tonic-gate /* 1267c478bd9Sstevel@tonic-gate * use calculated label width (based on length of longest label in 1277c478bd9Sstevel@tonic-gate * template) instead of contant width 1287c478bd9Sstevel@tonic-gate */ 1297c478bd9Sstevel@tonic-gate #define LDAP_DISP_OPT_AUTOLABELWIDTH 0x00000001L 1307c478bd9Sstevel@tonic-gate #define LDAP_DISP_OPT_HTMLBODYONLY 0x00000002L 1317c478bd9Sstevel@tonic-gate 1327c478bd9Sstevel@tonic-gate /* 133*1da57d55SToomas Soome * perform search actions (applies to ldap_entry2text_search only) 1347c478bd9Sstevel@tonic-gate */ 1357c478bd9Sstevel@tonic-gate #define LDAP_DISP_OPT_DOSEARCHACTIONS 0x00000002L 1367c478bd9Sstevel@tonic-gate 1377c478bd9Sstevel@tonic-gate /* 1387c478bd9Sstevel@tonic-gate * include additional info. relevant to "non leaf" entries only 1397c478bd9Sstevel@tonic-gate * used by ldap_entry2html and ldap_entry2html_search to include "Browse" 1407c478bd9Sstevel@tonic-gate * and "Move Up" HREFs 1417c478bd9Sstevel@tonic-gate */ 1427c478bd9Sstevel@tonic-gate #define LDAP_DISP_OPT_NONLEAF 0x00000004L 1437c478bd9Sstevel@tonic-gate 1447c478bd9Sstevel@tonic-gate #endif /* ifndef _SOLARIS_SDK */ 1457c478bd9Sstevel@tonic-gate 1467c478bd9Sstevel@tonic-gate /* 1477c478bd9Sstevel@tonic-gate * display template item options (may not apply to all types) 1487c478bd9Sstevel@tonic-gate * if this bit is set in ti_options, it applies. 1497c478bd9Sstevel@tonic-gate */ 1507c478bd9Sstevel@tonic-gate #define LDAP_DITEM_OPT_READONLY 0x00000001L 1517c478bd9Sstevel@tonic-gate #define LDAP_DITEM_OPT_SORTVALUES 0x00000002L 1527c478bd9Sstevel@tonic-gate #define LDAP_DITEM_OPT_SINGLEVALUED 0x00000004L 1537c478bd9Sstevel@tonic-gate #define LDAP_DITEM_OPT_HIDEIFEMPTY 0x00000008L 1547c478bd9Sstevel@tonic-gate #define LDAP_DITEM_OPT_VALUEREQUIRED 0x00000010L 1557c478bd9Sstevel@tonic-gate #define LDAP_DITEM_OPT_HIDEIFFALSE 0x00000020L /* booleans only */ 1567c478bd9Sstevel@tonic-gate 1577c478bd9Sstevel@tonic-gate 1587c478bd9Sstevel@tonic-gate #ifndef _SOLARIS_SDK 1597c478bd9Sstevel@tonic-gate 1607c478bd9Sstevel@tonic-gate /* 1617c478bd9Sstevel@tonic-gate * display template item structure 1627c478bd9Sstevel@tonic-gate */ 1637c478bd9Sstevel@tonic-gate struct ldap_tmplitem { 1647c478bd9Sstevel@tonic-gate unsigned long ti_syntaxid; 1657c478bd9Sstevel@tonic-gate unsigned long ti_options; 1667c478bd9Sstevel@tonic-gate char *ti_attrname; 1677c478bd9Sstevel@tonic-gate char *ti_label; 1687c478bd9Sstevel@tonic-gate char **ti_args; 1697c478bd9Sstevel@tonic-gate struct ldap_tmplitem *ti_next_in_row; 1707c478bd9Sstevel@tonic-gate struct ldap_tmplitem *ti_next_in_col; 1717c478bd9Sstevel@tonic-gate void *ti_appdata; 1727c478bd9Sstevel@tonic-gate }; 1737c478bd9Sstevel@tonic-gate 1747c478bd9Sstevel@tonic-gate #define NULLTMPLITEM ((struct ldap_tmplitem *)0) 1757c478bd9Sstevel@tonic-gate 1767c478bd9Sstevel@tonic-gate #define LDAP_SET_TMPLITEM_APPDATA( ti, datap ) \ 1777c478bd9Sstevel@tonic-gate (ti)->ti_appdata = (void *)(datap) 1787c478bd9Sstevel@tonic-gate 1797c478bd9Sstevel@tonic-gate #define LDAP_GET_TMPLITEM_APPDATA( ti, type ) \ 1807c478bd9Sstevel@tonic-gate (type)((ti)->ti_appdata) 1817c478bd9Sstevel@tonic-gate 1827c478bd9Sstevel@tonic-gate #define LDAP_IS_TMPLITEM_OPTION_SET( ti, option ) \ 1837c478bd9Sstevel@tonic-gate (((ti)->ti_options & option ) != 0 ) 1847c478bd9Sstevel@tonic-gate 1857c478bd9Sstevel@tonic-gate 1867c478bd9Sstevel@tonic-gate /* 1877c478bd9Sstevel@tonic-gate * object class array structure 1887c478bd9Sstevel@tonic-gate */ 1897c478bd9Sstevel@tonic-gate struct ldap_oclist { 1907c478bd9Sstevel@tonic-gate char **oc_objclasses; 1917c478bd9Sstevel@tonic-gate struct ldap_oclist *oc_next; 1927c478bd9Sstevel@tonic-gate }; 1937c478bd9Sstevel@tonic-gate 1947c478bd9Sstevel@tonic-gate #define NULLOCLIST ((struct ldap_oclist *)0) 1957c478bd9Sstevel@tonic-gate 1967c478bd9Sstevel@tonic-gate 1977c478bd9Sstevel@tonic-gate /* 1987c478bd9Sstevel@tonic-gate * add defaults list 1997c478bd9Sstevel@tonic-gate */ 2007c478bd9Sstevel@tonic-gate struct ldap_adddeflist { 2017c478bd9Sstevel@tonic-gate int ad_source; 2027c478bd9Sstevel@tonic-gate #define LDAP_ADSRC_CONSTANTVALUE 1 2037c478bd9Sstevel@tonic-gate #define LDAP_ADSRC_ADDERSDN 2 2047c478bd9Sstevel@tonic-gate char *ad_attrname; 2057c478bd9Sstevel@tonic-gate char *ad_value; 2067c478bd9Sstevel@tonic-gate struct ldap_adddeflist *ad_next; 2077c478bd9Sstevel@tonic-gate }; 2087c478bd9Sstevel@tonic-gate 2097c478bd9Sstevel@tonic-gate #define NULLADLIST ((struct ldap_adddeflist *)0) 2107c478bd9Sstevel@tonic-gate 2117c478bd9Sstevel@tonic-gate 2127c478bd9Sstevel@tonic-gate /* 2137c478bd9Sstevel@tonic-gate * display template global options 2147c478bd9Sstevel@tonic-gate * if this bit is set in dt_options, it applies. 2157c478bd9Sstevel@tonic-gate */ 2167c478bd9Sstevel@tonic-gate /* 2177c478bd9Sstevel@tonic-gate * users should be allowed to try to add objects of these entries 2187c478bd9Sstevel@tonic-gate */ 2197c478bd9Sstevel@tonic-gate #define LDAP_DTMPL_OPT_ADDABLE 0x00000001L 2207c478bd9Sstevel@tonic-gate 2217c478bd9Sstevel@tonic-gate /* 2227c478bd9Sstevel@tonic-gate * users should be allowed to do "modify RDN" operation of these entries 2237c478bd9Sstevel@tonic-gate */ 2247c478bd9Sstevel@tonic-gate #define LDAP_DTMPL_OPT_ALLOWMODRDN 0x00000002L 2257c478bd9Sstevel@tonic-gate 2267c478bd9Sstevel@tonic-gate /* 2277c478bd9Sstevel@tonic-gate * this template is an alternate view, not a primary view 2287c478bd9Sstevel@tonic-gate */ 2297c478bd9Sstevel@tonic-gate #define LDAP_DTMPL_OPT_ALTVIEW 0x00000004L 2307c478bd9Sstevel@tonic-gate 2317c478bd9Sstevel@tonic-gate 2327c478bd9Sstevel@tonic-gate /* 2337c478bd9Sstevel@tonic-gate * display template structure 2347c478bd9Sstevel@tonic-gate */ 2357c478bd9Sstevel@tonic-gate struct ldap_disptmpl { 2367c478bd9Sstevel@tonic-gate char *dt_name; 2377c478bd9Sstevel@tonic-gate char *dt_pluralname; 2387c478bd9Sstevel@tonic-gate char *dt_iconname; 2397c478bd9Sstevel@tonic-gate unsigned long dt_options; 2407c478bd9Sstevel@tonic-gate char *dt_authattrname; 2417c478bd9Sstevel@tonic-gate char *dt_defrdnattrname; 2427c478bd9Sstevel@tonic-gate char *dt_defaddlocation; 2437c478bd9Sstevel@tonic-gate struct ldap_oclist *dt_oclist; 2447c478bd9Sstevel@tonic-gate struct ldap_adddeflist *dt_adddeflist; 2457c478bd9Sstevel@tonic-gate struct ldap_tmplitem *dt_items; 2467c478bd9Sstevel@tonic-gate void *dt_appdata; 2477c478bd9Sstevel@tonic-gate struct ldap_disptmpl *dt_next; 2487c478bd9Sstevel@tonic-gate }; 2497c478bd9Sstevel@tonic-gate 2507c478bd9Sstevel@tonic-gate #define NULLDISPTMPL ((struct ldap_disptmpl *)0) 2517c478bd9Sstevel@tonic-gate 2527c478bd9Sstevel@tonic-gate #define LDAP_SET_DISPTMPL_APPDATA( dt, datap ) \ 2537c478bd9Sstevel@tonic-gate (dt)->dt_appdata = (void *)(datap) 2547c478bd9Sstevel@tonic-gate 2557c478bd9Sstevel@tonic-gate #define LDAP_GET_DISPTMPL_APPDATA( dt, type ) \ 2567c478bd9Sstevel@tonic-gate (type)((dt)->dt_appdata) 2577c478bd9Sstevel@tonic-gate 2587c478bd9Sstevel@tonic-gate #define LDAP_IS_DISPTMPL_OPTION_SET( dt, option ) \ 2597c478bd9Sstevel@tonic-gate (((dt)->dt_options & option ) != 0 ) 2607c478bd9Sstevel@tonic-gate 2617c478bd9Sstevel@tonic-gate #define LDAP_TMPL_ERR_VERSION 1 2627c478bd9Sstevel@tonic-gate #define LDAP_TMPL_ERR_MEM 2 2637c478bd9Sstevel@tonic-gate #define LDAP_TMPL_ERR_SYNTAX 3 2647c478bd9Sstevel@tonic-gate #define LDAP_TMPL_ERR_FILE 4 2657c478bd9Sstevel@tonic-gate 2667c478bd9Sstevel@tonic-gate /* 2677c478bd9Sstevel@tonic-gate * buffer size needed for entry2text and vals2text 2687c478bd9Sstevel@tonic-gate */ 2697c478bd9Sstevel@tonic-gate #define LDAP_DTMPL_BUFSIZ 8192 2707c478bd9Sstevel@tonic-gate 2717c478bd9Sstevel@tonic-gate typedef int (*writeptype)( void *writeparm, char *p, int len ); 2727c478bd9Sstevel@tonic-gate 2737c478bd9Sstevel@tonic-gate LDAP_API(int) 2747c478bd9Sstevel@tonic-gate LDAP_CALL 2757c478bd9Sstevel@tonic-gate ldap_init_templates( char *file, struct ldap_disptmpl **tmpllistp ); 2767c478bd9Sstevel@tonic-gate 2777c478bd9Sstevel@tonic-gate LDAP_API(int) 2787c478bd9Sstevel@tonic-gate LDAP_CALL 2797c478bd9Sstevel@tonic-gate ldap_init_templates_buf( char *buf, long buflen, 2807c478bd9Sstevel@tonic-gate struct ldap_disptmpl **tmpllistp ); 2817c478bd9Sstevel@tonic-gate 2827c478bd9Sstevel@tonic-gate LDAP_API(void) 2837c478bd9Sstevel@tonic-gate LDAP_CALL 2847c478bd9Sstevel@tonic-gate ldap_free_templates( struct ldap_disptmpl *tmpllist ); 2857c478bd9Sstevel@tonic-gate 2867c478bd9Sstevel@tonic-gate LDAP_API(struct ldap_disptmpl *) 2877c478bd9Sstevel@tonic-gate LDAP_CALL 2887c478bd9Sstevel@tonic-gate ldap_first_disptmpl( struct ldap_disptmpl *tmpllist ); 2897c478bd9Sstevel@tonic-gate 2907c478bd9Sstevel@tonic-gate LDAP_API(struct ldap_disptmpl *) 2917c478bd9Sstevel@tonic-gate LDAP_CALL 2927c478bd9Sstevel@tonic-gate ldap_next_disptmpl( struct ldap_disptmpl *tmpllist, 2937c478bd9Sstevel@tonic-gate struct ldap_disptmpl *tmpl ); 2947c478bd9Sstevel@tonic-gate 2957c478bd9Sstevel@tonic-gate LDAP_API(struct ldap_disptmpl *) 2967c478bd9Sstevel@tonic-gate LDAP_CALL 2977c478bd9Sstevel@tonic-gate ldap_name2template( char *name, struct ldap_disptmpl *tmpllist ); 2987c478bd9Sstevel@tonic-gate 2997c478bd9Sstevel@tonic-gate LDAP_API(struct ldap_disptmpl *) 3007c478bd9Sstevel@tonic-gate LDAP_CALL 3017c478bd9Sstevel@tonic-gate ldap_oc2template( char **oclist, struct ldap_disptmpl *tmpllist ); 3027c478bd9Sstevel@tonic-gate 3037c478bd9Sstevel@tonic-gate LDAP_API(char **) 3047c478bd9Sstevel@tonic-gate LDAP_CALL 3057c478bd9Sstevel@tonic-gate ldap_tmplattrs( struct ldap_disptmpl *tmpl, char **includeattrs, int exclude, 3067c478bd9Sstevel@tonic-gate unsigned long syntaxmask ); 3077c478bd9Sstevel@tonic-gate 3087c478bd9Sstevel@tonic-gate LDAP_API(struct ldap_tmplitem *) 3097c478bd9Sstevel@tonic-gate LDAP_CALL 3107c478bd9Sstevel@tonic-gate ldap_first_tmplrow( struct ldap_disptmpl *tmpl ); 3117c478bd9Sstevel@tonic-gate 3127c478bd9Sstevel@tonic-gate LDAP_API(struct ldap_tmplitem *) 3137c478bd9Sstevel@tonic-gate LDAP_CALL 3147c478bd9Sstevel@tonic-gate ldap_next_tmplrow( struct ldap_disptmpl *tmpl, struct ldap_tmplitem *row ); 3157c478bd9Sstevel@tonic-gate 3167c478bd9Sstevel@tonic-gate LDAP_API(struct ldap_tmplitem *) 3177c478bd9Sstevel@tonic-gate LDAP_CALL 3187c478bd9Sstevel@tonic-gate ldap_first_tmplcol( struct ldap_disptmpl *tmpl, struct ldap_tmplitem *row ); 3197c478bd9Sstevel@tonic-gate 3207c478bd9Sstevel@tonic-gate LDAP_API(struct ldap_tmplitem *) 3217c478bd9Sstevel@tonic-gate LDAP_CALL 3227c478bd9Sstevel@tonic-gate ldap_next_tmplcol( struct ldap_disptmpl *tmpl, struct ldap_tmplitem *row, 3237c478bd9Sstevel@tonic-gate struct ldap_tmplitem *col ); 3247c478bd9Sstevel@tonic-gate 3257c478bd9Sstevel@tonic-gate LDAP_API(int) 3267c478bd9Sstevel@tonic-gate LDAP_CALL 3277c478bd9Sstevel@tonic-gate ldap_entry2text( LDAP *ld, char *buf, LDAPMessage *entry, 3287c478bd9Sstevel@tonic-gate struct ldap_disptmpl *tmpl, char **defattrs, char ***defvals, 3297c478bd9Sstevel@tonic-gate writeptype writeproc, void *writeparm, char *eol, int rdncount, 3307c478bd9Sstevel@tonic-gate unsigned long opts ); 3317c478bd9Sstevel@tonic-gate 3327c478bd9Sstevel@tonic-gate LDAP_API(int) 3337c478bd9Sstevel@tonic-gate LDAP_CALL 3347c478bd9Sstevel@tonic-gate ldap_vals2text( LDAP *ld, char *buf, char **vals, char *label, int labelwidth, 3357c478bd9Sstevel@tonic-gate unsigned long syntaxid, writeptype writeproc, void *writeparm, 3367c478bd9Sstevel@tonic-gate char *eol, int rdncount ); 3377c478bd9Sstevel@tonic-gate 3387c478bd9Sstevel@tonic-gate LDAP_API(int) 3397c478bd9Sstevel@tonic-gate LDAP_CALL 3407c478bd9Sstevel@tonic-gate ldap_entry2text_search( LDAP *ld, char *dn, char *base, LDAPMessage *entry, 3417c478bd9Sstevel@tonic-gate struct ldap_disptmpl *tmpllist, char **defattrs, char ***defvals, 3427c478bd9Sstevel@tonic-gate writeptype writeproc, void *writeparm, char *eol, int rdncount, 3437c478bd9Sstevel@tonic-gate unsigned long opts ); 3447c478bd9Sstevel@tonic-gate 3457c478bd9Sstevel@tonic-gate LDAP_API(int) 3467c478bd9Sstevel@tonic-gate LDAP_CALL 3477c478bd9Sstevel@tonic-gate ldap_entry2html( LDAP *ld, char *buf, LDAPMessage *entry, 3487c478bd9Sstevel@tonic-gate struct ldap_disptmpl *tmpl, char **defattrs, char ***defvals, 3497c478bd9Sstevel@tonic-gate writeptype writeproc, void *writeparm, char *eol, int rdncount, 3507c478bd9Sstevel@tonic-gate unsigned long opts, char *urlprefix, char *base ); 3517c478bd9Sstevel@tonic-gate 3527c478bd9Sstevel@tonic-gate LDAP_API(int) 3537c478bd9Sstevel@tonic-gate LDAP_CALL 3547c478bd9Sstevel@tonic-gate ldap_vals2html( LDAP *ld, char *buf, char **vals, char *label, int labelwidth, 3557c478bd9Sstevel@tonic-gate unsigned long syntaxid, writeptype writeproc, void *writeparm, 3567c478bd9Sstevel@tonic-gate char *eol, int rdncount, char *urlprefix ); 3577c478bd9Sstevel@tonic-gate 3587c478bd9Sstevel@tonic-gate LDAP_API(int) 3597c478bd9Sstevel@tonic-gate LDAP_CALL 3607c478bd9Sstevel@tonic-gate ldap_entry2html_search( LDAP *ld, char *dn, char *base, LDAPMessage *entry, 3617c478bd9Sstevel@tonic-gate struct ldap_disptmpl *tmpllist, char **defattrs, char ***defvals, 3627c478bd9Sstevel@tonic-gate writeptype writeproc, void *writeparm, char *eol, int rdncount, 3637c478bd9Sstevel@tonic-gate unsigned long opts, char *urlprefix ); 3647c478bd9Sstevel@tonic-gate 3657c478bd9Sstevel@tonic-gate #endif /* ifndef _SOLARIS_SDK */ 3667c478bd9Sstevel@tonic-gate 3677c478bd9Sstevel@tonic-gate LDAP_API(char *) 3687c478bd9Sstevel@tonic-gate LDAP_CALL 3697c478bd9Sstevel@tonic-gate ldap_tmplerr2string( int err ); 3707c478bd9Sstevel@tonic-gate 3717c478bd9Sstevel@tonic-gate #ifdef __cplusplus 3727c478bd9Sstevel@tonic-gate } 3737c478bd9Sstevel@tonic-gate #endif 3747c478bd9Sstevel@tonic-gate #endif /* _DISPTMPL_H */ 375