diff options
author | Sumit Bose <sbose@redhat.com> | 2009-07-14 21:12:30 +0200 |
---|---|---|
committer | Sumit Bose <sbose@redhat.com> | 2009-07-14 21:12:30 +0200 |
commit | e4cf358b4b675ade617a17f8597f09da7852774e (patch) | |
tree | 54155a461c3a8006302d199f076955e2c5b407a5 /server/providers/dp_backend.h | |
parent | 7f5e857a11f932c247b5a96d0d86768226ba2e96 (diff) | |
download | sssd-new_backend_target.tar.gz sssd-new_backend_target.tar.xz sssd-new_backend_target.zip |
add infrastructure to handle new backend targetsnew_backend_target
Diffstat (limited to 'server/providers/dp_backend.h')
-rw-r--r-- | server/providers/dp_backend.h | 32 |
1 files changed, 30 insertions, 2 deletions
diff --git a/server/providers/dp_backend.h b/server/providers/dp_backend.h index 27f79eb7a..3a07827a8 100644 --- a/server/providers/dp_backend.h +++ b/server/providers/dp_backend.h @@ -36,6 +36,33 @@ typedef void (*be_shutdown_fn)(void *); typedef void (*be_req_fn_t)(struct be_req *); typedef void (*be_async_callback_t)(struct be_req *, int, const char *); +enum be_target { + BE_TARGET_NULL = 0, + BE_TARGET_ID, + BE_TARGET_AUTH, + BE_TARGET_ACCESS, + BE_TARGET_CHPASS, + BE_TARGET_MAX +}; + +struct be_target_data { + enum be_target be_target; + const char *option_name; + const char *mod_init_fn_name_fmt; +}; + +struct loaded_be { + char *be_name; + void *handle; +}; + +struct be_target_info { + enum be_target be_target; + struct be_auth_ops *target_ops; + void *pvt_target_data; +}; + + struct be_ctx { struct tevent_context *ev; struct confdb_ctx *cdb; @@ -47,11 +74,12 @@ struct be_ctx { const char *identity; const char *conf_path; + struct loaded_be loaded_be[BE_TARGET_MAX]; + struct be_id_ops *id_ops; void *pvt_id_data; - struct be_auth_ops *auth_ops; - void *pvt_auth_data; + struct be_target_info be_target_info[BE_TARGET_MAX]; }; struct be_id_ops { |