15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* 25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Automatically generated from ./regress.rpc 35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifndef ___REGRESS_RPC_ 65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define ___REGRESS_RPC_ 75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include <event-config.h> 95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef _EVENT_HAVE_STDINT_H 105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include <stdint.h> 115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EVTAG_HAS(msg, member) ((msg)->member##_set == 1) 135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef __GNUC__ 145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EVTAG_ASSIGN(msg, member, args...) (*(msg)->base->member##_assign)(msg, ## args) 155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EVTAG_GET(msg, member, args...) (*(msg)->base->member##_get)(msg, ## args) 165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else 175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EVTAG_ASSIGN(msg, member, ...) (*(msg)->base->member##_assign)(msg, ## __VA_ARGS__) 185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EVTAG_GET(msg, member, ...) (*(msg)->base->member##_get)(msg, ## __VA_ARGS__) 195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EVTAG_ADD(msg, member) (*(msg)->base->member##_add)(msg) 215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EVTAG_LEN(msg, member) ((msg)->member##_length) 225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)struct msg; 245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)struct kill; 255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)struct run; 265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* Tag definition for msg */ 285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)enum msg_ { 295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) MSG_FROM_NAME=1, 305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) MSG_TO_NAME=2, 315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) MSG_ATTACK=3, 325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) MSG_RUN=4, 335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) MSG_MAX_TAGS 345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}; 355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* Structure declaration for msg */ 375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)struct msg_access_ { 385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) int (*from_name_assign)(struct msg *, const char *); 395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) int (*from_name_get)(struct msg *, char * *); 405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) int (*to_name_assign)(struct msg *, const char *); 415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) int (*to_name_get)(struct msg *, char * *); 425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) int (*attack_assign)(struct msg *, const struct kill*); 435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) int (*attack_get)(struct msg *, struct kill* *); 445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) int (*run_assign)(struct msg *, int, const struct run *); 455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) int (*run_get)(struct msg *, int, struct run * *); 465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) struct run * (*run_add)(struct msg *); 475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}; 485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)struct msg { 505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) struct msg_access_ *base; 515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) char *from_name_data; 535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) char *to_name_data; 545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) struct kill* attack_data; 555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) struct run **run_data; 565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) int run_length; 575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) int run_num_allocated; 585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ev_uint8_t from_name_set; 605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ev_uint8_t to_name_set; 615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ev_uint8_t attack_set; 625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ev_uint8_t run_set; 635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}; 645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)struct msg *msg_new(void); 665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void msg_free(struct msg *); 675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void msg_clear(struct msg *); 685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void msg_marshal(struct evbuffer *, const struct msg *); 695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)int msg_unmarshal(struct msg *, struct evbuffer *); 705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)int msg_complete(struct msg *); 715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void evtag_marshal_msg(struct evbuffer *, ev_uint32_t, 725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) const struct msg *); 735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)int evtag_unmarshal_msg(struct evbuffer *, ev_uint32_t, 745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) struct msg *); 755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)int msg_from_name_assign(struct msg *, const char *); 765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)int msg_from_name_get(struct msg *, char * *); 775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)int msg_to_name_assign(struct msg *, const char *); 785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)int msg_to_name_get(struct msg *, char * *); 795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)int msg_attack_assign(struct msg *, const struct kill*); 805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)int msg_attack_get(struct msg *, struct kill* *); 815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)int msg_run_assign(struct msg *, int, const struct run *); 825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)int msg_run_get(struct msg *, int, struct run * *); 835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)struct run * msg_run_add(struct msg *); 845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* --- msg done --- */ 855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* Tag definition for kill */ 875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)enum kill_ { 885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) KILL_WEAPON=65825, 895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) KILL_ACTION=2, 905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) KILL_HOW_OFTEN=3, 915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) KILL_MAX_TAGS 925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}; 935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* Structure declaration for kill */ 955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)struct kill_access_ { 965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) int (*weapon_assign)(struct kill *, const char *); 975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) int (*weapon_get)(struct kill *, char * *); 985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) int (*action_assign)(struct kill *, const char *); 995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) int (*action_get)(struct kill *, char * *); 1005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) int (*how_often_assign)(struct kill *, const ev_uint32_t); 1015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) int (*how_often_get)(struct kill *, ev_uint32_t *); 1025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}; 1035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)struct kill { 1055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) struct kill_access_ *base; 1065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) char *weapon_data; 1085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) char *action_data; 1095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ev_uint32_t how_often_data; 1105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ev_uint8_t weapon_set; 1125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ev_uint8_t action_set; 1135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ev_uint8_t how_often_set; 1145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}; 1155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)struct kill *kill_new(void); 1175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void kill_free(struct kill *); 1185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void kill_clear(struct kill *); 1195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void kill_marshal(struct evbuffer *, const struct kill *); 1205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)int kill_unmarshal(struct kill *, struct evbuffer *); 1215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)int kill_complete(struct kill *); 1225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void evtag_marshal_kill(struct evbuffer *, ev_uint32_t, 1235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) const struct kill *); 1245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)int evtag_unmarshal_kill(struct evbuffer *, ev_uint32_t, 1255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) struct kill *); 1265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)int kill_weapon_assign(struct kill *, const char *); 1275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)int kill_weapon_get(struct kill *, char * *); 1285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)int kill_action_assign(struct kill *, const char *); 1295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)int kill_action_get(struct kill *, char * *); 1305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)int kill_how_often_assign(struct kill *, const ev_uint32_t); 1315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)int kill_how_often_get(struct kill *, ev_uint32_t *); 1325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* --- kill done --- */ 1335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* Tag definition for run */ 1355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)enum run_ { 1365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) RUN_HOW=1, 1375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) RUN_SOME_BYTES=2, 1385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) RUN_FIXED_BYTES=3, 1395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) RUN_MAX_TAGS 1405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}; 1415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* Structure declaration for run */ 1435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)struct run_access_ { 1445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) int (*how_assign)(struct run *, const char *); 1455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) int (*how_get)(struct run *, char * *); 1465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) int (*some_bytes_assign)(struct run *, const ev_uint8_t *, ev_uint32_t); 1475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) int (*some_bytes_get)(struct run *, ev_uint8_t * *, ev_uint32_t *); 1485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) int (*fixed_bytes_assign)(struct run *, const ev_uint8_t *); 1495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) int (*fixed_bytes_get)(struct run *, ev_uint8_t **); 1505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}; 1515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)struct run { 1535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) struct run_access_ *base; 1545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) char *how_data; 1565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ev_uint8_t *some_bytes_data; 1575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ev_uint32_t some_bytes_length; 1585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ev_uint8_t fixed_bytes_data[24]; 1595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ev_uint8_t how_set; 1615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ev_uint8_t some_bytes_set; 1625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ev_uint8_t fixed_bytes_set; 1635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}; 1645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)struct run *run_new(void); 1665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void run_free(struct run *); 1675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void run_clear(struct run *); 1685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void run_marshal(struct evbuffer *, const struct run *); 1695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)int run_unmarshal(struct run *, struct evbuffer *); 1705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)int run_complete(struct run *); 1715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void evtag_marshal_run(struct evbuffer *, ev_uint32_t, 1725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) const struct run *); 1735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)int evtag_unmarshal_run(struct evbuffer *, ev_uint32_t, 1745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) struct run *); 1755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)int run_how_assign(struct run *, const char *); 1765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)int run_how_get(struct run *, char * *); 1775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)int run_some_bytes_assign(struct run *, const ev_uint8_t *, ev_uint32_t); 1785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)int run_some_bytes_get(struct run *, ev_uint8_t * *, ev_uint32_t *); 1795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)int run_fixed_bytes_assign(struct run *, const ev_uint8_t *); 1805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)int run_fixed_bytes_get(struct run *, ev_uint8_t **); 1815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* --- run done --- */ 1825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif /* ___REGRESS_RPC_ */ 184