#ifndef _LDAP_INT_H
#define _LDAP_INT_H 1
-#ifdef LDAP_COMPILING_R
+#ifdef LDAP_R_COMPILE
#define LDAP_THREAD_SAFE 1
#endif
LDAPServer *lconn_server;
char *lconn_krbinstance;
struct ldap_conn *lconn_next;
+ BerElement lconn_ber;/* ber receiving on this conn. */
} LDAPConn;
} 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
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;
*/
LDAPControl *ldap_control_dup LDAP_P(( LDAPControl *ctrl ));
LDAPControl **ldap_controls_dup LDAP_P(( LDAPControl **ctrl ));
+int ldap_get_ber_controls LDAP_P(( BerElement *be, LDAPControl ***cp));
/*
* in dsparse.c