From c0c34337d93aca4d683bbe273c67a2303419312d Mon Sep 17 00:00:00 2001 From: Amitay Isaacs Date: Wed, 31 Aug 2016 15:49:27 +1000 Subject: [PATCH] ctdb-protocol: Add data types for eventd communication Signed-off-by: Amitay Isaacs Reviewed-by: Martin Schwenke --- ctdb/protocol/protocol.h | 80 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 80 insertions(+) diff --git a/ctdb/protocol/protocol.h b/ctdb/protocol/protocol.h index 73af735f55a..169602ca82c 100644 --- a/ctdb/protocol/protocol.h +++ b/ctdb/protocol/protocol.h @@ -1002,4 +1002,84 @@ struct ctdb_g_lock_list { struct ctdb_g_lock *lock; }; +/* + * Eventd protocol + */ + +enum ctdb_event_command { + CTDB_EVENT_COMMAND_RUN = 1, + CTDB_EVENT_COMMAND_STATUS = 2, + CTDB_EVENT_COMMAND_SCRIPT_LIST = 3, + CTDB_EVENT_COMMAND_SCRIPT_ENABLE = 4, + CTDB_EVENT_COMMAND_SCRIPT_DISABLE = 5, +}; + +enum ctdb_event_status_state { + CTDB_EVENT_LAST_RUN = 1, + CTDB_EVENT_LAST_PASS = 2, + CTDB_EVENT_LAST_FAIL = 3, +}; + +struct ctdb_event_request_run { + enum ctdb_event event; + uint32_t timeout; + const char *arg_str; +}; + +struct ctdb_event_request_status { + enum ctdb_event event; + enum ctdb_event_status_state state; +}; + +struct ctdb_event_request_script_enable { + const char *script_name; +}; + +struct ctdb_event_request_script_disable { + const char *script_name; +}; + +struct ctdb_event_request_data { + enum ctdb_event_command command; + union { + struct ctdb_event_request_run *run; + struct ctdb_event_request_status *status; + struct ctdb_event_request_script_enable *script_enable; + struct ctdb_event_request_script_disable *script_disable; + } data; +}; + +struct ctdb_event_reply_status { + int status; + struct ctdb_script_list *script_list; +}; + +struct ctdb_event_reply_script_list { + struct ctdb_script_list *script_list; +}; + +struct ctdb_event_reply_data { + enum ctdb_event_command command; + int32_t result; + union { + struct ctdb_event_reply_status *status; + struct ctdb_event_reply_script_list *script_list; + } data; +}; + +struct ctdb_event_header { + uint32_t length; + uint32_t reqid; +}; + +struct ctdb_event_request { + struct ctdb_event_header header; + struct ctdb_event_request_data rdata; +}; + +struct ctdb_event_reply { + struct ctdb_event_header header; + struct ctdb_event_reply_data rdata; +}; + #endif /* __CTDB_PROTOCOL_H__ */ -- 2.34.1