1: /*
2: * Automatically generated from ./regress.rpc
3: */
4:
5: #ifndef ___REGRESS_RPC_
6: #define ___REGRESS_RPC_
7:
8: #include <event-config.h>
9: #ifdef _EVENT_HAVE_STDINT_H
10: #include <stdint.h>
11: #endif
12: #define EVTAG_HAS(msg, member) ((msg)->member##_set == 1)
13: #ifdef __GNUC__
14: #define EVTAG_ASSIGN(msg, member, args...) (*(msg)->base->member##_assign)(msg, ## args)
15: #define EVTAG_GET(msg, member, args...) (*(msg)->base->member##_get)(msg, ## args)
16: #else
17: #define EVTAG_ASSIGN(msg, member, ...) (*(msg)->base->member##_assign)(msg, ## __VA_ARGS__)
18: #define EVTAG_GET(msg, member, ...) (*(msg)->base->member##_get)(msg, ## __VA_ARGS__)
19: #endif
20: #define EVTAG_ADD(msg, member) (*(msg)->base->member##_add)(msg)
21: #define EVTAG_LEN(msg, member) ((msg)->member##_length)
22:
23: struct msg;
24: struct kill;
25: struct run;
26:
27: /* Tag definition for msg */
28: enum msg_ {
29: MSG_FROM_NAME=1,
30: MSG_TO_NAME=2,
31: MSG_ATTACK=3,
32: MSG_RUN=4,
33: MSG_MAX_TAGS
34: };
35:
36: /* Structure declaration for msg */
37: struct msg_access_ {
38: int (*from_name_assign)(struct msg *, const char *);
39: int (*from_name_get)(struct msg *, char * *);
40: int (*to_name_assign)(struct msg *, const char *);
41: int (*to_name_get)(struct msg *, char * *);
42: int (*attack_assign)(struct msg *, const struct kill*);
43: int (*attack_get)(struct msg *, struct kill* *);
44: int (*run_assign)(struct msg *, int, const struct run *);
45: int (*run_get)(struct msg *, int, struct run * *);
46: struct run * (*run_add)(struct msg *);
47: };
48:
49: struct msg {
50: struct msg_access_ *base;
51:
52: char *from_name_data;
53: char *to_name_data;
54: struct kill* attack_data;
55: struct run **run_data;
56: int run_length;
57: int run_num_allocated;
58:
59: ev_uint8_t from_name_set;
60: ev_uint8_t to_name_set;
61: ev_uint8_t attack_set;
62: ev_uint8_t run_set;
63: };
64:
65: struct msg *msg_new(void);
66: void msg_free(struct msg *);
67: void msg_clear(struct msg *);
68: void msg_marshal(struct evbuffer *, const struct msg *);
69: int msg_unmarshal(struct msg *, struct evbuffer *);
70: int msg_complete(struct msg *);
71: void evtag_marshal_msg(struct evbuffer *, ev_uint32_t,
72: const struct msg *);
73: int evtag_unmarshal_msg(struct evbuffer *, ev_uint32_t,
74: struct msg *);
75: int msg_from_name_assign(struct msg *, const char *);
76: int msg_from_name_get(struct msg *, char * *);
77: int msg_to_name_assign(struct msg *, const char *);
78: int msg_to_name_get(struct msg *, char * *);
79: int msg_attack_assign(struct msg *, const struct kill*);
80: int msg_attack_get(struct msg *, struct kill* *);
81: int msg_run_assign(struct msg *, int, const struct run *);
82: int msg_run_get(struct msg *, int, struct run * *);
83: struct run * msg_run_add(struct msg *);
84: /* --- msg done --- */
85:
86: /* Tag definition for kill */
87: enum kill_ {
88: KILL_WEAPON=65825,
89: KILL_ACTION=2,
90: KILL_HOW_OFTEN=3,
91: KILL_MAX_TAGS
92: };
93:
94: /* Structure declaration for kill */
95: struct kill_access_ {
96: int (*weapon_assign)(struct kill *, const char *);
97: int (*weapon_get)(struct kill *, char * *);
98: int (*action_assign)(struct kill *, const char *);
99: int (*action_get)(struct kill *, char * *);
100: int (*how_often_assign)(struct kill *, const ev_uint32_t);
101: int (*how_often_get)(struct kill *, ev_uint32_t *);
102: };
103:
104: struct kill {
105: struct kill_access_ *base;
106:
107: char *weapon_data;
108: char *action_data;
109: ev_uint32_t how_often_data;
110:
111: ev_uint8_t weapon_set;
112: ev_uint8_t action_set;
113: ev_uint8_t how_often_set;
114: };
115:
116: struct kill *kill_new(void);
117: void kill_free(struct kill *);
118: void kill_clear(struct kill *);
119: void kill_marshal(struct evbuffer *, const struct kill *);
120: int kill_unmarshal(struct kill *, struct evbuffer *);
121: int kill_complete(struct kill *);
122: void evtag_marshal_kill(struct evbuffer *, ev_uint32_t,
123: const struct kill *);
124: int evtag_unmarshal_kill(struct evbuffer *, ev_uint32_t,
125: struct kill *);
126: int kill_weapon_assign(struct kill *, const char *);
127: int kill_weapon_get(struct kill *, char * *);
128: int kill_action_assign(struct kill *, const char *);
129: int kill_action_get(struct kill *, char * *);
130: int kill_how_often_assign(struct kill *, const ev_uint32_t);
131: int kill_how_often_get(struct kill *, ev_uint32_t *);
132: /* --- kill done --- */
133:
134: /* Tag definition for run */
135: enum run_ {
136: RUN_HOW=1,
137: RUN_SOME_BYTES=2,
138: RUN_FIXED_BYTES=3,
139: RUN_MAX_TAGS
140: };
141:
142: /* Structure declaration for run */
143: struct run_access_ {
144: int (*how_assign)(struct run *, const char *);
145: int (*how_get)(struct run *, char * *);
146: int (*some_bytes_assign)(struct run *, const ev_uint8_t *, ev_uint32_t);
147: int (*some_bytes_get)(struct run *, ev_uint8_t * *, ev_uint32_t *);
148: int (*fixed_bytes_assign)(struct run *, const ev_uint8_t *);
149: int (*fixed_bytes_get)(struct run *, ev_uint8_t **);
150: };
151:
152: struct run {
153: struct run_access_ *base;
154:
155: char *how_data;
156: ev_uint8_t *some_bytes_data;
157: ev_uint32_t some_bytes_length;
158: ev_uint8_t fixed_bytes_data[24];
159:
160: ev_uint8_t how_set;
161: ev_uint8_t some_bytes_set;
162: ev_uint8_t fixed_bytes_set;
163: };
164:
165: struct run *run_new(void);
166: void run_free(struct run *);
167: void run_clear(struct run *);
168: void run_marshal(struct evbuffer *, const struct run *);
169: int run_unmarshal(struct run *, struct evbuffer *);
170: int run_complete(struct run *);
171: void evtag_marshal_run(struct evbuffer *, ev_uint32_t,
172: const struct run *);
173: int evtag_unmarshal_run(struct evbuffer *, ev_uint32_t,
174: struct run *);
175: int run_how_assign(struct run *, const char *);
176: int run_how_get(struct run *, char * *);
177: int run_some_bytes_assign(struct run *, const ev_uint8_t *, ev_uint32_t);
178: int run_some_bytes_get(struct run *, ev_uint8_t * *, ev_uint32_t *);
179: int run_fixed_bytes_assign(struct run *, const ev_uint8_t *);
180: int run_fixed_bytes_get(struct run *, ev_uint8_t **);
181: /* --- run done --- */
182:
183: #endif /* ___REGRESS_RPC_ */
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>