LDAPMessage *entry ));
typedef struct ldap_ava {
- char *la_attr;
+ struct berval *la_attr;
struct berval *la_value;
unsigned la_flags;
-#define LDAP_AVA_STRING 0x0000U
-#define LDAP_AVA_BINARY 0x0001U
+#define LDAP_AVA_STRING 0x0000U
+#define LDAP_AVA_BINARY 0x0001U
+#define LDAP_AVA_NONPRINTABLE 0x0002U
} LDAPAVA;
typedef LDAPAVA** LDAPRDN;
#define LDAP_DN_FORMAT_LDAPV2 0x0001U
#define LDAP_DN_FORMAT_DCE 0x0002U
#define LDAP_DN_FORMAT_UFN 0x0003U /* dn2str only */
+#define LDAP_DN_FORMAT_AD_CANONICAL 0x0004U /* dn2str only */
#define LDAP_DN_FORMAT_MASK 0x000FU
-/* str2dn flags */
-#define LDAP_DN_PEDANTIC 0x1000U
+/* str2dn flags */
+#define LDAP_DN_P_NOLEADTRAILSPACES 0x1000U
+#define LDAP_DN_P_NOSPACEAFTERRDN 0x2000U
+#define LDAP_DN_PEDANTIC 0xF000U
LDAP_F( int )
ldap_str2dn LDAP_P((
char **str,
unsigned flags ));
+LDAP_F( void )
+ldapava_free_dn LDAP_P(( LDAPDN *dn ));
+
+LDAP_F( int )
+ldap_str2rdn LDAP_P((
+ const char *str,
+ LDAPRDN **rdn,
+ const char **next,
+ unsigned flags ));
+
+LDAP_F( int )
+ldap_rdn2str LDAP_P((
+ LDAPRDN *rdn,
+ char **str,
+ unsigned flags ));
+
+LDAP_F( void )
+ldapava_free_rdn LDAP_P(( LDAPRDN *rdn ));
+
+LDAP_F( int )
+ldap_dn_normalize LDAP_P((
+ LDAP_CONST char *in, unsigned iflags,
+ char **out, unsigned oflags ));
+
LDAP_F( char * )
ldap_dn2ufn LDAP_P(( /* deprecated */
LDAP_CONST char *dn ));
LDAP_F( char * )
ldap_dcedn2dn LDAP_P(( LDAP_CONST char *dce )); /* deprecated */
+LDAP_F( char * )
+ldap_dn2ad_canonical LDAP_P(( LDAP_CONST char *dn )); /* deprecated */
+
/*
* in getattr.c
*/