diff options
author | Amitay Isaacs <amitay@gmail.com> | 2016-08-31 15:49:27 +1000 |
---|---|---|
committer | Amitay Isaacs <amitay@samba.org> | 2016-12-18 14:23:22 +0100 |
commit | c0c34337d93aca4d683bbe273c67a2303419312d (patch) | |
tree | 3957b8759f1acb962feb4657313f31467bcf5951 /ctdb/protocol/protocol.h | |
parent | 7ae530c2ab4cf37a51f32bcc6c94628f62493305 (diff) | |
download | samba-c0c34337d93aca4d683bbe273c67a2303419312d.tar.gz |
ctdb-protocol: Add data types for eventd communication
Signed-off-by: Amitay Isaacs <amitay@gmail.com>
Reviewed-by: Martin Schwenke <martin@meltin.net>
Diffstat (limited to 'ctdb/protocol/protocol.h')
-rw-r--r-- | ctdb/protocol/protocol.h | 80 |
1 files changed, 80 insertions, 0 deletions
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__ */ |