LDAP Library Functions ldap_charset(3LDAP)
NAME
ldap_charset, ldap_set_string_translators, ldap_t61_to_8859,
ldap_8859_to_t61, ldap_translate_from_t61,
ldap_translate_to_t61, ldap_enable_translation - LDAP char-
acter set translation functionsSYNOPSIS
cc[ flag... ] file... -lldap[ library... ]
#include
#include
void ldap_set_string_translators(LDAP *ld,
BERTranslateProc encode_proc, BERTranslateProc decodeproc);
typedef int(*BERTranslateProc)(char **bufp, unsigned long *buflenp,int free_input);
int ldap_t61_to_8859(char **bufp, unsigned long *buflenp,
int free_input);
int ldap_8859_to_t61(char **bufp, unsigned long *buflenp,
int free_input);
int ldap_translate_from_t61(LDAP *ld, char **bufp,
unsigned long *lenp, int free_input);
int ldap_translate_to_t61(LDAP *ld, char **bufp, unsigned long *lenp,
int free_input);
void ldap_enable_translation(LDAP *ld, LDAPMessage *entry, int enable);
DESCRIPTION
These functions are used to used to enable translation of character strings used in the LDAP library to and from theT.61 character set used in the LDAP protocol. These func-
tions are only available if the LDAP and LBER libraries arecompiled with STR_TRANSLATION defined. It is also possible
to turn on character translation by default so that all LDAP library callers will experience translation; see the LDAPMake-common source file for details.
ldap_set_string_translators() sets the translation functions
that will be used by the LDAP library. They are not actu-
ally used until the ld_lberoptions field of the LDAP
SunOS 5.11 Last change: 27 Jan 2002 1
LDAP Library Functions ldap_charset(3LDAP)
structure is set to include the LBER_TRANSLATE_STRINGS
option.ldap_t61_to_8859() and ldap_8859_to_t61() are translation
functions for converting between T.61 characters and ISO-
8859 characters. The specific 8859 character set used is determined at compile time.ldap_translate_from_t61() is used to translate a string of
characters from the T.61 character set to a different char-
acter set. The actual translation is done using thedecode_proc that was passed to a previous call to
ldap_set_string_translators(). On entry, *bufp should point
to the start of the T.61 characters to be translated and *lenp should contain the number of bytes to translate. Iffree_input is non-zero, the input buffer will be freed if
translation is a success. If the translation is a success,LDAP_SUCCESS will be returned, *bufp will point to a newly
malloc'd buffer that contains the translated characters, and *lenp will contain the length of the result. If translation fails, an LDAP error code will be returned.ldap_translate_to_t61() is used to translate a string of
characters to the T.61 character set from a different char-
acter set. The actual translation is done using theencode_proc that was passed to a previous call to
ldap_set_string_translators(). This function is called just
like ldap_translate_from_t61().
ldap_enable_translation() is used to turn on or off string
translation for the LDAP entry entry (typically obtained bycalling ldap_first_entry() or ldap_next_entry() after a suc-
cessful LDAP search operation). If enable is zero, transla-
tion is disabled; if non-zero, translation is enabled. This
function is useful if you need to ensure that a particular attribute is not translated when it is extracted usingldap_get_values() or ldap_get_values_len(). For example, you
would not want to translate a binary attributes such as jpegPhoto.ATTRIBUTES
See attributes(5) for a description of the following attri-
butes:SunOS 5.11 Last change: 27 Jan 2002 2
LDAP Library Functions ldap_charset(3LDAP)
____________________________________________________________
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
| Availability | system/library (32-bit) |
| | SUNWcslx (64-bit) |
| Interface Stability | Committed ||_____________________________|_____________________________|
SEE ALSO
ldap(3LDAP), attributes(5)SunOS 5.11 Last change: 27 Jan 2002 3