summaryrefslogtreecommitdiffstats
path: root/server/providers/dp_backend.h
diff options
context:
space:
mode:
authorSimo Sorce <idra@samba.org>2009-02-12 15:57:52 -0500
committerSimo Sorce <idra@samba.org>2009-02-13 19:32:27 -0500
commit9b8e4c72933306216507ea869081632fa83a902d (patch)
tree4239393a9495affad5e7655fdad7240bc9418bda /server/providers/dp_backend.h
parent314f09402c10ab5a049f25b44f59d75ce5880910 (diff)
downloadsssd-9b8e4c72933306216507ea869081632fa83a902d.tar.gz
sssd-9b8e4c72933306216507ea869081632fa83a902d.tar.xz
sssd-9b8e4c72933306216507ea869081632fa83a902d.zip
Make backend requests async
Diffstat (limited to 'server/providers/dp_backend.h')
-rw-r--r--server/providers/dp_backend.h31
1 files changed, 27 insertions, 4 deletions
diff --git a/server/providers/dp_backend.h b/server/providers/dp_backend.h
index 219df957c..765c16ee7 100644
--- a/server/providers/dp_backend.h
+++ b/server/providers/dp_backend.h
@@ -41,11 +41,34 @@ struct be_ctx {
void *pvt_data;
};
+struct be_req;
+
+typedef void (*be_async_callback_t)(struct be_req *, int, const char *);
+
+struct be_req {
+ struct be_ctx *be_ctx;
+ void *req_data;
+
+ be_async_callback_t fn;
+ void *pvt;
+};
+
+struct be_acct_req {
+ int entry_type;
+ int attr_type;
+ int filter_type;
+ char *filter_value;
+};
+
+struct be_online_req {
+ int online;
+};
+
+typedef void (*be_req_fn_t)(struct be_req *);
+
struct be_mod_ops {
- int (*check_online)(struct be_ctx *, int *reply);
- int (*get_account_info)(struct be_ctx *,
- int entry_type, int attr_type,
- int filter_type, char *filter_value);
+ be_req_fn_t check_online;
+ be_req_fn_t get_account_info;
};
#endif /* __DP_BACKEND_H___ */