1N/A * Copyright 2001-2003 Sun Microsystems, Inc. All rights reserved. 1N/A * Use is subject to license terms. 1N/A#
pragma ident "%Z%%M% %I% %E% SMI" 1N/A * These were moved from lber.h. This should have been ifdef'd with 1N/A * _SOLARIS_SDK but since we do not want to expose these in lber.h its 1N/A * not possible to ifndef it there. 1N/A * LBER_USE_DER is defined for compatibility with the C LDAP API RFC. 1N/A * In our implementation, we recognize it (instead of the numerically 1N/A * identical LBER_OPT_REMAINING_BYTES) in calls to ber_alloc_t() and 1N/A * ber_init_w_nullchar() only. Callers of ber_set_option() or 1N/A * ber_get_option() must use LBER_OPT_USE_DER instead. Sorry! 1N/A * The following is not used by solaris. Just kept to stay in sync with 1N/A * iplanet and also a place holder (0x200) 1N/A#
endif /* !_SOLARIS_SDK */ 1N/A * Socket buffer structure associated to the LDAP connection 1N/A /* 0x4000 + 0x0F02 = 0x4F02 = 20226 - API extension */ 1N/A/* Used in various functions */ 1N/A /* callback functions */ 1N/A /* callback functions */ 1N/A/* This is modeled after the PRIOVec that is passed to the NSPR 1N/A writev function! The void* is a char* in that struct */ 1N/A * libldap read and write I/O function callbacks. The rest of the I/O callback 1N/A * Structure for use with LBER_SOCKBUF_OPT_EXT_IO_FNS: 1N/A /* lbextiofn_size should always be set to LBER_X_EXTIO_FNS_SIZE */ 1N/A * liblber memory allocation callback functions. These are global to all 1N/A * Sockbufs and BerElements. Install your own functions by using a call 1N/A * like this: ber_set_option( NULL, LBER_OPT_MEMALLOC_FN_PTRS, &memalloc_fns ); 1N/A * Functions marked as Project Private in PSARC case and moved 1N/A * These extended I/O function callbacks echo the BSD socket API but accept 1N/A * an extra pointer parameter at the end of their argument list that can 1N/A * be used by client applications for their own needs. For some of the calls, 1N/A * the pointer is a session argument of type struct lextiof_session_private * 1N/A * that is associated with the LDAP session handle (LDAP *). For others, the 1N/A * pointer is a socket specific struct lextiof_socket_private * argument that 1N/A * is associated with a particular socket (a TCP connection). 1N/A * The lextiof_session_private and lextiof_socket_private structures are not 1N/A * defined by the LDAP C API; users of this extended I/O interface should 1N/A * define these themselves. 1N/A * The combination of the integer socket number (i.e., lpoll_fd, which is 1N/A * the value returned by the CONNECT callback) and the application specific 1N/A * socket argument (i.e., lpoll_socketarg, which is the value set in *sockargpp 1N/A * by the CONNECT callback) must be unique. 1N/A * The types for the extended READ and WRITE callbacks are actually in lber.h. 1N/A * The CONNECT callback gets passed both the session argument (sessionarg) 1N/A * and a pointer to a socket argument (socketargp) so it has the 1N/A * opportunity to set the socket-specific argument. The CONNECT callback 1N/A * also takes a timeout parameter whose value can be set by calling 1N/A * ldap_set_option( ld, LDAP_X_OPT_..., &val ). The units used for the 1N/A * timeout parameter are milliseconds. 1N/A * A POLL interface is provided instead of a select() one. The timeout is 1N/A * A NEWHANDLE callback function is also provided. It is called right 1N/A * after the LDAP session handle is created, e.g., during ldap_init(). 1N/A * If the NEWHANDLE callback returns anything other than LDAP_SUCCESS, 1N/A * the session handle allocation fails. 1N/A * A DISPOSEHANDLE callback function is also provided. It is called right 1N/A * before the LDAP session handle and its contents are destroyed, e.g., 1N/A * during ldap_unbind(). 1N/A/* LDAP poll()-like descriptor: 1N/A /* pointer socket and for use by */ 1N/A/* Event flags for lpoll_events and lpoll_revents: 1N/A/* Options passed to LDAP_X_EXTIOF_CONNECT_CALLBACK to modify socket behavior: 1N/A/* extended I/O callback function prototypes: 1N/A/* Structure to hold extended I/O function pointers: 1N/A /* lextiof_size should always be set to LDAP_X_EXTIO_FNS_SIZE */ 1N/A * Utility functions for parsing space-separated host lists (useful for 1N/A * implementing an extended I/O CONNECT callback function). 1N/A * I/O callback functions (note that types for the read and write callbacks 1N/A * Structure to hold I/O function pointers: 1N/A/********* the functions in the following section are experimental ***********/ 1N/A * SSL option (an API extension): 1N/A * Referral hop limit (an API extension): 1N/A * DNS resolver callbacks (an API extension --LDAP_API_FEATURE_X_DNS_FUNCTIONS). 1N/A * Note that gethostbyaddr() is not currently used. 1N/A * Generalized cache callback interface: 1N/A/* cache strategies */ 1N/A * Memory allocation callback functions (an API extension -- 1N/A * LDAP_API_FEATURE_X_MEMALLOC_FUNCTIONS). These are global and can 1N/A * not be set on a per-LDAP session handle basis. Install your own 1N/A * functions by making a call like this: 1N/A * ldap_set_option( NULL, LDAP_OPT_MEMALLOC_FN_PTRS, &memalloc_fns ); 1N/A * look in lber.h for the function typedefs themselves. 1N/A * Memory allocation functions (an API extension) 1N/A * Extra thread callback functions (an API extension -- 1N/A * LDAP_API_FEATURE_X_EXTHREAD_FUNCTIONS) 1N/A * Debugging level (an API extension) 1N/A/* On UNIX, there's only one copy of ldap_debug */ 1N/A/* On NT, each dll keeps its own module_ldap_debug, which */ 1N/A/* points to the process' ldap_debug and needs initializing after load */ 1N/A/************************ end of experimental section ************************/ 1N/A * UTF-8 routines (should these move into libnls?) 1N/A/* number of bytes in character */ 1N/A/* find next character */ 1N/A/* find previous character */ 1N/A/* copy one character */ 1N/A/* total number of characters */ 1N/A/* get one UCS-4 character, and move *src to the next character */ 1N/A/* UTF-8 aware strtok_r() */ 1N/A/* like isalnum(*s) in the C locale */ 1N/A/* like isalpha(*s) in the C locale */ 1N/A/* like isdigit(*s) in the C locale */ 1N/A/* like isxdigit(*s) in the C locale */ 1N/A/* like isspace(*s) in the C locale */ 1N/A#
endif /* _SOLARISINT_H */