LDAP_FRIENDLY(3)

NAME
ldap_friendly_name, ldap_free_friendlymap - LDAP unfriendly to friendly name mapping routine

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

typedef struct friendly {
        char *f_unfriendly;
        char *f_friendly;
} FriendlyMap;

char *ldap_friendly_name(filename, name, map)
char *filename;
char *name;
FriendlyMap **map;

void ldap_free_friendlymap(map)
FriendlyMap **map;

DESCRIPTION
This routine is used to map one set of strings to another. Typically, this is done for country names, to map from the two-letter country codes to longer more readable names. The mechanism is general enough to be used with other things, though.

filename is the name of a file containing the unfriendly to friendly mapping, name is the unfriendly name to map to a friendly name, and map is a result-parameter that should be set to NULL on the first call. It is then used to hold the mapping in core so that the file need not be read on subsequent calls.

For example:

        FriendlyMap *map = NULL;
        printf( "unfriendly %s => friendly %s\n", name,
            ldap_friendly_name( "DATADIR/ldapfriendly", name, &map ) );

The mapping file should contain lines like this: unfriendlyname\tfriendlyname. Lines that begin with a '#' character are comments and are ignored.

The ldap_free_friendlymap() call is used to free structures allocated by ldap_friendly_name() when no more calls to ldap_friendly_name() are to be made.

ERRORS
NULL is returned by ldap_friendly_name() if there is an error opening filename, or if the file has a bad format, or if the map parameter is NULL.

FILES
DATADIR/ldapfriendly.conf

SEE ALSO
ldap(3)

ACKNOWLEDGEMENTS
OpenLDAP is developed and maintained by The OpenLDAP Project (http://www.openldap.org/). OpenLDAP is derived from University of Michigan LDAP 3.3 Release.