summaryrefslogtreecommitdiffstats
path: root/server/providers/ldap/sdap.h
diff options
context:
space:
mode:
Diffstat (limited to 'server/providers/ldap/sdap.h')
-rw-r--r--server/providers/ldap/sdap.h28
1 files changed, 23 insertions, 5 deletions
diff --git a/server/providers/ldap/sdap.h b/server/providers/ldap/sdap.h
index 85b175155..8466473e3 100644
--- a/server/providers/ldap/sdap.h
+++ b/server/providers/ldap/sdap.h
@@ -23,10 +23,32 @@
#include "db/sysdb.h"
#include <ldap.h>
+struct sdap_msg {
+ LDAPMessage *msg;
+};
+
+typedef void (sdap_op_callback_t)(void *, int, struct sdap_msg *);
+
+struct sdap_handle;
+
+struct sdap_op {
+ struct sdap_op *prev, *next;
+ struct sdap_handle *sh;
+
+ int msgid;
+ bool done;
+
+ sdap_op_callback_t *callback;
+ void *data;
+};
+
struct sdap_handle {
LDAP *ldap;
bool connected;
- int fd;
+
+ struct tevent_fd *fde;
+
+ struct sdap_op *ops;
};
enum sdap_result {
@@ -39,10 +61,6 @@ enum sdap_result {
SDAP_AUTH_FAILED
};
-struct sdap_msg {
- LDAPMessage *msg;
-};
-
#define SDAP_URI 0
#define SDAP_DEFAULT_BIND_DN 1
#define SDAP_DEFAULT_AUTHTOK_TYPE 2