]> git.sur5r.net Git - openldap/blobdiff - libraries/libldap/ldap-int.h
Added the functions ldap_rename2() and ldap_rename2_s() to support LDAP
[openldap] / libraries / libldap / ldap-int.h
index e8c44098fd15d83285d08be282968d11e19ce0d6..9f27a0a6a347086c52114095720f0fe6ba06170a 100644 (file)
@@ -12,7 +12,7 @@
 #ifndef        _LDAP_INT_H
 #define        _LDAP_INT_H 1
 
-#ifdef LDAP_COMPILING_R
+#ifdef LDAP_R_COMPILE
 #define LDAP_THREAD_SAFE 1
 #endif
 
@@ -127,6 +127,7 @@ typedef struct ldap_conn {
        LDAPServer              *lconn_server;
        char                    *lconn_krbinstance;
        struct ldap_conn        *lconn_next;
+       BerElement              lconn_ber;/* ber receiving on this conn. */
 } LDAPConn;
 
 
@@ -173,6 +174,11 @@ typedef struct ldapcache {
 }  LDAPCache;
 #define NULLLDCACHE ((LDAPCache *)NULL)
 
+/*
+ * handy macro for checking if handle is connectionless
+ */
+
+#define LDAP_IS_CLDAP(ld) ((ld)->ld_cldapnaddr>0)
 
 /*
  * structure representing an ldap connection
@@ -219,8 +225,14 @@ struct ldap {
        int             *ld_abandoned;  /* array of abandoned requests */
        char            ld_attrbuffer[LDAP_MAX_ATTR_LEN];
        LDAPCache       *ld_cache;      /* non-null if cache is initialized */
-       char            *ld_cldapdn;    /* DN used in connectionless search */
-
+       /* stuff used by connectionless searches. */
+       char            *ld_cldapdn;    /* DN used in connectionless search */
+       int             ld_cldapnaddr; /* number of addresses */
+       void            **ld_cldapaddrs;/* addresses to send request to */
+#ifndef LDAP_API_FEATURE_X_OPENLDAP_V2_REFERRALS       
+       /* BerElement that this connection is receiving. */
+       BerElement      ld_ber;
+#endif 
        /* do not mess with the rest though */
        BERTranslateProc ld_lber_encode_translate_proc;
        BERTranslateProc ld_lber_decode_translate_proc;