root/src/modules/librabbitmq/amqp_framing.h

Revision 1e8ae2b61ace7f9ef47a4f5c190bd2df06b04588, 25.6 kB (checked in by Theo Schlossnagle <jesus@omniti.com>, 4 years ago)

initial import of a failover-aware AMQP client courtesy of Circonus

  • Property mode set to 100644
Line 
1 #ifndef librabbitmq_amqp_framing_h
2 #define librabbitmq_amqp_framing_h
3
4 #ifdef __cplusplus
5 extern "C" {
6 #endif
7
8 #define AMQP_PROTOCOL_VERSION_MAJOR 8
9 #define AMQP_PROTOCOL_VERSION_MINOR 0
10 #define AMQP_PROTOCOL_PORT 5672
11 #define AMQP_FRAME_METHOD 1
12 #define AMQP_FRAME_HEADER 2
13 #define AMQP_FRAME_BODY 3
14 #define AMQP_FRAME_OOB_METHOD 4
15 #define AMQP_FRAME_OOB_HEADER 5
16 #define AMQP_FRAME_OOB_BODY 6
17 #define AMQP_FRAME_TRACE 7
18 #define AMQP_FRAME_HEARTBEAT 8
19 #define AMQP_FRAME_MIN_SIZE 4096
20 #define AMQP_FRAME_END 206
21 #define AMQP_REPLY_SUCCESS 200
22 #define AMQP_NOT_DELIVERED 310
23 #define AMQP_CONTENT_TOO_LARGE 311
24 #define AMQP_NO_ROUTE 312
25 #define AMQP_NO_CONSUMERS 313
26 #define AMQP_ACCESS_REFUSED 403
27 #define AMQP_NOT_FOUND 404
28 #define AMQP_RESOURCE_LOCKED 405
29 #define AMQP_PRECONDITION_FAILED 406
30 #define AMQP_CONNECTION_FORCED 320
31 #define AMQP_INVALID_PATH 402
32 #define AMQP_FRAME_ERROR 501
33 #define AMQP_SYNTAX_ERROR 502
34 #define AMQP_COMMAND_INVALID 503
35 #define AMQP_CHANNEL_ERROR 504
36 #define AMQP_RESOURCE_ERROR 506
37 #define AMQP_NOT_ALLOWED 530
38 #define AMQP_NOT_IMPLEMENTED 540
39 #define AMQP_INTERNAL_ERROR 541
40
41 /* Function prototypes. */
42 extern char const *amqp_method_name(amqp_method_number_t methodNumber);
43 extern amqp_boolean_t amqp_method_has_content(amqp_method_number_t methodNumber);
44 extern int amqp_decode_method(amqp_method_number_t methodNumber,
45                               amqp_pool_t *pool,
46                               amqp_bytes_t encoded,
47                               void **decoded);
48 extern int amqp_decode_properties(uint16_t class_id,
49                                   amqp_pool_t *pool,
50                                   amqp_bytes_t encoded,
51                                   void **decoded);
52 extern int amqp_encode_method(amqp_method_number_t methodNumber,
53                               void *decoded,
54                               amqp_bytes_t encoded);
55 extern int amqp_encode_properties(uint16_t class_id,
56                                   void *decoded,
57                                   amqp_bytes_t encoded);
58
59 /* Method field records. */
60 #define AMQP_CONNECTION_START_METHOD ((amqp_method_number_t) 0x000A000A) /* 10, 10; 655370 */
61 typedef struct amqp_connection_start_t_ {
62   uint8_t version_major;
63   uint8_t version_minor;
64   amqp_table_t server_properties;
65   amqp_bytes_t mechanisms;
66   amqp_bytes_t locales;
67 } amqp_connection_start_t;
68
69 #define AMQP_CONNECTION_START_OK_METHOD ((amqp_method_number_t) 0x000A000B) /* 10, 11; 655371 */
70 typedef struct amqp_connection_start_ok_t_ {
71   amqp_table_t client_properties;
72   amqp_bytes_t mechanism;
73   amqp_bytes_t response;
74   amqp_bytes_t locale;
75 } amqp_connection_start_ok_t;
76
77 #define AMQP_CONNECTION_SECURE_METHOD ((amqp_method_number_t) 0x000A0014) /* 10, 20; 655380 */
78 typedef struct amqp_connection_secure_t_ {
79   amqp_bytes_t challenge;
80 } amqp_connection_secure_t;
81
82 #define AMQP_CONNECTION_SECURE_OK_METHOD ((amqp_method_number_t) 0x000A0015) /* 10, 21; 655381 */
83 typedef struct amqp_connection_secure_ok_t_ {
84   amqp_bytes_t response;
85 } amqp_connection_secure_ok_t;
86
87 #define AMQP_CONNECTION_TUNE_METHOD ((amqp_method_number_t) 0x000A001E) /* 10, 30; 655390 */
88 typedef struct amqp_connection_tune_t_ {
89   uint16_t channel_max;
90   uint32_t frame_max;
91   uint16_t heartbeat;
92 } amqp_connection_tune_t;
93
94 #define AMQP_CONNECTION_TUNE_OK_METHOD ((amqp_method_number_t) 0x000A001F) /* 10, 31; 655391 */
95 typedef struct amqp_connection_tune_ok_t_ {
96   uint16_t channel_max;
97   uint32_t frame_max;
98   uint16_t heartbeat;
99 } amqp_connection_tune_ok_t;
100
101 #define AMQP_CONNECTION_OPEN_METHOD ((amqp_method_number_t) 0x000A0028) /* 10, 40; 655400 */
102 typedef struct amqp_connection_open_t_ {
103   amqp_bytes_t virtual_host;
104   amqp_bytes_t capabilities;
105   amqp_boolean_t insist;
106 } amqp_connection_open_t;
107
108 #define AMQP_CONNECTION_OPEN_OK_METHOD ((amqp_method_number_t) 0x000A0029) /* 10, 41; 655401 */
109 typedef struct amqp_connection_open_ok_t_ {
110   amqp_bytes_t known_hosts;
111 } amqp_connection_open_ok_t;
112
113 #define AMQP_CONNECTION_REDIRECT_METHOD ((amqp_method_number_t) 0x000A0032) /* 10, 50; 655410 */
114 typedef struct amqp_connection_redirect_t_ {
115   amqp_bytes_t host;
116   amqp_bytes_t known_hosts;
117 } amqp_connection_redirect_t;
118
119 #define AMQP_CONNECTION_CLOSE_METHOD ((amqp_method_number_t) 0x000A003C) /* 10, 60; 655420 */
120 typedef struct amqp_connection_close_t_ {
121   uint16_t reply_code;
122   amqp_bytes_t reply_text;
123   uint16_t class_id;
124   uint16_t method_id;
125 } amqp_connection_close_t;
126
127 #define AMQP_CONNECTION_CLOSE_OK_METHOD ((amqp_method_number_t) 0x000A003D) /* 10, 61; 655421 */
128 typedef struct amqp_connection_close_ok_t_ {
129   unsigned unused:1;
130 } amqp_connection_close_ok_t;
131
132 #define AMQP_CHANNEL_OPEN_METHOD ((amqp_method_number_t) 0x0014000A) /* 20, 10; 1310730 */
133 typedef struct amqp_channel_open_t_ {
134   amqp_bytes_t out_of_band;
135 } amqp_channel_open_t;
136
137 #define AMQP_CHANNEL_OPEN_OK_METHOD ((amqp_method_number_t) 0x0014000B) /* 20, 11; 1310731 */
138 typedef struct amqp_channel_open_ok_t_ {
139   unsigned unused:1;
140 } amqp_channel_open_ok_t;
141
142 #define AMQP_CHANNEL_FLOW_METHOD ((amqp_method_number_t) 0x00140014) /* 20, 20; 1310740 */
143 typedef struct amqp_channel_flow_t_ {
144   amqp_boolean_t active;
145 } amqp_channel_flow_t;
146
147 #define AMQP_CHANNEL_FLOW_OK_METHOD ((amqp_method_number_t) 0x00140015) /* 20, 21; 1310741 */
148 typedef struct amqp_channel_flow_ok_t_ {
149   amqp_boolean_t active;
150 } amqp_channel_flow_ok_t;
151
152 #define AMQP_CHANNEL_ALERT_METHOD ((amqp_method_number_t) 0x0014001E) /* 20, 30; 1310750 */
153 typedef struct amqp_channel_alert_t_ {
154   uint16_t reply_code;
155   amqp_bytes_t reply_text;
156   amqp_table_t details;
157 } amqp_channel_alert_t;
158
159 #define AMQP_CHANNEL_CLOSE_METHOD ((amqp_method_number_t) 0x00140028) /* 20, 40; 1310760 */
160 typedef struct amqp_channel_close_t_ {
161   uint16_t reply_code;
162   amqp_bytes_t reply_text;
163   uint16_t class_id;
164   uint16_t method_id;
165 } amqp_channel_close_t;
166
167 #define AMQP_CHANNEL_CLOSE_OK_METHOD ((amqp_method_number_t) 0x00140029) /* 20, 41; 1310761 */
168 typedef struct amqp_channel_close_ok_t_ {
169   unsigned unused:1;
170 } amqp_channel_close_ok_t;
171
172 #define AMQP_ACCESS_REQUEST_METHOD ((amqp_method_number_t) 0x001E000A) /* 30, 10; 1966090 */
173 typedef struct amqp_access_request_t_ {
174   amqp_bytes_t realm;
175   amqp_boolean_t exclusive;
176   amqp_boolean_t passive;
177   amqp_boolean_t active;
178   amqp_boolean_t write;
179   amqp_boolean_t read;
180 } amqp_access_request_t;
181
182 #define AMQP_ACCESS_REQUEST_OK_METHOD ((amqp_method_number_t) 0x001E000B) /* 30, 11; 1966091 */
183 typedef struct amqp_access_request_ok_t_ {
184   uint16_t ticket;
185 } amqp_access_request_ok_t;
186
187 #define AMQP_EXCHANGE_DECLARE_METHOD ((amqp_method_number_t) 0x0028000A) /* 40, 10; 2621450 */
188 typedef struct amqp_exchange_declare_t_ {
189   uint16_t ticket;
190   amqp_bytes_t exchange;
191   amqp_bytes_t type;
192   amqp_boolean_t passive;
193   amqp_boolean_t durable;
194   amqp_boolean_t auto_delete;
195   amqp_boolean_t internal;
196   amqp_boolean_t nowait;
197   amqp_table_t arguments;
198 } amqp_exchange_declare_t;
199
200 #define AMQP_EXCHANGE_DECLARE_OK_METHOD ((amqp_method_number_t) 0x0028000B) /* 40, 11; 2621451 */
201 typedef struct amqp_exchange_declare_ok_t_ {
202   unsigned unused:1;
203 } amqp_exchange_declare_ok_t;
204
205 #define AMQP_EXCHANGE_DELETE_METHOD ((amqp_method_number_t) 0x00280014) /* 40, 20; 2621460 */
206 typedef struct amqp_exchange_delete_t_ {
207   uint16_t ticket;
208   amqp_bytes_t exchange;
209   amqp_boolean_t if_unused;
210   amqp_boolean_t nowait;
211 } amqp_exchange_delete_t;
212
213 #define AMQP_EXCHANGE_DELETE_OK_METHOD ((amqp_method_number_t) 0x00280015) /* 40, 21; 2621461 */
214 typedef struct amqp_exchange_delete_ok_t_ {
215   unsigned unused:1;
216 } amqp_exchange_delete_ok_t;
217
218 #define AMQP_QUEUE_DECLARE_METHOD ((amqp_method_number_t) 0x0032000A) /* 50, 10; 3276810 */
219 typedef struct amqp_queue_declare_t_ {
220   uint16_t ticket;
221   amqp_bytes_t queue;
222   amqp_boolean_t passive;
223   amqp_boolean_t durable;
224   amqp_boolean_t exclusive;
225   amqp_boolean_t auto_delete;
226   amqp_boolean_t nowait;
227   amqp_table_t arguments;
228 } amqp_queue_declare_t;
229
230 #define AMQP_QUEUE_DECLARE_OK_METHOD ((amqp_method_number_t) 0x0032000B) /* 50, 11; 3276811 */
231 typedef struct amqp_queue_declare_ok_t_ {
232   amqp_bytes_t queue;
233   uint32_t message_count;
234   uint32_t consumer_count;
235 } amqp_queue_declare_ok_t;
236
237 #define AMQP_QUEUE_BIND_METHOD ((amqp_method_number_t) 0x00320014) /* 50, 20; 3276820 */
238 typedef struct amqp_queue_bind_t_ {
239   uint16_t ticket;
240   amqp_bytes_t queue;
241   amqp_bytes_t exchange;
242   amqp_bytes_t routing_key;
243   amqp_boolean_t nowait;
244   amqp_table_t arguments;
245 } amqp_queue_bind_t;
246
247 #define AMQP_QUEUE_BIND_OK_METHOD ((amqp_method_number_t) 0x00320015) /* 50, 21; 3276821 */
248 typedef struct amqp_queue_bind_ok_t_ {
249   unsigned unused:1;
250 } amqp_queue_bind_ok_t;
251
252 #define AMQP_QUEUE_PURGE_METHOD ((amqp_method_number_t) 0x0032001E) /* 50, 30; 3276830 */
253 typedef struct amqp_queue_purge_t_ {
254   uint16_t ticket;
255   amqp_bytes_t queue;
256   amqp_boolean_t nowait;
257 } amqp_queue_purge_t;
258
259 #define AMQP_QUEUE_PURGE_OK_METHOD ((amqp_method_number_t) 0x0032001F) /* 50, 31; 3276831 */
260 typedef struct amqp_queue_purge_ok_t_ {
261   uint32_t message_count;
262 } amqp_queue_purge_ok_t;
263
264 #define AMQP_QUEUE_DELETE_METHOD ((amqp_method_number_t) 0x00320028) /* 50, 40; 3276840 */
265 typedef struct amqp_queue_delete_t_ {
266   uint16_t ticket;
267   amqp_bytes_t queue;
268   amqp_boolean_t if_unused;
269   amqp_boolean_t if_empty;
270   amqp_boolean_t nowait;
271 } amqp_queue_delete_t;
272
273 #define AMQP_QUEUE_DELETE_OK_METHOD ((amqp_method_number_t) 0x00320029) /* 50, 41; 3276841 */
274 typedef struct amqp_queue_delete_ok_t_ {
275   uint32_t message_count;
276 } amqp_queue_delete_ok_t;
277
278 #define AMQP_QUEUE_UNBIND_METHOD ((amqp_method_number_t) 0x00320032) /* 50, 50; 3276850 */
279 typedef struct amqp_queue_unbind_t_ {
280   uint16_t ticket;
281   amqp_bytes_t queue;
282   amqp_bytes_t exchange;
283   amqp_bytes_t routing_key;
284   amqp_table_t arguments;
285 } amqp_queue_unbind_t;
286
287 #define AMQP_QUEUE_UNBIND_OK_METHOD ((amqp_method_number_t) 0x00320033) /* 50, 51; 3276851 */
288 typedef struct amqp_queue_unbind_ok_t_ {
289   unsigned unused:1;
290 } amqp_queue_unbind_ok_t;
291
292 #define AMQP_BASIC_QOS_METHOD ((amqp_method_number_t) 0x003C000A) /* 60, 10; 3932170 */
293 typedef struct amqp_basic_qos_t_ {
294   uint32_t prefetch_size;
295   uint16_t prefetch_count;
296   amqp_boolean_t global;
297 } amqp_basic_qos_t;
298
299 #define AMQP_BASIC_QOS_OK_METHOD ((amqp_method_number_t) 0x003C000B) /* 60, 11; 3932171 */
300 typedef struct amqp_basic_qos_ok_t_ {
301   unsigned unused:1;
302 } amqp_basic_qos_ok_t;
303
304 #define AMQP_BASIC_CONSUME_METHOD ((amqp_method_number_t) 0x003C0014) /* 60, 20; 3932180 */
305 typedef struct amqp_basic_consume_t_ {
306   uint16_t ticket;
307   amqp_bytes_t queue;
308   amqp_bytes_t consumer_tag;
309   amqp_boolean_t no_local;
310   amqp_boolean_t no_ack;
311   amqp_boolean_t exclusive;
312   amqp_boolean_t nowait;
313 } amqp_basic_consume_t;
314
315 #define AMQP_BASIC_CONSUME_OK_METHOD ((amqp_method_number_t) 0x003C0015) /* 60, 21; 3932181 */
316 typedef struct amqp_basic_consume_ok_t_ {
317   amqp_bytes_t consumer_tag;
318 } amqp_basic_consume_ok_t;
319
320 #define AMQP_BASIC_CANCEL_METHOD ((amqp_method_number_t) 0x003C001E) /* 60, 30; 3932190 */
321 typedef struct amqp_basic_cancel_t_ {
322   amqp_bytes_t consumer_tag;
323   amqp_boolean_t nowait;
324 } amqp_basic_cancel_t;
325
326 #define AMQP_BASIC_CANCEL_OK_METHOD ((amqp_method_number_t) 0x003C001F) /* 60, 31; 3932191 */
327 typedef struct amqp_basic_cancel_ok_t_ {
328   amqp_bytes_t consumer_tag;
329 } amqp_basic_cancel_ok_t;
330
331 #define AMQP_BASIC_PUBLISH_METHOD ((amqp_method_number_t) 0x003C0028) /* 60, 40; 3932200 */
332 typedef struct amqp_basic_publish_t_ {
333   uint16_t ticket;
334   amqp_bytes_t exchange;
335   amqp_bytes_t routing_key;
336   amqp_boolean_t mandatory;
337   amqp_boolean_t immediate;
338 } amqp_basic_publish_t;
339
340 #define AMQP_BASIC_RETURN_METHOD ((amqp_method_number_t) 0x003C0032) /* 60, 50; 3932210 */
341 /* typedef in amqp.h for callback */
342 struct amqp_basic_return_t_ {
343   uint16_t reply_code;
344   amqp_bytes_t reply_text;
345   amqp_bytes_t exchange;
346   amqp_bytes_t routing_key;
347 };
348
349 #define AMQP_BASIC_DELIVER_METHOD ((amqp_method_number_t) 0x003C003C) /* 60, 60; 3932220 */
350 typedef struct amqp_basic_deliver_t_ {
351   amqp_bytes_t consumer_tag;
352   uint64_t delivery_tag;
353   amqp_boolean_t redelivered;
354   amqp_bytes_t exchange;
355   amqp_bytes_t routing_key;
356 } amqp_basic_deliver_t;
357
358 #define AMQP_BASIC_GET_METHOD ((amqp_method_number_t) 0x003C0046) /* 60, 70; 3932230 */
359 typedef struct amqp_basic_get_t_ {
360   uint16_t ticket;
361   amqp_bytes_t queue;
362   amqp_boolean_t no_ack;
363 } amqp_basic_get_t;
364
365 #define AMQP_BASIC_GET_OK_METHOD ((amqp_method_number_t) 0x003C0047) /* 60, 71; 3932231 */
366 typedef struct amqp_basic_get_ok_t_ {
367   uint64_t delivery_tag;
368   amqp_boolean_t redelivered;
369   amqp_bytes_t exchange;
370   amqp_bytes_t routing_key;
371   uint32_t message_count;
372 } amqp_basic_get_ok_t;
373
374 #define AMQP_BASIC_GET_EMPTY_METHOD ((amqp_method_number_t) 0x003C0048) /* 60, 72; 3932232 */
375 typedef struct amqp_basic_get_empty_t_ {
376   amqp_bytes_t cluster_id;
377 } amqp_basic_get_empty_t;
378
379 #define AMQP_BASIC_ACK_METHOD ((amqp_method_number_t) 0x003C0050) /* 60, 80; 3932240 */
380 typedef struct amqp_basic_ack_t_ {
381   uint64_t delivery_tag;
382   amqp_boolean_t multiple;
383 } amqp_basic_ack_t;
384
385 #define AMQP_BASIC_REJECT_METHOD ((amqp_method_number_t) 0x003C005A) /* 60, 90; 3932250 */
386 typedef struct amqp_basic_reject_t_ {
387   uint64_t delivery_tag;
388   amqp_boolean_t requeue;
389 } amqp_basic_reject_t;
390
391 #define AMQP_BASIC_RECOVER_METHOD ((amqp_method_number_t) 0x003C0064) /* 60, 100; 3932260 */
392 typedef struct amqp_basic_recover_t_ {
393   amqp_boolean_t requeue;
394 } amqp_basic_recover_t;
395
396 #define AMQP_FILE_QOS_METHOD ((amqp_method_number_t) 0x0046000A) /* 70, 10; 4587530 */
397 typedef struct amqp_file_qos_t_ {
398   uint32_t prefetch_size;
399   uint16_t prefetch_count;
400   amqp_boolean_t global;
401 } amqp_file_qos_t;
402
403 #define AMQP_FILE_QOS_OK_METHOD ((amqp_method_number_t) 0x0046000B) /* 70, 11; 4587531 */
404 typedef struct amqp_file_qos_ok_t_ {
405   unsigned unused:1;
406 } amqp_file_qos_ok_t;
407
408 #define AMQP_FILE_CONSUME_METHOD ((amqp_method_number_t) 0x00460014) /* 70, 20; 4587540 */
409 typedef struct amqp_file_consume_t_ {
410   uint16_t ticket;
411   amqp_bytes_t queue;
412   amqp_bytes_t consumer_tag;
413   amqp_boolean_t no_local;
414   amqp_boolean_t no_ack;
415   amqp_boolean_t exclusive;
416   amqp_boolean_t nowait;
417 } amqp_file_consume_t;
418
419 #define AMQP_FILE_CONSUME_OK_METHOD ((amqp_method_number_t) 0x00460015) /* 70, 21; 4587541 */
420 typedef struct amqp_file_consume_ok_t_ {
421   amqp_bytes_t consumer_tag;
422 } amqp_file_consume_ok_t;
423
424 #define AMQP_FILE_CANCEL_METHOD ((amqp_method_number_t) 0x0046001E) /* 70, 30; 4587550 */
425 typedef struct amqp_file_cancel_t_ {
426   amqp_bytes_t consumer_tag;
427   amqp_boolean_t nowait;
428 } amqp_file_cancel_t;
429
430 #define AMQP_FILE_CANCEL_OK_METHOD ((amqp_method_number_t) 0x0046001F) /* 70, 31; 4587551 */
431 typedef struct amqp_file_cancel_ok_t_ {
432   amqp_bytes_t consumer_tag;
433 } amqp_file_cancel_ok_t;
434
435 #define AMQP_FILE_OPEN_METHOD ((amqp_method_number_t) 0x00460028) /* 70, 40; 4587560 */
436 typedef struct amqp_file_open_t_ {
437   amqp_bytes_t identifier;
438   uint64_t content_size;
439 } amqp_file_open_t;
440
441 #define AMQP_FILE_OPEN_OK_METHOD ((amqp_method_number_t) 0x00460029) /* 70, 41; 4587561 */
442 typedef struct amqp_file_open_ok_t_ {
443   uint64_t staged_size;
444 } amqp_file_open_ok_t;
445
446 #define AMQP_FILE_STAGE_METHOD ((amqp_method_number_t) 0x00460032) /* 70, 50; 4587570 */
447 typedef struct amqp_file_stage_t_ {
448   unsigned unused:1;
449 } amqp_file_stage_t;
450
451 #define AMQP_FILE_PUBLISH_METHOD ((amqp_method_number_t) 0x0046003C) /* 70, 60; 4587580 */
452 typedef struct amqp_file_publish_t_ {
453   uint16_t ticket;
454   amqp_bytes_t exchange;
455   amqp_bytes_t routing_key;
456   amqp_boolean_t mandatory;
457   amqp_boolean_t immediate;
458   amqp_bytes_t identifier;
459 } amqp_file_publish_t;
460
461 #define AMQP_FILE_RETURN_METHOD ((amqp_method_number_t) 0x00460046) /* 70, 70; 4587590 */
462 typedef struct amqp_file_return_t_ {
463   uint16_t reply_code;
464   amqp_bytes_t reply_text;
465   amqp_bytes_t exchange;
466   amqp_bytes_t routing_key;
467 } amqp_file_return_t;
468
469 #define AMQP_FILE_DELIVER_METHOD ((amqp_method_number_t) 0x00460050) /* 70, 80; 4587600 */
470 typedef struct amqp_file_deliver_t_ {
471   amqp_bytes_t consumer_tag;
472   uint64_t delivery_tag;
473   amqp_boolean_t redelivered;
474   amqp_bytes_t exchange;
475   amqp_bytes_t routing_key;
476   amqp_bytes_t identifier;
477 } amqp_file_deliver_t;
478
479 #define AMQP_FILE_ACK_METHOD ((amqp_method_number_t) 0x0046005A) /* 70, 90; 4587610 */
480 typedef struct amqp_file_ack_t_ {
481   uint64_t delivery_tag;
482   amqp_boolean_t multiple;
483 } amqp_file_ack_t;
484
485 #define AMQP_FILE_REJECT_METHOD ((amqp_method_number_t) 0x00460064) /* 70, 100; 4587620 */
486 typedef struct amqp_file_reject_t_ {
487   uint64_t delivery_tag;
488   amqp_boolean_t requeue;
489 } amqp_file_reject_t;
490
491 #define AMQP_STREAM_QOS_METHOD ((amqp_method_number_t) 0x0050000A) /* 80, 10; 5242890 */
492 typedef struct amqp_stream_qos_t_ {
493   uint32_t prefetch_size;
494   uint16_t prefetch_count;
495   uint32_t consume_rate;
496   amqp_boolean_t global;
497 } amqp_stream_qos_t;
498
499 #define AMQP_STREAM_QOS_OK_METHOD ((amqp_method_number_t) 0x0050000B) /* 80, 11; 5242891 */
500 typedef struct amqp_stream_qos_ok_t_ {
501   unsigned unused:1;
502 } amqp_stream_qos_ok_t;
503
504 #define AMQP_STREAM_CONSUME_METHOD ((amqp_method_number_t) 0x00500014) /* 80, 20; 5242900 */
505 typedef struct amqp_stream_consume_t_ {
506   uint16_t ticket;
507   amqp_bytes_t queue;
508   amqp_bytes_t consumer_tag;
509   amqp_boolean_t no_local;
510   amqp_boolean_t exclusive;
511   amqp_boolean_t nowait;
512 } amqp_stream_consume_t;
513
514 #define AMQP_STREAM_CONSUME_OK_METHOD ((amqp_method_number_t) 0x00500015) /* 80, 21; 5242901 */
515 typedef struct amqp_stream_consume_ok_t_ {
516   amqp_bytes_t consumer_tag;
517 } amqp_stream_consume_ok_t;
518
519 #define AMQP_STREAM_CANCEL_METHOD ((amqp_method_number_t) 0x0050001E) /* 80, 30; 5242910 */
520 typedef struct amqp_stream_cancel_t_ {
521   amqp_bytes_t consumer_tag;
522   amqp_boolean_t nowait;
523 } amqp_stream_cancel_t;
524
525 #define AMQP_STREAM_CANCEL_OK_METHOD ((amqp_method_number_t) 0x0050001F) /* 80, 31; 5242911 */
526 typedef struct amqp_stream_cancel_ok_t_ {
527   amqp_bytes_t consumer_tag;
528 } amqp_stream_cancel_ok_t;
529
530 #define AMQP_STREAM_PUBLISH_METHOD ((amqp_method_number_t) 0x00500028) /* 80, 40; 5242920 */
531 typedef struct amqp_stream_publish_t_ {
532   uint16_t ticket;
533   amqp_bytes_t exchange;
534   amqp_bytes_t routing_key;
535   amqp_boolean_t mandatory;
536   amqp_boolean_t immediate;
537 } amqp_stream_publish_t;
538
539 #define AMQP_STREAM_RETURN_METHOD ((amqp_method_number_t) 0x00500032) /* 80, 50; 5242930 */
540 typedef struct amqp_stream_return_t_ {
541   uint16_t reply_code;
542   amqp_bytes_t reply_text;
543   amqp_bytes_t exchange;
544   amqp_bytes_t routing_key;
545 } amqp_stream_return_t;
546
547 #define AMQP_STREAM_DELIVER_METHOD ((amqp_method_number_t) 0x0050003C) /* 80, 60; 5242940 */
548 typedef struct amqp_stream_deliver_t_ {
549   amqp_bytes_t consumer_tag;
550   uint64_t delivery_tag;
551   amqp_bytes_t exchange;
552   amqp_bytes_t queue;
553 } amqp_stream_deliver_t;
554
555 #define AMQP_TX_SELECT_METHOD ((amqp_method_number_t) 0x005A000A) /* 90, 10; 5898250 */
556 typedef struct amqp_tx_select_t_ {
557   unsigned unused:1;
558 } amqp_tx_select_t;
559
560 #define AMQP_TX_SELECT_OK_METHOD ((amqp_method_number_t) 0x005A000B) /* 90, 11; 5898251 */
561 typedef struct amqp_tx_select_ok_t_ {
562   unsigned unused:1;
563 } amqp_tx_select_ok_t;
564
565 #define AMQP_TX_COMMIT_METHOD ((amqp_method_number_t) 0x005A0014) /* 90, 20; 5898260 */
566 typedef struct amqp_tx_commit_t_ {
567   unsigned unused:1;
568 } amqp_tx_commit_t;
569
570 #define AMQP_TX_COMMIT_OK_METHOD ((amqp_method_number_t) 0x005A0015) /* 90, 21; 5898261 */
571 typedef struct amqp_tx_commit_ok_t_ {
572   unsigned unused:1;
573 } amqp_tx_commit_ok_t;
574
575 #define AMQP_TX_ROLLBACK_METHOD ((amqp_method_number_t) 0x005A001E) /* 90, 30; 5898270 */
576 typedef struct amqp_tx_rollback_t_ {
577   unsigned unused:1;
578 } amqp_tx_rollback_t;
579
580 #define AMQP_TX_ROLLBACK_OK_METHOD ((amqp_method_number_t) 0x005A001F) /* 90, 31; 5898271 */
581 typedef struct amqp_tx_rollback_ok_t_ {
582   unsigned unused:1;
583 } amqp_tx_rollback_ok_t;
584
585 #define AMQP_DTX_SELECT_METHOD ((amqp_method_number_t) 0x0064000A) /* 100, 10; 6553610 */
586 typedef struct amqp_dtx_select_t_ {
587   unsigned unused:1;
588 } amqp_dtx_select_t;
589
590 #define AMQP_DTX_SELECT_OK_METHOD ((amqp_method_number_t) 0x0064000B) /* 100, 11; 6553611 */
591 typedef struct amqp_dtx_select_ok_t_ {
592   unsigned unused:1;
593 } amqp_dtx_select_ok_t;
594
595 #define AMQP_DTX_START_METHOD ((amqp_method_number_t) 0x00640014) /* 100, 20; 6553620 */
596 typedef struct amqp_dtx_start_t_ {
597   amqp_bytes_t dtx_identifier;
598 } amqp_dtx_start_t;
599
600 #define AMQP_DTX_START_OK_METHOD ((amqp_method_number_t) 0x00640015) /* 100, 21; 6553621 */
601 typedef struct amqp_dtx_start_ok_t_ {
602   unsigned unused:1;
603 } amqp_dtx_start_ok_t;
604
605 #define AMQP_TUNNEL_REQUEST_METHOD ((amqp_method_number_t) 0x006E000A) /* 110, 10; 7208970 */
606 typedef struct amqp_tunnel_request_t_ {
607   amqp_table_t meta_data;
608 } amqp_tunnel_request_t;
609
610 #define AMQP_TEST_INTEGER_METHOD ((amqp_method_number_t) 0x0078000A) /* 120, 10; 7864330 */
611 typedef struct amqp_test_integer_t_ {
612   uint8_t integer_1;
613   uint16_t integer_2;
614   uint32_t integer_3;
615   uint64_t integer_4;
616   uint8_t operation;
617 } amqp_test_integer_t;
618
619 #define AMQP_TEST_INTEGER_OK_METHOD ((amqp_method_number_t) 0x0078000B) /* 120, 11; 7864331 */
620 typedef struct amqp_test_integer_ok_t_ {
621   uint64_t result;
622 } amqp_test_integer_ok_t;
623
624 #define AMQP_TEST_STRING_METHOD ((amqp_method_number_t) 0x00780014) /* 120, 20; 7864340 */
625 typedef struct amqp_test_string_t_ {
626   amqp_bytes_t string_1;
627   amqp_bytes_t string_2;
628   uint8_t operation;
629 } amqp_test_string_t;
630
631 #define AMQP_TEST_STRING_OK_METHOD ((amqp_method_number_t) 0x00780015) /* 120, 21; 7864341 */
632 typedef struct amqp_test_string_ok_t_ {
633   amqp_bytes_t result;
634 } amqp_test_string_ok_t;
635
636 #define AMQP_TEST_TABLE_METHOD ((amqp_method_number_t) 0x0078001E) /* 120, 30; 7864350 */
637 typedef struct amqp_test_table_t_ {
638   amqp_table_t table;
639   uint8_t integer_op;
640   uint8_t string_op;
641 } amqp_test_table_t;
642
643 #define AMQP_TEST_TABLE_OK_METHOD ((amqp_method_number_t) 0x0078001F) /* 120, 31; 7864351 */
644 typedef struct amqp_test_table_ok_t_ {
645   uint64_t integer_result;
646   amqp_bytes_t string_result;
647 } amqp_test_table_ok_t;
648
649 #define AMQP_TEST_CONTENT_METHOD ((amqp_method_number_t) 0x00780028) /* 120, 40; 7864360 */
650 typedef struct amqp_test_content_t_ {
651   unsigned unused:1;
652 } amqp_test_content_t;
653
654 #define AMQP_TEST_CONTENT_OK_METHOD ((amqp_method_number_t) 0x00780029) /* 120, 41; 7864361 */
655 typedef struct amqp_test_content_ok_t_ {
656   uint32_t content_checksum;
657 } amqp_test_content_ok_t;
658
659 /* Class property records. */
660 #define AMQP_CONNECTION_CLASS (0x000A) /* 10 */
661 typedef struct amqp_connection_properties_t_ {
662   amqp_flags_t _flags;
663 } amqp_connection_properties_t;
664
665 #define AMQP_CHANNEL_CLASS (0x0014) /* 20 */
666 typedef struct amqp_channel_properties_t_ {
667   amqp_flags_t _flags;
668 } amqp_channel_properties_t;
669
670 #define AMQP_ACCESS_CLASS (0x001E) /* 30 */
671 typedef struct amqp_access_properties_t_ {
672   amqp_flags_t _flags;
673 } amqp_access_properties_t;
674
675 #define AMQP_EXCHANGE_CLASS (0x0028) /* 40 */
676 typedef struct amqp_exchange_properties_t_ {
677   amqp_flags_t _flags;
678 } amqp_exchange_properties_t;
679
680 #define AMQP_QUEUE_CLASS (0x0032) /* 50 */
681 typedef struct amqp_queue_properties_t_ {
682   amqp_flags_t _flags;
683 } amqp_queue_properties_t;
684
685 #define AMQP_BASIC_CLASS (0x003C) /* 60 */
686 #define AMQP_BASIC_CONTENT_TYPE_FLAG (1 << 15)
687 #define AMQP_BASIC_CONTENT_ENCODING_FLAG (1 << 14)
688 #define AMQP_BASIC_HEADERS_FLAG (1 << 13)
689 #define AMQP_BASIC_DELIVERY_MODE_FLAG (1 << 12)
690 #define AMQP_BASIC_PRIORITY_FLAG (1 << 11)
691 #define AMQP_BASIC_CORRELATION_ID_FLAG (1 << 10)
692 #define AMQP_BASIC_REPLY_TO_FLAG (1 << 9)
693 #define AMQP_BASIC_EXPIRATION_FLAG (1 << 8)
694 #define AMQP_BASIC_MESSAGE_ID_FLAG (1 << 7)
695 #define AMQP_BASIC_TIMESTAMP_FLAG (1 << 6)
696 #define AMQP_BASIC_TYPE_FLAG (1 << 5)
697 #define AMQP_BASIC_USER_ID_FLAG (1 << 4)
698 #define AMQP_BASIC_APP_ID_FLAG (1 << 3)
699 #define AMQP_BASIC_CLUSTER_ID_FLAG (1 << 2)
700 typedef struct amqp_basic_properties_t_ {
701   amqp_flags_t _flags;
702   amqp_bytes_t content_type;
703   amqp_bytes_t content_encoding;
704   amqp_table_t headers;
705   uint8_t delivery_mode;
706   uint8_t priority;
707   amqp_bytes_t correlation_id;
708   amqp_bytes_t reply_to;
709   amqp_bytes_t expiration;
710   amqp_bytes_t message_id;
711   uint64_t timestamp;
712   amqp_bytes_t type;
713   amqp_bytes_t user_id;
714   amqp_bytes_t app_id;
715   amqp_bytes_t cluster_id;
716 } amqp_basic_properties_t;
717
718 #define AMQP_FILE_CLASS (0x0046) /* 70 */
719 #define AMQP_FILE_CONTENT_TYPE_FLAG (1 << 15)
720 #define AMQP_FILE_CONTENT_ENCODING_FLAG (1 << 14)
721 #define AMQP_FILE_HEADERS_FLAG (1 << 13)
722 #define AMQP_FILE_PRIORITY_FLAG (1 << 12)
723 #define AMQP_FILE_REPLY_TO_FLAG (1 << 11)
724 #define AMQP_FILE_MESSAGE_ID_FLAG (1 << 10)
725 #define AMQP_FILE_FILENAME_FLAG (1 << 9)
726 #define AMQP_FILE_TIMESTAMP_FLAG (1 << 8)
727 #define AMQP_FILE_CLUSTER_ID_FLAG (1 << 7)
728 typedef struct amqp_file_properties_t_ {
729   amqp_flags_t _flags;
730   amqp_bytes_t content_type;
731   amqp_bytes_t content_encoding;
732   amqp_table_t headers;
733   uint8_t priority;
734   amqp_bytes_t reply_to;
735   amqp_bytes_t message_id;
736   amqp_bytes_t filename;
737   uint64_t timestamp;
738   amqp_bytes_t cluster_id;
739 } amqp_file_properties_t;
740
741 #define AMQP_STREAM_CLASS (0x0050) /* 80 */
742 #define AMQP_STREAM_CONTENT_TYPE_FLAG (1 << 15)
743 #define AMQP_STREAM_CONTENT_ENCODING_FLAG (1 << 14)
744 #define AMQP_STREAM_HEADERS_FLAG (1 << 13)
745 #define AMQP_STREAM_PRIORITY_FLAG (1 << 12)
746 #define AMQP_STREAM_TIMESTAMP_FLAG (1 << 11)
747 typedef struct amqp_stream_properties_t_ {
748   amqp_flags_t _flags;
749   amqp_bytes_t content_type;
750   amqp_bytes_t content_encoding;
751   amqp_table_t headers;
752   uint8_t priority;
753   uint64_t timestamp;
754 } amqp_stream_properties_t;
755
756 #define AMQP_TX_CLASS (0x005A) /* 90 */
757 typedef struct amqp_tx_properties_t_ {
758   amqp_flags_t _flags;
759 } amqp_tx_properties_t;
760
761 #define AMQP_DTX_CLASS (0x0064) /* 100 */
762 typedef struct amqp_dtx_properties_t_ {
763   amqp_flags_t _flags;
764 } amqp_dtx_properties_t;
765
766 #define AMQP_TUNNEL_CLASS (0x006E) /* 110 */
767 #define AMQP_TUNNEL_HEADERS_FLAG (1 << 15)
768 #define AMQP_TUNNEL_PROXY_NAME_FLAG (1 << 14)
769 #define AMQP_TUNNEL_DATA_NAME_FLAG (1 << 13)
770 #define AMQP_TUNNEL_DURABLE_FLAG (1 << 12)
771 #define AMQP_TUNNEL_BROADCAST_FLAG (1 << 11)
772 typedef struct amqp_tunnel_properties_t_ {
773   amqp_flags_t _flags;
774   amqp_table_t headers;
775   amqp_bytes_t proxy_name;
776   amqp_bytes_t data_name;
777   uint8_t durable;
778   uint8_t broadcast;
779 } amqp_tunnel_properties_t;
780
781 #define AMQP_TEST_CLASS (0x0078) /* 120 */
782 typedef struct amqp_test_properties_t_ {
783   amqp_flags_t _flags;
784 } amqp_test_properties_t;
785
786 #ifdef __cplusplus
787 }
788 #endif
789
790 #endif
Note: See TracBrowser for help on using the browser.