aboutsummaryrefslogtreecommitdiffstats
path: root/main.h
diff options
context:
space:
mode:
authorVsevolod Stakhov <vsevolod@rambler-co.ru>2008-10-23 19:10:40 +0400
committerVsevolod Stakhov <vsevolod@rambler-co.ru>2008-10-23 19:10:40 +0400
commite5f01249a3498ab47c7c7852f83564d466629a8b (patch)
tree03f4a6f4a1dc52ca29e8a9e3aff6f9048c3cf9a3 /main.h
parent9d6f80f8a3fbdc7d8079f6a60d936532098e27a4 (diff)
downloadrspamd-e5f01249a3498ab47c7c7852f83564d466629a8b.tar.gz
rspamd-e5f01249a3498ab47c7c7852f83564d466629a8b.zip
* Add initial implementation of control interface
Diffstat (limited to 'main.h')
-rw-r--r--main.h14
1 files changed, 13 insertions, 1 deletions
diff --git a/main.h b/main.h
index 1902f2d84..de8969de8 100644
--- a/main.h
+++ b/main.h
@@ -46,6 +46,7 @@
enum process_type {
TYPE_MAIN,
TYPE_WORKER,
+ TYPE_CONTROLLER,
};
/* Filter type */
@@ -105,6 +106,17 @@ struct save_point {
unsigned int saved;
};
+/* Control session */
+struct controller_session {
+ struct rspamd_worker *worker;
+ /* Access to authorized commands */
+ int authorized;
+ memory_pool_t *session_pool;
+ struct bufferevent *bev;
+ struct config_file *cfg;
+};
+
+/* Worker task structure */
struct worker_task {
struct rspamd_worker *worker;
enum {
@@ -138,7 +150,6 @@ struct worker_task {
TAILQ_HEAD (uriq, uri) urls;
/* Hash of metric result structures */
GHashTable *results;
- /* Config file to write to */
struct config_file *cfg;
/* Save point for filters deferred processing */
struct save_point save;
@@ -163,6 +174,7 @@ struct c_module {
};
void start_worker (struct rspamd_worker *worker, int listen_sock);
+void start_controller (struct rspamd_worker *worker);
#endif