summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorNalin Dahyabhai <nalin.dahyabhai@pobox.com>2008-06-30 18:38:06 -0400
committerNalin Dahyabhai <nalin.dahyabhai@pobox.com>2008-06-30 18:38:06 -0400
commit760d12ccc4c451d2cf808aabc4759e09a36dd220 (patch)
tree83d2f8d2a6f655de9fe9c2f237e95aace1f365dc /src
parentbe45530e75b2f2cd145d906a84316127bc9c9c0d (diff)
downloadslapi-nis-760d12ccc4c451d2cf808aabc4759e09a36dd220.tar.gz
slapi-nis-760d12ccc4c451d2cf808aabc4759e09a36dd220.tar.xz
slapi-nis-760d12ccc4c451d2cf808aabc4759e09a36dd220.zip
- whoops, this file needs to be re-added to VCS
Diffstat (limited to 'src')
-rw-r--r--src/backend.h52
1 files changed, 52 insertions, 0 deletions
diff --git a/src/backend.h b/src/backend.h
new file mode 100644
index 0000000..2afbaae
--- /dev/null
+++ b/src/backend.h
@@ -0,0 +1,52 @@
+#ifndef backend_h
+#define backend_h
+struct backend_set_data;
+struct plugin_state;
+struct inref_attr;
+
+/* Startup/initialization functions called through the map. */
+void backend_startup(struct plugin_state *state);
+void backend_init(struct slapi_pblock *pb, struct plugin_state *state);
+
+/* Read the server's name. */
+int backend_read_master_name(struct plugin_state *state, char **master);
+void backend_free_master_name(struct plugin_state *state, char *master);
+
+/* Read enough of the set's configuration for the formatter to be able to
+ * resolve references correctly. */
+void backend_get_set_config(struct plugin_state *state,
+ const char *group, const char *set,
+ char ***bases, char **entry_filter);
+void backend_free_set_config(char **bases, char *entry_filter);
+
+/* Read configuration from a set configuration. */
+struct plugin_state *backend_set_config_get_state(struct backend_set_data *);
+char **backend_set_config_get_bases(struct backend_set_data *set_data);
+char *backend_set_config_get_filter(struct backend_set_data *set_data);
+char *backend_set_config_get_group(struct backend_set_data *set_data);
+char *backend_set_config_get_set(struct backend_set_data *set_data);
+struct format_inref_attr **backend_set_config_get_inref_attrs(struct backend_set_data *set_data);
+char **backend_set_config_get_ref_attrs(struct backend_set_data *set_data);
+
+/* Check if an entry is a set configuration, and add or remove one. */
+bool_t backend_entry_is_a_set(struct plugin_state *state,
+ Slapi_PBlock *pb, Slapi_Entry *e);
+int backend_set_config_entry_add_cb(Slapi_Entry *e, void *callback_data);
+int backend_set_config_entry_delete_cb(Slapi_Entry *e, void *callback_data);
+
+/* Set an entry in a set. */
+void backend_set_entry_one(Slapi_Entry *e, struct backend_set_data *set_data);
+
+/* Read and free set configurations. */
+void backend_set_config_read_config(struct plugin_state *state,
+ Slapi_Entry *e,
+ const char *group, const char *set,
+ bool_t *flag,
+ struct backend_set_data **set_data);
+void backend_set_config_free_config(struct backend_set_data *set_data);
+
+/* Re-read any plugin configuration data which can be modified without
+ * requiring a restart. */
+void backend_update_params(struct plugin_state *state);
+
+#endif