From afaab64a3f4c6977d66811cb7235431a085de0b2 Mon Sep 17 00:00:00 2001 From: Alan Antonuk Date: Mon, 4 Dec 2017 23:23:22 -0800 Subject: Format code with clang-format --- coverity/model.c | 7 +- examples/amqp_bind.c | 20 +- examples/amqp_connect_timeout.c | 34 +- examples/amqp_consumer.c | 65 +- examples/amqp_exchange_declare.c | 22 +- examples/amqp_listen.c | 35 +- examples/amqp_listenq.c | 27 +- examples/amqp_producer.c | 42 +- examples/amqp_rpc_sendstring_client.c | 53 +- examples/amqp_sendstring.c | 29 +- examples/amqp_unbind.c | 20 +- examples/amqps_bind.c | 23 +- examples/amqps_connect_timeout.c | 34 +- examples/amqps_consumer.c | 68 +- examples/amqps_exchange_declare.c | 22 +- examples/amqps_listen.c | 39 +- examples/amqps_listenq.c | 31 +- examples/amqps_producer.c | 42 +- examples/amqps_sendstring.c | 28 +- examples/amqps_unbind.c | 23 +- examples/unix/platform_utils.c | 10 +- examples/utils.c | 95 +- examples/win32/platform_utils.c | 12 +- librabbitmq/amqp.h | 954 +++++----- librabbitmq/amqp_api.c | 183 +- librabbitmq/amqp_connection.c | 312 ++-- librabbitmq/amqp_consumer.c | 57 +- librabbitmq/amqp_framing.c | 2354 ++++++++++++++---------- librabbitmq/amqp_framing.h | 721 +++++--- librabbitmq/amqp_hostcheck.c | 125 +- librabbitmq/amqp_mem.c | 60 +- librabbitmq/amqp_openssl.c | 142 +- librabbitmq/amqp_openssl_bio.c | 26 +- librabbitmq/amqp_openssl_hostname_validation.c | 8 +- librabbitmq/amqp_private.h | 71 +- librabbitmq/amqp_socket.c | 360 ++-- librabbitmq/amqp_socket.h | 53 +- librabbitmq/amqp_ssl_socket.h | 65 +- librabbitmq/amqp_table.c | 357 ++-- librabbitmq/amqp_table.h | 2 +- librabbitmq/amqp_tcp_socket.c | 84 +- librabbitmq/amqp_tcp_socket.h | 8 +- librabbitmq/amqp_time.c | 28 +- librabbitmq/amqp_time.h | 24 +- librabbitmq/amqp_url.c | 78 +- librabbitmq/win32/msinttypes/stdint.h | 278 ++- librabbitmq/win32/threads.h | 6 +- tests/test_basic.c | 24 +- tests/test_hostcheck.c | 14 +- tests/test_merge_capabilities.c | 34 +- tests/test_parse_url.c | 154 +- tests/test_sasl_mechanism.c | 27 +- tests/test_status_enum.c | 4 +- tests/test_tables.c | 235 ++- tests/win32/msinttypes/inttypes.h | 455 +++-- tools/common.c | 213 +-- tools/common.h | 11 +- tools/consume.c | 136 +- tools/declare_queue.c | 30 +- tools/delete_queue.c | 33 +- tools/get.c | 21 +- tools/publish.c | 98 +- tools/unix/process.c | 10 +- tools/win32/compat.c | 9 +- tools/win32/process.c | 74 +- 65 files changed, 4453 insertions(+), 4266 deletions(-) diff --git a/coverity/model.c b/coverity/model.c index f4776b9..dc1ad98 100644 --- a/coverity/model.c +++ b/coverity/model.c @@ -1,9 +1,10 @@ /* Functions to help coverity do static analysis on rabbitmq-c */ -typedef struct {} amqp_rpc_reply_t; +typedef struct { +} amqp_rpc_reply_t; /* librabbitmq/amqp_private.h */ -void amqp_abort(const char *fmt, ...) { __coverity_panic__(); } +void amqp_abort(const char* fmt, ...) { __coverity_panic__(); } /* tools/common.h */ void die(const char* fmt, ...) { __coverity_panic__(); } @@ -12,5 +13,5 @@ void die_amqp_error(int err, const char* fmt, ...) { __coverity_panic__(); } void die_rpc(amqp_rpc_reply_t r, const char* fmt, ...) { __coverity_panic__(); } /* examples/utils.h */ -void die_on_amqp_error(amqp_rpc_reply_t *r) { __coverity_panic__(); } +void die_on_amqp_error(amqp_rpc_reply_t* r) { __coverity_panic__(); } void die_on_error(int r) { __coverity_panic__(); } diff --git a/examples/amqp_bind.c b/examples/amqp_bind.c index fecbaff..46371a4 100644 --- a/examples/amqp_bind.c +++ b/examples/amqp_bind.c @@ -34,8 +34,8 @@ */ #include -#include #include +#include #include #include @@ -43,8 +43,7 @@ #include "utils.h" -int main(int argc, char const *const *argv) -{ +int main(int argc, char const *const *argv) { char const *hostname; int port, status; char const *exchange; @@ -76,20 +75,21 @@ int main(int argc, char const *const *argv) die("opening TCP socket"); } - die_on_amqp_error(amqp_login(conn, "/", 0, 131072, 0, AMQP_SASL_METHOD_PLAIN, "guest", "guest"), + die_on_amqp_error(amqp_login(conn, "/", 0, 131072, 0, AMQP_SASL_METHOD_PLAIN, + "guest", "guest"), "Logging in"); amqp_channel_open(conn, 1); die_on_amqp_error(amqp_get_rpc_reply(conn), "Opening channel"); - amqp_queue_bind(conn, 1, - amqp_cstring_bytes(queue), - amqp_cstring_bytes(exchange), - amqp_cstring_bytes(bindingkey), + amqp_queue_bind(conn, 1, amqp_cstring_bytes(queue), + amqp_cstring_bytes(exchange), amqp_cstring_bytes(bindingkey), amqp_empty_table); die_on_amqp_error(amqp_get_rpc_reply(conn), "Unbinding"); - die_on_amqp_error(amqp_channel_close(conn, 1, AMQP_REPLY_SUCCESS), "Closing channel"); - die_on_amqp_error(amqp_connection_close(conn, AMQP_REPLY_SUCCESS), "Closing connection"); + die_on_amqp_error(amqp_channel_close(conn, 1, AMQP_REPLY_SUCCESS), + "Closing channel"); + die_on_amqp_error(amqp_connection_close(conn, AMQP_REPLY_SUCCESS), + "Closing connection"); die_on_error(amqp_destroy_connection(conn), "Ending connection"); return 0; } diff --git a/examples/amqp_connect_timeout.c b/examples/amqp_connect_timeout.c index 2f0fb97..21bd02e 100644 --- a/examples/amqp_connect_timeout.c +++ b/examples/amqp_connect_timeout.c @@ -37,8 +37,8 @@ */ #include -#include #include +#include #include #include @@ -47,18 +47,17 @@ #include #ifdef _WIN32 -# ifndef WIN32_LEAN_AND_MEAN -# define WIN32_LEAN_AND_MEAN -# endif -# include +#ifndef WIN32_LEAN_AND_MEAN +#define WIN32_LEAN_AND_MEAN +#endif +#include #else -# include +#include #endif #include "utils.h" -int main(int argc, char const *const *argv) -{ +int main(int argc, char const *const *argv) { char const *hostname; int port; amqp_socket_t *socket; @@ -67,7 +66,9 @@ int main(int argc, char const *const *argv) struct timeval *tv; if (argc < 3) { - fprintf(stderr, "Usage: amqp_connect_timeout host port [timeout_sec [timeout_usec=0]]\n"); + fprintf(stderr, + "Usage: amqp_connect_timeout host port [timeout_sec " + "[timeout_usec=0]]\n"); return 1; } @@ -76,7 +77,7 @@ int main(int argc, char const *const *argv) tv->tv_sec = atoi(argv[3]); - if (argc > 4 ) { + if (argc > 4) { tv->tv_usec = atoi(argv[4]); } else { tv->tv_usec = 0; @@ -86,7 +87,6 @@ int main(int argc, char const *const *argv) tv = NULL; } - hostname = argv[1]; port = atoi(argv[2]); @@ -98,13 +98,17 @@ int main(int argc, char const *const *argv) die("creating TCP socket"); } - die_on_error(amqp_socket_open_noblock(socket, hostname, port, tv), "opening TCP socket"); + die_on_error(amqp_socket_open_noblock(socket, hostname, port, tv), + "opening TCP socket"); - die_on_amqp_error(amqp_login(conn, "/", 0, 131072, 0, AMQP_SASL_METHOD_PLAIN, "guest", "guest"), "Logging in"); + die_on_amqp_error(amqp_login(conn, "/", 0, 131072, 0, AMQP_SASL_METHOD_PLAIN, + "guest", "guest"), + "Logging in"); - die_on_amqp_error(amqp_connection_close(conn, AMQP_REPLY_SUCCESS), "Closing connection"); + die_on_amqp_error(amqp_connection_close(conn, AMQP_REPLY_SUCCESS), + "Closing connection"); die_on_error(amqp_destroy_connection(conn), "Ending connection"); - printf ("Done\n"); + printf("Done\n"); return 0; } diff --git a/examples/amqp_consumer.c b/examples/amqp_consumer.c index 189f874..93c7a21 100644 --- a/examples/amqp_consumer.c +++ b/examples/amqp_consumer.c @@ -34,8 +34,8 @@ */ #include -#include #include +#include #include #include @@ -47,8 +47,7 @@ #define SUMMARY_EVERY_US 1000000 -static void run(amqp_connection_state_t conn) -{ +static void run(amqp_connection_state_t conn) { uint64_t start_time = now_microseconds(); int received = 0; int previous_received = 0; @@ -66,9 +65,11 @@ static void run(amqp_connection_state_t conn) now = now_microseconds(); if (now > next_summary_time) { int countOverInterval = received - previous_received; - double intervalRate = countOverInterval / ((now - previous_report_time) / 1000000.0); + double intervalRate = + countOverInterval / ((now - previous_report_time) / 1000000.0); printf("%d ms: Received %d - %d since last report (%d Hz)\n", - (int)(now - start_time) / 1000, received, countOverInterval, (int) intervalRate); + (int)(now - start_time) / 1000, received, countOverInterval, + (int)intervalRate); previous_received = received; previous_report_time = now; @@ -88,14 +89,14 @@ static void run(amqp_connection_state_t conn) if (AMQP_FRAME_METHOD == frame.frame_type) { switch (frame.payload.method.id) { case AMQP_BASIC_ACK_METHOD: - /* if we've turned publisher confirms on, and we've published a message - * here is a message being confirmed + /* if we've turned publisher confirms on, and we've published a + * message here is a message being confirmed. */ - break; case AMQP_BASIC_RETURN_METHOD: - /* if a published message couldn't be routed and the mandatory flag was set - * this is what would be returned. The message then needs to be read. + /* if a published message couldn't be routed and the mandatory + * flag was set this is what would be returned. The message then + * needs to be read. */ { amqp_message_t message; @@ -110,25 +111,28 @@ static void run(amqp_connection_state_t conn) break; case AMQP_CHANNEL_CLOSE_METHOD: - /* a channel.close method happens when a channel exception occurs, this - * can happen by publishing to an exchange that doesn't exist for example + /* a channel.close method happens when a channel exception occurs, + * this can happen by publishing to an exchange that doesn't exist + * for example. * - * In this case you would need to open another channel redeclare any queues - * that were declared auto-delete, and restart any consumers that were attached - * to the previous channel + * In this case you would need to open another channel redeclare + * any queues that were declared auto-delete, and restart any + * consumers that were attached to the previous channel. */ return; case AMQP_CONNECTION_CLOSE_METHOD: - /* a connection.close method happens when a connection exception occurs, - * this can happen by trying to use a channel that isn't open for example. + /* a connection.close method happens when a connection exception + * occurs, this can happen by trying to use a channel that isn't + * open for example. * * In this case the whole connection must be restarted. */ return; default: - fprintf(stderr ,"An unexpected method was received %u\n", frame.payload.method.id); + fprintf(stderr, "An unexpected method was received %u\n", + frame.payload.method.id); return; } } @@ -142,8 +146,7 @@ static void run(amqp_connection_state_t conn) } } -int main(int argc, char const *const *argv) -{ +int main(int argc, char const *const *argv) { char const *hostname; int port, status; char const *exchange; @@ -160,7 +163,7 @@ int main(int argc, char const *const *argv) hostname = argv[1]; port = atoi(argv[2]); - exchange = "amq.direct"; /* argv[3]; */ + exchange = "amq.direct"; /* argv[3]; */ bindingkey = "test queue"; /* argv[4]; */ conn = amqp_new_connection(); @@ -175,14 +178,15 @@ int main(int argc, char const *const *argv) die("opening TCP socket"); } - die_on_amqp_error(amqp_login(conn, "/", 0, 131072, 0, AMQP_SASL_METHOD_PLAIN, "guest", "guest"), + die_on_amqp_error(amqp_login(conn, "/", 0, 131072, 0, AMQP_SASL_METHOD_PLAIN, + "guest", "guest"), "Logging in"); amqp_channel_open(conn, 1); die_on_amqp_error(amqp_get_rpc_reply(conn), "Opening channel"); { - amqp_queue_declare_ok_t *r = amqp_queue_declare(conn, 1, amqp_empty_bytes, 0, 0, 0, 1, - amqp_empty_table); + amqp_queue_declare_ok_t *r = amqp_queue_declare( + conn, 1, amqp_empty_bytes, 0, 0, 0, 1, amqp_empty_table); die_on_amqp_error(amqp_get_rpc_reply(conn), "Declaring queue"); queuename = amqp_bytes_malloc_dup(r->queue); if (queuename.bytes == NULL) { @@ -191,17 +195,20 @@ int main(int argc, char const *const *argv) } } - amqp_queue_bind(conn, 1, queuename, amqp_cstring_bytes(exchange), amqp_cstring_bytes(bindingkey), - amqp_empty_table); + amqp_queue_bind(conn, 1, queuename, amqp_cstring_bytes(exchange), + amqp_cstring_bytes(bindingkey), amqp_empty_table); die_on_amqp_error(amqp_get_rpc_reply(conn), "Binding queue"); - amqp_basic_consume(conn, 1, queuename, amqp_empty_bytes, 0, 1, 0, amqp_empty_table); + amqp_basic_consume(conn, 1, queuename, amqp_empty_bytes, 0, 1, 0, + amqp_empty_table); die_on_amqp_error(amqp_get_rpc_reply(conn), "Consuming"); run(conn); - die_on_amqp_error(amqp_channel_close(conn, 1, AMQP_REPLY_SUCCESS), "Closing channel"); - die_on_amqp_error(amqp_connection_close(conn, AMQP_REPLY_SUCCESS), "Closing connection"); + die_on_amqp_error(amqp_channel_close(conn, 1, AMQP_REPLY_SUCCESS), + "Closing channel"); + die_on_amqp_error(amqp_connection_close(conn, AMQP_REPLY_SUCCESS), + "Closing connection"); die_on_error(amqp_destroy_connection(conn), "Ending connection"); return 0; diff --git a/examples/amqp_exchange_declare.c b/examples/amqp_exchange_declare.c index a120975..2199a0b 100644 --- a/examples/amqp_exchange_declare.c +++ b/examples/amqp_exchange_declare.c @@ -34,8 +34,8 @@ */ #include -#include #include +#include #include #include @@ -43,8 +43,7 @@ #include "utils.h" -int main(int argc, char const *const *argv) -{ +int main(int argc, char const *const *argv) { char const *hostname; int port, status; char const *exchange; @@ -53,7 +52,8 @@ int main(int argc, char const *const *argv) amqp_connection_state_t conn; if (argc < 5) { - fprintf(stderr, "Usage: amqp_exchange_declare host port exchange exchangetype\n"); + fprintf(stderr, + "Usage: amqp_exchange_declare host port exchange exchangetype\n"); return 1; } @@ -74,17 +74,21 @@ int main(int argc, char const *const *argv) die("opening TCP socket"); } - die_on_amqp_error(amqp_login(conn, "/", 0, 131072, 0, AMQP_SASL_METHOD_PLAIN, "guest", "guest"), + die_on_amqp_error(amqp_login(conn, "/", 0, 131072, 0, AMQP_SASL_METHOD_PLAIN, + "guest", "guest"), "Logging in"); amqp_channel_open(conn, 1); die_on_amqp_error(amqp_get_rpc_reply(conn), "Opening channel"); - amqp_exchange_declare(conn, 1, amqp_cstring_bytes(exchange), amqp_cstring_bytes(exchangetype), - 0, 0, 0, 0, amqp_empty_table); + amqp_exchange_declare(conn, 1, amqp_cstring_bytes(exchange), + amqp_cstring_bytes(exchangetype), 0, 0, 0, 0, + amqp_empty_table); die_on_amqp_error(amqp_get_rpc_reply(conn), "Declaring exchange"); - die_on_amqp_error(amqp_channel_close(conn, 1, AMQP_REPLY_SUCCESS), "Closing channel"); - die_on_amqp_error(amqp_connection_close(conn, AMQP_REPLY_SUCCESS), "Closing connection"); + die_on_amqp_error(amqp_channel_close(conn, 1, AMQP_REPLY_SUCCESS), + "Closing channel"); + die_on_amqp_error(amqp_connection_close(conn, AMQP_REPLY_SUCCESS), + "Closing connection"); die_on_error(amqp_destroy_connection(conn), "Ending connection"); return 0; } diff --git a/examples/amqp_listen.c b/examples/amqp_listen.c index bee037c..9026226 100644 --- a/examples/amqp_listen.c +++ b/examples/amqp_listen.c @@ -34,8 +34,8 @@ */ #include -#include #include +#include #include #include @@ -45,8 +45,7 @@ #include "utils.h" -int main(int argc, char const *const *argv) -{ +int main(int argc, char const *const *argv) { char const *hostname; int port, status; char const *exchange; @@ -78,14 +77,15 @@ int main(int argc, char const *const *argv) die("opening TCP socket"); } - die_on_amqp_error(amqp_login(conn, "/", 0, 131072, 0, AMQP_SASL_METHOD_PLAIN, "guest", "guest"), + die_on_amqp_error(amqp_login(conn, "/", 0, 131072, 0, AMQP_SASL_METHOD_PLAIN, + "guest", "guest"), "Logging in"); amqp_channel_open(conn, 1); die_on_amqp_error(amqp_get_rpc_reply(conn), "Opening channel"); { - amqp_queue_declare_ok_t *r = amqp_queue_declare(conn, 1, amqp_empty_bytes, 0, 0, 0, 1, - amqp_empty_table); + amqp_queue_declare_ok_t *r = amqp_queue_declare( + conn, 1, amqp_empty_bytes, 0, 0, 0, 1, amqp_empty_table); die_on_amqp_error(amqp_get_rpc_reply(conn), "Declaring queue"); queuename = amqp_bytes_malloc_dup(r->queue); if (queuename.bytes == NULL) { @@ -94,11 +94,12 @@ int main(int argc, char const *const *argv) } } - amqp_queue_bind(conn, 1, queuename, amqp_cstring_bytes(exchange), amqp_cstring_bytes(bindingkey), - amqp_empty_table); + amqp_queue_bind(conn, 1, queuename, amqp_cstring_bytes(exchange), + amqp_cstring_bytes(bindingkey), amqp_empty_table); die_on_amqp_error(amqp_get_rpc_reply(conn), "Binding queue"); - amqp_basic_consume(conn, 1, queuename, amqp_empty_bytes, 0, 1, 0, amqp_empty_table); + amqp_basic_consume(conn, 1, queuename, amqp_empty_bytes, 0, 1, 0, + amqp_empty_table); die_on_amqp_error(amqp_get_rpc_reply(conn), "Consuming"); { @@ -115,14 +116,14 @@ int main(int argc, char const *const *argv) } printf("Delivery %u, exchange %.*s routingkey %.*s\n", - (unsigned) envelope.delivery_tag, - (int) envelope.exchange.len, (char *) envelope.exchange.bytes, - (int) envelope.routing_key.len, (char *) envelope.routing_key.bytes); + (unsigned)envelope.delivery_tag, (int)envelope.exchange.len, + (char *)envelope.exchange.bytes, (int)envelope.routing_key.len, + (char *)envelope.routing_key.bytes); if (envelope.message.properties._flags & AMQP_BASIC_CONTENT_TYPE_FLAG) { printf("Content-type: %.*s\n", - (int) envelope.message.properties.content_type.len, - (char *) envelope.message.properties.content_type.bytes); + (int)envelope.message.properties.content_type.len, + (char *)envelope.message.properties.content_type.bytes); } printf("----\n"); @@ -132,8 +133,10 @@ int main(int argc, char const *const *argv) } } - die_on_amqp_error(amqp_channel_close(conn, 1, AMQP_REPLY_SUCCESS), "Closing channel"); - die_on_amqp_error(amqp_connection_close(conn, AMQP_REPLY_SUCCESS), "Closing connection"); + die_on_amqp_error(amqp_channel_close(conn, 1, AMQP_REPLY_SUCCESS), + "Closing channel"); + die_on_amqp_error(amqp_connection_close(conn, AMQP_REPLY_SUCCESS), + "Closing connection"); die_on_error(amqp_destroy_connection(conn), "Ending connection"); return 0; diff --git a/examples/amqp_listenq.c b/examples/amqp_listenq.c index 3b83494..624dc5c 100644 --- a/examples/amqp_listenq.c +++ b/examples/amqp_listenq.c @@ -34,8 +34,8 @@ */ #include -#include #include +#include #include #include @@ -45,8 +45,7 @@ #include "utils.h" -int main(int argc, char const *const *argv) -{ +int main(int argc, char const *const *argv) { char const *hostname; int port, status; char const *queuename; @@ -74,12 +73,14 @@ int main(int argc, char const *const *argv) die("opening TCP socket"); } - die_on_amqp_error(amqp_login(conn, "/", 0, 131072, 0, AMQP_SASL_METHOD_PLAIN, "guest", "guest"), + die_on_amqp_error(amqp_login(conn, "/", 0, 131072, 0, AMQP_SASL_METHOD_PLAIN, + "guest", "guest"), "Logging in"); amqp_channel_open(conn, 1); die_on_amqp_error(amqp_get_rpc_reply(conn), "Opening channel"); - amqp_basic_consume(conn, 1, amqp_cstring_bytes(queuename), amqp_empty_bytes, 0, 0, 0, amqp_empty_table); + amqp_basic_consume(conn, 1, amqp_cstring_bytes(queuename), amqp_empty_bytes, + 0, 0, 0, amqp_empty_table); die_on_amqp_error(amqp_get_rpc_reply(conn), "Consuming"); for (;;) { @@ -95,14 +96,14 @@ int main(int argc, char const *const *argv) } printf("Delivery %u, exchange %.*s routingkey %.*s\n", - (unsigned) envelope.delivery_tag, - (int) envelope.exchange.len, (char *) envelope.exchange.bytes, - (int) envelope.routing_key.len, (char *) envelope.routing_key.bytes); + (unsigned)envelope.delivery_tag, (int)envelope.exchange.len, + (char *)envelope.exchange.bytes, (int)envelope.routing_key.len, + (char *)envelope.routing_key.bytes); if (envelope.message.properties._flags & AMQP_BASIC_CONTENT_TYPE_FLAG) { printf("Content-type: %.*s\n", - (int) envelope.message.properties.content_type.len, - (char *) envelope.message.properties.content_type.bytes); + (int)envelope.message.properties.content_type.len, + (char *)envelope.message.properties.content_type.bytes); } printf("----\n"); @@ -111,8 +112,10 @@ int main(int argc, char const *const *argv) amqp_destroy_envelope(&envelope); } - die_on_amqp_error(amqp_channel_close(conn, 1, AMQP_REPLY_SUCCESS), "Closing channel"); - die_on_amqp_error(amqp_connection_close(conn, AMQP_REPLY_SUCCESS), "Closing connection"); + die_on_amqp_error(amqp_channel_close(conn, 1, AMQP_REPLY_SUCCESS), + "Closing channel"); + die_on_amqp_error(amqp_connection_close(conn, AMQP_REPLY_SUCCESS), + "Closing connection"); die_on_error(amqp_destroy_connection(conn), "Ending connection"); return 0; diff --git a/examples/amqp_producer.c b/examples/amqp_producer.c index c535fb6..6e78fcb 100644 --- a/examples/amqp_producer.c +++ b/examples/amqp_producer.c @@ -34,8 +34,8 @@ */ #include -#include #include +#include #include #include @@ -45,11 +45,8 @@ #define SUMMARY_EVERY_US 1000000 -static void send_batch(amqp_connection_state_t conn, - char const *queue_name, - int rate_limit, - int message_count) -{ +static void send_batch(amqp_connection_state_t conn, char const *queue_name, + int rate_limit, int message_count) { uint64_t start_time = now_microseconds(); int i; int sent = 0; @@ -70,21 +67,18 @@ static void send_batch(amqp_connection_state_t conn, for (i = 0; i < message_count; i++) { uint64_t now = now_microseconds(); - die_on_error(amqp_basic_publish(conn, - 1, - amqp_cstring_bytes("amq.direct"), - amqp_cstring_bytes(queue_name), - 0, - 0, - NULL, + die_on_error(amqp_basic_publish(conn, 1, amqp_cstring_bytes("amq.direct"), + amqp_cstring_bytes(queue_name), 0, 0, NULL, message_bytes), "Publishing"); sent++; if (now > next_summary_time) { int countOverInterval = sent - previous_sent; - double intervalRate = countOverInterval / ((now - previous_report_time) / 1000000.0); + double intervalRate = + countOverInterval / ((now - previous_report_time) / 1000000.0); printf("%d ms: Sent %d - %d since last report (%d Hz)\n", - (int)(now - start_time) / 1000, sent, countOverInterval, (int) intervalRate); + (int)(now - start_time) / 1000, sent, countOverInterval, + (int)intervalRate); previous_sent = sent; previous_report_time = now; @@ -103,12 +97,12 @@ static void send_batch(amqp_connection_state_t conn, printf("PRODUCER - Message count: %d\n", message_count); printf("Total time, milliseconds: %d\n", total_delta / 1000); - printf("Overall messages-per-second: %g\n", (message_count / (total_delta / 1000000.0))); + printf("Overall messages-per-second: %g\n", + (message_count / (total_delta / 1000000.0))); } } -int main(int argc, char const *const *argv) -{ +int main(int argc, char const *const *argv) { char const *hostname; int port, status; int rate_limit; @@ -117,7 +111,8 @@ int main(int argc, char const *const *argv) amqp_connection_state_t conn; if (argc < 5) { - fprintf(stderr, "Usage: amqp_producer host port rate_limit message_count\n"); + fprintf(stderr, + "Usage: amqp_producer host port rate_limit message_count\n"); return 1; } @@ -138,15 +133,18 @@ int main(int argc, char const *const *argv) die("opening TCP socket"); } - die_on_amqp_error(amqp_login(conn, "/", 0, 131072, 0, AMQP_SASL_METHOD_PLAIN, "guest", "guest"), + die_on_amqp_error(amqp_login(conn, "/", 0, 131072, 0, AMQP_SASL_METHOD_PLAIN, + "guest", "guest"), "Logging in"); amqp_channel_open(conn, 1); die_on_amqp_error(amqp_get_rpc_reply(conn), "Opening channel"); send_batch(conn, "test queue", rate_limit, message_count); - die_on_amqp_error(amqp_channel_close(conn, 1, AMQP_REPLY_SUCCESS), "Closing channel"); - die_on_amqp_error(amqp_connection_close(conn, AMQP_REPLY_SUCCESS), "Closing connection"); + die_on_amqp_error(amqp_channel_close(conn, 1, AMQP_REPLY_SUCCESS), + "Closing channel"); + die_on_amqp_error(amqp_connection_close(conn, AMQP_REPLY_SUCCESS), + "Closing connection"); die_on_error(amqp_destroy_connection(conn), "Ending connection"); return 0; } diff --git a/examples/amqp_rpc_sendstring_client.c b/examples/amqp_rpc_sendstring_client.c index 8c322a6..59918e5 100644 --- a/examples/amqp_rpc_sendstring_client.c +++ b/examples/amqp_rpc_sendstring_client.c @@ -34,8 +34,8 @@ */ #include -#include #include +#include #include #include @@ -45,8 +45,7 @@ #include "utils.h" -int main(int argc, char *argv[]) -{ +int main(int argc, char *argv[]) { char const *hostname; int port, status; char const *exchange; @@ -57,7 +56,9 @@ int main(int argc, char *argv[]) amqp_bytes_t reply_to_queue; if (argc < 6) { /* minimum number of mandatory arguments */ - fprintf(stderr, "usage:\namqp_rpc_sendstring_client host port exchange routingkey messagebody\n"); + fprintf(stderr, + "usage:\namqp_rpc_sendstring_client host port exchange routingkey " + "messagebody\n"); return 1; } @@ -83,7 +84,8 @@ int main(int argc, char *argv[]) die("opening TCP socket"); } - die_on_amqp_error(amqp_login(conn, "/", 0, 131072, 0, AMQP_SASL_METHOD_PLAIN, "guest", "guest"), + die_on_amqp_error(amqp_login(conn, "/", 0, 131072, 0, AMQP_SASL_METHOD_PLAIN, + "guest", "guest"), "Logging in"); amqp_channel_open(conn, 1); die_on_amqp_error(amqp_get_rpc_reply(conn), "Opening channel"); @@ -93,7 +95,8 @@ int main(int argc, char *argv[]) */ { - amqp_queue_declare_ok_t *r = amqp_queue_declare(conn, 1, amqp_empty_bytes, 0, 0, 0, 1, amqp_empty_table); + amqp_queue_declare_ok_t *r = amqp_queue_declare( + conn, 1, amqp_empty_bytes, 0, 0, 0, 1, amqp_empty_table); die_on_amqp_error(amqp_get_rpc_reply(conn), "Declaring queue"); reply_to_queue = amqp_bytes_malloc_dup(r->queue); if (reply_to_queue.bytes == NULL) { @@ -112,8 +115,7 @@ int main(int argc, char *argv[]) */ amqp_basic_properties_t props; props._flags = AMQP_BASIC_CONTENT_TYPE_FLAG | - AMQP_BASIC_DELIVERY_MODE_FLAG | - AMQP_BASIC_REPLY_TO_FLAG | + AMQP_BASIC_DELIVERY_MODE_FLAG | AMQP_BASIC_REPLY_TO_FLAG | AMQP_BASIC_CORRELATION_ID_FLAG; props.content_type = amqp_cstring_bytes("text/plain"); props.delivery_mode = 2; /* persistent delivery mode */ @@ -127,14 +129,9 @@ int main(int argc, char *argv[]) /* publish */ - die_on_error(amqp_basic_publish(conn, - 1, - amqp_cstring_bytes(exchange), - amqp_cstring_bytes(routingkey), - 0, - 0, - &props, - amqp_cstring_bytes(messagebody)), + die_on_error(amqp_basic_publish(conn, 1, amqp_cstring_bytes(exchange), + amqp_cstring_bytes(routingkey), 0, 0, + &props, amqp_cstring_bytes(messagebody)), "Publishing"); amqp_bytes_free(props.reply_to); @@ -145,7 +142,8 @@ int main(int argc, char *argv[]) */ { - amqp_basic_consume(conn, 1, reply_to_queue, amqp_empty_bytes, 0, 1, 0, amqp_empty_table); + amqp_basic_consume(conn, 1, reply_to_queue, amqp_empty_bytes, 0, 1, 0, + amqp_empty_table); die_on_amqp_error(amqp_get_rpc_reply(conn), "Consuming"); amqp_bytes_free(reply_to_queue); @@ -176,11 +174,11 @@ int main(int argc, char *argv[]) continue; } - d = (amqp_basic_deliver_t *) frame.payload.method.decoded; + d = (amqp_basic_deliver_t *)frame.payload.method.decoded; printf("Delivery: %u exchange: %.*s routingkey: %.*s\n", - (unsigned) d->delivery_tag, - (int) d->exchange.len, (char *) d->exchange.bytes, - (int) d->routing_key.len, (char *) d->routing_key.bytes); + (unsigned)d->delivery_tag, (int)d->exchange.len, + (char *)d->exchange.bytes, (int)d->routing_key.len, + (char *)d->routing_key.bytes); result = amqp_simple_wait_frame(conn, &frame); if (result < 0) { @@ -191,10 +189,10 @@ int main(int argc, char *argv[]) fprintf(stderr, "Expected header!"); abort(); } - p = (amqp_basic_properties_t *) frame.payload.properties.decoded; + p = (amqp_basic_properties_t *)frame.payload.properties.decoded; if (p->_flags & AMQP_BASIC_CONTENT_TYPE_FLAG) { - printf("Content-type: %.*s\n", - (int) p->content_type.len, (char *) p->content_type.bytes); + printf("Content-type: %.*s\n", (int)p->content_type.len, + (char *)p->content_type.bytes); } printf("----\n"); @@ -228,7 +226,6 @@ int main(int argc, char *argv[]) /* everything was fine, we can quit now because we received the reply */ break; } - } } @@ -236,8 +233,10 @@ int main(int argc, char *argv[]) closing */ - die_on_amqp_error(amqp_channel_close(conn, 1, AMQP_REPLY_SUCCESS), "Closing channel"); - die_on_amqp_error(amqp_connection_close(conn, AMQP_REPLY_SUCCESS), "Closing connection"); + die_on_amqp_error(amqp_channel_close(conn, 1, AMQP_REPLY_SUCCESS), + "Closing channel"); + die_on_amqp_error(amqp_connection_close(conn, AMQP_REPLY_SUCCESS), + "Closing connection"); die_on_error(amqp_destroy_connection(conn), "Ending connection"); return 0; diff --git a/examples/amqp_sendstring.c b/examples/amqp_sendstring.c index 22c033d..75492aa 100644 --- a/examples/amqp_sendstring.c +++ b/examples/amqp_sendstring.c @@ -34,8 +34,8 @@ */ #include -#include #include +#include #include #include @@ -43,8 +43,7 @@ #include "utils.h" -int main(int argc, char const *const *argv) -{ +int main(int argc, char const *const *argv) { char const *hostname; int port, status; char const *exchange; @@ -54,7 +53,9 @@ int main(int argc, char const *const *argv) amqp_connection_state_t conn; if (argc < 6) { - fprintf(stderr, "Usage: amqp_sendstring host port exchange routingkey messagebody\n"); + fprintf( + stderr, + "Usage: amqp_sendstring host port exchange routingkey messagebody\n"); return 1; } @@ -76,7 +77,8 @@ int main(int argc, char const *const *argv) die("opening TCP socket"); } - die_on_amqp_error(amqp_login(conn, "/", 0, 131072, 0, AMQP_SASL_METHOD_PLAIN, "guest", "guest"), + die_on_amqp_error(amqp_login(conn, "/", 0, 131072, 0, AMQP_SASL_METHOD_PLAIN, + "guest", "guest"), "Logging in"); amqp_channel_open(conn, 1); die_on_amqp_error(amqp_get_rpc_reply(conn), "Opening channel"); @@ -86,19 +88,16 @@ int main(int argc, char const *const *argv) props._flags = AMQP_BASIC_CONTENT_TYPE_FLAG | AMQP_BASIC_DELIVERY_MODE_FLAG; props.content_type = amqp_cstring_bytes("text/plain"); props.delivery_mode = 2; /* persistent delivery mode */ - die_on_error(amqp_basic_publish(conn, - 1, - amqp_cstring_bytes(exchange), - amqp_cstring_bytes(routingkey), - 0, - 0, - &props, - amqp_cstring_bytes(messagebody)), + die_on_error(amqp_basic_publish(conn, 1, amqp_cstring_bytes(exchange), + amqp_cstring_bytes(routingkey), 0, 0, + &props, amqp_cstring_bytes(messagebody)), "Publishing"); } - die_on_amqp_error(amqp_channel_close(conn, 1, AMQP_REPLY_SUCCESS), "Closing channel"); - die_on_amqp_error(amqp_connection_close(conn, AMQP_REPLY_SUCCESS), "Closing connection"); + die_on_amqp_error(amqp_channel_close(conn, 1, AMQP_REPLY_SUCCESS), + "Closing channel"); + die_on_amqp_error(amqp_connection_close(conn, AMQP_REPLY_SUCCESS), + "Closing connection"); die_on_error(amqp_destroy_connection(conn), "Ending connection"); return 0; } diff --git a/examples/amqp_unbind.c b/examples/amqp_unbind.c index 6a746b8..aea0738 100644 --- a/examples/amqp_unbind.c +++ b/examples/amqp_unbind.c @@ -34,8 +34,8 @@ */ #include -#include #include +#include #include #include @@ -43,8 +43,7 @@ #include "utils.h" -int main(int argc, char const *const *argv) -{ +int main(int argc, char const *const *argv) { char const *hostname; int port, status; char const *exchange; @@ -76,20 +75,21 @@ int main(int argc, char const *const *argv) die("opening TCP socket"); } - die_on_amqp_error(amqp_login(conn, "/", 0, 131072, 0, AMQP_SASL_METHOD_PLAIN, "guest", "guest"), + die_on_amqp_error(amqp_login(conn, "/", 0, 131072, 0, AMQP_SASL_METHOD_PLAIN, + "guest", "guest"), "Logging in"); amqp_channel_open(conn, 1); die_on_amqp_error(amqp_get_rpc_reply(conn), "Opening channel"); - amqp_queue_unbind(conn, 1, - amqp_cstring_bytes(queue), + amqp_queue_unbind(conn, 1, amqp_cstring_bytes(queue), amqp_cstring_bytes(exchange), - amqp_cstring_bytes(bindingkey), - amqp_empty_table); + amqp_cstring_bytes(bindingkey), amqp_empty_table); die_on_amqp_error(amqp_get_rpc_reply(conn), "Unbinding"); - die_on_amqp_error(amqp_channel_close(conn, 1, AMQP_REPLY_SUCCESS), "Closing channel"); - die_on_amqp_error(amqp_connection_close(conn, AMQP_REPLY_SUCCESS), "Closing connection"); + die_on_amqp_error(amqp_channel_close(conn, 1, AMQP_REPLY_SUCCESS), + "Closing channel"); + die_on_amqp_error(amqp_connection_close(conn, AMQP_REPLY_SUCCESS), + "Closing connection"); die_on_error(amqp_destroy_connection(conn), "Ending connection"); return 0; } diff --git a/examples/amqps_bind.c b/examples/amqps_bind.c index c1785af..8832566 100644 --- a/examples/amqps_bind.c +++ b/examples/amqps_bind.c @@ -37,8 +37,8 @@ */ #include -#include #include +#include #include #include @@ -46,8 +46,7 @@ #include "utils.h" -int main(int argc, char const *const *argv) -{ +int main(int argc, char const *const *argv) { char const *hostname; int port, status; char const *exchange; @@ -57,7 +56,8 @@ int main(int argc, char const *const *argv) amqp_connection_state_t conn; if (argc < 6) { - fprintf(stderr, "Usage: amqps_bind host port exchange bindingkey queue " + fprintf(stderr, + "Usage: amqps_bind host port exchange bindingkey queue " "[cacert.pem [verifypeer] [verifyhostname] [key.pem cert.pem]]\n"); return 1; } @@ -106,20 +106,21 @@ int main(int argc, char const *const *argv) die("opening SSL/TLS connection"); } - die_on_amqp_error(amqp_login(conn, "/", 0, 131072, 0, AMQP_SASL_METHOD_PLAIN, "guest", "guest"), + die_on_amqp_error(amqp_login(conn, "/", 0, 131072, 0, AMQP_SASL_METHOD_PLAIN, + "guest", "guest"), "Logging in"); amqp_channel_open(conn, 1); die_on_amqp_error(amqp_get_rpc_reply(conn), "Opening channel"); - amqp_queue_bind(conn, 1, - amqp_cstring_bytes(queue), - amqp_cstring_bytes(exchange), - amqp_cstring_bytes(bindingkey), + amqp_queue_bind(conn, 1, amqp_cstring_bytes(queue), + amqp_cstring_bytes(exchange), amqp_cstring_bytes(bindingkey), amqp_empty_table); die_on_amqp_error(amqp_get_rpc_reply(conn), "Unbinding"); - die_on_amqp_error(amqp_channel_close(conn, 1, AMQP_REPLY_SUCCESS), "Closing channel"); - die_on_amqp_error(amqp_connection_close(conn, AMQP_REPLY_SUCCESS), "Closing connection"); + die_on_amqp_error(amqp_channel_close(conn, 1, AMQP_REPLY_SUCCESS), + "Closing channel"); + die_on_amqp_error(amqp_connection_close(conn, AMQP_REPLY_SUCCESS), + "Closing connection"); die_on_error(amqp_destroy_connection(conn), "Ending connection"); return 0; } diff --git a/examples/amqps_connect_timeout.c b/examples/amqps_connect_timeout.c index 0dbbebc..e41b00a 100644 --- a/examples/amqps_connect_timeout.c +++ b/examples/amqps_connect_timeout.c @@ -40,8 +40,8 @@ */ #include -#include #include +#include #include #include @@ -50,19 +50,17 @@ #include #ifdef _WIN32 -# ifndef WIN32_LEAN_AND_MEAN -# define WIN32_LEAN_AND_MEAN -# endif -# include +#ifndef WIN32_LEAN_AND_MEAN +#define WIN32_LEAN_AND_MEAN +#endif +#include #else -# include +#include #endif #include "utils.h" - -int main(int argc, char const *const *argv) -{ +int main(int argc, char const *const *argv) { char const *hostname; int port; int timeout; @@ -72,10 +70,9 @@ int main(int argc, char const *const *argv) struct timeval *tv; if (argc < 3) { - fprintf( - stderr, - "Usage: amqps_connect_timeout host port timeout_sec " - "[cacert.pem [verifypeer] [verifyhostname] [key.pem cert.pem]]\n"); + fprintf(stderr, + "Usage: amqps_connect_timeout host port timeout_sec " + "[cacert.pem [verifypeer] [verifyhostname] [key.pem cert.pem]]\n"); return 1; } @@ -121,14 +118,17 @@ int main(int argc, char const *const *argv) } } - die_on_error(amqp_socket_open_noblock(socket, hostname, port, tv), "opening SSL/TLS connection"); + die_on_error(amqp_socket_open_noblock(socket, hostname, port, tv), + "opening SSL/TLS connection"); - die_on_amqp_error(amqp_login(conn, "/", 0, 131072, 0, AMQP_SASL_METHOD_PLAIN, "guest", "guest"), + die_on_amqp_error(amqp_login(conn, "/", 0, 131072, 0, AMQP_SASL_METHOD_PLAIN, + "guest", "guest"), "Logging in"); - die_on_amqp_error(amqp_connection_close(conn, AMQP_REPLY_SUCCESS), "Closing connection"); + die_on_amqp_error(amqp_connection_close(conn, AMQP_REPLY_SUCCESS), + "Closing connection"); die_on_error(amqp_destroy_connection(conn), "Ending connection"); - printf ("Done\n"); + printf("Done\n"); return 0; } diff --git a/examples/amqps_consumer.c b/examples/amqps_consumer.c index cc0a270..50013e3 100644 --- a/examples/amqps_consumer.c +++ b/examples/amqps_consumer.c @@ -37,8 +37,8 @@ */ #include -#include #include +#include #include #include @@ -50,8 +50,7 @@ #define SUMMARY_EVERY_US 1000000 -static void run(amqp_connection_state_t conn) -{ +static void run(amqp_connection_state_t conn) { uint64_t start_time = now_microseconds(); int received = 0; int previous_received = 0; @@ -69,9 +68,11 @@ static void run(amqp_connection_state_t conn) now = now_microseconds(); if (now > next_summary_time) { int countOverInterval = received - previous_received; - double intervalRate = countOverInterval / ((now - previous_report_time) / 1000000.0); + double intervalRate = + countOverInterval / ((now - previous_report_time) / 1000000.0); printf("%d ms: Received %d - %d since last report (%d Hz)\n", - (int)(now - start_time) / 1000, received, countOverInterval, (int) intervalRate); + (int)(now - start_time) / 1000, received, countOverInterval, + (int)intervalRate); previous_received = received; previous_report_time = now; @@ -91,14 +92,15 @@ static void run(amqp_connection_state_t conn) if (AMQP_FRAME_METHOD == frame.frame_type) { switch (frame.payload.method.id) { case AMQP_BASIC_ACK_METHOD: - /* if we've turned publisher confirms on, and we've published a message - * here is a message being confirmed + /* if we've turned publisher confirms on, and we've published a + * message here is a message being confirmed. */ break; case AMQP_BASIC_RETURN_METHOD: - /* if a published message couldn't be routed and the mandatory flag was set - * this is what would be returned. The message then needs to be read. + /* if a published message couldn't be routed and the mandatory + * flag was set this is what would be returned. The message then + * needs to be read. */ { amqp_message_t message; @@ -113,25 +115,28 @@ static void run(amqp_connection_state_t conn) break; case AMQP_CHANNEL_CLOSE_METHOD: - /* a channel.close method happens when a channel exception occurs, this - * can happen by publishing to an exchange that doesn't exist for example + /* a channel.close method happens when a channel exception occurs, + * this can happen by publishing to an exchange that doesn't exist + * for example. * - * In this case you would need to open another channel redeclare any queues - * that were declared auto-delete, and restart any consumers that were attached - * to the previous channel + * In this case you would need to open another channel redeclare + * any queues that were declared auto-delete, and restart any + * consumers that were attached to the previous channel. */ return; case AMQP_CONNECTION_CLOSE_METHOD: - /* a connection.close method happens when a connection exception occurs, - * this can happen by trying to use a channel that isn't open for example. + /* a connection.close method happens when a connection exception + * occurs, this can happen by trying to use a channel that isn't + * open for example. * * In this case the whole connection must be restarted. */ return; default: - fprintf(stderr ,"An unexpected method was received %u\n", frame.payload.method.id); + fprintf(stderr, "An unexpected method was received %u\n", + frame.payload.method.id); return; } } @@ -141,13 +146,11 @@ static void run(amqp_connection_state_t conn) amqp_destroy_envelope(&envelope); } - received++; } } -int main(int argc, char const *const *argv) -{ +int main(int argc, char const *const *argv) { char const *hostname; int port, status; char const *exchange; @@ -157,14 +160,15 @@ int main(int argc, char const *const *argv) amqp_bytes_t queuename; if (argc < 3) { - fprintf(stderr, "Usage: amqps_consumer host port " + fprintf(stderr, + "Usage: amqps_consumer host port " "[cacert.pem [verifypeer] [verifyhostname] [key.pem cert.pem]]\n"); return 1; } hostname = argv[1]; port = atoi(argv[2]); - exchange = "amq.direct"; /* argv[3]; */ + exchange = "amq.direct"; /* argv[3]; */ bindingkey = "test queue"; /* argv[4]; */ conn = amqp_new_connection(); @@ -205,14 +209,15 @@ int main(int argc, char const *const *argv) die("opening SSL/TLS connection"); } - die_on_amqp_error(amqp_login(conn, "/", 0, 131072, 0, AMQP_SASL_METHOD_PLAIN, "guest", "guest"), + die_on_amqp_error(amqp_login(conn, "/", 0, 131072, 0, AMQP_SASL_METHOD_PLAIN, + "guest", "guest"), "Logging in"); amqp_channel_open(conn, 1); die_on_amqp_error(amqp_get_rpc_reply(conn), "Opening channel"); { - amqp_queue_declare_ok_t *r = amqp_queue_declare(conn, 1, amqp_empty_bytes, 0, 0, 0, 1, - amqp_empty_table); + amqp_queue_declare_ok_t *r = amqp_queue_declare( + conn, 1, amqp_empty_bytes, 0, 0, 0, 1, amqp_empty_table); die_on_amqp_error(amqp_get_rpc_reply(conn), "Declaring queue"); queuename = amqp_bytes_malloc_dup(r->queue); if (queuename.bytes == NULL) { @@ -221,17 +226,20 @@ int main(int argc, char const *const *argv) } } - amqp_queue_bind(conn, 1, queuename, amqp_cstring_bytes(exchange), amqp_cstring_bytes(bindingkey), - amqp_empty_table); + amqp_queue_bind(conn, 1, queuename, amqp_cstring_bytes(exchange), + amqp_cstring_bytes(bindingkey), amqp_empty_table); die_on_amqp_error(amqp_get_rpc_reply(conn), "Binding queue"); - amqp_basic_consume(conn, 1, queuename, amqp_empty_bytes, 0, 1, 0, amqp_empty_table); + amqp_basic_consume(conn, 1, queuename, amqp_empty_bytes, 0, 1, 0, + amqp_empty_table); die_on_amqp_error(amqp_get_rpc_reply(conn), "Consuming"); run(conn); - die_on_amqp_error(amqp_channel_close(conn, 1, AMQP_REPLY_SUCCESS), "Closing channel"); - die_on_amqp_error(amqp_connection_close(conn, AMQP_REPLY_SUCCESS), "Closing connection"); + die_on_amqp_error(amqp_channel_close(conn, 1, AMQP_REPLY_SUCCESS), + "Closing channel"); + die_on_amqp_error(amqp_connection_close(conn, AMQP_REPLY_SUCCESS), + "Closing connection"); die_on_error(amqp_destroy_connection(conn), "Ending connection"); return 0; diff --git a/examples/amqps_exchange_declare.c b/examples/amqps_exchange_declare.c index 77de26b..1436e0c 100644 --- a/examples/amqps_exchange_declare.c +++ b/examples/amqps_exchange_declare.c @@ -37,8 +37,8 @@ */ #include -#include #include +#include #include #include @@ -46,8 +46,7 @@ #include "utils.h" -int main(int argc, char const *const *argv) -{ +int main(int argc, char const *const *argv) { char const *hostname; int port, status; char const *exchange; @@ -56,7 +55,8 @@ int main(int argc, char const *const *argv) amqp_connection_state_t conn; if (argc < 5) { - fprintf(stderr, "Usage: amqps_exchange_declare host port exchange " + fprintf(stderr, + "Usage: amqps_exchange_declare host port exchange " "exchangetype [cacert.pem [verifypeer] [verifyhostname] " "[key.pem cert.pem]]\n"); return 1; @@ -105,17 +105,21 @@ int main(int argc, char const *const *argv) die("opening SSL/TLS connection"); } - die_on_amqp_error(amqp_login(conn, "/", 0, 131072, 0, AMQP_SASL_METHOD_PLAIN, "guest", "guest"), + die_on_amqp_error(amqp_login(conn, "/", 0, 131072, 0, AMQP_SASL_METHOD_PLAIN, + "guest", "guest"), "Logging in"); amqp_channel_open(conn, 1); die_on_amqp_error(amqp_get_rpc_reply(conn), "Opening channel"); - amqp_exchange_declare(conn, 1, amqp_cstring_bytes(exchange), amqp_cstring_bytes(exchangetype), - 0, 0, 0, 0, amqp_empty_table); + amqp_exchange_declare(conn, 1, amqp_cstring_bytes(exchange), + amqp_cstring_bytes(exchangetype), 0, 0, 0, 0, + amqp_empty_table); die_on_amqp_error(amqp_get_rpc_reply(conn), "Declaring exchange"); - die_on_amqp_error(amqp_channel_close(conn, 1, AMQP_REPLY_SUCCESS), "Closing channel"); - die_on_amqp_error(amqp_connection_close(conn, AMQP_REPLY_SUCCESS), "Closing connection"); + die_on_amqp_error(amqp_channel_close(conn, 1, AMQP_REPLY_SUCCESS), + "Closing channel"); + die_on_amqp_error(amqp_connection_close(conn, AMQP_REPLY_SUCCESS), + "Closing connection"); die_on_error(amqp_destroy_connection(conn), "Ending connection"); return 0; } diff --git a/examples/amqps_listen.c b/examples/amqps_listen.c index b609846..5d12bbf 100644 --- a/examples/amqps_listen.c +++ b/examples/amqps_listen.c @@ -37,8 +37,8 @@ */ #include -#include #include +#include #include #include @@ -48,8 +48,7 @@ #include "utils.h" -int main(int argc, char const *const *argv) -{ +int main(int argc, char const *const *argv) { char const *hostname; int port, status; char const *exchange; @@ -60,7 +59,8 @@ int main(int argc, char const *const *argv) amqp_bytes_t queuename; if (argc < 5) { - fprintf(stderr, "Usage: amqps_listen host port exchange bindingkey " + fprintf(stderr, + "Usage: amqps_listen host port exchange bindingkey " "[cacert.pem [verifypeer] [verifyhostname] [key.pem cert.pem]]\n"); return 1; } @@ -103,20 +103,20 @@ int main(int argc, char const *const *argv) } } - status = amqp_socket_open(socket, hostname, port); if (status) { die("opening SSL/TLS connection"); } - die_on_amqp_error(amqp_login(conn, "/", 0, 131072, 0, AMQP_SASL_METHOD_PLAIN, "guest", "guest"), + die_on_amqp_error(amqp_login(conn, "/", 0, 131072, 0, AMQP_SASL_METHOD_PLAIN, + "guest", "guest"), "Logging in"); amqp_channel_open(conn, 1); die_on_amqp_error(amqp_get_rpc_reply(conn), "Opening channel"); { - amqp_queue_declare_ok_t *r = amqp_queue_declare(conn, 1, amqp_empty_bytes, 0, 0, 0, 1, - amqp_empty_table); + amqp_queue_declare_ok_t *r = amqp_queue_declare( + conn, 1, amqp_empty_bytes, 0, 0, 0, 1, amqp_empty_table); die_on_amqp_error(amqp_get_rpc_reply(conn), "Declaring queue"); queuename = amqp_bytes_malloc_dup(r->queue); if (queuename.bytes == NULL) { @@ -125,11 +125,12 @@ int main(int argc, char const *const *argv) } } - amqp_queue_bind(conn, 1, queuename, amqp_cstring_bytes(exchange), amqp_cstring_bytes(bindingkey), - amqp_empty_table); + amqp_queue_bind(conn, 1, queuename, amqp_cstring_bytes(exchange), + amqp_cstring_bytes(bindingkey), amqp_empty_table); die_on_amqp_error(amqp_get_rpc_reply(conn), "Binding queue"); - amqp_basic_consume(conn, 1, queuename, amqp_empty_bytes, 0, 1, 0, amqp_empty_table); + amqp_basic_consume(conn, 1, queuename, amqp_empty_bytes, 0, 1, 0, + amqp_empty_table); die_on_amqp_error(amqp_get_rpc_reply(conn), "Consuming"); { @@ -146,14 +147,14 @@ int main(int argc, char const *const *argv) } printf("Delivery %u, exchange %.*s routingkey %.*s\n", - (unsigned) envelope.delivery_tag, - (int) envelope.exchange.len, (char *) envelope.exchange.bytes, - (int) envelope.routing_key.len, (char *) envelope.routing_key.bytes); + (unsigned)envelope.delivery_tag, (int)envelope.exchange.len, + (char *)envelope.exchange.bytes, (int)envelope.routing_key.len, + (char *)envelope.routing_key.bytes); if (envelope.message.properties._flags & AMQP_BASIC_CONTENT_TYPE_FLAG) { printf("Content-type: %.*s\n", - (int) envelope.message.properties.content_type.len, - (char *) envelope.message.properties.content_type.bytes); + (int)envelope.message.properties.content_type.len, + (char *)envelope.message.properties.content_type.bytes); } printf("----\n"); @@ -163,8 +164,10 @@ int main(int argc, char const *const *argv) } } - die_on_amqp_error(amqp_channel_close(conn, 1, AMQP_REPLY_SUCCESS), "Closing channel"); - die_on_amqp_error(amqp_connection_close(conn, AMQP_REPLY_SUCCESS), "Closing connection"); + die_on_amqp_error(amqp_channel_close(conn, 1, AMQP_REPLY_SUCCESS), + "Closing channel"); + die_on_amqp_error(amqp_connection_close(conn, AMQP_REPLY_SUCCESS), + "Closing connection"); die_on_error(amqp_destroy_connection(conn), "Ending connection"); return 0; diff --git a/examples/amqps_listenq.c b/examples/amqps_listenq.c index 1422964..3f6d425 100644 --- a/examples/amqps_listenq.c +++ b/examples/amqps_listenq.c @@ -37,8 +37,8 @@ */ #include -#include #include +#include #include #include @@ -48,8 +48,7 @@ #include "utils.h" -int main(int argc, char const *const *argv) -{ +int main(int argc, char const *const *argv) { char const *hostname; int port, status; char const *queuename; @@ -57,7 +56,8 @@ int main(int argc, char const *const *argv) amqp_connection_state_t conn; if (argc < 4) { - fprintf(stderr, "Usage: amqps_listenq host port queuename " + fprintf(stderr, + "Usage: amqps_listenq host port queuename " "[cacert.pem [verifypeer] [verifyhostname] [key.pem cert.pem]]\n"); return 1; } @@ -99,18 +99,19 @@ int main(int argc, char const *const *argv) } } - status = amqp_socket_open(socket, hostname, port); if (status) { die("opening SSL/TLS connection"); } - die_on_amqp_error(amqp_login(conn, "/", 0, 131072, 0, AMQP_SASL_METHOD_PLAIN, "guest", "guest"), + die_on_amqp_error(amqp_login(conn, "/", 0, 131072, 0, AMQP_SASL_METHOD_PLAIN, + "guest", "guest"), "Logging in"); amqp_channel_open(conn, 1); die_on_amqp_error(amqp_get_rpc_reply(conn), "Opening channel"); - amqp_basic_consume(conn, 1, amqp_cstring_bytes(queuename), amqp_empty_bytes, 0, 0, 0, amqp_empty_table); + amqp_basic_consume(conn, 1, amqp_cstring_bytes(queuename), amqp_empty_bytes, + 0, 0, 0, amqp_empty_table); die_on_amqp_error(amqp_get_rpc_reply(conn), "Consuming"); { @@ -127,14 +128,14 @@ int main(int argc, char const *const *argv) } printf("Delivery %u, exchange %.*s routingkey %.*s\n", - (unsigned) envelope.delivery_tag, - (int) envelope.exchange.len, (char *) envelope.exchange.bytes, - (int) envelope.routing_key.len, (char *) envelope.routing_key.bytes); + (unsigned)envelope.delivery_tag, (int)envelope.exchange.len, + (char *)envelope.exchange.bytes, (int)envelope.routing_key.len, + (char *)envelope.routing_key.bytes); if (envelope.message.properties._flags & AMQP_BASIC_CONTENT_TYPE_FLAG) { printf("Content-type: %.*s\n", - (int) envelope.message.properties.content_type.len, - (char *) envelope.message.properties.content_type.bytes); + (int)envelope.message.properties.content_type.len, + (char *)envelope.message.properties.content_type.bytes); } printf("----\n"); @@ -144,8 +145,10 @@ int main(int argc, char const *const *argv) } } - die_on_amqp_error(amqp_channel_close(conn, 1, AMQP_REPLY_SUCCESS), "Closing channel"); - die_on_amqp_error(amqp_connection_close(conn, AMQP_REPLY_SUCCESS), "Closing connection"); + die_on_amqp_error(amqp_channel_close(conn, 1, AMQP_REPLY_SUCCESS), + "Closing channel"); + die_on_amqp_error(amqp_connection_close(conn, AMQP_REPLY_SUCCESS), + "Closing connection"); die_on_error(amqp_destroy_connection(conn), "Ending connection"); return 0; diff --git a/examples/amqps_producer.c b/examples/amqps_producer.c index 66bd181..120c21b 100644 --- a/examples/amqps_producer.c +++ b/examples/amqps_producer.c @@ -37,8 +37,8 @@ */ #include -#include #include +#include #include #include @@ -48,11 +48,8 @@ #define SUMMARY_EVERY_US 1000000 -static void send_batch(amqp_connection_state_t conn, - char const *queue_name, - int rate_limit, - int message_count) -{ +static void send_batch(amqp_connection_state_t conn, char const *queue_name, + int rate_limit, int message_count) { uint64_t start_time = now_microseconds(); int i; int sent = 0; @@ -73,21 +70,18 @@ static void send_batch(amqp_connection_state_t conn, for (i = 0; i < message_count; i++) { uint64_t now = now_microseconds(); - die_on_error(amqp_basic_publish(conn, - 1, - amqp_cstring_bytes("amq.direct"), - amqp_cstring_bytes(queue_name), - 0, - 0, - NULL, + die_on_error(amqp_basic_publish(conn, 1, amqp_cstring_bytes("amq.direct"), + amqp_cstring_bytes(queue_name), 0, 0, NULL, message_bytes), "Publishing"); sent++; if (now > next_summary_time) { int countOverInterval = sent - previous_sent; - double intervalRate = countOverInterval / ((now - previous_report_time) / 1000000.0); + double intervalRate = + countOverInterval / ((now - previous_report_time) / 1000000.0); printf("%d ms: Sent %d - %d since last report (%d Hz)\n", - (int)(now - start_time) / 1000, sent, countOverInterval, (int) intervalRate); + (int)(now - start_time) / 1000, sent, countOverInterval, + (int)intervalRate); previous_sent = sent; previous_report_time = now; @@ -106,12 +100,12 @@ static void send_batch(amqp_connection_state_t conn, printf("PRODUCER - Message count: %d\n", message_count); printf("Total time, milliseconds: %d\n", total_delta / 1000); - printf("Overall messages-per-second: %g\n", (message_count / (total_delta / 1000000.0))); + printf("Overall messages-per-second: %g\n", + (message_count / (total_delta / 1000000.0))); } } -int main(int argc, char const *const *argv) -{ +int main(int argc, char const *const *argv) { char const *hostname; int port, status; int rate_limit; @@ -120,7 +114,8 @@ int main(int argc, char const *const *argv) amqp_connection_state_t conn; if (argc < 5) { - fprintf(stderr, "Usage: amqps_producer host port rate_limit message_count " + fprintf(stderr, + "Usage: amqps_producer host port rate_limit message_count " "[cacert.pem [verifypeer] [verifyhostname] [key.pem cert.pem]]\n"); return 1; } @@ -168,15 +163,18 @@ int main(int argc, char const *const *argv) die("opening SSL/TLS connection"); } - die_on_amqp_error(amqp_login(conn, "/", 0, 131072, 0, AMQP_SASL_METHOD_PLAIN, "guest", "guest"), + die_on_amqp_error(amqp_login(conn, "/", 0, 131072, 0, AMQP_SASL_METHOD_PLAIN, + "guest", "guest"), "Logging in"); amqp_channel_open(conn, 1); die_on_amqp_error(amqp_get_rpc_reply(conn), "Opening channel"); send_batch(conn, "test queue", rate_limit, message_count); - die_on_amqp_error(amqp_channel_close(conn, 1, AMQP_REPLY_SUCCESS), "Closing channel"); - die_on_amqp_error(amqp_connection_close(conn, AMQP_REPLY_SUCCESS), "Closing connection"); + die_on_amqp_error(amqp_channel_close(conn, 1, AMQP_REPLY_SUCCESS), + "Closing channel"); + die_on_amqp_error(amqp_connection_close(conn, AMQP_REPLY_SUCCESS), + "Closing connection"); die_on_error(amqp_destroy_connection(conn), "Ending connection"); return 0; } diff --git a/examples/amqps_sendstring.c b/examples/amqps_sendstring.c index 0aebe12..9fed198 100644 --- a/examples/amqps_sendstring.c +++ b/examples/amqps_sendstring.c @@ -37,8 +37,8 @@ */ #include -#include #include +#include #include #include @@ -46,8 +46,7 @@ #include "utils.h" -int main(int argc, char const *const *argv) -{ +int main(int argc, char const *const *argv) { char const *hostname; int port, status; char const *exchange; @@ -57,7 +56,8 @@ int main(int argc, char const *const *argv) amqp_connection_state_t conn; if (argc < 6) { - fprintf(stderr, "Usage: amqps_sendstring host port exchange routingkey " + fprintf(stderr, + "Usage: amqps_sendstring host port exchange routingkey " "messagebody [cacert.pem [verifypeer] [verifyhostname] " "[key.pem cert.pem]]\n"); return 1; @@ -107,7 +107,8 @@ int main(int argc, char const *const *argv) die("opening SSL/TLS connection"); } - die_on_amqp_error(amqp_login(conn, "/", 0, 131072, 0, AMQP_SASL_METHOD_PLAIN, "guest", "guest"), + die_on_amqp_error(amqp_login(conn, "/", 0, 131072, 0, AMQP_SASL_METHOD_PLAIN, + "guest", "guest"), "Logging in"); amqp_channel_open(conn, 1); die_on_amqp_error(amqp_get_rpc_reply(conn), "Opening channel"); @@ -117,19 +118,16 @@ int main(int argc, char const *const *argv) props._flags = AMQP_BASIC_CONTENT_TYPE_FLAG | AMQP_BASIC_DELIVERY_MODE_FLAG; props.content_type = amqp_cstring_bytes("text/plain"); props.delivery_mode = 2; /* persistent delivery mode */ - die_on_error(amqp_basic_publish(conn, - 1, - amqp_cstring_bytes(exchange), - amqp_cstring_bytes(routingkey), - 0, - 0, - &props, - amqp_cstring_bytes(messagebody)), + die_on_error(amqp_basic_publish(conn, 1, amqp_cstring_bytes(exchange), + amqp_cstring_bytes(routingkey), 0, 0, + &props, amqp_cstring_bytes(messagebody)), "Publishing"); } - die_on_amqp_error(amqp_channel_close(conn, 1, AMQP_REPLY_SUCCESS), "Closing channel"); - die_on_amqp_error(amqp_connection_close(conn, AMQP_REPLY_SUCCESS), "Closing connection"); + die_on_amqp_error(amqp_channel_close(conn, 1, AMQP_REPLY_SUCCESS), + "Closing channel"); + die_on_amqp_error(amqp_connection_close(conn, AMQP_REPLY_SUCCESS), + "Closing connection"); die_on_error(amqp_destroy_connection(conn), "Ending connection"); return 0; } diff --git a/examples/amqps_unbind.c b/examples/amqps_unbind.c index e10f514..aad45c5 100644 --- a/examples/amqps_unbind.c +++ b/examples/amqps_unbind.c @@ -37,8 +37,8 @@ */ #include -#include #include +#include #include #include @@ -46,8 +46,7 @@ #include "utils.h" -int main(int argc, char const *const *argv) -{ +int main(int argc, char const *const *argv) { char const *hostname; int port, status; char const *exchange; @@ -57,7 +56,8 @@ int main(int argc, char const *const *argv) amqp_connection_state_t conn; if (argc < 6) { - fprintf(stderr, "Usage: amqps_unbind host port exchange bindingkey queue " + fprintf(stderr, + "Usage: amqps_unbind host port exchange bindingkey queue " "[cacert.pem [verifypeer] [verifyhostname] [key.pem cert.pem]]\n"); return 1; } @@ -106,20 +106,21 @@ int main(int argc, char const *const *argv) die("opening SSL/TLS connection"); } - die_on_amqp_error(amqp_login(conn, "/", 0, 131072, 0, AMQP_SASL_METHOD_PLAIN, "guest", "guest"), + die_on_amqp_error(amqp_login(conn, "/", 0, 131072, 0, AMQP_SASL_METHOD_PLAIN, + "guest", "guest"), "Logging in"); amqp_channel_open(conn, 1); die_on_amqp_error(amqp_get_rpc_reply(conn), "Opening channel"); - amqp_queue_unbind(conn, 1, - amqp_cstring_bytes(queue), + amqp_queue_unbind(conn, 1, amqp_cstring_bytes(queue), amqp_cstring_bytes(exchange), - amqp_cstring_bytes(bindingkey), - amqp_empty_table); + amqp_cstring_bytes(bindingkey), amqp_empty_table); die_on_amqp_error(amqp_get_rpc_reply(conn), "Unbinding"); - die_on_amqp_error(amqp_channel_close(conn, 1, AMQP_REPLY_SUCCESS), "Closing channel"); - die_on_amqp_error(amqp_connection_close(conn, AMQP_REPLY_SUCCESS), "Closing connection"); + die_on_amqp_error(amqp_channel_close(conn, 1, AMQP_REPLY_SUCCESS), + "Closing channel"); + die_on_amqp_error(amqp_connection_close(conn, AMQP_REPLY_SUCCESS), + "Closing connection"); die_on_error(amqp_destroy_connection(conn), "Ending connection"); return 0; } diff --git a/examples/unix/platform_utils.c b/examples/unix/platform_utils.c index 06ca53f..e420b82 100644 --- a/examples/unix/platform_utils.c +++ b/examples/unix/platform_utils.c @@ -34,19 +34,17 @@ */ #include -#include #include +#include #include -uint64_t now_microseconds(void) -{ +uint64_t now_microseconds(void) { struct timeval tv; gettimeofday(&tv, NULL); - return (uint64_t) tv.tv_sec * 1000000 + (uint64_t) tv.tv_usec; + return (uint64_t)tv.tv_sec * 1000000 + (uint64_t)tv.tv_usec; } -void microsleep(int usec) -{ +void microsleep(int usec) { struct timespec req; req.tv_sec = 0; req.tv_nsec = 1000 * usec; diff --git a/examples/utils.c b/examples/utils.c index 3e0cad9..8d1b4c6 100644 --- a/examples/utils.c +++ b/examples/utils.c @@ -33,20 +33,19 @@ * ***** END LICENSE BLOCK ***** */ +#include #include -#include #include +#include #include -#include -#include #include #include +#include #include "utils.h" -void die(const char *fmt, ...) -{ +void die(const char *fmt, ...) { va_list ap; va_start(ap, fmt); vfprintf(stderr, fmt, ap); @@ -55,58 +54,55 @@ void die(const char *fmt, ...) exit(1); } -void die_on_error(int x, char const *context) -{ +void die_on_error(int x, char const *context) { if (x < 0) { fprintf(stderr, "%s: %s\n", context, amqp_error_string2(x)); exit(1); } } -void die_on_amqp_error(amqp_rpc_reply_t x, char const *context) -{ +void die_on_amqp_error(amqp_rpc_reply_t x, char const *context) { switch (x.reply_type) { - case AMQP_RESPONSE_NORMAL: - return; - - case AMQP_RESPONSE_NONE: - fprintf(stderr, "%s: missing RPC reply type!\n", context); - break; - - case AMQP_RESPONSE_LIBRARY_EXCEPTION: - fprintf(stderr, "%s: %s\n", context, amqp_error_string2(x.library_error)); - break; - - case AMQP_RESPONSE_SERVER_EXCEPTION: - switch (x.reply.id) { - case AMQP_CONNECTION_CLOSE_METHOD: { - amqp_connection_close_t *m = (amqp_connection_close_t *) x.reply.decoded; - fprintf(stderr, "%s: server connection error %uh, message: %.*s\n", - context, - m->reply_code, - (int) m->reply_text.len, (char *) m->reply_text.bytes); + case AMQP_RESPONSE_NORMAL: + return; + + case AMQP_RESPONSE_NONE: + fprintf(stderr, "%s: missing RPC reply type!\n", context); break; - } - case AMQP_CHANNEL_CLOSE_METHOD: { - amqp_channel_close_t *m = (amqp_channel_close_t *) x.reply.decoded; - fprintf(stderr, "%s: server channel error %uh, message: %.*s\n", - context, - m->reply_code, - (int) m->reply_text.len, (char *) m->reply_text.bytes); + + case AMQP_RESPONSE_LIBRARY_EXCEPTION: + fprintf(stderr, "%s: %s\n", context, amqp_error_string2(x.library_error)); break; - } - default: - fprintf(stderr, "%s: unknown server error, method id 0x%08X\n", context, x.reply.id); + + case AMQP_RESPONSE_SERVER_EXCEPTION: + switch (x.reply.id) { + case AMQP_CONNECTION_CLOSE_METHOD: { + amqp_connection_close_t *m = + (amqp_connection_close_t *)x.reply.decoded; + fprintf(stderr, "%s: server connection error %uh, message: %.*s\n", + context, m->reply_code, (int)m->reply_text.len, + (char *)m->reply_text.bytes); + break; + } + case AMQP_CHANNEL_CLOSE_METHOD: { + amqp_channel_close_t *m = (amqp_channel_close_t *)x.reply.decoded; + fprintf(stderr, "%s: server channel error %uh, message: %.*s\n", + context, m->reply_code, (int)m->reply_text.len, + (char *)m->reply_text.bytes); + break; + } + default: + fprintf(stderr, "%s: unknown server error, method id 0x%08X\n", + context, x.reply.id); + break; + } break; - } - break; } exit(1); } -static void dump_row(long count, int numinrow, int *chs) -{ +static void dump_row(long count, int numinrow, int *chs) { int i; printf("%08lX:", count - numinrow); @@ -136,11 +132,10 @@ static void dump_row(long count, int numinrow, int *chs) printf("\n"); } -static int rows_eq(int *a, int *b) -{ +static int rows_eq(int *a, int *b) { int i; - for (i=0; i<16; i++) + for (i = 0; i < 16; i++) if (a[i] != b[i]) { return 0; } @@ -148,9 +143,8 @@ static int rows_eq(int *a, int *b) return 1; } -void amqp_dump(void const *buffer, size_t len) -{ - unsigned char *buf = (unsigned char *) buffer; +void amqp_dump(void const *buffer, size_t len) { + unsigned char *buf = (unsigned char *)buffer; long count = 0; int numinrow = 0; int chs[16]; @@ -167,14 +161,15 @@ void amqp_dump(void const *buffer, size_t len) if (rows_eq(oldchs, chs)) { if (!showed_dots) { showed_dots = 1; - printf(" .. .. .. .. .. .. .. .. : .. .. .. .. .. .. .. ..\n"); + printf( + " .. .. .. .. .. .. .. .. : .. .. .. .. .. .. .. ..\n"); } } else { showed_dots = 0; dump_row(count, numinrow, chs); } - for (j=0; j<16; j++) { + for (j = 0; j < 16; j++) { oldchs[j] = chs[j]; } diff --git a/examples/win32/platform_utils.c b/examples/win32/platform_utils.c index b75c996..49fd377 100644 --- a/examples/win32/platform_utils.c +++ b/examples/win32/platform_utils.c @@ -37,15 +37,11 @@ #include -uint64_t now_microseconds(void) -{ +uint64_t now_microseconds(void) { FILETIME ft; GetSystemTimeAsFileTime(&ft); - return (((uint64_t)ft.dwHighDateTime << 32) | (uint64_t)ft.dwLowDateTime) - / 10; + return (((uint64_t)ft.dwHighDateTime << 32) | (uint64_t)ft.dwLowDateTime) / + 10; } -void microsleep(int usec) -{ - Sleep(usec / 1000); -} +void microsleep(int usec) { Sleep(usec / 1000); } diff --git a/librabbitmq/amqp.h b/librabbitmq/amqp.h index d0ae635..36b9901 100644 --- a/librabbitmq/amqp.h +++ b/librabbitmq/amqp.h @@ -56,85 +56,82 @@ */ #if defined(_WIN32) && defined(_MSC_VER) -# if defined(AMQP_BUILD) && !defined(AMQP_STATIC) -# define AMQP_PUBLIC_FUNCTION __declspec(dllexport) -# define AMQP_PUBLIC_VARIABLE __declspec(dllexport) extern -# else -# define AMQP_PUBLIC_FUNCTION -# if !defined(AMQP_STATIC) -# define AMQP_PUBLIC_VARIABLE __declspec(dllimport) extern -# else -# define AMQP_PUBLIC_VARIABLE extern -# endif -# endif -# define AMQP_CALL __cdecl +#if defined(AMQP_BUILD) && !defined(AMQP_STATIC) +#define AMQP_PUBLIC_FUNCTION __declspec(dllexport) +#define AMQP_PUBLIC_VARIABLE __declspec(dllexport) extern +#else +#define AMQP_PUBLIC_FUNCTION +#if !defined(AMQP_STATIC) +#define AMQP_PUBLIC_VARIABLE __declspec(dllimport) extern +#else +#define AMQP_PUBLIC_VARIABLE extern +#endif +#endif +#define AMQP_CALL __cdecl #elif defined(_WIN32) && defined(__BORLANDC__) -# if defined(AMQP_BUILD) && !defined(AMQP_STATIC) -# define AMQP_PUBLIC_FUNCTION __declspec(dllexport) -# define AMQP_PUBLIC_VARIABLE __declspec(dllexport) extern -# else -# define AMQP_PUBLIC_FUNCTION -# if !defined(AMQP_STATIC) -# define AMQP_PUBLIC_VARIABLE __declspec(dllimport) extern -# else -# define AMQP_PUBLIC_VARIABLE extern -# endif -# endif -# define AMQP_CALL __cdecl +#if defined(AMQP_BUILD) && !defined(AMQP_STATIC) +#define AMQP_PUBLIC_FUNCTION __declspec(dllexport) +#define AMQP_PUBLIC_VARIABLE __declspec(dllexport) extern +#else +#define AMQP_PUBLIC_FUNCTION +#if !defined(AMQP_STATIC) +#define AMQP_PUBLIC_VARIABLE __declspec(dllimport) extern +#else +#define AMQP_PUBLIC_VARIABLE extern +#endif +#endif +#define AMQP_CALL __cdecl #elif defined(_WIN32) && defined(__MINGW32__) -# if defined(AMQP_BUILD) && !defined(AMQP_STATIC) -# define AMQP_PUBLIC_FUNCTION __declspec(dllexport) -# define AMQP_PUBLIC_VARIABLE __declspec(dllexport) extern -# else -# define AMQP_PUBLIC_FUNCTION -# if !defined(AMQP_STATIC) -# define AMQP_PUBLIC_VARIABLE __declspec(dllimport) extern -# else -# define AMQP_PUBLIC_VARIABLE extern -# endif -# endif -# define AMQP_CALL __cdecl +#if defined(AMQP_BUILD) && !defined(AMQP_STATIC) +#define AMQP_PUBLIC_FUNCTION __declspec(dllexport) +#define AMQP_PUBLIC_VARIABLE __declspec(dllexport) extern +#else +#define AMQP_PUBLIC_FUNCTION +#if !defined(AMQP_STATIC) +#define AMQP_PUBLIC_VARIABLE __declspec(dllimport) extern +#else +#define AMQP_PUBLIC_VARIABLE extern +#endif +#endif +#define AMQP_CALL __cdecl #elif defined(_WIN32) && defined(__CYGWIN__) -# if defined(AMQP_BUILD) && !defined(AMQP_STATIC) -# define AMQP_PUBLIC_FUNCTION __declspec(dllexport) -# define AMQP_PUBLIC_VARIABLE __declspec(dllexport) -# else -# define AMQP_PUBLIC_FUNCTION -# if !defined(AMQP_STATIC) -# define AMQP_PUBLIC_VARIABLE __declspec(dllimport) extern -# else -# define AMQP_PUBLIC_VARIABLE extern -# endif -# endif -# define AMQP_CALL __cdecl +#if defined(AMQP_BUILD) && !defined(AMQP_STATIC) +#define AMQP_PUBLIC_FUNCTION __declspec(dllexport) +#define AMQP_PUBLIC_VARIABLE __declspec(dllexport) +#else +#define AMQP_PUBLIC_FUNCTION +#if !defined(AMQP_STATIC) +#define AMQP_PUBLIC_VARIABLE __declspec(dllimport) extern +#else +#define AMQP_PUBLIC_VARIABLE extern +#endif +#endif +#define AMQP_CALL __cdecl #elif defined(__GNUC__) && __GNUC__ >= 4 -# define AMQP_PUBLIC_FUNCTION \ - __attribute__ ((visibility ("default"))) -# define AMQP_PUBLIC_VARIABLE \ - __attribute__ ((visibility ("default"))) extern -# define AMQP_CALL +#define AMQP_PUBLIC_FUNCTION __attribute__((visibility("default"))) +#define AMQP_PUBLIC_VARIABLE __attribute__((visibility("default"))) extern +#define AMQP_CALL #else -# define AMQP_PUBLIC_FUNCTION -# define AMQP_PUBLIC_VARIABLE extern -# define AMQP_CALL +#define AMQP_PUBLIC_FUNCTION +#define AMQP_PUBLIC_VARIABLE extern +#define AMQP_CALL #endif #if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1) -# define AMQP_DEPRECATED(function) \ - function __attribute__ ((__deprecated__)) +#define AMQP_DEPRECATED(function) function __attribute__((__deprecated__)) #elif defined(_MSC_VER) -# define AMQP_DEPRECATED(function) \ - __declspec(deprecated) function +#define AMQP_DEPRECATED(function) __declspec(deprecated) function #else -# define AMQP_DEPRECATED(function) +#define AMQP_DEPRECATED(function) #endif /* Define ssize_t on Win32/64 platforms - See: http://lists.cs.uiuc.edu/pipermail/llvmdev/2010-April/030649.html for details + See: http://lists.cs.uiuc.edu/pipermail/llvmdev/2010-April/030649.html for + details */ #if !defined(_W64) #if !defined(__midl) && (defined(_X86_) || defined(_M_IX86)) && _MSC_VER >= 1300 @@ -226,7 +223,6 @@ AMQP_BEGIN_DECLS #define AMQP_VERSION_PATCH 1 #define AMQP_VERSION_IS_RELEASE 0 - /** * \def AMQP_VERSION_CODE * @@ -239,11 +235,7 @@ AMQP_BEGIN_DECLS * \since v0.6.1 */ #define AMQP_VERSION_CODE(major, minor, patch, release) \ - ((major << 24) | \ - (minor << 16) | \ - (patch << 8) | \ - (release)) - + ((major << 24) | (minor << 16) | (patch << 8) | (release)) /** * \def AMQP_VERSION @@ -263,18 +255,17 @@ AMQP_BEGIN_DECLS * * \since v0.4.0 */ -#define AMQP_VERSION AMQP_VERSION_CODE(AMQP_VERSION_MAJOR, \ - AMQP_VERSION_MINOR, \ - AMQP_VERSION_PATCH, \ - AMQP_VERSION_IS_RELEASE) +#define AMQP_VERSION \ + AMQP_VERSION_CODE(AMQP_VERSION_MAJOR, AMQP_VERSION_MINOR, \ + AMQP_VERSION_PATCH, AMQP_VERSION_IS_RELEASE) /** \cond HIDE_FROM_DOXYGEN */ #define AMQ_STRINGIFY(s) AMQ_STRINGIFY_HELPER(s) #define AMQ_STRINGIFY_HELPER(s) #s -#define AMQ_VERSION_STRING AMQ_STRINGIFY(AMQP_VERSION_MAJOR) "." \ - AMQ_STRINGIFY(AMQP_VERSION_MINOR) "." \ - AMQ_STRINGIFY(AMQP_VERSION_PATCH) +#define AMQ_VERSION_STRING \ + AMQ_STRINGIFY(AMQP_VERSION_MAJOR) \ + "." AMQ_STRINGIFY(AMQP_VERSION_MINOR) "." AMQ_STRINGIFY(AMQP_VERSION_PATCH) /** \endcond */ /** @@ -290,12 +281,11 @@ AMQP_BEGIN_DECLS * \since v0.4.0 */ #if AMQP_VERSION_IS_RELEASE -# define AMQP_VERSION_STRING AMQ_VERSION_STRING +#define AMQP_VERSION_STRING AMQ_VERSION_STRING #else -# define AMQP_VERSION_STRING AMQ_VERSION_STRING "-pre" +#define AMQP_VERSION_STRING AMQ_VERSION_STRING "-pre" #endif - /** * Returns the rabbitmq-c version as a packed integer. * @@ -308,8 +298,7 @@ AMQP_BEGIN_DECLS * \since v0.4.0 */ AMQP_PUBLIC_FUNCTION -uint32_t -AMQP_CALL amqp_version_number(void); +uint32_t AMQP_CALL amqp_version_number(void); /** * Returns the rabbitmq-c version as a string. @@ -323,8 +312,7 @@ AMQP_CALL amqp_version_number(void); * \since v0.1 */ AMQP_PUBLIC_FUNCTION -char const * -AMQP_CALL amqp_version(void); +char const *AMQP_CALL amqp_version(void); /** * \def AMQP_DEFAULT_FRAME_SIZE @@ -404,8 +392,8 @@ typedef uint16_t amqp_channel_t; * \since v0.1 */ typedef struct amqp_bytes_t_ { - size_t len; /**< length of the buffer in bytes */ - void *bytes; /**< pointer to the beginning of the buffer */ + size_t len; /**< length of the buffer in bytes */ + void *bytes; /**< pointer to the beginning of the buffer */ } amqp_bytes_t; /** @@ -414,8 +402,8 @@ typedef struct amqp_bytes_t_ { * \since v0.1 */ typedef struct amqp_decimal_t_ { - uint8_t decimals; /**< the location of the decimal point */ - uint32_t value; /**< the value before the decimal point is applied */ + uint8_t decimals; /**< the location of the decimal point */ + uint32_t value; /**< the value before the decimal point is applied */ } amqp_decimal_t; /** @@ -424,15 +412,16 @@ typedef struct amqp_decimal_t_ { * An AMQP field table is a set of key-value pairs. * A key is a UTF-8 encoded string up to 128 bytes long, and are not null * terminated. - * A value can be one of several different datatypes. \sa amqp_field_value_kind_t + * A value can be one of several different datatypes. \sa + * amqp_field_value_kind_t * * \sa amqp_table_entry_t * * \since v0.1 */ typedef struct amqp_table_t_ { - int num_entries; /**< length of entries array */ - struct amqp_table_entry_t_ *entries; /**< an array of table entries */ + int num_entries; /**< length of entries array */ + struct amqp_table_entry_t_ *entries; /**< an array of table entries */ } amqp_table_t; /** @@ -443,8 +432,8 @@ typedef struct amqp_table_t_ { * \since v0.1 */ typedef struct amqp_array_t_ { - int num_entries; /**< Number of entries in the table */ - struct amqp_field_value_t_ *entries; /**< linked list of field values */ + int num_entries; /**< Number of entries in the table */ + struct amqp_field_value_t_ *entries; /**< linked list of field values */ } amqp_array_t; /* @@ -492,24 +481,26 @@ the code. * \since v0.1 */ typedef struct amqp_field_value_t_ { - uint8_t kind; /**< the type of the entry /sa amqp_field_value_kind_t */ + uint8_t kind; /**< the type of the entry /sa amqp_field_value_kind_t */ union { - amqp_boolean_t boolean; /**< boolean type AMQP_FIELD_KIND_BOOLEAN */ - int8_t i8; /**< int8_t type AMQP_FIELD_KIND_I8 */ - uint8_t u8; /**< uint8_t type AMQP_FIELD_KIND_U8 */ - int16_t i16; /**< int16_t type AMQP_FIELD_KIND_I16 */ - uint16_t u16; /**< uint16_t type AMQP_FIELD_KIND_U16 */ - int32_t i32; /**< int32_t type AMQP_FIELD_KIND_I32 */ - uint32_t u32; /**< uint32_t type AMQP_FIELD_KIND_U32 */ - int64_t i64; /**< int64_t type AMQP_FIELD_KIND_I64 */ - uint64_t u64; /**< uint64_t type AMQP_FIELD_KIND_U64, AMQP_FIELD_KIND_TIMESTAMP */ - float f32; /**< float type AMQP_FIELD_KIND_F32 */ - double f64; /**< double type AMQP_FIELD_KIND_F64 */ - amqp_decimal_t decimal; /**< amqp_decimal_t AMQP_FIELD_KIND_DECIMAL */ - amqp_bytes_t bytes; /**< amqp_bytes_t type AMQP_FIELD_KIND_UTF8, AMQP_FIELD_KIND_BYTES */ - amqp_table_t table; /**< amqp_table_t type AMQP_FIELD_KIND_TABLE */ - amqp_array_t array; /**< amqp_array_t type AMQP_FIELD_KIND_ARRAY */ - } value; /**< a union of the value */ + amqp_boolean_t boolean; /**< boolean type AMQP_FIELD_KIND_BOOLEAN */ + int8_t i8; /**< int8_t type AMQP_FIELD_KIND_I8 */ + uint8_t u8; /**< uint8_t type AMQP_FIELD_KIND_U8 */ + int16_t i16; /**< int16_t type AMQP_FIELD_KIND_I16 */ + uint16_t u16; /**< uint16_t type AMQP_FIELD_KIND_U16 */ + int32_t i32; /**< int32_t type AMQP_FIELD_KIND_I32 */ + uint32_t u32; /**< uint32_t type AMQP_FIELD_KIND_U32 */ + int64_t i64; /**< int64_t type AMQP_FIELD_KIND_I64 */ + uint64_t u64; /**< uint64_t type AMQP_FIELD_KIND_U64, + AMQP_FIELD_KIND_TIMESTAMP */ + float f32; /**< float type AMQP_FIELD_KIND_F32 */ + double f64; /**< double type AMQP_FIELD_KIND_F64 */ + amqp_decimal_t decimal; /**< amqp_decimal_t AMQP_FIELD_KIND_DECIMAL */ + amqp_bytes_t bytes; /**< amqp_bytes_t type AMQP_FIELD_KIND_UTF8, + AMQP_FIELD_KIND_BYTES */ + amqp_table_t table; /**< amqp_table_t type AMQP_FIELD_KIND_TABLE */ + amqp_array_t array; /**< amqp_array_t type AMQP_FIELD_KIND_ARRAY */ + } value; /**< a union of the value */ } amqp_field_value_t; /** @@ -520,9 +511,9 @@ typedef struct amqp_field_value_t_ { * \since v0.1 */ typedef struct amqp_table_entry_t_ { - amqp_bytes_t key; /**< the table entry key. Its a null-terminated UTF-8 string, - * with a maximum size of 128 bytes */ - amqp_field_value_t value; /**< the table entry values */ + amqp_bytes_t key; /**< the table entry key. Its a null-terminated UTF-8 + * string, with a maximum size of 128 bytes */ + amqp_field_value_t value; /**< the table entry values */ } amqp_table_entry_t; /** @@ -531,24 +522,32 @@ typedef struct amqp_table_entry_t_ { * \since v0.1 */ typedef enum { - AMQP_FIELD_KIND_BOOLEAN = 't', /**< boolean type. 0 = false, 1 = true @see amqp_boolean_t */ - AMQP_FIELD_KIND_I8 = 'b', /**< 8-bit signed integer, datatype: int8_t */ - AMQP_FIELD_KIND_U8 = 'B', /**< 8-bit unsigned integer, datatype: uint8_t */ - AMQP_FIELD_KIND_I16 = 's', /**< 16-bit signed integer, datatype: int16_t */ - AMQP_FIELD_KIND_U16 = 'u', /**< 16-bit unsigned integer, datatype: uint16_t */ - AMQP_FIELD_KIND_I32 = 'I', /**< 32-bit signed integer, datatype: int32_t */ - AMQP_FIELD_KIND_U32 = 'i', /**< 32-bit unsigned integer, datatype: uint32_t */ - AMQP_FIELD_KIND_I64 = 'l', /**< 64-bit signed integer, datatype: int64_t */ - AMQP_FIELD_KIND_U64 = 'L', /**< 64-bit unsigned integer, datatype: uint64_t */ - AMQP_FIELD_KIND_F32 = 'f', /**< single-precision floating point value, datatype: float */ - AMQP_FIELD_KIND_F64 = 'd', /**< double-precision floating point value, datatype: double */ - AMQP_FIELD_KIND_DECIMAL = 'D', /**< amqp-decimal value, datatype: amqp_decimal_t */ - AMQP_FIELD_KIND_UTF8 = 'S', /**< UTF-8 null-terminated character string, datatype: amqp_bytes_t */ - AMQP_FIELD_KIND_ARRAY = 'A', /**< field array (repeated values of another datatype. datatype: amqp_array_t */ - AMQP_FIELD_KIND_TIMESTAMP = 'T',/**< 64-bit timestamp. datatype uint64_t */ - AMQP_FIELD_KIND_TABLE = 'F', /**< field table. encapsulates a table inside a table entry. datatype: amqp_table_t */ - AMQP_FIELD_KIND_VOID = 'V', /**< empty entry */ - AMQP_FIELD_KIND_BYTES = 'x' /**< unformatted byte string, datatype: amqp_bytes_t */ + AMQP_FIELD_KIND_BOOLEAN = + 't', /**< boolean type. 0 = false, 1 = true @see amqp_boolean_t */ + AMQP_FIELD_KIND_I8 = 'b', /**< 8-bit signed integer, datatype: int8_t */ + AMQP_FIELD_KIND_U8 = 'B', /**< 8-bit unsigned integer, datatype: uint8_t */ + AMQP_FIELD_KIND_I16 = 's', /**< 16-bit signed integer, datatype: int16_t */ + AMQP_FIELD_KIND_U16 = 'u', /**< 16-bit unsigned integer, datatype: uint16_t */ + AMQP_FIELD_KIND_I32 = 'I', /**< 32-bit signed integer, datatype: int32_t */ + AMQP_FIELD_KIND_U32 = 'i', /**< 32-bit unsigned integer, datatype: uint32_t */ + AMQP_FIELD_KIND_I64 = 'l', /**< 64-bit signed integer, datatype: int64_t */ + AMQP_FIELD_KIND_U64 = 'L', /**< 64-bit unsigned integer, datatype: uint64_t */ + AMQP_FIELD_KIND_F32 = + 'f', /**< single-precision floating point value, datatype: float */ + AMQP_FIELD_KIND_F64 = + 'd', /**< double-precision floating point value, datatype: double */ + AMQP_FIELD_KIND_DECIMAL = + 'D', /**< amqp-decimal value, datatype: amqp_decimal_t */ + AMQP_FIELD_KIND_UTF8 = 'S', /**< UTF-8 null-terminated character string, + datatype: amqp_bytes_t */ + AMQP_FIELD_KIND_ARRAY = 'A', /**< field array (repeated values of another + datatype. datatype: amqp_array_t */ + AMQP_FIELD_KIND_TIMESTAMP = 'T', /**< 64-bit timestamp. datatype uint64_t */ + AMQP_FIELD_KIND_TABLE = 'F', /**< field table. encapsulates a table inside a + table entry. datatype: amqp_table_t */ + AMQP_FIELD_KIND_VOID = 'V', /**< empty entry */ + AMQP_FIELD_KIND_BYTES = + 'x' /**< unformatted byte string, datatype: amqp_bytes_t */ } amqp_field_value_kind_t; /** @@ -557,8 +556,8 @@ typedef enum { * \since v0.1 */ typedef struct amqp_pool_blocklist_t_ { - int num_blocks; /**< Number of blocks in the block list */ - void **blocklist; /**< Array of memory blocks */ + int num_blocks; /**< Number of blocks in the block list */ + void **blocklist; /**< Array of memory blocks */ } amqp_pool_blocklist_t; /** @@ -567,18 +566,19 @@ typedef struct amqp_pool_blocklist_t_ { * \since v0.1 */ typedef struct amqp_pool_t_ { - size_t pagesize; /**< the size of the page in bytes. - * allocations less than or equal to this size are - * allocated in the pages block list - * allocations greater than this are allocated in their - * own block in the large_blocks block list */ - - amqp_pool_blocklist_t pages; /**< blocks that are the size of pagesize */ - amqp_pool_blocklist_t large_blocks; /**< allocations larger than the pagesize */ - - int next_page; /**< an index to the next unused page block */ - char *alloc_block; /**< pointer to the current allocation block */ - size_t alloc_used; /**< number of bytes in the current allocation block that has been used */ + size_t pagesize; /**< the size of the page in bytes. Allocations less than or + * equal to this size are allocated in the pages block list. + * Allocations greater than this are allocated in their own + * own block in the large_blocks block list */ + + amqp_pool_blocklist_t pages; /**< blocks that are the size of pagesize */ + amqp_pool_blocklist_t + large_blocks; /**< allocations larger than the pagesize */ + + int next_page; /**< an index to the next unused page block */ + char *alloc_block; /**< pointer to the current allocation block */ + size_t alloc_used; /**< number of bytes in the current allocation block that + has been used */ } amqp_pool_t; /** @@ -587,9 +587,9 @@ typedef struct amqp_pool_t_ { * \since v0.1 */ typedef struct amqp_method_t_ { - amqp_method_number_t id; /**< the method id number */ - void *decoded; /**< pointer to the decoded method, - * cast to the appropriate type to use */ + amqp_method_number_t id; /**< the method id number */ + void *decoded; /**< pointer to the decoded method, + * cast to the appropriate type to use */ } amqp_method_t; /** @@ -598,30 +598,32 @@ typedef struct amqp_method_t_ { * \since v0.1 */ typedef struct amqp_frame_t_ { - uint8_t frame_type; /**< frame type. The types: - * - AMQP_FRAME_METHOD - use the method union member - * - AMQP_FRAME_HEADER - use the properties union member - * - AMQP_FRAME_BODY - use the body_fragment union member - */ - amqp_channel_t channel; /**< the channel the frame was received on */ + uint8_t frame_type; /**< frame type. The types: + * - AMQP_FRAME_METHOD - use the method union member + * - AMQP_FRAME_HEADER - use the properties union member + * - AMQP_FRAME_BODY - use the body_fragment union member + */ + amqp_channel_t channel; /**< the channel the frame was received on */ union { - amqp_method_t method; /**< a method, use if frame_type == AMQP_FRAME_METHOD */ + amqp_method_t + method; /**< a method, use if frame_type == AMQP_FRAME_METHOD */ struct { - uint16_t class_id; /**< the class for the properties */ - uint64_t body_size; /**< size of the body in bytes */ - void *decoded; /**< the decoded properties */ - amqp_bytes_t raw; /**< amqp-encoded properties structure */ - } properties; /**< message header, a.k.a., properties, - use if frame_type == AMQP_FRAME_HEADER */ - amqp_bytes_t body_fragment; /**< a body fragment, use if frame_type == AMQP_FRAME_BODY */ + uint16_t class_id; /**< the class for the properties */ + uint64_t body_size; /**< size of the body in bytes */ + void *decoded; /**< the decoded properties */ + amqp_bytes_t raw; /**< amqp-encoded properties structure */ + } properties; /**< message header, a.k.a., properties, + use if frame_type == AMQP_FRAME_HEADER */ + amqp_bytes_t body_fragment; /**< a body fragment, use if frame_type == + AMQP_FRAME_BODY */ struct { - uint8_t transport_high; /**< @internal first byte of handshake */ - uint8_t transport_low; /**< @internal second byte of handshake */ - uint8_t protocol_version_major; /**< @internal third byte of handshake */ - uint8_t protocol_version_minor; /**< @internal fourth byte of handshake */ - } protocol_header; /**< Used only when doing the initial handshake with the broker, - don't use otherwise */ - } payload; /**< the payload of the frame */ + uint8_t transport_high; /**< @internal first byte of handshake */ + uint8_t transport_low; /**< @internal second byte of handshake */ + uint8_t protocol_version_major; /**< @internal third byte of handshake */ + uint8_t protocol_version_minor; /**< @internal fourth byte of handshake */ + } protocol_header; /**< Used only when doing the initial handshake with the + broker, don't use otherwise */ + } payload; /**< the payload of the frame */ } amqp_frame_t; /** @@ -630,10 +632,12 @@ typedef struct amqp_frame_t_ { * \since v0.1 */ typedef enum amqp_response_type_enum_ { - AMQP_RESPONSE_NONE = 0, /**< the library got an EOF from the socket */ - AMQP_RESPONSE_NORMAL, /**< response normal, the RPC completed successfully */ - AMQP_RESPONSE_LIBRARY_EXCEPTION,/**< library error, an error occurred in the library, examine the library_error */ - AMQP_RESPONSE_SERVER_EXCEPTION /**< server exception, the broker returned an error, check replay */ + AMQP_RESPONSE_NONE = 0, /**< the library got an EOF from the socket */ + AMQP_RESPONSE_NORMAL, /**< response normal, the RPC completed successfully */ + AMQP_RESPONSE_LIBRARY_EXCEPTION, /**< library error, an error occurred in the + library, examine the library_error */ + AMQP_RESPONSE_SERVER_EXCEPTION /**< server exception, the broker returned an + error, check replay */ } amqp_response_type_enum; /** @@ -642,18 +646,23 @@ typedef enum amqp_response_type_enum_ { * \since v0.1 */ typedef struct amqp_rpc_reply_t_ { - amqp_response_type_enum reply_type; /**< the reply type: - * - AMQP_RESPONSE_NORMAL - the RPC completed successfully - * - AMQP_RESPONSE_SERVER_EXCEPTION - the broker returned - * an exception, check the reply field - * - AMQP_RESPONSE_LIBRARY_EXCEPTION - the library - * encountered an error, check the library_error field - */ - amqp_method_t reply; /**< in case of AMQP_RESPONSE_SERVER_EXCEPTION this - * field will be set to the method returned from the broker */ - int library_error; /**< in case of AMQP_RESPONSE_LIBRARY_EXCEPTION this - * field will be set to an error code. An error - * string can be retrieved using amqp_error_string */ + amqp_response_type_enum reply_type; /**< the reply type: + * - AMQP_RESPONSE_NORMAL - the RPC + * completed successfully + * - AMQP_RESPONSE_SERVER_EXCEPTION - the + * broker returned + * an exception, check the reply field + * - AMQP_RESPONSE_LIBRARY_EXCEPTION - the + * library + * encountered an error, check the + * library_error field + */ + amqp_method_t reply; /**< in case of AMQP_RESPONSE_SERVER_EXCEPTION this + * field will be set to the method returned from the + * broker */ + int library_error; /**< in case of AMQP_RESPONSE_LIBRARY_EXCEPTION this + * field will be set to an error code. An error + * string can be retrieved using amqp_error_string */ } amqp_rpc_reply_t; /** @@ -663,8 +672,10 @@ typedef struct amqp_rpc_reply_t_ { */ typedef enum amqp_sasl_method_enum_ { AMQP_SASL_METHOD_UNDEFINED = -1, /**< Invalid SASL method */ - AMQP_SASL_METHOD_PLAIN = 0, /**< the PLAIN SASL method for authentication to the broker */ - AMQP_SASL_METHOD_EXTERNAL = 1 /**< the EXTERNAL SASL method for authentication to the broker */ + AMQP_SASL_METHOD_PLAIN = + 0, /**< the PLAIN SASL method for authentication to the broker */ + AMQP_SASL_METHOD_EXTERNAL = + 1 /**< the EXTERNAL SASL method for authentication to the broker */ } amqp_sasl_method_enum; /** @@ -686,77 +697,77 @@ typedef struct amqp_socket_t_ amqp_socket_t; * * \since v0.4.0 */ -/* NOTE: When updating this enum, update the strings in librabbitmq/amqp_api.c */ -typedef enum amqp_status_enum_ -{ - AMQP_STATUS_OK = 0x0, /**< Operation successful */ - AMQP_STATUS_NO_MEMORY = -0x0001, /**< Memory allocation +/* NOTE: When updating this enum, update the strings in librabbitmq/amqp_api.c + */ +typedef enum amqp_status_enum_ { + AMQP_STATUS_OK = 0x0, /**< Operation successful */ + AMQP_STATUS_NO_MEMORY = -0x0001, /**< Memory allocation failed */ - AMQP_STATUS_BAD_AMQP_DATA = -0x0002, /**< Incorrect or corrupt - data was received from - the broker. This is a - protocol error. */ - AMQP_STATUS_UNKNOWN_CLASS = -0x0003, /**< An unknown AMQP class - was received. This is - a protocol error. */ - AMQP_STATUS_UNKNOWN_METHOD = -0x0004, /**< An unknown AMQP method - was received. This is - a protocol error. */ - AMQP_STATUS_HOSTNAME_RESOLUTION_FAILED= -0x0005, /**< Unable to resolve the - * hostname */ - AMQP_STATUS_INCOMPATIBLE_AMQP_VERSION = -0x0006, /**< The broker advertised - an incompaible AMQP - version */ - AMQP_STATUS_CONNECTION_CLOSED = -0x0007, /**< The connection to the - broker has been closed - */ - AMQP_STATUS_BAD_URL = -0x0008, /**< malformed AMQP URL */ - AMQP_STATUS_SOCKET_ERROR = -0x0009, /**< A socket error - occurred */ - AMQP_STATUS_INVALID_PARAMETER = -0x000A, /**< An invalid parameter - was passed into the - function */ - AMQP_STATUS_TABLE_TOO_BIG = -0x000B, /**< The amqp_table_t object - cannot be serialized - because the output - buffer is too small */ - AMQP_STATUS_WRONG_METHOD = -0x000C, /**< The wrong method was - received */ - AMQP_STATUS_TIMEOUT = -0x000D, /**< Operation timed out */ - AMQP_STATUS_TIMER_FAILURE = -0x000E, /**< The underlying system - timer facility failed */ - AMQP_STATUS_HEARTBEAT_TIMEOUT = -0x000F, /**< Timed out waiting for - heartbeat */ - AMQP_STATUS_UNEXPECTED_STATE = -0x0010, /**< Unexpected protocol - state */ - AMQP_STATUS_SOCKET_CLOSED = -0x0011, /**< Underlying socket is - closed */ - AMQP_STATUS_SOCKET_INUSE = -0x0012, /**< Underlying socket is - already open */ + AMQP_STATUS_BAD_AMQP_DATA = -0x0002, /**< Incorrect or corrupt + data was received from + the broker. This is a + protocol error. */ + AMQP_STATUS_UNKNOWN_CLASS = -0x0003, /**< An unknown AMQP class + was received. This is + a protocol error. */ + AMQP_STATUS_UNKNOWN_METHOD = -0x0004, /**< An unknown AMQP method + was received. This is + a protocol error. */ + AMQP_STATUS_HOSTNAME_RESOLUTION_FAILED = -0x0005, /**< Unable to resolve the + * hostname */ + AMQP_STATUS_INCOMPATIBLE_AMQP_VERSION = -0x0006, /**< The broker advertised + an incompaible AMQP + version */ + AMQP_STATUS_CONNECTION_CLOSED = -0x0007, /**< The connection to the + broker has been closed + */ + AMQP_STATUS_BAD_URL = -0x0008, /**< malformed AMQP URL */ + AMQP_STATUS_SOCKET_ERROR = -0x0009, /**< A socket error + occurred */ + AMQP_STATUS_INVALID_PARAMETER = -0x000A, /**< An invalid parameter + was passed into the + function */ + AMQP_STATUS_TABLE_TOO_BIG = -0x000B, /**< The amqp_table_t object + cannot be serialized + because the output + buffer is too small */ + AMQP_STATUS_WRONG_METHOD = -0x000C, /**< The wrong method was + received */ + AMQP_STATUS_TIMEOUT = -0x000D, /**< Operation timed out */ + AMQP_STATUS_TIMER_FAILURE = -0x000E, /**< The underlying system + timer facility failed */ + AMQP_STATUS_HEARTBEAT_TIMEOUT = -0x000F, /**< Timed out waiting for + heartbeat */ + AMQP_STATUS_UNEXPECTED_STATE = -0x0010, /**< Unexpected protocol + state */ + AMQP_STATUS_SOCKET_CLOSED = -0x0011, /**< Underlying socket is + closed */ + AMQP_STATUS_SOCKET_INUSE = -0x0012, /**< Underlying socket is + already open */ AMQP_STATUS_BROKER_UNSUPPORTED_SASL_METHOD = -0x0013, /**< Broker does not support the requested SASL mechanism */ - AMQP_STATUS_UNSUPPORTED = -0x0014, /**< Parameter is unsupported - in this version */ - _AMQP_STATUS_NEXT_VALUE = -0x0015, /**< Internal value */ - - AMQP_STATUS_TCP_ERROR = -0x0100, /**< A generic TCP error - occurred */ - AMQP_STATUS_TCP_SOCKETLIB_INIT_ERROR = -0x0101, /**< An error occurred trying - to initialize the - socket library*/ - _AMQP_STATUS_TCP_NEXT_VALUE = -0x0102, /**< Internal value */ - - AMQP_STATUS_SSL_ERROR = -0x0200, /**< A generic SSL error - occurred. */ - AMQP_STATUS_SSL_HOSTNAME_VERIFY_FAILED= -0x0201, /**< SSL validation of - hostname against - peer certificate - failed */ - AMQP_STATUS_SSL_PEER_VERIFY_FAILED = -0x0202, /**< SSL validation of peer - certificate failed. */ - AMQP_STATUS_SSL_CONNECTION_FAILED = -0x0203, /**< SSL handshake failed. */ - _AMQP_STATUS_SSL_NEXT_VALUE = -0x0204 /**< Internal value */ + AMQP_STATUS_UNSUPPORTED = -0x0014, /**< Parameter is unsupported + in this version */ + _AMQP_STATUS_NEXT_VALUE = -0x0015, /**< Internal value */ + + AMQP_STATUS_TCP_ERROR = -0x0100, /**< A generic TCP error + occurred */ + AMQP_STATUS_TCP_SOCKETLIB_INIT_ERROR = -0x0101, /**< An error occurred trying + to initialize the + socket library*/ + _AMQP_STATUS_TCP_NEXT_VALUE = -0x0102, /**< Internal value */ + + AMQP_STATUS_SSL_ERROR = -0x0200, /**< A generic SSL error + occurred. */ + AMQP_STATUS_SSL_HOSTNAME_VERIFY_FAILED = -0x0201, /**< SSL validation of + hostname against + peer certificate + failed */ + AMQP_STATUS_SSL_PEER_VERIFY_FAILED = -0x0202, /**< SSL validation of peer + certificate failed. */ + AMQP_STATUS_SSL_CONNECTION_FAILED = -0x0203, /**< SSL handshake failed. */ + _AMQP_STATUS_SSL_NEXT_VALUE = -0x0204 /**< Internal value */ } amqp_status_enum; /** @@ -766,8 +777,8 @@ typedef enum amqp_status_enum_ * \since v0.5 */ typedef enum { - AMQP_DELIVERY_NONPERSISTENT = 1, /**< Non-persistent message */ - AMQP_DELIVERY_PERSISTENT = 2 /**< Persistent message */ + AMQP_DELIVERY_NONPERSISTENT = 1, /**< Non-persistent message */ + AMQP_DELIVERY_PERSISTENT = 2 /**< Persistent message */ } amqp_delivery_mode_enum; AMQP_END_DECLS @@ -855,8 +866,7 @@ AMQP_PUBLIC_VARIABLE const amqp_array_t amqp_empty_array; * \since v0.1 */ AMQP_PUBLIC_FUNCTION -void -AMQP_CALL init_amqp_pool(amqp_pool_t *pool, size_t pagesize); +void AMQP_CALL init_amqp_pool(amqp_pool_t *pool, size_t pagesize); /** * Recycles an amqp_pool_t memory allocation pool @@ -879,8 +889,7 @@ AMQP_CALL init_amqp_pool(amqp_pool_t *pool, size_t pagesize); * */ AMQP_PUBLIC_FUNCTION -void -AMQP_CALL recycle_amqp_pool(amqp_pool_t *pool); +void AMQP_CALL recycle_amqp_pool(amqp_pool_t *pool); /** * Empties an amqp memory pool @@ -892,8 +901,7 @@ AMQP_CALL recycle_amqp_pool(amqp_pool_t *pool); * \since v0.1 */ AMQP_PUBLIC_FUNCTION -void -AMQP_CALL empty_amqp_pool(amqp_pool_t *pool); +void AMQP_CALL empty_amqp_pool(amqp_pool_t *pool); /** * Allocates a block of memory from an amqp_pool_t memory pool @@ -912,8 +920,7 @@ AMQP_CALL empty_amqp_pool(amqp_pool_t *pool); * \since v0.1 */ AMQP_PUBLIC_FUNCTION -void * -AMQP_CALL amqp_pool_alloc(amqp_pool_t *pool, size_t amount); +void *AMQP_CALL amqp_pool_alloc(amqp_pool_t *pool, size_t amount); /** * Allocates a block of memory from an amqp_pool_t to an amqp_bytes_t @@ -935,8 +942,8 @@ AMQP_CALL amqp_pool_alloc(amqp_pool_t *pool, size_t amount); * \since v0.1 */ AMQP_PUBLIC_FUNCTION -void -AMQP_CALL amqp_pool_alloc_bytes(amqp_pool_t *pool, size_t amount, amqp_bytes_t *output); +void AMQP_CALL amqp_pool_alloc_bytes(amqp_pool_t *pool, size_t amount, + amqp_bytes_t *output); /** * Wraps a c string in an amqp_bytes_t @@ -957,8 +964,7 @@ AMQP_CALL amqp_pool_alloc_bytes(amqp_pool_t *pool, size_t amount, amqp_bytes_t * * \since v0.1 */ AMQP_PUBLIC_FUNCTION -amqp_bytes_t -AMQP_CALL amqp_cstring_bytes(char const *cstr); +amqp_bytes_t AMQP_CALL amqp_cstring_bytes(char const *cstr); /** * Duplicates an amqp_bytes_t buffer. @@ -977,8 +983,7 @@ AMQP_CALL amqp_cstring_bytes(char const *cstr); * \since v0.1 */ AMQP_PUBLIC_FUNCTION -amqp_bytes_t -AMQP_CALL amqp_bytes_malloc_dup(amqp_bytes_t src); +amqp_bytes_t AMQP_CALL amqp_bytes_malloc_dup(amqp_bytes_t src); /** * Allocates a amqp_bytes_t buffer @@ -995,8 +1000,7 @@ AMQP_CALL amqp_bytes_malloc_dup(amqp_bytes_t src); * \since v0.1 */ AMQP_PUBLIC_FUNCTION -amqp_bytes_t -AMQP_CALL amqp_bytes_malloc(size_t amount); +amqp_bytes_t AMQP_CALL amqp_bytes_malloc(size_t amount); /** * Frees an amqp_bytes_t buffer @@ -1013,8 +1017,7 @@ AMQP_CALL amqp_bytes_malloc(size_t amount); * \since v0.1 */ AMQP_PUBLIC_FUNCTION -void -AMQP_CALL amqp_bytes_free(amqp_bytes_t bytes); +void AMQP_CALL amqp_bytes_free(amqp_bytes_t bytes); /** * Allocate and initialize a new amqp_connection_state_t object @@ -1029,8 +1032,7 @@ AMQP_CALL amqp_bytes_free(amqp_bytes_t bytes); * \since v0.1 */ AMQP_PUBLIC_FUNCTION -amqp_connection_state_t -AMQP_CALL amqp_new_connection(void); +amqp_connection_state_t AMQP_CALL amqp_new_connection(void); /** * Get the underlying socket descriptor for the connection @@ -1050,9 +1052,7 @@ AMQP_CALL amqp_new_connection(void); * \since v0.1 */ AMQP_PUBLIC_FUNCTION -int -AMQP_CALL amqp_get_sockfd(amqp_connection_state_t state); - +int AMQP_CALL amqp_get_sockfd(amqp_connection_state_t state); /** * Deprecated, use amqp_tcp_socket_new() or amqp_ssl_socket_new() @@ -1071,12 +1071,8 @@ AMQP_CALL amqp_get_sockfd(amqp_connection_state_t state); * * \since v0.1 */ -AMQP_DEPRECATED( - AMQP_PUBLIC_FUNCTION - void - AMQP_CALL amqp_set_sockfd(amqp_connection_state_t state, int sockfd) -); - +AMQP_DEPRECATED(AMQP_PUBLIC_FUNCTION void AMQP_CALL + amqp_set_sockfd(amqp_connection_state_t state, int sockfd)); /** * Tune client side parameters @@ -1111,11 +1107,9 @@ AMQP_DEPRECATED( * \since v0.1 */ AMQP_PUBLIC_FUNCTION -int -AMQP_CALL amqp_tune_connection(amqp_connection_state_t state, - int channel_max, - int frame_max, - int heartbeat); +int AMQP_CALL amqp_tune_connection(amqp_connection_state_t state, + int channel_max, int frame_max, + int heartbeat); /** * Get the maximum number of channels the connection can handle @@ -1129,8 +1123,7 @@ AMQP_CALL amqp_tune_connection(amqp_connection_state_t state, * \since v0.1 */ AMQP_PUBLIC_FUNCTION -int -AMQP_CALL amqp_get_channel_max(amqp_connection_state_t state); +int AMQP_CALL amqp_get_channel_max(amqp_connection_state_t state); /** * Get the maximum size of an frame the connection can handle @@ -1144,8 +1137,7 @@ AMQP_CALL amqp_get_channel_max(amqp_connection_state_t state); * \since v0.6 */ AMQP_PUBLIC_FUNCTION -int -AMQP_CALL amqp_get_frame_max(amqp_connection_state_t state); +int AMQP_CALL amqp_get_frame_max(amqp_connection_state_t state); /** * Get the number of seconds between heartbeats of the connection @@ -1159,8 +1151,7 @@ AMQP_CALL amqp_get_frame_max(amqp_connection_state_t state); * \since v0.6 */ AMQP_PUBLIC_FUNCTION -int -AMQP_CALL amqp_get_heartbeat(amqp_connection_state_t state); +int AMQP_CALL amqp_get_heartbeat(amqp_connection_state_t state); /** * Destroys an amqp_connection_state_t object @@ -1180,8 +1171,7 @@ AMQP_CALL amqp_get_heartbeat(amqp_connection_state_t state); * \since v0.1 */ AMQP_PUBLIC_FUNCTION -int -AMQP_CALL amqp_destroy_connection(amqp_connection_state_t state); +int AMQP_CALL amqp_destroy_connection(amqp_connection_state_t state); /** * Process incoming data @@ -1206,13 +1196,14 @@ AMQP_CALL amqp_destroy_connection(amqp_connection_state_t state); * amqp_frame_t struct. If there is enough data in received_data for a * complete frame, decoded_frame->frame_type will be set to something OTHER * than 0. decoded_frame may contain members pointing to memory owned by - * the state object. This memory can be recycled with amqp_maybe_release_buffers() - * or amqp_maybe_release_buffers_on_channel() + * the state object. This memory can be recycled with + * amqp_maybe_release_buffers() or amqp_maybe_release_buffers_on_channel(). * \return number of bytes consumed from received_data or 0 if a 0-length - * buffer was passed. A negative return value indicates failure. Possible errors: - * - AMQP_STATUS_NO_MEMORY failure in allocating memory. The library is likely in - * an indeterminate state making recovery unlikely. Client should note the error - * and terminate the application + * buffer was passed. A negative return value indicates failure. Possible + * errors: + * - AMQP_STATUS_NO_MEMORY failure in allocating memory. The library is likely + * in an indeterminate state making recovery unlikely. Client should note the + * error and terminate the application * - AMQP_STATUS_BAD_AMQP_DATA bad AMQP data was received. The connection * should be shutdown immediately * - AMQP_STATUS_UNKNOWN_METHOD: an unknown method was received from the @@ -1225,10 +1216,9 @@ AMQP_CALL amqp_destroy_connection(amqp_connection_state_t state); * \since v0.1 */ AMQP_PUBLIC_FUNCTION -int -AMQP_CALL amqp_handle_input(amqp_connection_state_t state, - amqp_bytes_t received_data, - amqp_frame_t *decoded_frame); +int AMQP_CALL amqp_handle_input(amqp_connection_state_t state, + amqp_bytes_t received_data, + amqp_frame_t *decoded_frame); /** * Check to see if connection memory can be released @@ -1248,8 +1238,7 @@ AMQP_CALL amqp_handle_input(amqp_connection_state_t state, * \since v0.1 */ AMQP_PUBLIC_FUNCTION -amqp_boolean_t -AMQP_CALL amqp_release_buffers_ok(amqp_connection_state_t state); +amqp_boolean_t AMQP_CALL amqp_release_buffers_ok(amqp_connection_state_t state); /** * Release amqp_connection_state_t owned memory @@ -1276,8 +1265,7 @@ AMQP_CALL amqp_release_buffers_ok(amqp_connection_state_t state); * \since v0.1 */ AMQP_PUBLIC_FUNCTION -void -AMQP_CALL amqp_release_buffers(amqp_connection_state_t state); +void AMQP_CALL amqp_release_buffers(amqp_connection_state_t state); /** * Release amqp_connection_state_t owned memory @@ -1297,8 +1285,7 @@ AMQP_CALL amqp_release_buffers(amqp_connection_state_t state); * \since v0.1 */ AMQP_PUBLIC_FUNCTION -void -AMQP_CALL amqp_maybe_release_buffers(amqp_connection_state_t state); +void AMQP_CALL amqp_maybe_release_buffers(amqp_connection_state_t state); /** * Release amqp_connection_state_t owned memory related to a channel @@ -1321,9 +1308,8 @@ AMQP_CALL amqp_maybe_release_buffers(amqp_connection_state_t state); * \since v0.4.0 */ AMQP_PUBLIC_FUNCTION -void -AMQP_CALL amqp_maybe_release_buffers_on_channel(amqp_connection_state_t state, - amqp_channel_t channel); +void AMQP_CALL amqp_maybe_release_buffers_on_channel( + amqp_connection_state_t state, amqp_channel_t channel); /** * Send a frame to the broker @@ -1347,8 +1333,8 @@ AMQP_CALL amqp_maybe_release_buffers_on_channel(amqp_connection_state_t state, * \since v0.1 */ AMQP_PUBLIC_FUNCTION -int -AMQP_CALL amqp_send_frame(amqp_connection_state_t state, amqp_frame_t const *frame); +int AMQP_CALL amqp_send_frame(amqp_connection_state_t state, + amqp_frame_t const *frame); /** * Compare two table entries @@ -1357,13 +1343,13 @@ AMQP_CALL amqp_send_frame(amqp_connection_state_t state, amqp_frame_t const *fra * * \param [in] entry1 the entry on the left * \param [in] entry2 the entry on the right - * \return 0 if entries are equal, 0 < if left is greater, 0 > if right is greater + * \return 0 if entries are equal, 0 < if left is greater, 0 > if right is + * greater * * \since v0.1 */ AMQP_PUBLIC_FUNCTION -int -AMQP_CALL amqp_table_entry_cmp(void const *entry1, void const *entry2); +int AMQP_CALL amqp_table_entry_cmp(void const *entry1, void const *entry2); /** * Open a socket to a remote host @@ -1383,8 +1369,8 @@ AMQP_CALL amqp_table_entry_cmp(void const *entry1, void const *entry2); * - AMQP_STATUS_TCP_SOCKETLIB_INIT_ERROR Initialization of underlying socket * library failed. * - AMQP_STATUS_HOSTNAME_RESOLUTION_FAILED hostname lookup failed. - * - AMQP_STATUS_SOCKET_ERROR a socket error occurred. errno or WSAGetLastError() - * may return more useful information. + * - AMQP_STATUS_SOCKET_ERROR a socket error occurred. errno or + * WSAGetLastError() may return more useful information. * * \note IPv6 support was added in v0.3 * @@ -1393,8 +1379,7 @@ AMQP_CALL amqp_table_entry_cmp(void const *entry1, void const *entry2); * \since v0.1 */ AMQP_PUBLIC_FUNCTION -int -AMQP_CALL amqp_open_socket(char const *hostname, int portnumber); +int AMQP_CALL amqp_open_socket(char const *hostname, int portnumber); /** * Send initial AMQP header to the broker @@ -1418,8 +1403,7 @@ AMQP_CALL amqp_open_socket(char const *hostname, int portnumber); * \since v0.1 */ AMQP_PUBLIC_FUNCTION -int -AMQP_CALL amqp_send_header(amqp_connection_state_t state); +int AMQP_CALL amqp_send_header(amqp_connection_state_t state); /** * Checks to see if there are any incoming frames ready to be read @@ -1438,8 +1422,7 @@ AMQP_CALL amqp_send_header(amqp_connection_state_t state); * \since v0.1 */ AMQP_PUBLIC_FUNCTION -amqp_boolean_t -AMQP_CALL amqp_frames_enqueued(amqp_connection_state_t state); +amqp_boolean_t AMQP_CALL amqp_frames_enqueued(amqp_connection_state_t state); /** * Read a single amqp_frame_t @@ -1464,9 +1447,9 @@ AMQP_CALL amqp_frames_enqueued(amqp_connection_state_t state); * \param [out] decoded_frame the frame * \return AMQP_STATUS_OK on success, an amqp_status_enum value * is returned otherwise. Possible errors include: - * - AMQP_STATUS_NO_MEMORY failure in allocating memory. The library is likely in - * an indeterminate state making recovery unlikely. Client should note the error - * and terminate the application + * - AMQP_STATUS_NO_MEMORY failure in allocating memory. The library is likely + * in an indeterminate state making recovery unlikely. Client should note the + * error and terminate the application * - AMQP_STATUS_BAD_AMQP_DATA bad AMQP data was received. The connection * should be shutdown immediately * - AMQP_STATUS_UNKNOWN_METHOD: an unknown method was received from the @@ -1493,9 +1476,8 @@ AMQP_CALL amqp_frames_enqueued(amqp_connection_state_t state); * \since v0.1 */ AMQP_PUBLIC_FUNCTION -int -AMQP_CALL amqp_simple_wait_frame(amqp_connection_state_t state, - amqp_frame_t *decoded_frame); +int AMQP_CALL amqp_simple_wait_frame(amqp_connection_state_t state, + amqp_frame_t *decoded_frame); /** * Read a single amqp_frame_t with a timeout. @@ -1505,7 +1487,8 @@ AMQP_CALL amqp_simple_wait_frame(amqp_connection_state_t state, * if the timeout is reached. The tv value is not modified by the function. * * If a 0 timeval is specified, the function behaves as if its non-blocking: it - * will test to see if a frame can be read from the broker, and return immediately. + * will test to see if a frame can be read from the broker, and return + * immediately. * * If NULL is passed in for tv, the function will behave like * amqp_simple_wait_frame() and block until a frame is received from the broker @@ -1517,13 +1500,14 @@ AMQP_CALL amqp_simple_wait_frame(amqp_connection_state_t state, * amqp_frames_enqueued() function. * * The library has a socket read buffer. When there is data in an - * amqp_connection_state_t read buffer, amqp_simple_wait_frame_noblock() may return + * amqp_connection_state_t read buffer, amqp_simple_wait_frame_noblock() may + * return * an amqp_frame_t without entering a blocking read(). You can test to see if an * amqp_connection_state_t object has data in its read buffer by calling the * amqp_data_in_buffer() function. * - * \note This function does not return heartbeat frames. When enabled, heartbeating - * is handed internally internally by the library + * \note This function does not return heartbeat frames. When enabled, + * heartbeating is handed internally internally by the library. * * \param [in,out] state the connection object * \param [out] decoded_frame the frame @@ -1535,9 +1519,9 @@ AMQP_CALL amqp_simple_wait_frame(amqp_connection_state_t state, * - AMQP_STATUS_TIMEOUT the timeout was reached while waiting for a frame * from the broker. * - AMQP_STATUS_INVALID_PARAMETER the tv parameter contains an invalid value. - * - AMQP_STATUS_NO_MEMORY failure in allocating memory. The library is likely in - * an indeterminate state making recovery unlikely. Client should note the error - * and terminate the application + * - AMQP_STATUS_NO_MEMORY failure in allocating memory. The library is likely + * in an indeterminate state making recovery unlikely. Client should note the + * error and terminate the application * - AMQP_STATUS_BAD_AMQP_DATA bad AMQP data was received. The connection * should be shutdown immediately * - AMQP_STATUS_UNKNOWN_METHOD: an unknown method was received from the @@ -1559,10 +1543,9 @@ AMQP_CALL amqp_simple_wait_frame(amqp_connection_state_t state, * \since v0.4.0 */ AMQP_PUBLIC_FUNCTION -int -AMQP_CALL amqp_simple_wait_frame_noblock(amqp_connection_state_t state, - amqp_frame_t *decoded_frame, - struct timeval *tv); +int AMQP_CALL amqp_simple_wait_frame_noblock(amqp_connection_state_t state, + amqp_frame_t *decoded_frame, + struct timeval *tv); /** * Waits for a specific method from the broker @@ -1575,16 +1558,17 @@ AMQP_CALL amqp_simple_wait_frame_noblock(amqp_connection_state_t state, * or expected_method the program will abort * * \param [in] state the connection object - * \param [in] expected_channel the channel that the method should be delivered on + * \param [in] expected_channel the channel that the method should be delivered + * on * \param [in] expected_method the method to wait for * \param [out] output the method * \returns AMQP_STATUS_OK on success. An amqp_status_enum value is returned * otherwise. Possible errors include: * - AMQP_STATUS_WRONG_METHOD a frame containing the wrong method, wrong frame * type or wrong channel was received. The connection is closed. - * - AMQP_STATUS_NO_MEMORY failure in allocating memory. The library is likely in - * an indeterminate state making recovery unlikely. Client should note the error - * and terminate the application + * - AMQP_STATUS_NO_MEMORY failure in allocating memory. The library is likely + * in an indeterminate state making recovery unlikely. Client should note the + * error and terminate the application * - AMQP_STATUS_BAD_AMQP_DATA bad AMQP data was received. The connection * should be shutdown immediately * - AMQP_STATUS_UNKNOWN_METHOD: an unknown method was received from the @@ -1605,11 +1589,10 @@ AMQP_CALL amqp_simple_wait_frame_noblock(amqp_connection_state_t state, */ AMQP_PUBLIC_FUNCTION -int -AMQP_CALL amqp_simple_wait_method(amqp_connection_state_t state, - amqp_channel_t expected_channel, - amqp_method_number_t expected_method, - amqp_method_t *output); +int AMQP_CALL amqp_simple_wait_method(amqp_connection_state_t state, + amqp_channel_t expected_channel, + amqp_method_number_t expected_method, + amqp_method_t *output); /** * Sends a method to the broker @@ -1638,11 +1621,9 @@ AMQP_CALL amqp_simple_wait_method(amqp_connection_state_t state, * \since v0.1 */ AMQP_PUBLIC_FUNCTION -int -AMQP_CALL amqp_send_method(amqp_connection_state_t state, - amqp_channel_t channel, - amqp_method_number_t id, - void *decoded); +int AMQP_CALL amqp_send_method(amqp_connection_state_t state, + amqp_channel_t channel, amqp_method_number_t id, + void *decoded); /** * Sends a method to the broker and waits for a method response @@ -1677,12 +1658,10 @@ AMQP_CALL amqp_send_method(amqp_connection_state_t state, * \since v0.1 */ AMQP_PUBLIC_FUNCTION -amqp_rpc_reply_t -AMQP_CALL amqp_simple_rpc(amqp_connection_state_t state, - amqp_channel_t channel, - amqp_method_number_t request_id, - amqp_method_number_t *expected_reply_ids, - void *decoded_request_method); +amqp_rpc_reply_t AMQP_CALL amqp_simple_rpc( + amqp_connection_state_t state, amqp_channel_t channel, + amqp_method_number_t request_id, amqp_method_number_t *expected_reply_ids, + void *decoded_request_method); /** * Sends a method to the broker and waits for a method response @@ -1699,12 +1678,11 @@ AMQP_CALL amqp_simple_rpc(amqp_connection_state_t state, * \since v0.1 */ AMQP_PUBLIC_FUNCTION -void * -AMQP_CALL amqp_simple_rpc_decoded(amqp_connection_state_t state, - amqp_channel_t channel, - amqp_method_number_t request_id, - amqp_method_number_t reply_id, - void *decoded_request_method); +void *AMQP_CALL amqp_simple_rpc_decoded(amqp_connection_state_t state, + amqp_channel_t channel, + amqp_method_number_t request_id, + amqp_method_number_t reply_id, + void *decoded_request_method); /** * Get the last global amqp_rpc_reply @@ -1746,8 +1724,7 @@ AMQP_CALL amqp_simple_rpc_decoded(amqp_connection_state_t state, * \since v0.1 */ AMQP_PUBLIC_FUNCTION -amqp_rpc_reply_t -AMQP_CALL amqp_get_rpc_reply(amqp_connection_state_t state); +amqp_rpc_reply_t AMQP_CALL amqp_get_rpc_reply(amqp_connection_state_t state); /** * Login to the broker @@ -1759,15 +1736,16 @@ AMQP_CALL amqp_get_rpc_reply(amqp_connection_state_t state); * \param [in] vhost the virtual host to connect to on the broker. The default * on most brokers is "/" * \param [in] channel_max the limit for number of channels for the connection. - * 0 means no limit, and is a good default (AMQP_DEFAULT_MAX_CHANNELS) + * 0 means no limit, and is a good default + * (AMQP_DEFAULT_MAX_CHANNELS) * Note that the maximum number of channels the protocol supports * is 65535 (2^16, with the 0-channel reserved). The server can * set a lower channel_max and then the client will use the lowest * of the two * \param [in] frame_max the maximum size of an AMQP frame on the wire to * request of the broker for this connection. 4096 is the minimum - * size, 2^31-1 is the maximum, a good default is 131072 (128KB), or - * AMQP_DEFAULT_FRAME_SIZE + * size, 2^31-1 is the maximum, a good default is 131072 (128KB), + * or AMQP_DEFAULT_FRAME_SIZE * \param [in] heartbeat the number of seconds between heartbeat frames to * request of the broker. A value of 0 disables heartbeats. * Note rabbitmq-c only has partial support for heartbeats, as of @@ -1806,10 +1784,10 @@ AMQP_CALL amqp_get_rpc_reply(amqp_connection_state_t state); * \since v0.1 */ AMQP_PUBLIC_FUNCTION -amqp_rpc_reply_t -AMQP_CALL amqp_login(amqp_connection_state_t state, char const *vhost, - int channel_max, int frame_max, int heartbeat, - amqp_sasl_method_enum sasl_method, ...); +amqp_rpc_reply_t AMQP_CALL amqp_login(amqp_connection_state_t state, + char const *vhost, int channel_max, + int frame_max, int heartbeat, + amqp_sasl_method_enum sasl_method, ...); /** * Login to the broker passing a properties table @@ -1821,16 +1799,18 @@ AMQP_CALL amqp_login(amqp_connection_state_t state, char const *vhost, * \param [in] state the connection object * \param [in] vhost the virtual host to connect to on the broker. The default * on most brokers is "/" - * \param [in] channel_max the limit for the number of channels for the connection. - * 0 means no limit, and is a good default (AMQP_DEFAULT_MAX_CHANNELS) + * \param [in] channel_max the limit for the number of channels for the + * connection. + * 0 means no limit, and is a good default + * (AMQP_DEFAULT_MAX_CHANNELS) * Note that the maximum number of channels the protocol supports * is 65535 (2^16, with the 0-channel reserved). The server can * set a lower channel_max and then the client will use the lowest * of the two * \param [in] frame_max the maximum size of an AMQP frame ont he wire to * request of the broker for this connection. 4096 is the minimum - * size, 2^31-1 is the maximum, a good default is 131072 (128KB), or - * AMQP_DEFAULT_FRAME_SIZE + * size, 2^31-1 is the maximum, a good default is 131072 (128KB), + * or AMQP_DEFAULT_FRAME_SIZE * \param [in] heartbeat the number of seconds between heartbeat frame to * request of the broker. A value of 0 disables heartbeats. * Note rabbitmq-c only has partial support for hearts, as of @@ -1870,10 +1850,10 @@ AMQP_CALL amqp_login(amqp_connection_state_t state, char const *vhost, * \since v0.4.0 */ AMQP_PUBLIC_FUNCTION -amqp_rpc_reply_t -AMQP_CALL amqp_login_with_properties(amqp_connection_state_t state, char const *vhost, - int channel_max, int frame_max, int heartbeat, - const amqp_table_t *properties, amqp_sasl_method_enum sasl_method, ...); +amqp_rpc_reply_t AMQP_CALL amqp_login_with_properties( + amqp_connection_state_t state, char const *vhost, int channel_max, + int frame_max, int heartbeat, const amqp_table_t *properties, + amqp_sasl_method_enum sasl_method, ...); struct amqp_basic_properties_t_; @@ -1894,9 +1874,9 @@ struct amqp_basic_properties_t_; * \param [in] mandatory indicate to the broker that the message MUST be routed * to a queue. If the broker cannot do this it should respond with * a basic.return method. - * \param [in] immediate indicate to the broker that the message MUST be delivered - * to a consumer immediately. If the broker cannot do this it should - * response with a basic.return method. + * \param [in] immediate indicate to the broker that the message MUST be + * delivered to a consumer immediately. If the broker cannot do this + * it should respond with a basic.return method. * \param [in] properties the properties associated with the message * \param [in] body the message body * \return AMQP_STATUS_OK on success, amqp_status_enum value on failure. Note @@ -1923,27 +1903,26 @@ struct amqp_basic_properties_t_; * \since v0.1 */ AMQP_PUBLIC_FUNCTION -int -AMQP_CALL amqp_basic_publish(amqp_connection_state_t state, amqp_channel_t channel, - amqp_bytes_t exchange, amqp_bytes_t routing_key, - amqp_boolean_t mandatory, amqp_boolean_t immediate, - struct amqp_basic_properties_t_ const *properties, - amqp_bytes_t body); +int AMQP_CALL amqp_basic_publish( + amqp_connection_state_t state, amqp_channel_t channel, + amqp_bytes_t exchange, amqp_bytes_t routing_key, amqp_boolean_t mandatory, + amqp_boolean_t immediate, struct amqp_basic_properties_t_ const *properties, + amqp_bytes_t body); /** * Closes an channel * * \param [in] state the connection object * \param [in] channel the channel identifier - * \param [in] code the reason for closing the channel, AMQP_REPLY_SUCCESS is a good default + * \param [in] code the reason for closing the channel, AMQP_REPLY_SUCCESS is a + * good default * \return amqp_rpc_reply_t indicating success or failure * * \since v0.1 */ AMQP_PUBLIC_FUNCTION -amqp_rpc_reply_t -AMQP_CALL amqp_channel_close(amqp_connection_state_t state, amqp_channel_t channel, - int code); +amqp_rpc_reply_t AMQP_CALL amqp_channel_close(amqp_connection_state_t state, + amqp_channel_t channel, int code); /** * Closes the entire connection @@ -1953,14 +1932,15 @@ AMQP_CALL amqp_channel_close(amqp_connection_state_t state, amqp_channel_t chann * the socket. * * \param [in] state the connection object - * \param [in] code the reason code for closing the connection. AMQP_REPLY_SUCCESS is a good default. + * \param [in] code the reason code for closing the connection. + * AMQP_REPLY_SUCCESS is a good default. * \return amqp_rpc_reply_t indicating the result * * \since v0.1 */ AMQP_PUBLIC_FUNCTION -amqp_rpc_reply_t -AMQP_CALL amqp_connection_close(amqp_connection_state_t state, int code); +amqp_rpc_reply_t AMQP_CALL amqp_connection_close(amqp_connection_state_t state, + int code); /** * Acknowledges a message @@ -1973,14 +1953,15 @@ AMQP_CALL amqp_connection_close(amqp_connection_state_t state, int code); * \param [in] multiple if true, ack all messages up to this delivery tag, if * false ack only this delivery tag * \return 0 on success, 0 > on failing to send the ack to the broker. - * this will not indicate failure if something goes wrong on the broker + * this will not indicate failure if something goes wrong on the + * broker * * \since v0.1 */ AMQP_PUBLIC_FUNCTION -int -AMQP_CALL amqp_basic_ack(amqp_connection_state_t state, amqp_channel_t channel, - uint64_t delivery_tag, amqp_boolean_t multiple); +int AMQP_CALL amqp_basic_ack(amqp_connection_state_t state, + amqp_channel_t channel, uint64_t delivery_tag, + amqp_boolean_t multiple); /** * Do a basic.get @@ -1999,9 +1980,10 @@ AMQP_CALL amqp_basic_ack(amqp_connection_state_t state, amqp_channel_t channel, * \since v0.1 */ AMQP_PUBLIC_FUNCTION -amqp_rpc_reply_t -AMQP_CALL amqp_basic_get(amqp_connection_state_t state, amqp_channel_t channel, - amqp_bytes_t queue, amqp_boolean_t no_ack); +amqp_rpc_reply_t AMQP_CALL amqp_basic_get(amqp_connection_state_t state, + amqp_channel_t channel, + amqp_bytes_t queue, + amqp_boolean_t no_ack); /** * Do a basic.reject @@ -2014,14 +1996,15 @@ AMQP_CALL amqp_basic_get(amqp_connection_state_t state, amqp_channel_t channel, * \param [in] requeue indicate to the broker whether it should requeue the * message or just discard it. * \return 0 on success, 0 > on failing to send the reject method to the broker. - * This will not indicate failure if something goes wrong on the broker. + * This will not indicate failure if something goes wrong on the + * broker. * * \since v0.1 */ AMQP_PUBLIC_FUNCTION -int -AMQP_CALL amqp_basic_reject(amqp_connection_state_t state, amqp_channel_t channel, - uint64_t delivery_tag, amqp_boolean_t requeue); +int AMQP_CALL amqp_basic_reject(amqp_connection_state_t state, + amqp_channel_t channel, uint64_t delivery_tag, + amqp_boolean_t requeue); /** * Do a basic.nack @@ -2043,10 +2026,9 @@ AMQP_CALL amqp_basic_reject(amqp_connection_state_t state, amqp_channel_t channe * \since v0.5.0 */ AMQP_PUBLIC_FUNCTION -int -AMQP_CALL amqp_basic_nack(amqp_connection_state_t state, amqp_channel_t channel, - uint64_t delivery_tag, amqp_boolean_t multiple, - amqp_boolean_t requeue); +int AMQP_CALL amqp_basic_nack(amqp_connection_state_t state, + amqp_channel_t channel, uint64_t delivery_tag, + amqp_boolean_t multiple, amqp_boolean_t requeue); /** * Check to see if there is data left in the receive buffer * @@ -2060,8 +2042,7 @@ AMQP_CALL amqp_basic_nack(amqp_connection_state_t state, amqp_channel_t channel, * \since v0.1 */ AMQP_PUBLIC_FUNCTION -amqp_boolean_t -AMQP_CALL amqp_data_in_buffer(amqp_connection_state_t state); +amqp_boolean_t AMQP_CALL amqp_data_in_buffer(amqp_connection_state_t state); /** * Get the error string for the given error code. @@ -2079,11 +2060,7 @@ AMQP_CALL amqp_data_in_buffer(amqp_connection_state_t state); * \since v0.1 */ AMQP_DEPRECATED( - AMQP_PUBLIC_FUNCTION - char * - AMQP_CALL amqp_error_string(int err) -); - + AMQP_PUBLIC_FUNCTION char *AMQP_CALL amqp_error_string(int err)); /** * Get the error string for the given error code. @@ -2097,9 +2074,7 @@ AMQP_DEPRECATED( * \since v0.4.0 */ AMQP_PUBLIC_FUNCTION -const char * -AMQP_CALL amqp_error_string2(int err); - +const char *AMQP_CALL amqp_error_string2(int err); /** * Deserialize an amqp_table_t from AMQP wireformat @@ -2122,9 +2097,8 @@ AMQP_CALL amqp_error_string2(int err); * \since v0.1 */ AMQP_PUBLIC_FUNCTION -int -AMQP_CALL amqp_decode_table(amqp_bytes_t encoded, amqp_pool_t *pool, - amqp_table_t *output, size_t *offset); +int AMQP_CALL amqp_decode_table(amqp_bytes_t encoded, amqp_pool_t *pool, + amqp_table_t *output, size_t *offset); /** * Serializes an amqp_table_t to the AMQP wireformat @@ -2146,9 +2120,8 @@ AMQP_CALL amqp_decode_table(amqp_bytes_t encoded, amqp_pool_t *pool, * \since v0.1 */ AMQP_PUBLIC_FUNCTION -int -AMQP_CALL amqp_encode_table(amqp_bytes_t encoded, amqp_table_t *input, size_t *offset); - +int AMQP_CALL amqp_encode_table(amqp_bytes_t encoded, amqp_table_t *input, + size_t *offset); /** * Create a deep-copy of an amqp_table_t object @@ -2169,8 +2142,8 @@ AMQP_CALL amqp_encode_table(amqp_bytes_t encoded, amqp_table_t *input, size_t *o * \since v0.4.0 */ AMQP_PUBLIC_FUNCTION -int -AMQP_CALL amqp_table_clone(const amqp_table_t *original, amqp_table_t *clone, amqp_pool_t *pool); +int AMQP_CALL amqp_table_clone(const amqp_table_t *original, + amqp_table_t *clone, amqp_pool_t *pool); /** * A message object @@ -2197,15 +2170,16 @@ typedef struct amqp_message_t_ { * fields in the message object. The caller is responsible for * allocating/destroying the amqp_message_t object itself. * \param [in] flags pass in 0. Currently unused. - * \returns a amqp_rpc_reply_t object. ret.reply_type == AMQP_RESPONSE_NORMAL on success. + * \returns a amqp_rpc_reply_t object. ret.reply_type == AMQP_RESPONSE_NORMAL on + * success. * * \since v0.4.0 */ AMQP_PUBLIC_FUNCTION -amqp_rpc_reply_t -AMQP_CALL amqp_read_message(amqp_connection_state_t state, - amqp_channel_t channel, - amqp_message_t *message, int flags); +amqp_rpc_reply_t AMQP_CALL amqp_read_message(amqp_connection_state_t state, + amqp_channel_t channel, + amqp_message_t *message, + int flags); /** * Frees memory associated with a amqp_message_t allocated in amqp_read_message @@ -2215,8 +2189,7 @@ AMQP_CALL amqp_read_message(amqp_connection_state_t state, * \since v0.4.0 */ AMQP_PUBLIC_FUNCTION -void -AMQP_CALL amqp_destroy_message(amqp_message_t *message); +void AMQP_CALL amqp_destroy_message(amqp_message_t *message); /** * Envelope object @@ -2224,13 +2197,16 @@ AMQP_CALL amqp_destroy_message(amqp_message_t *message); * \since v0.4.0 */ typedef struct amqp_envelope_t_ { - amqp_channel_t channel; /**< channel message was delivered on */ - amqp_bytes_t consumer_tag; /**< the consumer tag the message was delivered to */ - uint64_t delivery_tag; /**< the messages delivery tag */ - amqp_boolean_t redelivered; /**< flag indicating whether this message is being redelivered */ - amqp_bytes_t exchange; /**< exchange this message was published to */ - amqp_bytes_t routing_key; /**< the routing key this message was published with */ - amqp_message_t message; /**< the message */ + amqp_channel_t channel; /**< channel message was delivered on */ + amqp_bytes_t + consumer_tag; /**< the consumer tag the message was delivered to */ + uint64_t delivery_tag; /**< the messages delivery tag */ + amqp_boolean_t redelivered; /**< flag indicating whether this message is being + redelivered */ + amqp_bytes_t exchange; /**< exchange this message was published to */ + amqp_bytes_t + routing_key; /**< the routing key this message was published with */ + amqp_message_t message; /**< the message */ } amqp_envelope_t; /** @@ -2255,8 +2231,8 @@ typedef struct amqp_envelope_t_ { * NULL will result in blocking behavior. * \param [in] flags pass in 0. Currently unused. * \returns a amqp_rpc_reply_t object. ret.reply_type == AMQP_RESPONSE_NORMAL - * on success. If ret.reply_type == AMQP_RESPONSE_LIBRARY_EXCEPTION, and - * ret.library_error == AMQP_STATUS_UNEXPECTED_STATE, a frame other + * on success. If ret.reply_type == AMQP_RESPONSE_LIBRARY_EXCEPTION, + * and ret.library_error == AMQP_STATUS_UNEXPECTED_STATE, a frame other * than AMQP_BASIC_DELIVER_METHOD was received, the caller should call * amqp_simple_wait_frame() to read this frame and take appropriate * action. @@ -2264,22 +2240,21 @@ typedef struct amqp_envelope_t_ { * \since v0.4.0 */ AMQP_PUBLIC_FUNCTION -amqp_rpc_reply_t -AMQP_CALL amqp_consume_message(amqp_connection_state_t state, - amqp_envelope_t *envelope, - struct timeval *timeout, int flags); +amqp_rpc_reply_t AMQP_CALL amqp_consume_message(amqp_connection_state_t state, + amqp_envelope_t *envelope, + struct timeval *timeout, + int flags); /** - * Frees memory associated with a amqp_envelope_t allocated in amqp_consume_message() + * Frees memory associated with a amqp_envelope_t allocated in + * amqp_consume_message() * * \param [in] envelope * * \since v0.4.0 */ AMQP_PUBLIC_FUNCTION -void -AMQP_CALL amqp_destroy_envelope(amqp_envelope_t *envelope); - +void AMQP_CALL amqp_destroy_envelope(amqp_envelope_t *envelope); /** * Parameters used to connect to the RabbitMQ broker @@ -2287,11 +2262,15 @@ AMQP_CALL amqp_destroy_envelope(amqp_envelope_t *envelope); * \since v0.2 */ struct amqp_connection_info { - char *user; /**< the username to authenticate with the broker, default on most broker is 'guest' */ - char *password; /**< the password to authenticate with the broker, default on most brokers is 'guest' */ - char *host; /**< the hostname of the broker */ - char *vhost; /**< the virtual host on the broker to connect to, a good default is "/" */ - int port; /**< the port that the broker is listening on, default on most brokers is 5672 */ + char *user; /**< the username to authenticate with the broker, default on most + broker is 'guest' */ + char *password; /**< the password to authenticate with the broker, default on + most brokers is 'guest' */ + char *host; /**< the hostname of the broker */ + char *vhost; /**< the virtual host on the broker to connect to, a good default + is "/" */ + int port; /**< the port that the broker is listening on, default on most + brokers is 5672 */ amqp_boolean_t ssl; }; @@ -2310,8 +2289,8 @@ struct amqp_connection_info { * \since v0.2 */ AMQP_PUBLIC_FUNCTION -void -AMQP_CALL amqp_default_connection_info(struct amqp_connection_info *parsed); +void AMQP_CALL + amqp_default_connection_info(struct amqp_connection_info *parsed); /** * Parse a connection URL @@ -2340,8 +2319,7 @@ AMQP_CALL amqp_default_connection_info(struct amqp_connection_info *parsed); * \since v0.2 */ AMQP_PUBLIC_FUNCTION -int -AMQP_CALL amqp_parse_url(char *url, struct amqp_connection_info *parsed); +int AMQP_CALL amqp_parse_url(char *url, struct amqp_connection_info *parsed); /* socket API */ @@ -2362,9 +2340,7 @@ AMQP_CALL amqp_parse_url(char *url, struct amqp_connection_info *parsed); * \since v0.4.0 */ AMQP_PUBLIC_FUNCTION -int -AMQP_CALL -amqp_socket_open(amqp_socket_t *self, const char *host, int port); +int AMQP_CALL amqp_socket_open(amqp_socket_t *self, const char *host, int port); /** * Open a socket connection. @@ -2377,16 +2353,16 @@ amqp_socket_open(amqp_socket_t *self, const char *host, int port); * \param [in,out] self A socket object. * \param [in] host Connect to this host. * \param [in] port Connect on this remote port. - * \param [in] timeout Max allowed time to spent on opening. If NULL - run in blocking mode + * \param [in] timeout Max allowed time to spent on opening. If NULL - run in + * blocking mode * * \return AMQP_STATUS_OK on success, an amqp_status_enum on failure. * * \since v0.4.0 */ AMQP_PUBLIC_FUNCTION -int -AMQP_CALL -amqp_socket_open_noblock(amqp_socket_t *self, const char *host, int port, struct timeval *timeout); +int AMQP_CALL amqp_socket_open_noblock(amqp_socket_t *self, const char *host, + int port, struct timeval *timeout); /** * Get the socket descriptor in use by a socket object. @@ -2397,16 +2373,13 @@ amqp_socket_open_noblock(amqp_socket_t *self, const char *host, int port, struct * * \param [in,out] self A socket object. * - * \return The underlying socket descriptor, or -1 if there is no socket descriptor - * associated with - * with + * \return The underlying socket descriptor, or -1 if there is no socket + * descriptor associated with * * \since v0.4.0 */ AMQP_PUBLIC_FUNCTION -int -AMQP_CALL -amqp_socket_get_sockfd(amqp_socket_t *self); +int AMQP_CALL amqp_socket_get_sockfd(amqp_socket_t *self); /** * Get the socket object associated with a amqp_connection_state_t @@ -2417,9 +2390,7 @@ amqp_socket_get_sockfd(amqp_socket_t *self); * \since v0.4.0 */ AMQP_PUBLIC_FUNCTION -amqp_socket_t * -AMQP_CALL -amqp_get_socket(amqp_connection_state_t state); +amqp_socket_t *AMQP_CALL amqp_get_socket(amqp_connection_state_t state); /** * Get the broker properties table @@ -2432,9 +2403,8 @@ amqp_get_socket(amqp_connection_state_t state); * \since v0.5.0 */ AMQP_PUBLIC_FUNCTION -amqp_table_t * -AMQP_CALL -amqp_get_server_properties(amqp_connection_state_t state); +amqp_table_t *AMQP_CALL + amqp_get_server_properties(amqp_connection_state_t state); /** * Get the client properties table @@ -2449,9 +2419,8 @@ amqp_get_server_properties(amqp_connection_state_t state); * \since v0.7.0 */ AMQP_PUBLIC_FUNCTION -amqp_table_t * -AMQP_CALL -amqp_get_client_properties(amqp_connection_state_t state); +amqp_table_t *AMQP_CALL + amqp_get_client_properties(amqp_connection_state_t state); /** * Get the login handshake timeout. @@ -2563,5 +2532,4 @@ int AMQP_CALL amqp_set_rpc_timeout(amqp_connection_state_t state, AMQP_END_DECLS - #endif /* AMQP_H */ diff --git a/librabbitmq/amqp_api.c b/librabbitmq/amqp_api.c index f42201f..28b2384 100644 --- a/librabbitmq/amqp_api.c +++ b/librabbitmq/amqp_api.c @@ -39,9 +39,9 @@ #ifdef _MSC_VER /* MSVC complains about sprintf being deprecated in favor of sprintf_s */ -# define _CRT_SECURE_NO_WARNINGS +#define _CRT_SECURE_NO_WARNINGS /* MSVC complains about strdup being deprecated in favor of _strdup */ -# define _CRT_NONSTDC_NO_DEPRECATE +#define _CRT_NONSTDC_NO_DEPRECATE #endif #include "amqp_private.h" @@ -55,52 +55,71 @@ #define ERROR_MASK (0x00FF) #define ERROR_CATEGORY_MASK (0xFF00) -enum error_category_enum_ { - EC_base = 0, - EC_tcp = 1, - EC_ssl = 2 -}; +enum error_category_enum_ { EC_base = 0, EC_tcp = 1, EC_ssl = 2 }; static const char *base_error_strings[] = { - "operation completed successfully", /* AMQP_STATUS_OK 0x0 */ - "could not allocate memory", /* AMQP_STATUS_NO_MEMORY -0x0001 */ - "invalid AMQP data", /* AMQP_STATUS_BAD_AQMP_DATA -0x0002 */ - "unknown AMQP class id", /* AMQP_STATUS_UNKNOWN_CLASS -0x0003 */ - "unknown AMQP method id", /* AMQP_STATUS_UNKNOWN_METHOD -0x0004 */ - "hostname lookup failed", /* AMQP_STATUS_HOSTNAME_RESOLUTION_FAILED -0x0005 */ - "incompatible AMQP version", /* AMQP_STATUS_INCOMPATIBLE_AMQP_VERSION -0x0006 */ - "connection closed unexpectedly", /* AMQP_STATUS_CONNECTION_CLOSED -0x0007 */ - "could not parse AMQP URL", /* AMQP_STATUS_BAD_AMQP_URL -0x0008 */ - "a socket error occurred", /* AMQP_STATUS_SOCKET_ERROR -0x0009 */ - "invalid parameter", /* AMQP_STATUS_INVALID_PARAMETER -0x000A */ - "table too large for buffer", /* AMQP_STATUS_TABLE_TOO_BIG -0x000B */ - "unexpected method received", /* AMQP_STATUS_WRONG_METHOD -0x000C */ - "request timed out", /* AMQP_STATUS_TIMEOUT -0x000D */ - "system timer has failed", /* AMQP_STATUS_TIMER_FAILED -0x000E */ - "heartbeat timeout, connection closed",/* AMQP_STATUS_HEARTBEAT_TIMEOUT -0x000F */ - "unexpected protocol state", /* AMQP_STATUS_UNEXPECTED STATE -0x0010 */ - "socket is closed", /* AMQP_STATUS_SOCKET_CLOSED -0x0011 */ - "socket already open", /* AMQP_STATUS_SOCKET_INUSE -0x0012 */ - "unsupported sasl method requested", /* AMQP_STATUS_BROKER_UNSUPPORTED_SASL_METHOD -0x0013 */ - "parameter value is unsupported" /* AMQP_STATUS_UNSUPPORTED -0x0014 */ -}; + /* AMQP_STATUS_OK 0x0 */ + "operation completed successfully", + /* AMQP_STATUS_NO_MEMORY -0x0001 */ + "could not allocate memory", + /* AMQP_STATUS_BAD_AQMP_DATA -0x0002 */ + "invalid AMQP data", + /* AMQP_STATUS_UNKNOWN_CLASS -0x0003 */ + "unknown AMQP class id", + /* AMQP_STATUS_UNKNOWN_METHOD -0x0004 */ + "unknown AMQP method id", + /* AMQP_STATUS_HOSTNAME_RESOLUTION_FAILED -0x0005 */ + "hostname lookup failed", + /* AMQP_STATUS_INCOMPATIBLE_AMQP_VERSION -0x0006 */ + "incompatible AMQP version", + /* AMQP_STATUS_CONNECTION_CLOSED -0x0007 */ + "connection closed unexpectedly", + /* AMQP_STATUS_BAD_AMQP_URL -0x0008 */ + "could not parse AMQP URL", + /* AMQP_STATUS_SOCKET_ERROR -0x0009 */ + "a socket error occurred", + /* AMQP_STATUS_INVALID_PARAMETER -0x000A */ + "invalid parameter", + /* AMQP_STATUS_TABLE_TOO_BIG -0x000B */ + "table too large for buffer", + /* AMQP_STATUS_WRONG_METHOD -0x000C */ + "unexpected method received", + /* AMQP_STATUS_TIMEOUT -0x000D */ + "request timed out", + /* AMQP_STATUS_TIMER_FAILED -0x000E */ + "system timer has failed", + /* AMQP_STATUS_HEARTBEAT_TIMEOUT -0x000F */ + "heartbeat timeout, connection closed", + /* AMQP_STATUS_UNEXPECTED STATE -0x0010 */ + "unexpected protocol state", + /* AMQP_STATUS_SOCKET_CLOSED -0x0011 */ + "socket is closed", + /* AMQP_STATUS_SOCKET_INUSE -0x0012 */ + "socket already open", + /* AMQP_STATUS_BROKER_UNSUPPORTED_SASL_METHOD -0x00013 */ + "unsupported sasl method requested", + /* AMQP_STATUS_UNSUPPORTED -0x0014 */ + "parameter value is unsupported"}; static const char *tcp_error_strings[] = { - "a socket error occurred", /* AMQP_STATUS_TCP_ERROR -0x0100 */ - "socket library initialization failed" /* AMQP_STATUS_TCP_SOCKETLIB_INIT_ERROR -0x0101 */ -}; + /* AMQP_STATUS_TCP_ERROR -0x0100 */ + "a socket error occurred", + /* AMQP_STATUS_TCP_SOCKETLIB_INIT_ERROR -0x0101 */ + "socket library initialization failed"}; static const char *ssl_error_strings[] = { - "a SSL error occurred", /* AMQP_STATUS_SSL_ERROR -0x0200 */ - "SSL hostname verification failed", /* AMQP_STATUS_SSL_HOSTNAME_VERIFY_FAILED -0x0201 */ - "SSL peer cert verification failed", /* AMQP_STATUS_SSL_PEER_VERIFY_FAILED -0x0202 */ - "SSL handshake failed" /* AMQP_STATUS_SSL_CONNECTION_FAILED -0x0203 */ -}; + /* AMQP_STATUS_SSL_ERRO R -0x0200 */ + "a SSL error occurred", + /* AMQP_STATUS_SSL_HOSTNAME_VERIFY_FAILED -0x0201 */ + "SSL hostname verification failed", + /* AMQP_STATUS_SSL_PEER_VERIFY_FAILED -0x0202 */ + "SSL peer cert verification failed", + /* AMQP_STATUS_SSL_CONNECTION_FAILED -0x0203 */ + "SSL handshake failed"}; static const char *unknown_error_string = "(unknown error)"; -const char *amqp_error_string2(int code) -{ +const char *amqp_error_string2(int code) { const char *error_string; size_t category = (((-code) & ERROR_CATEGORY_MASK) >> 8); size_t error = (-code) & ERROR_MASK; @@ -134,14 +153,12 @@ const char *amqp_error_string2(int code) default: error_string = unknown_error_string; break; - } return error_string; } -char *amqp_error_string(int code) -{ +char *amqp_error_string(int code) { /* Previously sometimes clients had to flip the sign on a return value from a * function to get the correct error code. Now, all error codes are negative. * To keep people's legacy code running correctly, we map all error codes to @@ -155,8 +172,7 @@ char *amqp_error_string(int code) return strdup(amqp_error_string2(code)); } -void amqp_abort(const char *fmt, ...) -{ +void amqp_abort(const char *fmt, ...) { va_list ap; va_start(ap, fmt); vfprintf(stderr, fmt, ap); @@ -165,22 +181,19 @@ void amqp_abort(const char *fmt, ...) abort(); } -const amqp_bytes_t amqp_empty_bytes = { 0, NULL }; -const amqp_table_t amqp_empty_table = { 0, NULL }; -const amqp_array_t amqp_empty_array = { 0, NULL }; +const amqp_bytes_t amqp_empty_bytes = {0, NULL}; +const amqp_table_t amqp_empty_table = {0, NULL}; +const amqp_array_t amqp_empty_array = {0, NULL}; -int amqp_basic_publish(amqp_connection_state_t state, - amqp_channel_t channel, - amqp_bytes_t exchange, - amqp_bytes_t routing_key, - amqp_boolean_t mandatory, - amqp_boolean_t immediate, +int amqp_basic_publish(amqp_connection_state_t state, amqp_channel_t channel, + amqp_bytes_t exchange, amqp_bytes_t routing_key, + amqp_boolean_t mandatory, amqp_boolean_t immediate, amqp_basic_properties_t const *properties, - amqp_bytes_t body) -{ + amqp_bytes_t body) { amqp_frame_t f; size_t body_offset; - size_t usable_body_payload_size = state->frame_max - (HEADER_SIZE + FOOTER_SIZE); + size_t usable_body_payload_size = + state->frame_max - (HEADER_SIZE + FOOTER_SIZE); int res; int flagz; @@ -222,7 +235,7 @@ int amqp_basic_publish(amqp_connection_state_t state, f.channel = channel; f.payload.properties.class_id = AMQP_BASIC_CLASS; f.payload.properties.body_size = body.len; - f.payload.properties.decoded = (void *) properties; + f.payload.properties.decoded = (void *)properties; if (body.len > 0) { flagz = AMQP_SF_MORE; @@ -264,11 +277,9 @@ int amqp_basic_publish(amqp_connection_state_t state, } amqp_rpc_reply_t amqp_channel_close(amqp_connection_state_t state, - amqp_channel_t channel, - int code) -{ + amqp_channel_t channel, int code) { char codestr[13]; - amqp_method_number_t replies[2] = { AMQP_CHANNEL_CLOSE_OK_METHOD, 0}; + amqp_method_number_t replies[2] = {AMQP_CHANNEL_CLOSE_OK_METHOD, 0}; amqp_channel_close_t req; if (code < 0 || code > UINT16_MAX) { @@ -281,15 +292,14 @@ amqp_rpc_reply_t amqp_channel_close(amqp_connection_state_t state, req.class_id = 0; req.method_id = 0; - return amqp_simple_rpc(state, channel, AMQP_CHANNEL_CLOSE_METHOD, - replies, &req); + return amqp_simple_rpc(state, channel, AMQP_CHANNEL_CLOSE_METHOD, replies, + &req); } amqp_rpc_reply_t amqp_connection_close(amqp_connection_state_t state, - int code) -{ + int code) { char codestr[13]; - amqp_method_number_t replies[2] = { AMQP_CONNECTION_CLOSE_OK_METHOD, 0}; + amqp_method_number_t replies[2] = {AMQP_CONNECTION_CLOSE_OK_METHOD, 0}; amqp_channel_close_t req; if (code < 0 || code > UINT16_MAX) { @@ -302,15 +312,11 @@ amqp_rpc_reply_t amqp_connection_close(amqp_connection_state_t state, req.class_id = 0; req.method_id = 0; - return amqp_simple_rpc(state, 0, AMQP_CONNECTION_CLOSE_METHOD, - replies, &req); + return amqp_simple_rpc(state, 0, AMQP_CONNECTION_CLOSE_METHOD, replies, &req); } -int amqp_basic_ack(amqp_connection_state_t state, - amqp_channel_t channel, - uint64_t delivery_tag, - amqp_boolean_t multiple) -{ +int amqp_basic_ack(amqp_connection_state_t state, amqp_channel_t channel, + uint64_t delivery_tag, amqp_boolean_t multiple) { amqp_basic_ack_t m; m.delivery_tag = delivery_tag; m.multiple = multiple; @@ -318,30 +324,22 @@ int amqp_basic_ack(amqp_connection_state_t state, } amqp_rpc_reply_t amqp_basic_get(amqp_connection_state_t state, - amqp_channel_t channel, - amqp_bytes_t queue, - amqp_boolean_t no_ack) -{ - amqp_method_number_t replies[] = { AMQP_BASIC_GET_OK_METHOD, - AMQP_BASIC_GET_EMPTY_METHOD, - 0 - }; + amqp_channel_t channel, amqp_bytes_t queue, + amqp_boolean_t no_ack) { + amqp_method_number_t replies[] = {AMQP_BASIC_GET_OK_METHOD, + AMQP_BASIC_GET_EMPTY_METHOD, 0}; amqp_basic_get_t req; req.ticket = 0; req.queue = queue; req.no_ack = no_ack; - state->most_recent_api_result = amqp_simple_rpc(state, channel, - AMQP_BASIC_GET_METHOD, - replies, &req); + state->most_recent_api_result = + amqp_simple_rpc(state, channel, AMQP_BASIC_GET_METHOD, replies, &req); return state->most_recent_api_result; } -int amqp_basic_reject(amqp_connection_state_t state, - amqp_channel_t channel, - uint64_t delivery_tag, - amqp_boolean_t requeue) -{ +int amqp_basic_reject(amqp_connection_state_t state, amqp_channel_t channel, + uint64_t delivery_tag, amqp_boolean_t requeue) { amqp_basic_reject_t req; req.delivery_tag = delivery_tag; req.requeue = requeue; @@ -349,9 +347,8 @@ int amqp_basic_reject(amqp_connection_state_t state, } int amqp_basic_nack(amqp_connection_state_t state, amqp_channel_t channel, - uint64_t delivery_tag, amqp_boolean_t multiple, - amqp_boolean_t requeue) -{ + uint64_t delivery_tag, amqp_boolean_t multiple, + amqp_boolean_t requeue) { amqp_basic_nack_t req; req.delivery_tag = delivery_tag; req.multiple = multiple; @@ -378,7 +375,7 @@ int amqp_set_handshake_timeout(amqp_connection_state_t state, return AMQP_STATUS_OK; } -struct timeval * amqp_get_rpc_timeout(amqp_connection_state_t state) { +struct timeval *amqp_get_rpc_timeout(amqp_connection_state_t state) { return state->rpc_timeout; } diff --git a/librabbitmq/amqp_connection.c b/librabbitmq/amqp_connection.c index 529c4ef..034b2e9 100644 --- a/librabbitmq/amqp_connection.c +++ b/librabbitmq/amqp_connection.c @@ -38,11 +38,11 @@ #endif #ifdef _MSC_VER -# define _CRT_SECURE_NO_WARNINGS +#define _CRT_SECURE_NO_WARNINGS #endif -#include "amqp_tcp_socket.h" #include "amqp_private.h" +#include "amqp_tcp_socket.h" #include "amqp_time.h" #include #include @@ -73,11 +73,10 @@ _wanted_state, _check_state->state); \ } -amqp_connection_state_t amqp_new_connection(void) -{ +amqp_connection_state_t amqp_new_connection(void) { int res; - amqp_connection_state_t state = - (amqp_connection_state_t) calloc(1, sizeof(struct amqp_connection_state_t_)); + amqp_connection_state_t state = (amqp_connection_state_t)calloc( + 1, sizeof(struct amqp_connection_state_t_)); if (state == NULL) { return NULL; @@ -97,7 +96,8 @@ amqp_connection_state_t amqp_new_connection(void) state->target_size = 8; state->sock_inbound_buffer.len = AMQP_INITIAL_INBOUND_SOCK_BUFFER_SIZE; - state->sock_inbound_buffer.bytes = malloc(AMQP_INITIAL_INBOUND_SOCK_BUFFER_SIZE); + state->sock_inbound_buffer.bytes = + malloc(AMQP_INITIAL_INBOUND_SOCK_BUFFER_SIZE); if (state->sock_inbound_buffer.bytes == NULL) { goto out_nomem; } @@ -117,14 +117,11 @@ out_nomem: return NULL; } -int amqp_get_sockfd(amqp_connection_state_t state) -{ +int amqp_get_sockfd(amqp_connection_state_t state) { return state->socket ? amqp_socket_get_sockfd(state->socket) : -1; } -void amqp_set_sockfd(amqp_connection_state_t state, - int sockfd) -{ +void amqp_set_sockfd(amqp_connection_state_t state, int sockfd) { amqp_socket_t *socket = amqp_tcp_socket_new(state); if (!socket) { amqp_abort("%s", strerror(errno)); @@ -132,23 +129,17 @@ void amqp_set_sockfd(amqp_connection_state_t state, amqp_tcp_socket_set_sockfd(socket, sockfd); } -void amqp_set_socket(amqp_connection_state_t state, amqp_socket_t *socket) -{ +void amqp_set_socket(amqp_connection_state_t state, amqp_socket_t *socket) { amqp_socket_delete(state->socket); state->socket = socket; } -amqp_socket_t * -amqp_get_socket(amqp_connection_state_t state) -{ +amqp_socket_t *amqp_get_socket(amqp_connection_state_t state) { return state->socket; } -int amqp_tune_connection(amqp_connection_state_t state, - int channel_max, - int frame_max, - int heartbeat) -{ +int amqp_tune_connection(amqp_connection_state_t state, int channel_max, + int frame_max, int heartbeat) { void *newbuf; int res; @@ -183,23 +174,19 @@ int amqp_tune_connection(amqp_connection_state_t state, return AMQP_STATUS_OK; } -int amqp_get_channel_max(amqp_connection_state_t state) -{ +int amqp_get_channel_max(amqp_connection_state_t state) { return state->channel_max; } -int amqp_get_frame_max(amqp_connection_state_t state) -{ +int amqp_get_frame_max(amqp_connection_state_t state) { return state->frame_max; } -int amqp_get_heartbeat(amqp_connection_state_t state) -{ +int amqp_get_heartbeat(amqp_connection_state_t state) { return state->heartbeat; } -int amqp_destroy_connection(amqp_connection_state_t state) -{ +int amqp_destroy_connection(amqp_connection_state_t state) { int status = AMQP_STATUS_OK; if (state) { int i; @@ -222,8 +209,7 @@ int amqp_destroy_connection(amqp_connection_state_t state) return status; } -static void return_to_idle(amqp_connection_state_t state) -{ +static void return_to_idle(amqp_connection_state_t state) { state->inbound_buffer.len = sizeof(state->header_buffer); state->inbound_buffer.bytes = state->header_buffer; state->inbound_offset = 0; @@ -232,8 +218,7 @@ static void return_to_idle(amqp_connection_state_t state) } static size_t consume_data(amqp_connection_state_t state, - amqp_bytes_t *received_data) -{ + amqp_bytes_t *received_data) { /* how much data is available and will fit? */ size_t bytes_consumed = state->target_size - state->inbound_offset; if (received_data->len < bytes_consumed) { @@ -249,10 +234,8 @@ static size_t consume_data(amqp_connection_state_t state, return bytes_consumed; } -int amqp_handle_input(amqp_connection_state_t state, - amqp_bytes_t received_data, - amqp_frame_t *decoded_frame) -{ +int amqp_handle_input(amqp_connection_state_t state, amqp_bytes_t received_data, + amqp_frame_t *decoded_frame) { size_t bytes_consumed; void *raw_frame; @@ -279,174 +262,172 @@ int amqp_handle_input(amqp_connection_state_t state, raw_frame = state->inbound_buffer.bytes; switch (state->state) { - case CONNECTION_STATE_INITIAL: - /* check for a protocol header from the server */ - if (memcmp(raw_frame, "AMQP", 4) == 0) { - decoded_frame->frame_type = AMQP_PSEUDOFRAME_PROTOCOL_HEADER; - decoded_frame->channel = 0; - - decoded_frame->payload.protocol_header.transport_high - = amqp_d8(amqp_offset(raw_frame, 4)); - decoded_frame->payload.protocol_header.transport_low - = amqp_d8(amqp_offset(raw_frame, 5)); - decoded_frame->payload.protocol_header.protocol_version_major - = amqp_d8(amqp_offset(raw_frame, 6)); - decoded_frame->payload.protocol_header.protocol_version_minor - = amqp_d8(amqp_offset(raw_frame, 7)); - - return_to_idle(state); - return (int)bytes_consumed; - } + case CONNECTION_STATE_INITIAL: + /* check for a protocol header from the server */ + if (memcmp(raw_frame, "AMQP", 4) == 0) { + decoded_frame->frame_type = AMQP_PSEUDOFRAME_PROTOCOL_HEADER; + decoded_frame->channel = 0; + + decoded_frame->payload.protocol_header.transport_high = + amqp_d8(amqp_offset(raw_frame, 4)); + decoded_frame->payload.protocol_header.transport_low = + amqp_d8(amqp_offset(raw_frame, 5)); + decoded_frame->payload.protocol_header.protocol_version_major = + amqp_d8(amqp_offset(raw_frame, 6)); + decoded_frame->payload.protocol_header.protocol_version_minor = + amqp_d8(amqp_offset(raw_frame, 7)); + + return_to_idle(state); + return (int)bytes_consumed; + } /* it's not a protocol header; fall through to process it as a regular frame header */ - case CONNECTION_STATE_HEADER: { - amqp_channel_t channel; - amqp_pool_t *channel_pool; - /* frame length is 3 bytes in */ - channel = amqp_d16(amqp_offset(raw_frame, 1)); + case CONNECTION_STATE_HEADER: { + amqp_channel_t channel; + amqp_pool_t *channel_pool; + /* frame length is 3 bytes in */ + channel = amqp_d16(amqp_offset(raw_frame, 1)); - state->target_size - = amqp_d32(amqp_offset(raw_frame, 3)) + HEADER_SIZE + FOOTER_SIZE; + state->target_size = + amqp_d32(amqp_offset(raw_frame, 3)) + HEADER_SIZE + FOOTER_SIZE; - if ((size_t)state->frame_max < state->target_size) { - return AMQP_STATUS_BAD_AMQP_DATA; - } + if ((size_t)state->frame_max < state->target_size) { + return AMQP_STATUS_BAD_AMQP_DATA; + } - channel_pool = amqp_get_or_create_channel_pool(state, channel); - if (NULL == channel_pool) { - return AMQP_STATUS_NO_MEMORY; - } + channel_pool = amqp_get_or_create_channel_pool(state, channel); + if (NULL == channel_pool) { + return AMQP_STATUS_NO_MEMORY; + } - amqp_pool_alloc_bytes(channel_pool, state->target_size, &state->inbound_buffer); - if (NULL == state->inbound_buffer.bytes) { - return AMQP_STATUS_NO_MEMORY; - } - memcpy(state->inbound_buffer.bytes, state->header_buffer, HEADER_SIZE); - raw_frame = state->inbound_buffer.bytes; + amqp_pool_alloc_bytes(channel_pool, state->target_size, + &state->inbound_buffer); + if (NULL == state->inbound_buffer.bytes) { + return AMQP_STATUS_NO_MEMORY; + } + memcpy(state->inbound_buffer.bytes, state->header_buffer, HEADER_SIZE); + raw_frame = state->inbound_buffer.bytes; - state->state = CONNECTION_STATE_BODY; + state->state = CONNECTION_STATE_BODY; - bytes_consumed += consume_data(state, &received_data); + bytes_consumed += consume_data(state, &received_data); - /* do we have target_size data yet? if not, return with the - expectation that more will arrive */ - if (state->inbound_offset < state->target_size) { - return (int)bytes_consumed; + /* do we have target_size data yet? if not, return with the + expectation that more will arrive */ + if (state->inbound_offset < state->target_size) { + return (int)bytes_consumed; + } } - - } /* fall through to process body */ - case CONNECTION_STATE_BODY: { - amqp_bytes_t encoded; - int res; - amqp_pool_t *channel_pool; - - /* Check frame end marker (footer) */ - if (amqp_d8(amqp_offset(raw_frame, state->target_size - 1)) != - AMQP_FRAME_END) { - return AMQP_STATUS_BAD_AMQP_DATA; - } + case CONNECTION_STATE_BODY: { + amqp_bytes_t encoded; + int res; + amqp_pool_t *channel_pool; - decoded_frame->frame_type = amqp_d8(amqp_offset(raw_frame, 0)); - decoded_frame->channel = amqp_d16(amqp_offset(raw_frame, 1)); - - channel_pool = amqp_get_or_create_channel_pool(state, decoded_frame->channel); - if (NULL == channel_pool) { - return AMQP_STATUS_NO_MEMORY; - } + /* Check frame end marker (footer) */ + if (amqp_d8(amqp_offset(raw_frame, state->target_size - 1)) != + AMQP_FRAME_END) { + return AMQP_STATUS_BAD_AMQP_DATA; + } - switch (decoded_frame->frame_type) { - case AMQP_FRAME_METHOD: - decoded_frame->payload.method.id = - amqp_d32(amqp_offset(raw_frame, HEADER_SIZE)); - encoded.bytes = amqp_offset(raw_frame, HEADER_SIZE + 4); - encoded.len = state->target_size - HEADER_SIZE - 4 - FOOTER_SIZE; + decoded_frame->frame_type = amqp_d8(amqp_offset(raw_frame, 0)); + decoded_frame->channel = amqp_d16(amqp_offset(raw_frame, 1)); - res = amqp_decode_method(decoded_frame->payload.method.id, - channel_pool, encoded, - &decoded_frame->payload.method.decoded); - if (res < 0) { - return res; + channel_pool = + amqp_get_or_create_channel_pool(state, decoded_frame->channel); + if (NULL == channel_pool) { + return AMQP_STATUS_NO_MEMORY; } - break; + switch (decoded_frame->frame_type) { + case AMQP_FRAME_METHOD: + decoded_frame->payload.method.id = + amqp_d32(amqp_offset(raw_frame, HEADER_SIZE)); + encoded.bytes = amqp_offset(raw_frame, HEADER_SIZE + 4); + encoded.len = state->target_size - HEADER_SIZE - 4 - FOOTER_SIZE; - case AMQP_FRAME_HEADER: - decoded_frame->payload.properties.class_id - = amqp_d16(amqp_offset(raw_frame, HEADER_SIZE)); - /* unused 2-byte weight field goes here */ - decoded_frame->payload.properties.body_size - = amqp_d64(amqp_offset(raw_frame, HEADER_SIZE + 4)); - encoded.bytes = amqp_offset(raw_frame, HEADER_SIZE + 12); - encoded.len = state->target_size - HEADER_SIZE - 12 - FOOTER_SIZE; - decoded_frame->payload.properties.raw = encoded; - - res = amqp_decode_properties(decoded_frame->payload.properties.class_id, + res = amqp_decode_method(decoded_frame->payload.method.id, channel_pool, encoded, - &decoded_frame->payload.properties.decoded); - if (res < 0) { - return res; + &decoded_frame->payload.method.decoded); + if (res < 0) { + return res; + } + + break; + + case AMQP_FRAME_HEADER: + decoded_frame->payload.properties.class_id = + amqp_d16(amqp_offset(raw_frame, HEADER_SIZE)); + /* unused 2-byte weight field goes here */ + decoded_frame->payload.properties.body_size = + amqp_d64(amqp_offset(raw_frame, HEADER_SIZE + 4)); + encoded.bytes = amqp_offset(raw_frame, HEADER_SIZE + 12); + encoded.len = state->target_size - HEADER_SIZE - 12 - FOOTER_SIZE; + decoded_frame->payload.properties.raw = encoded; + + res = amqp_decode_properties( + decoded_frame->payload.properties.class_id, channel_pool, encoded, + &decoded_frame->payload.properties.decoded); + if (res < 0) { + return res; + } + + break; + + case AMQP_FRAME_BODY: + decoded_frame->payload.body_fragment.len = + state->target_size - HEADER_SIZE - FOOTER_SIZE; + decoded_frame->payload.body_fragment.bytes = + amqp_offset(raw_frame, HEADER_SIZE); + break; + + case AMQP_FRAME_HEARTBEAT: + break; + + default: + /* Ignore the frame */ + decoded_frame->frame_type = 0; + break; } - break; - - case AMQP_FRAME_BODY: - decoded_frame->payload.body_fragment.len - = state->target_size - HEADER_SIZE - FOOTER_SIZE; - decoded_frame->payload.body_fragment.bytes - = amqp_offset(raw_frame, HEADER_SIZE); - break; - - case AMQP_FRAME_HEARTBEAT: - break; - - default: - /* Ignore the frame */ - decoded_frame->frame_type = 0; - break; + return_to_idle(state); + return (int)bytes_consumed; } - return_to_idle(state); - return (int)bytes_consumed; - } - - default: - amqp_abort("Internal error: invalid amqp_connection_state_t->state %d", - state->state); + default: + amqp_abort("Internal error: invalid amqp_connection_state_t->state %d", + state->state); } } -amqp_boolean_t amqp_release_buffers_ok(amqp_connection_state_t state) -{ +amqp_boolean_t amqp_release_buffers_ok(amqp_connection_state_t state) { return (state->state == CONNECTION_STATE_IDLE); } -void amqp_release_buffers(amqp_connection_state_t state) -{ +void amqp_release_buffers(amqp_connection_state_t state) { int i; ENFORCE_STATE(state, CONNECTION_STATE_IDLE); for (i = 0; i < POOL_TABLE_SIZE; ++i) { amqp_pool_table_entry_t *entry = state->pool_table[i]; - for ( ;NULL != entry; entry = entry->next) { + for (; NULL != entry; entry = entry->next) { amqp_maybe_release_buffers_on_channel(state, entry->channel); } } } -void amqp_maybe_release_buffers(amqp_connection_state_t state) -{ +void amqp_maybe_release_buffers(amqp_connection_state_t state) { if (amqp_release_buffers_ok(state)) { amqp_release_buffers(state); } } -void amqp_maybe_release_buffers_on_channel(amqp_connection_state_t state, amqp_channel_t channel) -{ +void amqp_maybe_release_buffers_on_channel(amqp_connection_state_t state, + amqp_channel_t channel) { amqp_link_t *queued_link; amqp_pool_t *pool; if (CONNECTION_STATE_IDLE != state->state) { @@ -547,8 +528,7 @@ static int amqp_frame_to_bytes(const amqp_frame_t *frame, amqp_bytes_t buffer, return AMQP_STATUS_OK; } -int amqp_send_frame(amqp_connection_state_t state, - const amqp_frame_t *frame) { +int amqp_send_frame(amqp_connection_state_t state, const amqp_frame_t *frame) { return amqp_send_frame_inner(state, frame, AMQP_SF_NONE, amqp_time_infinite()); } @@ -596,7 +576,7 @@ start_send: return res; } - encoded.bytes = (uint8_t*)encoded.bytes + sent; + encoded.bytes = (uint8_t *)encoded.bytes + sent; encoded.len -= sent; goto start_send; } @@ -606,14 +586,10 @@ start_send: return res; } -amqp_table_t * -amqp_get_server_properties(amqp_connection_state_t state) -{ +amqp_table_t *amqp_get_server_properties(amqp_connection_state_t state) { return &state->server_properties; } -amqp_table_t * -amqp_get_client_properties(amqp_connection_state_t state) -{ +amqp_table_t *amqp_get_client_properties(amqp_connection_state_t state) { return &state->client_properties; } diff --git a/librabbitmq/amqp_consumer.c b/librabbitmq/amqp_consumer.c index 778b2f2..bb9095f 100644 --- a/librabbitmq/amqp_consumer.c +++ b/librabbitmq/amqp_consumer.c @@ -33,23 +33,21 @@ #include #include -static -int amqp_basic_properties_clone(amqp_basic_properties_t *original, - amqp_basic_properties_t *clone, - amqp_pool_t *pool) -{ +static int amqp_basic_properties_clone(amqp_basic_properties_t *original, + amqp_basic_properties_t *clone, + amqp_pool_t *pool) { memset(clone, 0, sizeof(*clone)); clone->_flags = original->_flags; -#define CLONE_BYTES_POOL(original, clone, pool) \ - if (0 == original.len) { \ - clone = amqp_empty_bytes; \ - } else { \ - amqp_pool_alloc_bytes(pool, original.len, &clone); \ - if (NULL == clone.bytes) { \ - return AMQP_STATUS_NO_MEMORY; \ - } \ - memcpy(clone.bytes, original.bytes, clone.len); \ +#define CLONE_BYTES_POOL(original, clone, pool) \ + if (0 == original.len) { \ + clone = amqp_empty_bytes; \ + } else { \ + amqp_pool_alloc_bytes(pool, original.len, &clone); \ + if (NULL == clone.bytes) { \ + return AMQP_STATUS_NO_MEMORY; \ + } \ + memcpy(clone.bytes, original.bytes, clone.len); \ } if (clone->_flags & AMQP_BASIC_CONTENT_TYPE_FLAG) { @@ -115,33 +113,29 @@ int amqp_basic_properties_clone(amqp_basic_properties_t *original, #undef CLONE_BYTES_POOL } - -void amqp_destroy_message(amqp_message_t *message) -{ +void amqp_destroy_message(amqp_message_t *message) { empty_amqp_pool(&message->pool); amqp_bytes_free(message->body); } -void amqp_destroy_envelope(amqp_envelope_t *envelope) -{ +void amqp_destroy_envelope(amqp_envelope_t *envelope) { amqp_destroy_message(&envelope->message); amqp_bytes_free(envelope->routing_key); amqp_bytes_free(envelope->exchange); amqp_bytes_free(envelope->consumer_tag); } -static -int amqp_bytes_malloc_dup_failed(amqp_bytes_t bytes) { +static int amqp_bytes_malloc_dup_failed(amqp_bytes_t bytes) { if (bytes.len != 0 && bytes.bytes == NULL) { return 1; } return 0; } -amqp_rpc_reply_t -amqp_consume_message(amqp_connection_state_t state, amqp_envelope_t *envelope, - struct timeval *timeout, AMQP_UNUSED int flags) -{ +amqp_rpc_reply_t amqp_consume_message(amqp_connection_state_t state, + amqp_envelope_t *envelope, + struct timeval *timeout, + AMQP_UNUSED int flags) { int res; amqp_frame_t frame; amqp_basic_deliver_t *delivery_method; @@ -157,8 +151,8 @@ amqp_consume_message(amqp_connection_state_t state, amqp_envelope_t *envelope, goto error_out1; } - if (AMQP_FRAME_METHOD != frame.frame_type - || AMQP_BASIC_DELIVER_METHOD != frame.payload.method.id) { + if (AMQP_FRAME_METHOD != frame.frame_type || + AMQP_BASIC_DELIVER_METHOD != frame.payload.method.id) { amqp_put_back_frame(state, &frame); ret.reply_type = AMQP_RESPONSE_LIBRARY_EXCEPTION; ret.library_error = AMQP_STATUS_UNEXPECTED_STATE; @@ -201,8 +195,7 @@ error_out1: amqp_rpc_reply_t amqp_read_message(amqp_connection_state_t state, amqp_channel_t channel, amqp_message_t *message, - AMQP_UNUSED int flags) -{ + AMQP_UNUSED int flags) { amqp_frame_t frame; amqp_rpc_reply_t ret; @@ -256,7 +249,8 @@ amqp_rpc_reply_t amqp_read_message(amqp_connection_state_t state, ret.library_error = AMQP_STATUS_NO_MEMORY; goto error_out1; } - message->body = amqp_bytes_malloc((size_t)frame.payload.properties.body_size); + message->body = + amqp_bytes_malloc((size_t)frame.payload.properties.body_size); if (NULL == message->body.bytes) { ret.reply_type = AMQP_RESPONSE_LIBRARY_EXCEPTION; ret.library_error = AMQP_STATUS_NO_MEMORY; @@ -294,7 +288,8 @@ amqp_rpc_reply_t amqp_read_message(amqp_connection_state_t state, goto error_out2; } - memcpy(body_read_ptr, frame.payload.body_fragment.bytes, frame.payload.body_fragment.len); + memcpy(body_read_ptr, frame.payload.body_fragment.bytes, + frame.payload.body_fragment.len); body_read += frame.payload.body_fragment.len; body_read_ptr += frame.payload.body_fragment.len; diff --git a/librabbitmq/amqp_framing.c b/librabbitmq/amqp_framing.c index a042289..bdeb01c 100644 --- a/librabbitmq/amqp_framing.c +++ b/librabbitmq/amqp_framing.c @@ -44,380 +44,568 @@ #include #include - char const *amqp_constant_name(int constantNumber) { switch (constantNumber) { - case AMQP_FRAME_METHOD: return "AMQP_FRAME_METHOD"; - case AMQP_FRAME_HEADER: return "AMQP_FRAME_HEADER"; - case AMQP_FRAME_BODY: return "AMQP_FRAME_BODY"; - case AMQP_FRAME_HEARTBEAT: return "AMQP_FRAME_HEARTBEAT"; - case AMQP_FRAME_MIN_SIZE: return "AMQP_FRAME_MIN_SIZE"; - case AMQP_FRAME_END: return "AMQP_FRAME_END"; - case AMQP_REPLY_SUCCESS: return "AMQP_REPLY_SUCCESS"; - case AMQP_CONTENT_TOO_LARGE: return "AMQP_CONTENT_TOO_LARGE"; - case AMQP_NO_ROUTE: return "AMQP_NO_ROUTE"; - case AMQP_NO_CONSUMERS: return "AMQP_NO_CONSUMERS"; - case AMQP_ACCESS_REFUSED: return "AMQP_ACCESS_REFUSED"; - case AMQP_NOT_FOUND: return "AMQP_NOT_FOUND"; - case AMQP_RESOURCE_LOCKED: return "AMQP_RESOURCE_LOCKED"; - case AMQP_PRECONDITION_FAILED: return "AMQP_PRECONDITION_FAILED"; - case AMQP_CONNECTION_FORCED: return "AMQP_CONNECTION_FORCED"; - case AMQP_INVALID_PATH: return "AMQP_INVALID_PATH"; - case AMQP_FRAME_ERROR: return "AMQP_FRAME_ERROR"; - case AMQP_SYNTAX_ERROR: return "AMQP_SYNTAX_ERROR"; - case AMQP_COMMAND_INVALID: return "AMQP_COMMAND_INVALID"; - case AMQP_CHANNEL_ERROR: return "AMQP_CHANNEL_ERROR"; - case AMQP_UNEXPECTED_FRAME: return "AMQP_UNEXPECTED_FRAME"; - case AMQP_RESOURCE_ERROR: return "AMQP_RESOURCE_ERROR"; - case AMQP_NOT_ALLOWED: return "AMQP_NOT_ALLOWED"; - case AMQP_NOT_IMPLEMENTED: return "AMQP_NOT_IMPLEMENTED"; - case AMQP_INTERNAL_ERROR: return "AMQP_INTERNAL_ERROR"; - default: return "(unknown)"; + case AMQP_FRAME_METHOD: + return "AMQP_FRAME_METHOD"; + case AMQP_FRAME_HEADER: + return "AMQP_FRAME_HEADER"; + case AMQP_FRAME_BODY: + return "AMQP_FRAME_BODY"; + case AMQP_FRAME_HEARTBEAT: + return "AMQP_FRAME_HEARTBEAT"; + case AMQP_FRAME_MIN_SIZE: + return "AMQP_FRAME_MIN_SIZE"; + case AMQP_FRAME_END: + return "AMQP_FRAME_END"; + case AMQP_REPLY_SUCCESS: + return "AMQP_REPLY_SUCCESS"; + case AMQP_CONTENT_TOO_LARGE: + return "AMQP_CONTENT_TOO_LARGE"; + case AMQP_NO_ROUTE: + return "AMQP_NO_ROUTE"; + case AMQP_NO_CONSUMERS: + return "AMQP_NO_CONSUMERS"; + case AMQP_ACCESS_REFUSED: + return "AMQP_ACCESS_REFUSED"; + case AMQP_NOT_FOUND: + return "AMQP_NOT_FOUND"; + case AMQP_RESOURCE_LOCKED: + return "AMQP_RESOURCE_LOCKED"; + case AMQP_PRECONDITION_FAILED: + return "AMQP_PRECONDITION_FAILED"; + case AMQP_CONNECTION_FORCED: + return "AMQP_CONNECTION_FORCED"; + case AMQP_INVALID_PATH: + return "AMQP_INVALID_PATH"; + case AMQP_FRAME_ERROR: + return "AMQP_FRAME_ERROR"; + case AMQP_SYNTAX_ERROR: + return "AMQP_SYNTAX_ERROR"; + case AMQP_COMMAND_INVALID: + return "AMQP_COMMAND_INVALID"; + case AMQP_CHANNEL_ERROR: + return "AMQP_CHANNEL_ERROR"; + case AMQP_UNEXPECTED_FRAME: + return "AMQP_UNEXPECTED_FRAME"; + case AMQP_RESOURCE_ERROR: + return "AMQP_RESOURCE_ERROR"; + case AMQP_NOT_ALLOWED: + return "AMQP_NOT_ALLOWED"; + case AMQP_NOT_IMPLEMENTED: + return "AMQP_NOT_IMPLEMENTED"; + case AMQP_INTERNAL_ERROR: + return "AMQP_INTERNAL_ERROR"; + default: + return "(unknown)"; } } amqp_boolean_t amqp_constant_is_hard_error(int constantNumber) { switch (constantNumber) { - case AMQP_CONNECTION_FORCED: return 1; - case AMQP_INVALID_PATH: return 1; - case AMQP_FRAME_ERROR: return 1; - case AMQP_SYNTAX_ERROR: return 1; - case AMQP_COMMAND_INVALID: return 1; - case AMQP_CHANNEL_ERROR: return 1; - case AMQP_UNEXPECTED_FRAME: return 1; - case AMQP_RESOURCE_ERROR: return 1; - case AMQP_NOT_ALLOWED: return 1; - case AMQP_NOT_IMPLEMENTED: return 1; - case AMQP_INTERNAL_ERROR: return 1; - default: return 0; + case AMQP_CONNECTION_FORCED: + return 1; + case AMQP_INVALID_PATH: + return 1; + case AMQP_FRAME_ERROR: + return 1; + case AMQP_SYNTAX_ERROR: + return 1; + case AMQP_COMMAND_INVALID: + return 1; + case AMQP_CHANNEL_ERROR: + return 1; + case AMQP_UNEXPECTED_FRAME: + return 1; + case AMQP_RESOURCE_ERROR: + return 1; + case AMQP_NOT_ALLOWED: + return 1; + case AMQP_NOT_IMPLEMENTED: + return 1; + case AMQP_INTERNAL_ERROR: + return 1; + default: + return 0; } } char const *amqp_method_name(amqp_method_number_t methodNumber) { switch (methodNumber) { - case AMQP_CONNECTION_START_METHOD: return "AMQP_CONNECTION_START_METHOD"; - case AMQP_CONNECTION_START_OK_METHOD: return "AMQP_CONNECTION_START_OK_METHOD"; - case AMQP_CONNECTION_SECURE_METHOD: return "AMQP_CONNECTION_SECURE_METHOD"; - case AMQP_CONNECTION_SECURE_OK_METHOD: return "AMQP_CONNECTION_SECURE_OK_METHOD"; - case AMQP_CONNECTION_TUNE_METHOD: return "AMQP_CONNECTION_TUNE_METHOD"; - case AMQP_CONNECTION_TUNE_OK_METHOD: return "AMQP_CONNECTION_TUNE_OK_METHOD"; - case AMQP_CONNECTION_OPEN_METHOD: return "AMQP_CONNECTION_OPEN_METHOD"; - case AMQP_CONNECTION_OPEN_OK_METHOD: return "AMQP_CONNECTION_OPEN_OK_METHOD"; - case AMQP_CONNECTION_CLOSE_METHOD: return "AMQP_CONNECTION_CLOSE_METHOD"; - case AMQP_CONNECTION_CLOSE_OK_METHOD: return "AMQP_CONNECTION_CLOSE_OK_METHOD"; - case AMQP_CONNECTION_BLOCKED_METHOD: return "AMQP_CONNECTION_BLOCKED_METHOD"; - case AMQP_CONNECTION_UNBLOCKED_METHOD: return "AMQP_CONNECTION_UNBLOCKED_METHOD"; - case AMQP_CHANNEL_OPEN_METHOD: return "AMQP_CHANNEL_OPEN_METHOD"; - case AMQP_CHANNEL_OPEN_OK_METHOD: return "AMQP_CHANNEL_OPEN_OK_METHOD"; - case AMQP_CHANNEL_FLOW_METHOD: return "AMQP_CHANNEL_FLOW_METHOD"; - case AMQP_CHANNEL_FLOW_OK_METHOD: return "AMQP_CHANNEL_FLOW_OK_METHOD"; - case AMQP_CHANNEL_CLOSE_METHOD: return "AMQP_CHANNEL_CLOSE_METHOD"; - case AMQP_CHANNEL_CLOSE_OK_METHOD: return "AMQP_CHANNEL_CLOSE_OK_METHOD"; - case AMQP_ACCESS_REQUEST_METHOD: return "AMQP_ACCESS_REQUEST_METHOD"; - case AMQP_ACCESS_REQUEST_OK_METHOD: return "AMQP_ACCESS_REQUEST_OK_METHOD"; - case AMQP_EXCHANGE_DECLARE_METHOD: return "AMQP_EXCHANGE_DECLARE_METHOD"; - case AMQP_EXCHANGE_DECLARE_OK_METHOD: return "AMQP_EXCHANGE_DECLARE_OK_METHOD"; - case AMQP_EXCHANGE_DELETE_METHOD: return "AMQP_EXCHANGE_DELETE_METHOD"; - case AMQP_EXCHANGE_DELETE_OK_METHOD: return "AMQP_EXCHANGE_DELETE_OK_METHOD"; - case AMQP_EXCHANGE_BIND_METHOD: return "AMQP_EXCHANGE_BIND_METHOD"; - case AMQP_EXCHANGE_BIND_OK_METHOD: return "AMQP_EXCHANGE_BIND_OK_METHOD"; - case AMQP_EXCHANGE_UNBIND_METHOD: return "AMQP_EXCHANGE_UNBIND_METHOD"; - case AMQP_EXCHANGE_UNBIND_OK_METHOD: return "AMQP_EXCHANGE_UNBIND_OK_METHOD"; - case AMQP_QUEUE_DECLARE_METHOD: return "AMQP_QUEUE_DECLARE_METHOD"; - case AMQP_QUEUE_DECLARE_OK_METHOD: return "AMQP_QUEUE_DECLARE_OK_METHOD"; - case AMQP_QUEUE_BIND_METHOD: return "AMQP_QUEUE_BIND_METHOD"; - case AMQP_QUEUE_BIND_OK_METHOD: return "AMQP_QUEUE_BIND_OK_METHOD"; - case AMQP_QUEUE_PURGE_METHOD: return "AMQP_QUEUE_PURGE_METHOD"; - case AMQP_QUEUE_PURGE_OK_METHOD: return "AMQP_QUEUE_PURGE_OK_METHOD"; - case AMQP_QUEUE_DELETE_METHOD: return "AMQP_QUEUE_DELETE_METHOD"; - case AMQP_QUEUE_DELETE_OK_METHOD: return "AMQP_QUEUE_DELETE_OK_METHOD"; - case AMQP_QUEUE_UNBIND_METHOD: return "AMQP_QUEUE_UNBIND_METHOD"; - case AMQP_QUEUE_UNBIND_OK_METHOD: return "AMQP_QUEUE_UNBIND_OK_METHOD"; - case AMQP_BASIC_QOS_METHOD: return "AMQP_BASIC_QOS_METHOD"; - case AMQP_BASIC_QOS_OK_METHOD: return "AMQP_BASIC_QOS_OK_METHOD"; - case AMQP_BASIC_CONSUME_METHOD: return "AMQP_BASIC_CONSUME_METHOD"; - case AMQP_BASIC_CONSUME_OK_METHOD: return "AMQP_BASIC_CONSUME_OK_METHOD"; - case AMQP_BASIC_CANCEL_METHOD: return "AMQP_BASIC_CANCEL_METHOD"; - case AMQP_BASIC_CANCEL_OK_METHOD: return "AMQP_BASIC_CANCEL_OK_METHOD"; - case AMQP_BASIC_PUBLISH_METHOD: return "AMQP_BASIC_PUBLISH_METHOD"; - case AMQP_BASIC_RETURN_METHOD: return "AMQP_BASIC_RETURN_METHOD"; - case AMQP_BASIC_DELIVER_METHOD: return "AMQP_BASIC_DELIVER_METHOD"; - case AMQP_BASIC_GET_METHOD: return "AMQP_BASIC_GET_METHOD"; - case AMQP_BASIC_GET_OK_METHOD: return "AMQP_BASIC_GET_OK_METHOD"; - case AMQP_BASIC_GET_EMPTY_METHOD: return "AMQP_BASIC_GET_EMPTY_METHOD"; - case AMQP_BASIC_ACK_METHOD: return "AMQP_BASIC_ACK_METHOD"; - case AMQP_BASIC_REJECT_METHOD: return "AMQP_BASIC_REJECT_METHOD"; - case AMQP_BASIC_RECOVER_ASYNC_METHOD: return "AMQP_BASIC_RECOVER_ASYNC_METHOD"; - case AMQP_BASIC_RECOVER_METHOD: return "AMQP_BASIC_RECOVER_METHOD"; - case AMQP_BASIC_RECOVER_OK_METHOD: return "AMQP_BASIC_RECOVER_OK_METHOD"; - case AMQP_BASIC_NACK_METHOD: return "AMQP_BASIC_NACK_METHOD"; - case AMQP_TX_SELECT_METHOD: return "AMQP_TX_SELECT_METHOD"; - case AMQP_TX_SELECT_OK_METHOD: return "AMQP_TX_SELECT_OK_METHOD"; - case AMQP_TX_COMMIT_METHOD: return "AMQP_TX_COMMIT_METHOD"; - case AMQP_TX_COMMIT_OK_METHOD: return "AMQP_TX_COMMIT_OK_METHOD"; - case AMQP_TX_ROLLBACK_METHOD: return "AMQP_TX_ROLLBACK_METHOD"; - case AMQP_TX_ROLLBACK_OK_METHOD: return "AMQP_TX_ROLLBACK_OK_METHOD"; - case AMQP_CONFIRM_SELECT_METHOD: return "AMQP_CONFIRM_SELECT_METHOD"; - case AMQP_CONFIRM_SELECT_OK_METHOD: return "AMQP_CONFIRM_SELECT_OK_METHOD"; - default: return NULL; + case AMQP_CONNECTION_START_METHOD: + return "AMQP_CONNECTION_START_METHOD"; + case AMQP_CONNECTION_START_OK_METHOD: + return "AMQP_CONNECTION_START_OK_METHOD"; + case AMQP_CONNECTION_SECURE_METHOD: + return "AMQP_CONNECTION_SECURE_METHOD"; + case AMQP_CONNECTION_SECURE_OK_METHOD: + return "AMQP_CONNECTION_SECURE_OK_METHOD"; + case AMQP_CONNECTION_TUNE_METHOD: + return "AMQP_CONNECTION_TUNE_METHOD"; + case AMQP_CONNECTION_TUNE_OK_METHOD: + return "AMQP_CONNECTION_TUNE_OK_METHOD"; + case AMQP_CONNECTION_OPEN_METHOD: + return "AMQP_CONNECTION_OPEN_METHOD"; + case AMQP_CONNECTION_OPEN_OK_METHOD: + return "AMQP_CONNECTION_OPEN_OK_METHOD"; + case AMQP_CONNECTION_CLOSE_METHOD: + return "AMQP_CONNECTION_CLOSE_METHOD"; + case AMQP_CONNECTION_CLOSE_OK_METHOD: + return "AMQP_CONNECTION_CLOSE_OK_METHOD"; + case AMQP_CONNECTION_BLOCKED_METHOD: + return "AMQP_CONNECTION_BLOCKED_METHOD"; + case AMQP_CONNECTION_UNBLOCKED_METHOD: + return "AMQP_CONNECTION_UNBLOCKED_METHOD"; + case AMQP_CHANNEL_OPEN_METHOD: + return "AMQP_CHANNEL_OPEN_METHOD"; + case AMQP_CHANNEL_OPEN_OK_METHOD: + return "AMQP_CHANNEL_OPEN_OK_METHOD"; + case AMQP_CHANNEL_FLOW_METHOD: + return "AMQP_CHANNEL_FLOW_METHOD"; + case AMQP_CHANNEL_FLOW_OK_METHOD: + return "AMQP_CHANNEL_FLOW_OK_METHOD"; + case AMQP_CHANNEL_CLOSE_METHOD: + return "AMQP_CHANNEL_CLOSE_METHOD"; + case AMQP_CHANNEL_CLOSE_OK_METHOD: + return "AMQP_CHANNEL_CLOSE_OK_METHOD"; + case AMQP_ACCESS_REQUEST_METHOD: + return "AMQP_ACCESS_REQUEST_METHOD"; + case AMQP_ACCESS_REQUEST_OK_METHOD: + return "AMQP_ACCESS_REQUEST_OK_METHOD"; + case AMQP_EXCHANGE_DECLARE_METHOD: + return "AMQP_EXCHANGE_DECLARE_METHOD"; + case AMQP_EXCHANGE_DECLARE_OK_METHOD: + return "AMQP_EXCHANGE_DECLARE_OK_METHOD"; + case AMQP_EXCHANGE_DELETE_METHOD: + return "AMQP_EXCHANGE_DELETE_METHOD"; + case AMQP_EXCHANGE_DELETE_OK_METHOD: + return "AMQP_EXCHANGE_DELETE_OK_METHOD"; + case AMQP_EXCHANGE_BIND_METHOD: + return "AMQP_EXCHANGE_BIND_METHOD"; + case AMQP_EXCHANGE_BIND_OK_METHOD: + return "AMQP_EXCHANGE_BIND_OK_METHOD"; + case AMQP_EXCHANGE_UNBIND_METHOD: + return "AMQP_EXCHANGE_UNBIND_METHOD"; + case AMQP_EXCHANGE_UNBIND_OK_METHOD: + return "AMQP_EXCHANGE_UNBIND_OK_METHOD"; + case AMQP_QUEUE_DECLARE_METHOD: + return "AMQP_QUEUE_DECLARE_METHOD"; + case AMQP_QUEUE_DECLARE_OK_METHOD: + return "AMQP_QUEUE_DECLARE_OK_METHOD"; + case AMQP_QUEUE_BIND_METHOD: + return "AMQP_QUEUE_BIND_METHOD"; + case AMQP_QUEUE_BIND_OK_METHOD: + return "AMQP_QUEUE_BIND_OK_METHOD"; + case AMQP_QUEUE_PURGE_METHOD: + return "AMQP_QUEUE_PURGE_METHOD"; + case AMQP_QUEUE_PURGE_OK_METHOD: + return "AMQP_QUEUE_PURGE_OK_METHOD"; + case AMQP_QUEUE_DELETE_METHOD: + return "AMQP_QUEUE_DELETE_METHOD"; + case AMQP_QUEUE_DELETE_OK_METHOD: + return "AMQP_QUEUE_DELETE_OK_METHOD"; + case AMQP_QUEUE_UNBIND_METHOD: + return "AMQP_QUEUE_UNBIND_METHOD"; + case AMQP_QUEUE_UNBIND_OK_METHOD: + return "AMQP_QUEUE_UNBIND_OK_METHOD"; + case AMQP_BASIC_QOS_METHOD: + return "AMQP_BASIC_QOS_METHOD"; + case AMQP_BASIC_QOS_OK_METHOD: + return "AMQP_BASIC_QOS_OK_METHOD"; + case AMQP_BASIC_CONSUME_METHOD: + return "AMQP_BASIC_CONSUME_METHOD"; + case AMQP_BASIC_CONSUME_OK_METHOD: + return "AMQP_BASIC_CONSUME_OK_METHOD"; + case AMQP_BASIC_CANCEL_METHOD: + return "AMQP_BASIC_CANCEL_METHOD"; + case AMQP_BASIC_CANCEL_OK_METHOD: + return "AMQP_BASIC_CANCEL_OK_METHOD"; + case AMQP_BASIC_PUBLISH_METHOD: + return "AMQP_BASIC_PUBLISH_METHOD"; + case AMQP_BASIC_RETURN_METHOD: + return "AMQP_BASIC_RETURN_METHOD"; + case AMQP_BASIC_DELIVER_METHOD: + return "AMQP_BASIC_DELIVER_METHOD"; + case AMQP_BASIC_GET_METHOD: + return "AMQP_BASIC_GET_METHOD"; + case AMQP_BASIC_GET_OK_METHOD: + return "AMQP_BASIC_GET_OK_METHOD"; + case AMQP_BASIC_GET_EMPTY_METHOD: + return "AMQP_BASIC_GET_EMPTY_METHOD"; + case AMQP_BASIC_ACK_METHOD: + return "AMQP_BASIC_ACK_METHOD"; + case AMQP_BASIC_REJECT_METHOD: + return "AMQP_BASIC_REJECT_METHOD"; + case AMQP_BASIC_RECOVER_ASYNC_METHOD: + return "AMQP_BASIC_RECOVER_ASYNC_METHOD"; + case AMQP_BASIC_RECOVER_METHOD: + return "AMQP_BASIC_RECOVER_METHOD"; + case AMQP_BASIC_RECOVER_OK_METHOD: + return "AMQP_BASIC_RECOVER_OK_METHOD"; + case AMQP_BASIC_NACK_METHOD: + return "AMQP_BASIC_NACK_METHOD"; + case AMQP_TX_SELECT_METHOD: + return "AMQP_TX_SELECT_METHOD"; + case AMQP_TX_SELECT_OK_METHOD: + return "AMQP_TX_SELECT_OK_METHOD"; + case AMQP_TX_COMMIT_METHOD: + return "AMQP_TX_COMMIT_METHOD"; + case AMQP_TX_COMMIT_OK_METHOD: + return "AMQP_TX_COMMIT_OK_METHOD"; + case AMQP_TX_ROLLBACK_METHOD: + return "AMQP_TX_ROLLBACK_METHOD"; + case AMQP_TX_ROLLBACK_OK_METHOD: + return "AMQP_TX_ROLLBACK_OK_METHOD"; + case AMQP_CONFIRM_SELECT_METHOD: + return "AMQP_CONFIRM_SELECT_METHOD"; + case AMQP_CONFIRM_SELECT_OK_METHOD: + return "AMQP_CONFIRM_SELECT_OK_METHOD"; + default: + return NULL; } } amqp_boolean_t amqp_method_has_content(amqp_method_number_t methodNumber) { switch (methodNumber) { - case AMQP_BASIC_PUBLISH_METHOD: return 1; - case AMQP_BASIC_RETURN_METHOD: return 1; - case AMQP_BASIC_DELIVER_METHOD: return 1; - case AMQP_BASIC_GET_OK_METHOD: return 1; - default: return 0; + case AMQP_BASIC_PUBLISH_METHOD: + return 1; + case AMQP_BASIC_RETURN_METHOD: + return 1; + case AMQP_BASIC_DELIVER_METHOD: + return 1; + case AMQP_BASIC_GET_OK_METHOD: + return 1; + default: + return 0; } } -int amqp_decode_method(amqp_method_number_t methodNumber, - amqp_pool_t *pool, - amqp_bytes_t encoded, - void **decoded) -{ +int amqp_decode_method(amqp_method_number_t methodNumber, amqp_pool_t *pool, + amqp_bytes_t encoded, void **decoded) { size_t offset = 0; uint8_t bit_buffer; switch (methodNumber) { case AMQP_CONNECTION_START_METHOD: { - amqp_connection_start_t *m = (amqp_connection_start_t *) amqp_pool_alloc(pool, sizeof(amqp_connection_start_t)); - if (m == NULL) { return AMQP_STATUS_NO_MEMORY; } - if (!amqp_decode_8(encoded, &offset, &m->version_major)) return AMQP_STATUS_BAD_AMQP_DATA; - if (!amqp_decode_8(encoded, &offset, &m->version_minor)) return AMQP_STATUS_BAD_AMQP_DATA; + amqp_connection_start_t *m = (amqp_connection_start_t *)amqp_pool_alloc( + pool, sizeof(amqp_connection_start_t)); + if (m == NULL) { + return AMQP_STATUS_NO_MEMORY; + } + if (!amqp_decode_8(encoded, &offset, &m->version_major)) + return AMQP_STATUS_BAD_AMQP_DATA; + if (!amqp_decode_8(encoded, &offset, &m->version_minor)) + return AMQP_STATUS_BAD_AMQP_DATA; { - int res = amqp_decode_table(encoded, pool, &(m->server_properties), &offset); + int res = + amqp_decode_table(encoded, pool, &(m->server_properties), &offset); if (res < 0) return res; } { uint32_t len; - if (!amqp_decode_32(encoded, &offset, &len) - || !amqp_decode_bytes(encoded, &offset, &m->mechanisms, len)) + if (!amqp_decode_32(encoded, &offset, &len) || + !amqp_decode_bytes(encoded, &offset, &m->mechanisms, len)) return AMQP_STATUS_BAD_AMQP_DATA; } { uint32_t len; - if (!amqp_decode_32(encoded, &offset, &len) - || !amqp_decode_bytes(encoded, &offset, &m->locales, len)) + if (!amqp_decode_32(encoded, &offset, &len) || + !amqp_decode_bytes(encoded, &offset, &m->locales, len)) return AMQP_STATUS_BAD_AMQP_DATA; } *decoded = m; return 0; } case AMQP_CONNECTION_START_OK_METHOD: { - amqp_connection_start_ok_t *m = (amqp_connection_start_ok_t *) amqp_pool_alloc(pool, sizeof(amqp_connection_start_ok_t)); - if (m == NULL) { return AMQP_STATUS_NO_MEMORY; } + amqp_connection_start_ok_t *m = + (amqp_connection_start_ok_t *)amqp_pool_alloc( + pool, sizeof(amqp_connection_start_ok_t)); + if (m == NULL) { + return AMQP_STATUS_NO_MEMORY; + } { - int res = amqp_decode_table(encoded, pool, &(m->client_properties), &offset); + int res = + amqp_decode_table(encoded, pool, &(m->client_properties), &offset); if (res < 0) return res; } { uint8_t len; - if (!amqp_decode_8(encoded, &offset, &len) - || !amqp_decode_bytes(encoded, &offset, &m->mechanism, len)) + if (!amqp_decode_8(encoded, &offset, &len) || + !amqp_decode_bytes(encoded, &offset, &m->mechanism, len)) return AMQP_STATUS_BAD_AMQP_DATA; } { uint32_t len; - if (!amqp_decode_32(encoded, &offset, &len) - || !amqp_decode_bytes(encoded, &offset, &m->response, len)) + if (!amqp_decode_32(encoded, &offset, &len) || + !amqp_decode_bytes(encoded, &offset, &m->response, len)) return AMQP_STATUS_BAD_AMQP_DATA; } { uint8_t len; - if (!amqp_decode_8(encoded, &offset, &len) - || !amqp_decode_bytes(encoded, &offset, &m->locale, len)) + if (!amqp_decode_8(encoded, &offset, &len) || + !amqp_decode_bytes(encoded, &offset, &m->locale, len)) return AMQP_STATUS_BAD_AMQP_DATA; } *decoded = m; return 0; } case AMQP_CONNECTION_SECURE_METHOD: { - amqp_connection_secure_t *m = (amqp_connection_secure_t *) amqp_pool_alloc(pool, sizeof(amqp_connection_secure_t)); - if (m == NULL) { return AMQP_STATUS_NO_MEMORY; } + amqp_connection_secure_t *m = (amqp_connection_secure_t *)amqp_pool_alloc( + pool, sizeof(amqp_connection_secure_t)); + if (m == NULL) { + return AMQP_STATUS_NO_MEMORY; + } { uint32_t len; - if (!amqp_decode_32(encoded, &offset, &len) - || !amqp_decode_bytes(encoded, &offset, &m->challenge, len)) + if (!amqp_decode_32(encoded, &offset, &len) || + !amqp_decode_bytes(encoded, &offset, &m->challenge, len)) return AMQP_STATUS_BAD_AMQP_DATA; } *decoded = m; return 0; } case AMQP_CONNECTION_SECURE_OK_METHOD: { - amqp_connection_secure_ok_t *m = (amqp_connection_secure_ok_t *) amqp_pool_alloc(pool, sizeof(amqp_connection_secure_ok_t)); - if (m == NULL) { return AMQP_STATUS_NO_MEMORY; } + amqp_connection_secure_ok_t *m = + (amqp_connection_secure_ok_t *)amqp_pool_alloc( + pool, sizeof(amqp_connection_secure_ok_t)); + if (m == NULL) { + return AMQP_STATUS_NO_MEMORY; + } { uint32_t len; - if (!amqp_decode_32(encoded, &offset, &len) - || !amqp_decode_bytes(encoded, &offset, &m->response, len)) + if (!amqp_decode_32(encoded, &offset, &len) || + !amqp_decode_bytes(encoded, &offset, &m->response, len)) return AMQP_STATUS_BAD_AMQP_DATA; } *decoded = m; return 0; } case AMQP_CONNECTION_TUNE_METHOD: { - amqp_connection_tune_t *m = (amqp_connection_tune_t *) amqp_pool_alloc(pool, sizeof(amqp_connection_tune_t)); - if (m == NULL) { return AMQP_STATUS_NO_MEMORY; } - if (!amqp_decode_16(encoded, &offset, &m->channel_max)) return AMQP_STATUS_BAD_AMQP_DATA; - if (!amqp_decode_32(encoded, &offset, &m->frame_max)) return AMQP_STATUS_BAD_AMQP_DATA; - if (!amqp_decode_16(encoded, &offset, &m->heartbeat)) return AMQP_STATUS_BAD_AMQP_DATA; + amqp_connection_tune_t *m = (amqp_connection_tune_t *)amqp_pool_alloc( + pool, sizeof(amqp_connection_tune_t)); + if (m == NULL) { + return AMQP_STATUS_NO_MEMORY; + } + if (!amqp_decode_16(encoded, &offset, &m->channel_max)) + return AMQP_STATUS_BAD_AMQP_DATA; + if (!amqp_decode_32(encoded, &offset, &m->frame_max)) + return AMQP_STATUS_BAD_AMQP_DATA; + if (!amqp_decode_16(encoded, &offset, &m->heartbeat)) + return AMQP_STATUS_BAD_AMQP_DATA; *decoded = m; return 0; } case AMQP_CONNECTION_TUNE_OK_METHOD: { - amqp_connection_tune_ok_t *m = (amqp_connection_tune_ok_t *) amqp_pool_alloc(pool, sizeof(amqp_connection_tune_ok_t)); - if (m == NULL) { return AMQP_STATUS_NO_MEMORY; } - if (!amqp_decode_16(encoded, &offset, &m->channel_max)) return AMQP_STATUS_BAD_AMQP_DATA; - if (!amqp_decode_32(encoded, &offset, &m->frame_max)) return AMQP_STATUS_BAD_AMQP_DATA; - if (!amqp_decode_16(encoded, &offset, &m->heartbeat)) return AMQP_STATUS_BAD_AMQP_DATA; + amqp_connection_tune_ok_t *m = + (amqp_connection_tune_ok_t *)amqp_pool_alloc( + pool, sizeof(amqp_connection_tune_ok_t)); + if (m == NULL) { + return AMQP_STATUS_NO_MEMORY; + } + if (!amqp_decode_16(encoded, &offset, &m->channel_max)) + return AMQP_STATUS_BAD_AMQP_DATA; + if (!amqp_decode_32(encoded, &offset, &m->frame_max)) + return AMQP_STATUS_BAD_AMQP_DATA; + if (!amqp_decode_16(encoded, &offset, &m->heartbeat)) + return AMQP_STATUS_BAD_AMQP_DATA; *decoded = m; return 0; } case AMQP_CONNECTION_OPEN_METHOD: { - amqp_connection_open_t *m = (amqp_connection_open_t *) amqp_pool_alloc(pool, sizeof(amqp_connection_open_t)); - if (m == NULL) { return AMQP_STATUS_NO_MEMORY; } + amqp_connection_open_t *m = (amqp_connection_open_t *)amqp_pool_alloc( + pool, sizeof(amqp_connection_open_t)); + if (m == NULL) { + return AMQP_STATUS_NO_MEMORY; + } { uint8_t len; - if (!amqp_decode_8(encoded, &offset, &len) - || !amqp_decode_bytes(encoded, &offset, &m->virtual_host, len)) + if (!amqp_decode_8(encoded, &offset, &len) || + !amqp_decode_bytes(encoded, &offset, &m->virtual_host, len)) return AMQP_STATUS_BAD_AMQP_DATA; } { uint8_t len; - if (!amqp_decode_8(encoded, &offset, &len) - || !amqp_decode_bytes(encoded, &offset, &m->capabilities, len)) + if (!amqp_decode_8(encoded, &offset, &len) || + !amqp_decode_bytes(encoded, &offset, &m->capabilities, len)) return AMQP_STATUS_BAD_AMQP_DATA; } - if (!amqp_decode_8(encoded, &offset, &bit_buffer)) return AMQP_STATUS_BAD_AMQP_DATA; + if (!amqp_decode_8(encoded, &offset, &bit_buffer)) + return AMQP_STATUS_BAD_AMQP_DATA; m->insist = (bit_buffer & (1 << 0)) ? 1 : 0; *decoded = m; return 0; } case AMQP_CONNECTION_OPEN_OK_METHOD: { - amqp_connection_open_ok_t *m = (amqp_connection_open_ok_t *) amqp_pool_alloc(pool, sizeof(amqp_connection_open_ok_t)); - if (m == NULL) { return AMQP_STATUS_NO_MEMORY; } + amqp_connection_open_ok_t *m = + (amqp_connection_open_ok_t *)amqp_pool_alloc( + pool, sizeof(amqp_connection_open_ok_t)); + if (m == NULL) { + return AMQP_STATUS_NO_MEMORY; + } { uint8_t len; - if (!amqp_decode_8(encoded, &offset, &len) - || !amqp_decode_bytes(encoded, &offset, &m->known_hosts, len)) + if (!amqp_decode_8(encoded, &offset, &len) || + !amqp_decode_bytes(encoded, &offset, &m->known_hosts, len)) return AMQP_STATUS_BAD_AMQP_DATA; } *decoded = m; return 0; } case AMQP_CONNECTION_CLOSE_METHOD: { - amqp_connection_close_t *m = (amqp_connection_close_t *) amqp_pool_alloc(pool, sizeof(amqp_connection_close_t)); - if (m == NULL) { return AMQP_STATUS_NO_MEMORY; } - if (!amqp_decode_16(encoded, &offset, &m->reply_code)) return AMQP_STATUS_BAD_AMQP_DATA; + amqp_connection_close_t *m = (amqp_connection_close_t *)amqp_pool_alloc( + pool, sizeof(amqp_connection_close_t)); + if (m == NULL) { + return AMQP_STATUS_NO_MEMORY; + } + if (!amqp_decode_16(encoded, &offset, &m->reply_code)) + return AMQP_STATUS_BAD_AMQP_DATA; { uint8_t len; - if (!amqp_decode_8(encoded, &offset, &len) - || !amqp_decode_bytes(encoded, &offset, &m->reply_text, len)) + if (!amqp_decode_8(encoded, &offset, &len) || + !amqp_decode_bytes(encoded, &offset, &m->reply_text, len)) return AMQP_STATUS_BAD_AMQP_DATA; } - if (!amqp_decode_16(encoded, &offset, &m->class_id)) return AMQP_STATUS_BAD_AMQP_DATA; - if (!amqp_decode_16(encoded, &offset, &m->method_id)) return AMQP_STATUS_BAD_AMQP_DATA; + if (!amqp_decode_16(encoded, &offset, &m->class_id)) + return AMQP_STATUS_BAD_AMQP_DATA; + if (!amqp_decode_16(encoded, &offset, &m->method_id)) + return AMQP_STATUS_BAD_AMQP_DATA; *decoded = m; return 0; } case AMQP_CONNECTION_CLOSE_OK_METHOD: { - amqp_connection_close_ok_t *m = (amqp_connection_close_ok_t *) amqp_pool_alloc(pool, sizeof(amqp_connection_close_ok_t)); - if (m == NULL) { return AMQP_STATUS_NO_MEMORY; } + amqp_connection_close_ok_t *m = + (amqp_connection_close_ok_t *)amqp_pool_alloc( + pool, sizeof(amqp_connection_close_ok_t)); + if (m == NULL) { + return AMQP_STATUS_NO_MEMORY; + } *decoded = m; return 0; } case AMQP_CONNECTION_BLOCKED_METHOD: { - amqp_connection_blocked_t *m = (amqp_connection_blocked_t *) amqp_pool_alloc(pool, sizeof(amqp_connection_blocked_t)); - if (m == NULL) { return AMQP_STATUS_NO_MEMORY; } + amqp_connection_blocked_t *m = + (amqp_connection_blocked_t *)amqp_pool_alloc( + pool, sizeof(amqp_connection_blocked_t)); + if (m == NULL) { + return AMQP_STATUS_NO_MEMORY; + } { uint8_t len; - if (!amqp_decode_8(encoded, &offset, &len) - || !amqp_decode_bytes(encoded, &offset, &m->reason, len)) + if (!amqp_decode_8(encoded, &offset, &len) || + !amqp_decode_bytes(encoded, &offset, &m->reason, len)) return AMQP_STATUS_BAD_AMQP_DATA; } *decoded = m; return 0; } case AMQP_CONNECTION_UNBLOCKED_METHOD: { - amqp_connection_unblocked_t *m = (amqp_connection_unblocked_t *) amqp_pool_alloc(pool, sizeof(amqp_connection_unblocked_t)); - if (m == NULL) { return AMQP_STATUS_NO_MEMORY; } + amqp_connection_unblocked_t *m = + (amqp_connection_unblocked_t *)amqp_pool_alloc( + pool, sizeof(amqp_connection_unblocked_t)); + if (m == NULL) { + return AMQP_STATUS_NO_MEMORY; + } *decoded = m; return 0; } case AMQP_CHANNEL_OPEN_METHOD: { - amqp_channel_open_t *m = (amqp_channel_open_t *) amqp_pool_alloc(pool, sizeof(amqp_channel_open_t)); - if (m == NULL) { return AMQP_STATUS_NO_MEMORY; } + amqp_channel_open_t *m = (amqp_channel_open_t *)amqp_pool_alloc( + pool, sizeof(amqp_channel_open_t)); + if (m == NULL) { + return AMQP_STATUS_NO_MEMORY; + } { uint8_t len; - if (!amqp_decode_8(encoded, &offset, &len) - || !amqp_decode_bytes(encoded, &offset, &m->out_of_band, len)) + if (!amqp_decode_8(encoded, &offset, &len) || + !amqp_decode_bytes(encoded, &offset, &m->out_of_band, len)) return AMQP_STATUS_BAD_AMQP_DATA; } *decoded = m; return 0; } case AMQP_CHANNEL_OPEN_OK_METHOD: { - amqp_channel_open_ok_t *m = (amqp_channel_open_ok_t *) amqp_pool_alloc(pool, sizeof(amqp_channel_open_ok_t)); - if (m == NULL) { return AMQP_STATUS_NO_MEMORY; } + amqp_channel_open_ok_t *m = (amqp_channel_open_ok_t *)amqp_pool_alloc( + pool, sizeof(amqp_channel_open_ok_t)); + if (m == NULL) { + return AMQP_STATUS_NO_MEMORY; + } { uint32_t len; - if (!amqp_decode_32(encoded, &offset, &len) - || !amqp_decode_bytes(encoded, &offset, &m->channel_id, len)) + if (!amqp_decode_32(encoded, &offset, &len) || + !amqp_decode_bytes(encoded, &offset, &m->channel_id, len)) return AMQP_STATUS_BAD_AMQP_DATA; } *decoded = m; return 0; } case AMQP_CHANNEL_FLOW_METHOD: { - amqp_channel_flow_t *m = (amqp_channel_flow_t *) amqp_pool_alloc(pool, sizeof(amqp_channel_flow_t)); - if (m == NULL) { return AMQP_STATUS_NO_MEMORY; } - if (!amqp_decode_8(encoded, &offset, &bit_buffer)) return AMQP_STATUS_BAD_AMQP_DATA; + amqp_channel_flow_t *m = (amqp_channel_flow_t *)amqp_pool_alloc( + pool, sizeof(amqp_channel_flow_t)); + if (m == NULL) { + return AMQP_STATUS_NO_MEMORY; + } + if (!amqp_decode_8(encoded, &offset, &bit_buffer)) + return AMQP_STATUS_BAD_AMQP_DATA; m->active = (bit_buffer & (1 << 0)) ? 1 : 0; *decoded = m; return 0; } case AMQP_CHANNEL_FLOW_OK_METHOD: { - amqp_channel_flow_ok_t *m = (amqp_channel_flow_ok_t *) amqp_pool_alloc(pool, sizeof(amqp_channel_flow_ok_t)); - if (m == NULL) { return AMQP_STATUS_NO_MEMORY; } - if (!amqp_decode_8(encoded, &offset, &bit_buffer)) return AMQP_STATUS_BAD_AMQP_DATA; + amqp_channel_flow_ok_t *m = (amqp_channel_flow_ok_t *)amqp_pool_alloc( + pool, sizeof(amqp_channel_flow_ok_t)); + if (m == NULL) { + return AMQP_STATUS_NO_MEMORY; + } + if (!amqp_decode_8(encoded, &offset, &bit_buffer)) + return AMQP_STATUS_BAD_AMQP_DATA; m->active = (bit_buffer & (1 << 0)) ? 1 : 0; *decoded = m; return 0; } case AMQP_CHANNEL_CLOSE_METHOD: { - amqp_channel_close_t *m = (amqp_channel_close_t *) amqp_pool_alloc(pool, sizeof(amqp_channel_close_t)); - if (m == NULL) { return AMQP_STATUS_NO_MEMORY; } - if (!amqp_decode_16(encoded, &offset, &m->reply_code)) return AMQP_STATUS_BAD_AMQP_DATA; + amqp_channel_close_t *m = (amqp_channel_close_t *)amqp_pool_alloc( + pool, sizeof(amqp_channel_close_t)); + if (m == NULL) { + return AMQP_STATUS_NO_MEMORY; + } + if (!amqp_decode_16(encoded, &offset, &m->reply_code)) + return AMQP_STATUS_BAD_AMQP_DATA; { uint8_t len; - if (!amqp_decode_8(encoded, &offset, &len) - || !amqp_decode_bytes(encoded, &offset, &m->reply_text, len)) + if (!amqp_decode_8(encoded, &offset, &len) || + !amqp_decode_bytes(encoded, &offset, &m->reply_text, len)) return AMQP_STATUS_BAD_AMQP_DATA; } - if (!amqp_decode_16(encoded, &offset, &m->class_id)) return AMQP_STATUS_BAD_AMQP_DATA; - if (!amqp_decode_16(encoded, &offset, &m->method_id)) return AMQP_STATUS_BAD_AMQP_DATA; + if (!amqp_decode_16(encoded, &offset, &m->class_id)) + return AMQP_STATUS_BAD_AMQP_DATA; + if (!amqp_decode_16(encoded, &offset, &m->method_id)) + return AMQP_STATUS_BAD_AMQP_DATA; *decoded = m; return 0; } case AMQP_CHANNEL_CLOSE_OK_METHOD: { - amqp_channel_close_ok_t *m = (amqp_channel_close_ok_t *) amqp_pool_alloc(pool, sizeof(amqp_channel_close_ok_t)); - if (m == NULL) { return AMQP_STATUS_NO_MEMORY; } + amqp_channel_close_ok_t *m = (amqp_channel_close_ok_t *)amqp_pool_alloc( + pool, sizeof(amqp_channel_close_ok_t)); + if (m == NULL) { + return AMQP_STATUS_NO_MEMORY; + } *decoded = m; return 0; } case AMQP_ACCESS_REQUEST_METHOD: { - amqp_access_request_t *m = (amqp_access_request_t *) amqp_pool_alloc(pool, sizeof(amqp_access_request_t)); - if (m == NULL) { return AMQP_STATUS_NO_MEMORY; } + amqp_access_request_t *m = (amqp_access_request_t *)amqp_pool_alloc( + pool, sizeof(amqp_access_request_t)); + if (m == NULL) { + return AMQP_STATUS_NO_MEMORY; + } { uint8_t len; - if (!amqp_decode_8(encoded, &offset, &len) - || !amqp_decode_bytes(encoded, &offset, &m->realm, len)) + if (!amqp_decode_8(encoded, &offset, &len) || + !amqp_decode_bytes(encoded, &offset, &m->realm, len)) return AMQP_STATUS_BAD_AMQP_DATA; } - if (!amqp_decode_8(encoded, &offset, &bit_buffer)) return AMQP_STATUS_BAD_AMQP_DATA; + if (!amqp_decode_8(encoded, &offset, &bit_buffer)) + return AMQP_STATUS_BAD_AMQP_DATA; m->exclusive = (bit_buffer & (1 << 0)) ? 1 : 0; m->passive = (bit_buffer & (1 << 1)) ? 1 : 0; m->active = (bit_buffer & (1 << 2)) ? 1 : 0; @@ -427,29 +615,38 @@ int amqp_decode_method(amqp_method_number_t methodNumber, return 0; } case AMQP_ACCESS_REQUEST_OK_METHOD: { - amqp_access_request_ok_t *m = (amqp_access_request_ok_t *) amqp_pool_alloc(pool, sizeof(amqp_access_request_ok_t)); - if (m == NULL) { return AMQP_STATUS_NO_MEMORY; } - if (!amqp_decode_16(encoded, &offset, &m->ticket)) return AMQP_STATUS_BAD_AMQP_DATA; + amqp_access_request_ok_t *m = (amqp_access_request_ok_t *)amqp_pool_alloc( + pool, sizeof(amqp_access_request_ok_t)); + if (m == NULL) { + return AMQP_STATUS_NO_MEMORY; + } + if (!amqp_decode_16(encoded, &offset, &m->ticket)) + return AMQP_STATUS_BAD_AMQP_DATA; *decoded = m; return 0; } case AMQP_EXCHANGE_DECLARE_METHOD: { - amqp_exchange_declare_t *m = (amqp_exchange_declare_t *) amqp_pool_alloc(pool, sizeof(amqp_exchange_declare_t)); - if (m == NULL) { return AMQP_STATUS_NO_MEMORY; } - if (!amqp_decode_16(encoded, &offset, &m->ticket)) return AMQP_STATUS_BAD_AMQP_DATA; + amqp_exchange_declare_t *m = (amqp_exchange_declare_t *)amqp_pool_alloc( + pool, sizeof(amqp_exchange_declare_t)); + if (m == NULL) { + return AMQP_STATUS_NO_MEMORY; + } + if (!amqp_decode_16(encoded, &offset, &m->ticket)) + return AMQP_STATUS_BAD_AMQP_DATA; { uint8_t len; - if (!amqp_decode_8(encoded, &offset, &len) - || !amqp_decode_bytes(encoded, &offset, &m->exchange, len)) + if (!amqp_decode_8(encoded, &offset, &len) || + !amqp_decode_bytes(encoded, &offset, &m->exchange, len)) return AMQP_STATUS_BAD_AMQP_DATA; } { uint8_t len; - if (!amqp_decode_8(encoded, &offset, &len) - || !amqp_decode_bytes(encoded, &offset, &m->type, len)) + if (!amqp_decode_8(encoded, &offset, &len) || + !amqp_decode_bytes(encoded, &offset, &m->type, len)) return AMQP_STATUS_BAD_AMQP_DATA; } - if (!amqp_decode_8(encoded, &offset, &bit_buffer)) return AMQP_STATUS_BAD_AMQP_DATA; + if (!amqp_decode_8(encoded, &offset, &bit_buffer)) + return AMQP_STATUS_BAD_AMQP_DATA; m->passive = (bit_buffer & (1 << 0)) ? 1 : 0; m->durable = (bit_buffer & (1 << 1)) ? 1 : 0; m->auto_delete = (bit_buffer & (1 << 2)) ? 1 : 0; @@ -463,56 +660,74 @@ int amqp_decode_method(amqp_method_number_t methodNumber, return 0; } case AMQP_EXCHANGE_DECLARE_OK_METHOD: { - amqp_exchange_declare_ok_t *m = (amqp_exchange_declare_ok_t *) amqp_pool_alloc(pool, sizeof(amqp_exchange_declare_ok_t)); - if (m == NULL) { return AMQP_STATUS_NO_MEMORY; } + amqp_exchange_declare_ok_t *m = + (amqp_exchange_declare_ok_t *)amqp_pool_alloc( + pool, sizeof(amqp_exchange_declare_ok_t)); + if (m == NULL) { + return AMQP_STATUS_NO_MEMORY; + } *decoded = m; return 0; } case AMQP_EXCHANGE_DELETE_METHOD: { - amqp_exchange_delete_t *m = (amqp_exchange_delete_t *) amqp_pool_alloc(pool, sizeof(amqp_exchange_delete_t)); - if (m == NULL) { return AMQP_STATUS_NO_MEMORY; } - if (!amqp_decode_16(encoded, &offset, &m->ticket)) return AMQP_STATUS_BAD_AMQP_DATA; + amqp_exchange_delete_t *m = (amqp_exchange_delete_t *)amqp_pool_alloc( + pool, sizeof(amqp_exchange_delete_t)); + if (m == NULL) { + return AMQP_STATUS_NO_MEMORY; + } + if (!amqp_decode_16(encoded, &offset, &m->ticket)) + return AMQP_STATUS_BAD_AMQP_DATA; { uint8_t len; - if (!amqp_decode_8(encoded, &offset, &len) - || !amqp_decode_bytes(encoded, &offset, &m->exchange, len)) + if (!amqp_decode_8(encoded, &offset, &len) || + !amqp_decode_bytes(encoded, &offset, &m->exchange, len)) return AMQP_STATUS_BAD_AMQP_DATA; } - if (!amqp_decode_8(encoded, &offset, &bit_buffer)) return AMQP_STATUS_BAD_AMQP_DATA; + if (!amqp_decode_8(encoded, &offset, &bit_buffer)) + return AMQP_STATUS_BAD_AMQP_DATA; m->if_unused = (bit_buffer & (1 << 0)) ? 1 : 0; m->nowait = (bit_buffer & (1 << 1)) ? 1 : 0; *decoded = m; return 0; } case AMQP_EXCHANGE_DELETE_OK_METHOD: { - amqp_exchange_delete_ok_t *m = (amqp_exchange_delete_ok_t *) amqp_pool_alloc(pool, sizeof(amqp_exchange_delete_ok_t)); - if (m == NULL) { return AMQP_STATUS_NO_MEMORY; } + amqp_exchange_delete_ok_t *m = + (amqp_exchange_delete_ok_t *)amqp_pool_alloc( + pool, sizeof(amqp_exchange_delete_ok_t)); + if (m == NULL) { + return AMQP_STATUS_NO_MEMORY; + } *decoded = m; return 0; } case AMQP_EXCHANGE_BIND_METHOD: { - amqp_exchange_bind_t *m = (amqp_exchange_bind_t *) amqp_pool_alloc(pool, sizeof(amqp_exchange_bind_t)); - if (m == NULL) { return AMQP_STATUS_NO_MEMORY; } - if (!amqp_decode_16(encoded, &offset, &m->ticket)) return AMQP_STATUS_BAD_AMQP_DATA; + amqp_exchange_bind_t *m = (amqp_exchange_bind_t *)amqp_pool_alloc( + pool, sizeof(amqp_exchange_bind_t)); + if (m == NULL) { + return AMQP_STATUS_NO_MEMORY; + } + if (!amqp_decode_16(encoded, &offset, &m->ticket)) + return AMQP_STATUS_BAD_AMQP_DATA; { uint8_t len; - if (!amqp_decode_8(encoded, &offset, &len) - || !amqp_decode_bytes(encoded, &offset, &m->destination, len)) + if (!amqp_decode_8(encoded, &offset, &len) || + !amqp_decode_bytes(encoded, &offset, &m->destination, len)) return AMQP_STATUS_BAD_AMQP_DATA; } { uint8_t len; - if (!amqp_decode_8(encoded, &offset, &len) - || !amqp_decode_bytes(encoded, &offset, &m->source, len)) + if (!amqp_decode_8(encoded, &offset, &len) || + !amqp_decode_bytes(encoded, &offset, &m->source, len)) return AMQP_STATUS_BAD_AMQP_DATA; } { uint8_t len; - if (!amqp_decode_8(encoded, &offset, &len) - || !amqp_decode_bytes(encoded, &offset, &m->routing_key, len)) + if (!amqp_decode_8(encoded, &offset, &len) || + !amqp_decode_bytes(encoded, &offset, &m->routing_key, len)) return AMQP_STATUS_BAD_AMQP_DATA; } - if (!amqp_decode_8(encoded, &offset, &bit_buffer)) return AMQP_STATUS_BAD_AMQP_DATA; + if (!amqp_decode_8(encoded, &offset, &bit_buffer)) + return AMQP_STATUS_BAD_AMQP_DATA; m->nowait = (bit_buffer & (1 << 0)) ? 1 : 0; { int res = amqp_decode_table(encoded, pool, &(m->arguments), &offset); @@ -522,34 +737,42 @@ int amqp_decode_method(amqp_method_number_t methodNumber, return 0; } case AMQP_EXCHANGE_BIND_OK_METHOD: { - amqp_exchange_bind_ok_t *m = (amqp_exchange_bind_ok_t *) amqp_pool_alloc(pool, sizeof(amqp_exchange_bind_ok_t)); - if (m == NULL) { return AMQP_STATUS_NO_MEMORY; } + amqp_exchange_bind_ok_t *m = (amqp_exchange_bind_ok_t *)amqp_pool_alloc( + pool, sizeof(amqp_exchange_bind_ok_t)); + if (m == NULL) { + return AMQP_STATUS_NO_MEMORY; + } *decoded = m; return 0; } case AMQP_EXCHANGE_UNBIND_METHOD: { - amqp_exchange_unbind_t *m = (amqp_exchange_unbind_t *) amqp_pool_alloc(pool, sizeof(amqp_exchange_unbind_t)); - if (m == NULL) { return AMQP_STATUS_NO_MEMORY; } - if (!amqp_decode_16(encoded, &offset, &m->ticket)) return AMQP_STATUS_BAD_AMQP_DATA; + amqp_exchange_unbind_t *m = (amqp_exchange_unbind_t *)amqp_pool_alloc( + pool, sizeof(amqp_exchange_unbind_t)); + if (m == NULL) { + return AMQP_STATUS_NO_MEMORY; + } + if (!amqp_decode_16(encoded, &offset, &m->ticket)) + return AMQP_STATUS_BAD_AMQP_DATA; { uint8_t len; - if (!amqp_decode_8(encoded, &offset, &len) - || !amqp_decode_bytes(encoded, &offset, &m->destination, len)) + if (!amqp_decode_8(encoded, &offset, &len) || + !amqp_decode_bytes(encoded, &offset, &m->destination, len)) return AMQP_STATUS_BAD_AMQP_DATA; } { uint8_t len; - if (!amqp_decode_8(encoded, &offset, &len) - || !amqp_decode_bytes(encoded, &offset, &m->source, len)) + if (!amqp_decode_8(encoded, &offset, &len) || + !amqp_decode_bytes(encoded, &offset, &m->source, len)) return AMQP_STATUS_BAD_AMQP_DATA; } { uint8_t len; - if (!amqp_decode_8(encoded, &offset, &len) - || !amqp_decode_bytes(encoded, &offset, &m->routing_key, len)) + if (!amqp_decode_8(encoded, &offset, &len) || + !amqp_decode_bytes(encoded, &offset, &m->routing_key, len)) return AMQP_STATUS_BAD_AMQP_DATA; } - if (!amqp_decode_8(encoded, &offset, &bit_buffer)) return AMQP_STATUS_BAD_AMQP_DATA; + if (!amqp_decode_8(encoded, &offset, &bit_buffer)) + return AMQP_STATUS_BAD_AMQP_DATA; m->nowait = (bit_buffer & (1 << 0)) ? 1 : 0; { int res = amqp_decode_table(encoded, pool, &(m->arguments), &offset); @@ -559,22 +782,31 @@ int amqp_decode_method(amqp_method_number_t methodNumber, return 0; } case AMQP_EXCHANGE_UNBIND_OK_METHOD: { - amqp_exchange_unbind_ok_t *m = (amqp_exchange_unbind_ok_t *) amqp_pool_alloc(pool, sizeof(amqp_exchange_unbind_ok_t)); - if (m == NULL) { return AMQP_STATUS_NO_MEMORY; } + amqp_exchange_unbind_ok_t *m = + (amqp_exchange_unbind_ok_t *)amqp_pool_alloc( + pool, sizeof(amqp_exchange_unbind_ok_t)); + if (m == NULL) { + return AMQP_STATUS_NO_MEMORY; + } *decoded = m; return 0; } case AMQP_QUEUE_DECLARE_METHOD: { - amqp_queue_declare_t *m = (amqp_queue_declare_t *) amqp_pool_alloc(pool, sizeof(amqp_queue_declare_t)); - if (m == NULL) { return AMQP_STATUS_NO_MEMORY; } - if (!amqp_decode_16(encoded, &offset, &m->ticket)) return AMQP_STATUS_BAD_AMQP_DATA; + amqp_queue_declare_t *m = (amqp_queue_declare_t *)amqp_pool_alloc( + pool, sizeof(amqp_queue_declare_t)); + if (m == NULL) { + return AMQP_STATUS_NO_MEMORY; + } + if (!amqp_decode_16(encoded, &offset, &m->ticket)) + return AMQP_STATUS_BAD_AMQP_DATA; { uint8_t len; - if (!amqp_decode_8(encoded, &offset, &len) - || !amqp_decode_bytes(encoded, &offset, &m->queue, len)) + if (!amqp_decode_8(encoded, &offset, &len) || + !amqp_decode_bytes(encoded, &offset, &m->queue, len)) return AMQP_STATUS_BAD_AMQP_DATA; } - if (!amqp_decode_8(encoded, &offset, &bit_buffer)) return AMQP_STATUS_BAD_AMQP_DATA; + if (!amqp_decode_8(encoded, &offset, &bit_buffer)) + return AMQP_STATUS_BAD_AMQP_DATA; m->passive = (bit_buffer & (1 << 0)) ? 1 : 0; m->durable = (bit_buffer & (1 << 1)) ? 1 : 0; m->exclusive = (bit_buffer & (1 << 2)) ? 1 : 0; @@ -588,42 +820,52 @@ int amqp_decode_method(amqp_method_number_t methodNumber, return 0; } case AMQP_QUEUE_DECLARE_OK_METHOD: { - amqp_queue_declare_ok_t *m = (amqp_queue_declare_ok_t *) amqp_pool_alloc(pool, sizeof(amqp_queue_declare_ok_t)); - if (m == NULL) { return AMQP_STATUS_NO_MEMORY; } + amqp_queue_declare_ok_t *m = (amqp_queue_declare_ok_t *)amqp_pool_alloc( + pool, sizeof(amqp_queue_declare_ok_t)); + if (m == NULL) { + return AMQP_STATUS_NO_MEMORY; + } { uint8_t len; - if (!amqp_decode_8(encoded, &offset, &len) - || !amqp_decode_bytes(encoded, &offset, &m->queue, len)) + if (!amqp_decode_8(encoded, &offset, &len) || + !amqp_decode_bytes(encoded, &offset, &m->queue, len)) return AMQP_STATUS_BAD_AMQP_DATA; } - if (!amqp_decode_32(encoded, &offset, &m->message_count)) return AMQP_STATUS_BAD_AMQP_DATA; - if (!amqp_decode_32(encoded, &offset, &m->consumer_count)) return AMQP_STATUS_BAD_AMQP_DATA; + if (!amqp_decode_32(encoded, &offset, &m->message_count)) + return AMQP_STATUS_BAD_AMQP_DATA; + if (!amqp_decode_32(encoded, &offset, &m->consumer_count)) + return AMQP_STATUS_BAD_AMQP_DATA; *decoded = m; return 0; } case AMQP_QUEUE_BIND_METHOD: { - amqp_queue_bind_t *m = (amqp_queue_bind_t *) amqp_pool_alloc(pool, sizeof(amqp_queue_bind_t)); - if (m == NULL) { return AMQP_STATUS_NO_MEMORY; } - if (!amqp_decode_16(encoded, &offset, &m->ticket)) return AMQP_STATUS_BAD_AMQP_DATA; + amqp_queue_bind_t *m = + (amqp_queue_bind_t *)amqp_pool_alloc(pool, sizeof(amqp_queue_bind_t)); + if (m == NULL) { + return AMQP_STATUS_NO_MEMORY; + } + if (!amqp_decode_16(encoded, &offset, &m->ticket)) + return AMQP_STATUS_BAD_AMQP_DATA; { uint8_t len; - if (!amqp_decode_8(encoded, &offset, &len) - || !amqp_decode_bytes(encoded, &offset, &m->queue, len)) + if (!amqp_decode_8(encoded, &offset, &len) || + !amqp_decode_bytes(encoded, &offset, &m->queue, len)) return AMQP_STATUS_BAD_AMQP_DATA; } { uint8_t len; - if (!amqp_decode_8(encoded, &offset, &len) - || !amqp_decode_bytes(encoded, &offset, &m->exchange, len)) + if (!amqp_decode_8(encoded, &offset, &len) || + !amqp_decode_bytes(encoded, &offset, &m->exchange, len)) return AMQP_STATUS_BAD_AMQP_DATA; } { uint8_t len; - if (!amqp_decode_8(encoded, &offset, &len) - || !amqp_decode_bytes(encoded, &offset, &m->routing_key, len)) + if (!amqp_decode_8(encoded, &offset, &len) || + !amqp_decode_bytes(encoded, &offset, &m->routing_key, len)) return AMQP_STATUS_BAD_AMQP_DATA; } - if (!amqp_decode_8(encoded, &offset, &bit_buffer)) return AMQP_STATUS_BAD_AMQP_DATA; + if (!amqp_decode_8(encoded, &offset, &bit_buffer)) + return AMQP_STATUS_BAD_AMQP_DATA; m->nowait = (bit_buffer & (1 << 0)) ? 1 : 0; { int res = amqp_decode_table(encoded, pool, &(m->arguments), &offset); @@ -633,44 +875,61 @@ int amqp_decode_method(amqp_method_number_t methodNumber, return 0; } case AMQP_QUEUE_BIND_OK_METHOD: { - amqp_queue_bind_ok_t *m = (amqp_queue_bind_ok_t *) amqp_pool_alloc(pool, sizeof(amqp_queue_bind_ok_t)); - if (m == NULL) { return AMQP_STATUS_NO_MEMORY; } + amqp_queue_bind_ok_t *m = (amqp_queue_bind_ok_t *)amqp_pool_alloc( + pool, sizeof(amqp_queue_bind_ok_t)); + if (m == NULL) { + return AMQP_STATUS_NO_MEMORY; + } *decoded = m; return 0; } case AMQP_QUEUE_PURGE_METHOD: { - amqp_queue_purge_t *m = (amqp_queue_purge_t *) amqp_pool_alloc(pool, sizeof(amqp_queue_purge_t)); - if (m == NULL) { return AMQP_STATUS_NO_MEMORY; } - if (!amqp_decode_16(encoded, &offset, &m->ticket)) return AMQP_STATUS_BAD_AMQP_DATA; + amqp_queue_purge_t *m = (amqp_queue_purge_t *)amqp_pool_alloc( + pool, sizeof(amqp_queue_purge_t)); + if (m == NULL) { + return AMQP_STATUS_NO_MEMORY; + } + if (!amqp_decode_16(encoded, &offset, &m->ticket)) + return AMQP_STATUS_BAD_AMQP_DATA; { uint8_t len; - if (!amqp_decode_8(encoded, &offset, &len) - || !amqp_decode_bytes(encoded, &offset, &m->queue, len)) + if (!amqp_decode_8(encoded, &offset, &len) || + !amqp_decode_bytes(encoded, &offset, &m->queue, len)) return AMQP_STATUS_BAD_AMQP_DATA; } - if (!amqp_decode_8(encoded, &offset, &bit_buffer)) return AMQP_STATUS_BAD_AMQP_DATA; + if (!amqp_decode_8(encoded, &offset, &bit_buffer)) + return AMQP_STATUS_BAD_AMQP_DATA; m->nowait = (bit_buffer & (1 << 0)) ? 1 : 0; *decoded = m; return 0; } case AMQP_QUEUE_PURGE_OK_METHOD: { - amqp_queue_purge_ok_t *m = (amqp_queue_purge_ok_t *) amqp_pool_alloc(pool, sizeof(amqp_queue_purge_ok_t)); - if (m == NULL) { return AMQP_STATUS_NO_MEMORY; } - if (!amqp_decode_32(encoded, &offset, &m->message_count)) return AMQP_STATUS_BAD_AMQP_DATA; + amqp_queue_purge_ok_t *m = (amqp_queue_purge_ok_t *)amqp_pool_alloc( + pool, sizeof(amqp_queue_purge_ok_t)); + if (m == NULL) { + return AMQP_STATUS_NO_MEMORY; + } + if (!amqp_decode_32(encoded, &offset, &m->message_count)) + return AMQP_STATUS_BAD_AMQP_DATA; *decoded = m; return 0; } case AMQP_QUEUE_DELETE_METHOD: { - amqp_queue_delete_t *m = (amqp_queue_delete_t *) amqp_pool_alloc(pool, sizeof(amqp_queue_delete_t)); - if (m == NULL) { return AMQP_STATUS_NO_MEMORY; } - if (!amqp_decode_16(encoded, &offset, &m->ticket)) return AMQP_STATUS_BAD_AMQP_DATA; + amqp_queue_delete_t *m = (amqp_queue_delete_t *)amqp_pool_alloc( + pool, sizeof(amqp_queue_delete_t)); + if (m == NULL) { + return AMQP_STATUS_NO_MEMORY; + } + if (!amqp_decode_16(encoded, &offset, &m->ticket)) + return AMQP_STATUS_BAD_AMQP_DATA; { uint8_t len; - if (!amqp_decode_8(encoded, &offset, &len) - || !amqp_decode_bytes(encoded, &offset, &m->queue, len)) + if (!amqp_decode_8(encoded, &offset, &len) || + !amqp_decode_bytes(encoded, &offset, &m->queue, len)) return AMQP_STATUS_BAD_AMQP_DATA; } - if (!amqp_decode_8(encoded, &offset, &bit_buffer)) return AMQP_STATUS_BAD_AMQP_DATA; + if (!amqp_decode_8(encoded, &offset, &bit_buffer)) + return AMQP_STATUS_BAD_AMQP_DATA; m->if_unused = (bit_buffer & (1 << 0)) ? 1 : 0; m->if_empty = (bit_buffer & (1 << 1)) ? 1 : 0; m->nowait = (bit_buffer & (1 << 2)) ? 1 : 0; @@ -678,32 +937,40 @@ int amqp_decode_method(amqp_method_number_t methodNumber, return 0; } case AMQP_QUEUE_DELETE_OK_METHOD: { - amqp_queue_delete_ok_t *m = (amqp_queue_delete_ok_t *) amqp_pool_alloc(pool, sizeof(amqp_queue_delete_ok_t)); - if (m == NULL) { return AMQP_STATUS_NO_MEMORY; } - if (!amqp_decode_32(encoded, &offset, &m->message_count)) return AMQP_STATUS_BAD_AMQP_DATA; + amqp_queue_delete_ok_t *m = (amqp_queue_delete_ok_t *)amqp_pool_alloc( + pool, sizeof(amqp_queue_delete_ok_t)); + if (m == NULL) { + return AMQP_STATUS_NO_MEMORY; + } + if (!amqp_decode_32(encoded, &offset, &m->message_count)) + return AMQP_STATUS_BAD_AMQP_DATA; *decoded = m; return 0; } case AMQP_QUEUE_UNBIND_METHOD: { - amqp_queue_unbind_t *m = (amqp_queue_unbind_t *) amqp_pool_alloc(pool, sizeof(amqp_queue_unbind_t)); - if (m == NULL) { return AMQP_STATUS_NO_MEMORY; } - if (!amqp_decode_16(encoded, &offset, &m->ticket)) return AMQP_STATUS_BAD_AMQP_DATA; + amqp_queue_unbind_t *m = (amqp_queue_unbind_t *)amqp_pool_alloc( + pool, sizeof(amqp_queue_unbind_t)); + if (m == NULL) { + return AMQP_STATUS_NO_MEMORY; + } + if (!amqp_decode_16(encoded, &offset, &m->ticket)) + return AMQP_STATUS_BAD_AMQP_DATA; { uint8_t len; - if (!amqp_decode_8(encoded, &offset, &len) - || !amqp_decode_bytes(encoded, &offset, &m->queue, len)) + if (!amqp_decode_8(encoded, &offset, &len) || + !amqp_decode_bytes(encoded, &offset, &m->queue, len)) return AMQP_STATUS_BAD_AMQP_DATA; } { uint8_t len; - if (!amqp_decode_8(encoded, &offset, &len) - || !amqp_decode_bytes(encoded, &offset, &m->exchange, len)) + if (!amqp_decode_8(encoded, &offset, &len) || + !amqp_decode_bytes(encoded, &offset, &m->exchange, len)) return AMQP_STATUS_BAD_AMQP_DATA; } { uint8_t len; - if (!amqp_decode_8(encoded, &offset, &len) - || !amqp_decode_bytes(encoded, &offset, &m->routing_key, len)) + if (!amqp_decode_8(encoded, &offset, &len) || + !amqp_decode_bytes(encoded, &offset, &m->routing_key, len)) return AMQP_STATUS_BAD_AMQP_DATA; } { @@ -714,44 +981,61 @@ int amqp_decode_method(amqp_method_number_t methodNumber, return 0; } case AMQP_QUEUE_UNBIND_OK_METHOD: { - amqp_queue_unbind_ok_t *m = (amqp_queue_unbind_ok_t *) amqp_pool_alloc(pool, sizeof(amqp_queue_unbind_ok_t)); - if (m == NULL) { return AMQP_STATUS_NO_MEMORY; } + amqp_queue_unbind_ok_t *m = (amqp_queue_unbind_ok_t *)amqp_pool_alloc( + pool, sizeof(amqp_queue_unbind_ok_t)); + if (m == NULL) { + return AMQP_STATUS_NO_MEMORY; + } *decoded = m; return 0; } case AMQP_BASIC_QOS_METHOD: { - amqp_basic_qos_t *m = (amqp_basic_qos_t *) amqp_pool_alloc(pool, sizeof(amqp_basic_qos_t)); - if (m == NULL) { return AMQP_STATUS_NO_MEMORY; } - if (!amqp_decode_32(encoded, &offset, &m->prefetch_size)) return AMQP_STATUS_BAD_AMQP_DATA; - if (!amqp_decode_16(encoded, &offset, &m->prefetch_count)) return AMQP_STATUS_BAD_AMQP_DATA; - if (!amqp_decode_8(encoded, &offset, &bit_buffer)) return AMQP_STATUS_BAD_AMQP_DATA; + amqp_basic_qos_t *m = + (amqp_basic_qos_t *)amqp_pool_alloc(pool, sizeof(amqp_basic_qos_t)); + if (m == NULL) { + return AMQP_STATUS_NO_MEMORY; + } + if (!amqp_decode_32(encoded, &offset, &m->prefetch_size)) + return AMQP_STATUS_BAD_AMQP_DATA; + if (!amqp_decode_16(encoded, &offset, &m->prefetch_count)) + return AMQP_STATUS_BAD_AMQP_DATA; + if (!amqp_decode_8(encoded, &offset, &bit_buffer)) + return AMQP_STATUS_BAD_AMQP_DATA; m->global = (bit_buffer & (1 << 0)) ? 1 : 0; *decoded = m; return 0; } case AMQP_BASIC_QOS_OK_METHOD: { - amqp_basic_qos_ok_t *m = (amqp_basic_qos_ok_t *) amqp_pool_alloc(pool, sizeof(amqp_basic_qos_ok_t)); - if (m == NULL) { return AMQP_STATUS_NO_MEMORY; } + amqp_basic_qos_ok_t *m = (amqp_basic_qos_ok_t *)amqp_pool_alloc( + pool, sizeof(amqp_basic_qos_ok_t)); + if (m == NULL) { + return AMQP_STATUS_NO_MEMORY; + } *decoded = m; return 0; } case AMQP_BASIC_CONSUME_METHOD: { - amqp_basic_consume_t *m = (amqp_basic_consume_t *) amqp_pool_alloc(pool, sizeof(amqp_basic_consume_t)); - if (m == NULL) { return AMQP_STATUS_NO_MEMORY; } - if (!amqp_decode_16(encoded, &offset, &m->ticket)) return AMQP_STATUS_BAD_AMQP_DATA; + amqp_basic_consume_t *m = (amqp_basic_consume_t *)amqp_pool_alloc( + pool, sizeof(amqp_basic_consume_t)); + if (m == NULL) { + return AMQP_STATUS_NO_MEMORY; + } + if (!amqp_decode_16(encoded, &offset, &m->ticket)) + return AMQP_STATUS_BAD_AMQP_DATA; { uint8_t len; - if (!amqp_decode_8(encoded, &offset, &len) - || !amqp_decode_bytes(encoded, &offset, &m->queue, len)) + if (!amqp_decode_8(encoded, &offset, &len) || + !amqp_decode_bytes(encoded, &offset, &m->queue, len)) return AMQP_STATUS_BAD_AMQP_DATA; } { uint8_t len; - if (!amqp_decode_8(encoded, &offset, &len) - || !amqp_decode_bytes(encoded, &offset, &m->consumer_tag, len)) + if (!amqp_decode_8(encoded, &offset, &len) || + !amqp_decode_bytes(encoded, &offset, &m->consumer_tag, len)) return AMQP_STATUS_BAD_AMQP_DATA; } - if (!amqp_decode_8(encoded, &offset, &bit_buffer)) return AMQP_STATUS_BAD_AMQP_DATA; + if (!amqp_decode_8(encoded, &offset, &bit_buffer)) + return AMQP_STATUS_BAD_AMQP_DATA; m->no_local = (bit_buffer & (1 << 0)) ? 1 : 0; m->no_ack = (bit_buffer & (1 << 1)) ? 1 : 0; m->exclusive = (bit_buffer & (1 << 2)) ? 1 : 0; @@ -764,275 +1048,363 @@ int amqp_decode_method(amqp_method_number_t methodNumber, return 0; } case AMQP_BASIC_CONSUME_OK_METHOD: { - amqp_basic_consume_ok_t *m = (amqp_basic_consume_ok_t *) amqp_pool_alloc(pool, sizeof(amqp_basic_consume_ok_t)); - if (m == NULL) { return AMQP_STATUS_NO_MEMORY; } + amqp_basic_consume_ok_t *m = (amqp_basic_consume_ok_t *)amqp_pool_alloc( + pool, sizeof(amqp_basic_consume_ok_t)); + if (m == NULL) { + return AMQP_STATUS_NO_MEMORY; + } { uint8_t len; - if (!amqp_decode_8(encoded, &offset, &len) - || !amqp_decode_bytes(encoded, &offset, &m->consumer_tag, len)) + if (!amqp_decode_8(encoded, &offset, &len) || + !amqp_decode_bytes(encoded, &offset, &m->consumer_tag, len)) return AMQP_STATUS_BAD_AMQP_DATA; } *decoded = m; return 0; } case AMQP_BASIC_CANCEL_METHOD: { - amqp_basic_cancel_t *m = (amqp_basic_cancel_t *) amqp_pool_alloc(pool, sizeof(amqp_basic_cancel_t)); - if (m == NULL) { return AMQP_STATUS_NO_MEMORY; } + amqp_basic_cancel_t *m = (amqp_basic_cancel_t *)amqp_pool_alloc( + pool, sizeof(amqp_basic_cancel_t)); + if (m == NULL) { + return AMQP_STATUS_NO_MEMORY; + } { uint8_t len; - if (!amqp_decode_8(encoded, &offset, &len) - || !amqp_decode_bytes(encoded, &offset, &m->consumer_tag, len)) + if (!amqp_decode_8(encoded, &offset, &len) || + !amqp_decode_bytes(encoded, &offset, &m->consumer_tag, len)) return AMQP_STATUS_BAD_AMQP_DATA; } - if (!amqp_decode_8(encoded, &offset, &bit_buffer)) return AMQP_STATUS_BAD_AMQP_DATA; + if (!amqp_decode_8(encoded, &offset, &bit_buffer)) + return AMQP_STATUS_BAD_AMQP_DATA; m->nowait = (bit_buffer & (1 << 0)) ? 1 : 0; *decoded = m; return 0; } case AMQP_BASIC_CANCEL_OK_METHOD: { - amqp_basic_cancel_ok_t *m = (amqp_basic_cancel_ok_t *) amqp_pool_alloc(pool, sizeof(amqp_basic_cancel_ok_t)); - if (m == NULL) { return AMQP_STATUS_NO_MEMORY; } + amqp_basic_cancel_ok_t *m = (amqp_basic_cancel_ok_t *)amqp_pool_alloc( + pool, sizeof(amqp_basic_cancel_ok_t)); + if (m == NULL) { + return AMQP_STATUS_NO_MEMORY; + } { uint8_t len; - if (!amqp_decode_8(encoded, &offset, &len) - || !amqp_decode_bytes(encoded, &offset, &m->consumer_tag, len)) + if (!amqp_decode_8(encoded, &offset, &len) || + !amqp_decode_bytes(encoded, &offset, &m->consumer_tag, len)) return AMQP_STATUS_BAD_AMQP_DATA; } *decoded = m; return 0; } case AMQP_BASIC_PUBLISH_METHOD: { - amqp_basic_publish_t *m = (amqp_basic_publish_t *) amqp_pool_alloc(pool, sizeof(amqp_basic_publish_t)); - if (m == NULL) { return AMQP_STATUS_NO_MEMORY; } - if (!amqp_decode_16(encoded, &offset, &m->ticket)) return AMQP_STATUS_BAD_AMQP_DATA; + amqp_basic_publish_t *m = (amqp_basic_publish_t *)amqp_pool_alloc( + pool, sizeof(amqp_basic_publish_t)); + if (m == NULL) { + return AMQP_STATUS_NO_MEMORY; + } + if (!amqp_decode_16(encoded, &offset, &m->ticket)) + return AMQP_STATUS_BAD_AMQP_DATA; { uint8_t len; - if (!amqp_decode_8(encoded, &offset, &len) - || !amqp_decode_bytes(encoded, &offset, &m->exchange, len)) + if (!amqp_decode_8(encoded, &offset, &len) || + !amqp_decode_bytes(encoded, &offset, &m->exchange, len)) return AMQP_STATUS_BAD_AMQP_DATA; } { uint8_t len; - if (!amqp_decode_8(encoded, &offset, &len) - || !amqp_decode_bytes(encoded, &offset, &m->routing_key, len)) + if (!amqp_decode_8(encoded, &offset, &len) || + !amqp_decode_bytes(encoded, &offset, &m->routing_key, len)) return AMQP_STATUS_BAD_AMQP_DATA; } - if (!amqp_decode_8(encoded, &offset, &bit_buffer)) return AMQP_STATUS_BAD_AMQP_DATA; + if (!amqp_decode_8(encoded, &offset, &bit_buffer)) + return AMQP_STATUS_BAD_AMQP_DATA; m->mandatory = (bit_buffer & (1 << 0)) ? 1 : 0; m->immediate = (bit_buffer & (1 << 1)) ? 1 : 0; *decoded = m; return 0; } case AMQP_BASIC_RETURN_METHOD: { - amqp_basic_return_t *m = (amqp_basic_return_t *) amqp_pool_alloc(pool, sizeof(amqp_basic_return_t)); - if (m == NULL) { return AMQP_STATUS_NO_MEMORY; } - if (!amqp_decode_16(encoded, &offset, &m->reply_code)) return AMQP_STATUS_BAD_AMQP_DATA; + amqp_basic_return_t *m = (amqp_basic_return_t *)amqp_pool_alloc( + pool, sizeof(amqp_basic_return_t)); + if (m == NULL) { + return AMQP_STATUS_NO_MEMORY; + } + if (!amqp_decode_16(encoded, &offset, &m->reply_code)) + return AMQP_STATUS_BAD_AMQP_DATA; { uint8_t len; - if (!amqp_decode_8(encoded, &offset, &len) - || !amqp_decode_bytes(encoded, &offset, &m->reply_text, len)) + if (!amqp_decode_8(encoded, &offset, &len) || + !amqp_decode_bytes(encoded, &offset, &m->reply_text, len)) return AMQP_STATUS_BAD_AMQP_DATA; } { uint8_t len; - if (!amqp_decode_8(encoded, &offset, &len) - || !amqp_decode_bytes(encoded, &offset, &m->exchange, len)) + if (!amqp_decode_8(encoded, &offset, &len) || + !amqp_decode_bytes(encoded, &offset, &m->exchange, len)) return AMQP_STATUS_BAD_AMQP_DATA; } { uint8_t len; - if (!amqp_decode_8(encoded, &offset, &len) - || !amqp_decode_bytes(encoded, &offset, &m->routing_key, len)) + if (!amqp_decode_8(encoded, &offset, &len) || + !amqp_decode_bytes(encoded, &offset, &m->routing_key, len)) return AMQP_STATUS_BAD_AMQP_DATA; } *decoded = m; return 0; } case AMQP_BASIC_DELIVER_METHOD: { - amqp_basic_deliver_t *m = (amqp_basic_deliver_t *) amqp_pool_alloc(pool, sizeof(amqp_basic_deliver_t)); - if (m == NULL) { return AMQP_STATUS_NO_MEMORY; } + amqp_basic_deliver_t *m = (amqp_basic_deliver_t *)amqp_pool_alloc( + pool, sizeof(amqp_basic_deliver_t)); + if (m == NULL) { + return AMQP_STATUS_NO_MEMORY; + } { uint8_t len; - if (!amqp_decode_8(encoded, &offset, &len) - || !amqp_decode_bytes(encoded, &offset, &m->consumer_tag, len)) + if (!amqp_decode_8(encoded, &offset, &len) || + !amqp_decode_bytes(encoded, &offset, &m->consumer_tag, len)) return AMQP_STATUS_BAD_AMQP_DATA; } - if (!amqp_decode_64(encoded, &offset, &m->delivery_tag)) return AMQP_STATUS_BAD_AMQP_DATA; - if (!amqp_decode_8(encoded, &offset, &bit_buffer)) return AMQP_STATUS_BAD_AMQP_DATA; + if (!amqp_decode_64(encoded, &offset, &m->delivery_tag)) + return AMQP_STATUS_BAD_AMQP_DATA; + if (!amqp_decode_8(encoded, &offset, &bit_buffer)) + return AMQP_STATUS_BAD_AMQP_DATA; m->redelivered = (bit_buffer & (1 << 0)) ? 1 : 0; { uint8_t len; - if (!amqp_decode_8(encoded, &offset, &len) - || !amqp_decode_bytes(encoded, &offset, &m->exchange, len)) + if (!amqp_decode_8(encoded, &offset, &len) || + !amqp_decode_bytes(encoded, &offset, &m->exchange, len)) return AMQP_STATUS_BAD_AMQP_DATA; } { uint8_t len; - if (!amqp_decode_8(encoded, &offset, &len) - || !amqp_decode_bytes(encoded, &offset, &m->routing_key, len)) + if (!amqp_decode_8(encoded, &offset, &len) || + !amqp_decode_bytes(encoded, &offset, &m->routing_key, len)) return AMQP_STATUS_BAD_AMQP_DATA; } *decoded = m; return 0; } case AMQP_BASIC_GET_METHOD: { - amqp_basic_get_t *m = (amqp_basic_get_t *) amqp_pool_alloc(pool, sizeof(amqp_basic_get_t)); - if (m == NULL) { return AMQP_STATUS_NO_MEMORY; } - if (!amqp_decode_16(encoded, &offset, &m->ticket)) return AMQP_STATUS_BAD_AMQP_DATA; + amqp_basic_get_t *m = + (amqp_basic_get_t *)amqp_pool_alloc(pool, sizeof(amqp_basic_get_t)); + if (m == NULL) { + return AMQP_STATUS_NO_MEMORY; + } + if (!amqp_decode_16(encoded, &offset, &m->ticket)) + return AMQP_STATUS_BAD_AMQP_DATA; { uint8_t len; - if (!amqp_decode_8(encoded, &offset, &len) - || !amqp_decode_bytes(encoded, &offset, &m->queue, len)) + if (!amqp_decode_8(encoded, &offset, &len) || + !amqp_decode_bytes(encoded, &offset, &m->queue, len)) return AMQP_STATUS_BAD_AMQP_DATA; } - if (!amqp_decode_8(encoded, &offset, &bit_buffer)) return AMQP_STATUS_BAD_AMQP_DATA; + if (!amqp_decode_8(encoded, &offset, &bit_buffer)) + return AMQP_STATUS_BAD_AMQP_DATA; m->no_ack = (bit_buffer & (1 << 0)) ? 1 : 0; *decoded = m; return 0; } case AMQP_BASIC_GET_OK_METHOD: { - amqp_basic_get_ok_t *m = (amqp_basic_get_ok_t *) amqp_pool_alloc(pool, sizeof(amqp_basic_get_ok_t)); - if (m == NULL) { return AMQP_STATUS_NO_MEMORY; } - if (!amqp_decode_64(encoded, &offset, &m->delivery_tag)) return AMQP_STATUS_BAD_AMQP_DATA; - if (!amqp_decode_8(encoded, &offset, &bit_buffer)) return AMQP_STATUS_BAD_AMQP_DATA; + amqp_basic_get_ok_t *m = (amqp_basic_get_ok_t *)amqp_pool_alloc( + pool, sizeof(amqp_basic_get_ok_t)); + if (m == NULL) { + return AMQP_STATUS_NO_MEMORY; + } + if (!amqp_decode_64(encoded, &offset, &m->delivery_tag)) + return AMQP_STATUS_BAD_AMQP_DATA; + if (!amqp_decode_8(encoded, &offset, &bit_buffer)) + return AMQP_STATUS_BAD_AMQP_DATA; m->redelivered = (bit_buffer & (1 << 0)) ? 1 : 0; { uint8_t len; - if (!amqp_decode_8(encoded, &offset, &len) - || !amqp_decode_bytes(encoded, &offset, &m->exchange, len)) + if (!amqp_decode_8(encoded, &offset, &len) || + !amqp_decode_bytes(encoded, &offset, &m->exchange, len)) return AMQP_STATUS_BAD_AMQP_DATA; } { uint8_t len; - if (!amqp_decode_8(encoded, &offset, &len) - || !amqp_decode_bytes(encoded, &offset, &m->routing_key, len)) + if (!amqp_decode_8(encoded, &offset, &len) || + !amqp_decode_bytes(encoded, &offset, &m->routing_key, len)) return AMQP_STATUS_BAD_AMQP_DATA; } - if (!amqp_decode_32(encoded, &offset, &m->message_count)) return AMQP_STATUS_BAD_AMQP_DATA; + if (!amqp_decode_32(encoded, &offset, &m->message_count)) + return AMQP_STATUS_BAD_AMQP_DATA; *decoded = m; return 0; } case AMQP_BASIC_GET_EMPTY_METHOD: { - amqp_basic_get_empty_t *m = (amqp_basic_get_empty_t *) amqp_pool_alloc(pool, sizeof(amqp_basic_get_empty_t)); - if (m == NULL) { return AMQP_STATUS_NO_MEMORY; } + amqp_basic_get_empty_t *m = (amqp_basic_get_empty_t *)amqp_pool_alloc( + pool, sizeof(amqp_basic_get_empty_t)); + if (m == NULL) { + return AMQP_STATUS_NO_MEMORY; + } { uint8_t len; - if (!amqp_decode_8(encoded, &offset, &len) - || !amqp_decode_bytes(encoded, &offset, &m->cluster_id, len)) + if (!amqp_decode_8(encoded, &offset, &len) || + !amqp_decode_bytes(encoded, &offset, &m->cluster_id, len)) return AMQP_STATUS_BAD_AMQP_DATA; } *decoded = m; return 0; } case AMQP_BASIC_ACK_METHOD: { - amqp_basic_ack_t *m = (amqp_basic_ack_t *) amqp_pool_alloc(pool, sizeof(amqp_basic_ack_t)); - if (m == NULL) { return AMQP_STATUS_NO_MEMORY; } - if (!amqp_decode_64(encoded, &offset, &m->delivery_tag)) return AMQP_STATUS_BAD_AMQP_DATA; - if (!amqp_decode_8(encoded, &offset, &bit_buffer)) return AMQP_STATUS_BAD_AMQP_DATA; + amqp_basic_ack_t *m = + (amqp_basic_ack_t *)amqp_pool_alloc(pool, sizeof(amqp_basic_ack_t)); + if (m == NULL) { + return AMQP_STATUS_NO_MEMORY; + } + if (!amqp_decode_64(encoded, &offset, &m->delivery_tag)) + return AMQP_STATUS_BAD_AMQP_DATA; + if (!amqp_decode_8(encoded, &offset, &bit_buffer)) + return AMQP_STATUS_BAD_AMQP_DATA; m->multiple = (bit_buffer & (1 << 0)) ? 1 : 0; *decoded = m; return 0; } case AMQP_BASIC_REJECT_METHOD: { - amqp_basic_reject_t *m = (amqp_basic_reject_t *) amqp_pool_alloc(pool, sizeof(amqp_basic_reject_t)); - if (m == NULL) { return AMQP_STATUS_NO_MEMORY; } - if (!amqp_decode_64(encoded, &offset, &m->delivery_tag)) return AMQP_STATUS_BAD_AMQP_DATA; - if (!amqp_decode_8(encoded, &offset, &bit_buffer)) return AMQP_STATUS_BAD_AMQP_DATA; + amqp_basic_reject_t *m = (amqp_basic_reject_t *)amqp_pool_alloc( + pool, sizeof(amqp_basic_reject_t)); + if (m == NULL) { + return AMQP_STATUS_NO_MEMORY; + } + if (!amqp_decode_64(encoded, &offset, &m->delivery_tag)) + return AMQP_STATUS_BAD_AMQP_DATA; + if (!amqp_decode_8(encoded, &offset, &bit_buffer)) + return AMQP_STATUS_BAD_AMQP_DATA; m->requeue = (bit_buffer & (1 << 0)) ? 1 : 0; *decoded = m; return 0; } case AMQP_BASIC_RECOVER_ASYNC_METHOD: { - amqp_basic_recover_async_t *m = (amqp_basic_recover_async_t *) amqp_pool_alloc(pool, sizeof(amqp_basic_recover_async_t)); - if (m == NULL) { return AMQP_STATUS_NO_MEMORY; } - if (!amqp_decode_8(encoded, &offset, &bit_buffer)) return AMQP_STATUS_BAD_AMQP_DATA; + amqp_basic_recover_async_t *m = + (amqp_basic_recover_async_t *)amqp_pool_alloc( + pool, sizeof(amqp_basic_recover_async_t)); + if (m == NULL) { + return AMQP_STATUS_NO_MEMORY; + } + if (!amqp_decode_8(encoded, &offset, &bit_buffer)) + return AMQP_STATUS_BAD_AMQP_DATA; m->requeue = (bit_buffer & (1 << 0)) ? 1 : 0; *decoded = m; return 0; } case AMQP_BASIC_RECOVER_METHOD: { - amqp_basic_recover_t *m = (amqp_basic_recover_t *) amqp_pool_alloc(pool, sizeof(amqp_basic_recover_t)); - if (m == NULL) { return AMQP_STATUS_NO_MEMORY; } - if (!amqp_decode_8(encoded, &offset, &bit_buffer)) return AMQP_STATUS_BAD_AMQP_DATA; + amqp_basic_recover_t *m = (amqp_basic_recover_t *)amqp_pool_alloc( + pool, sizeof(amqp_basic_recover_t)); + if (m == NULL) { + return AMQP_STATUS_NO_MEMORY; + } + if (!amqp_decode_8(encoded, &offset, &bit_buffer)) + return AMQP_STATUS_BAD_AMQP_DATA; m->requeue = (bit_buffer & (1 << 0)) ? 1 : 0; *decoded = m; return 0; } case AMQP_BASIC_RECOVER_OK_METHOD: { - amqp_basic_recover_ok_t *m = (amqp_basic_recover_ok_t *) amqp_pool_alloc(pool, sizeof(amqp_basic_recover_ok_t)); - if (m == NULL) { return AMQP_STATUS_NO_MEMORY; } + amqp_basic_recover_ok_t *m = (amqp_basic_recover_ok_t *)amqp_pool_alloc( + pool, sizeof(amqp_basic_recover_ok_t)); + if (m == NULL) { + return AMQP_STATUS_NO_MEMORY; + } *decoded = m; return 0; } case AMQP_BASIC_NACK_METHOD: { - amqp_basic_nack_t *m = (amqp_basic_nack_t *) amqp_pool_alloc(pool, sizeof(amqp_basic_nack_t)); - if (m == NULL) { return AMQP_STATUS_NO_MEMORY; } - if (!amqp_decode_64(encoded, &offset, &m->delivery_tag)) return AMQP_STATUS_BAD_AMQP_DATA; - if (!amqp_decode_8(encoded, &offset, &bit_buffer)) return AMQP_STATUS_BAD_AMQP_DATA; + amqp_basic_nack_t *m = + (amqp_basic_nack_t *)amqp_pool_alloc(pool, sizeof(amqp_basic_nack_t)); + if (m == NULL) { + return AMQP_STATUS_NO_MEMORY; + } + if (!amqp_decode_64(encoded, &offset, &m->delivery_tag)) + return AMQP_STATUS_BAD_AMQP_DATA; + if (!amqp_decode_8(encoded, &offset, &bit_buffer)) + return AMQP_STATUS_BAD_AMQP_DATA; m->multiple = (bit_buffer & (1 << 0)) ? 1 : 0; m->requeue = (bit_buffer & (1 << 1)) ? 1 : 0; *decoded = m; return 0; } case AMQP_TX_SELECT_METHOD: { - amqp_tx_select_t *m = (amqp_tx_select_t *) amqp_pool_alloc(pool, sizeof(amqp_tx_select_t)); - if (m == NULL) { return AMQP_STATUS_NO_MEMORY; } + amqp_tx_select_t *m = + (amqp_tx_select_t *)amqp_pool_alloc(pool, sizeof(amqp_tx_select_t)); + if (m == NULL) { + return AMQP_STATUS_NO_MEMORY; + } *decoded = m; return 0; } case AMQP_TX_SELECT_OK_METHOD: { - amqp_tx_select_ok_t *m = (amqp_tx_select_ok_t *) amqp_pool_alloc(pool, sizeof(amqp_tx_select_ok_t)); - if (m == NULL) { return AMQP_STATUS_NO_MEMORY; } + amqp_tx_select_ok_t *m = (amqp_tx_select_ok_t *)amqp_pool_alloc( + pool, sizeof(amqp_tx_select_ok_t)); + if (m == NULL) { + return AMQP_STATUS_NO_MEMORY; + } *decoded = m; return 0; } case AMQP_TX_COMMIT_METHOD: { - amqp_tx_commit_t *m = (amqp_tx_commit_t *) amqp_pool_alloc(pool, sizeof(amqp_tx_commit_t)); - if (m == NULL) { return AMQP_STATUS_NO_MEMORY; } + amqp_tx_commit_t *m = + (amqp_tx_commit_t *)amqp_pool_alloc(pool, sizeof(amqp_tx_commit_t)); + if (m == NULL) { + return AMQP_STATUS_NO_MEMORY; + } *decoded = m; return 0; } case AMQP_TX_COMMIT_OK_METHOD: { - amqp_tx_commit_ok_t *m = (amqp_tx_commit_ok_t *) amqp_pool_alloc(pool, sizeof(amqp_tx_commit_ok_t)); - if (m == NULL) { return AMQP_STATUS_NO_MEMORY; } + amqp_tx_commit_ok_t *m = (amqp_tx_commit_ok_t *)amqp_pool_alloc( + pool, sizeof(amqp_tx_commit_ok_t)); + if (m == NULL) { + return AMQP_STATUS_NO_MEMORY; + } *decoded = m; return 0; } case AMQP_TX_ROLLBACK_METHOD: { - amqp_tx_rollback_t *m = (amqp_tx_rollback_t *) amqp_pool_alloc(pool, sizeof(amqp_tx_rollback_t)); - if (m == NULL) { return AMQP_STATUS_NO_MEMORY; } + amqp_tx_rollback_t *m = (amqp_tx_rollback_t *)amqp_pool_alloc( + pool, sizeof(amqp_tx_rollback_t)); + if (m == NULL) { + return AMQP_STATUS_NO_MEMORY; + } *decoded = m; return 0; } case AMQP_TX_ROLLBACK_OK_METHOD: { - amqp_tx_rollback_ok_t *m = (amqp_tx_rollback_ok_t *) amqp_pool_alloc(pool, sizeof(amqp_tx_rollback_ok_t)); - if (m == NULL) { return AMQP_STATUS_NO_MEMORY; } + amqp_tx_rollback_ok_t *m = (amqp_tx_rollback_ok_t *)amqp_pool_alloc( + pool, sizeof(amqp_tx_rollback_ok_t)); + if (m == NULL) { + return AMQP_STATUS_NO_MEMORY; + } *decoded = m; return 0; } case AMQP_CONFIRM_SELECT_METHOD: { - amqp_confirm_select_t *m = (amqp_confirm_select_t *) amqp_pool_alloc(pool, sizeof(amqp_confirm_select_t)); - if (m == NULL) { return AMQP_STATUS_NO_MEMORY; } - if (!amqp_decode_8(encoded, &offset, &bit_buffer)) return AMQP_STATUS_BAD_AMQP_DATA; + amqp_confirm_select_t *m = (amqp_confirm_select_t *)amqp_pool_alloc( + pool, sizeof(amqp_confirm_select_t)); + if (m == NULL) { + return AMQP_STATUS_NO_MEMORY; + } + if (!amqp_decode_8(encoded, &offset, &bit_buffer)) + return AMQP_STATUS_BAD_AMQP_DATA; m->nowait = (bit_buffer & (1 << 0)) ? 1 : 0; *decoded = m; return 0; } case AMQP_CONFIRM_SELECT_OK_METHOD: { - amqp_confirm_select_ok_t *m = (amqp_confirm_select_ok_t *) amqp_pool_alloc(pool, sizeof(amqp_confirm_select_ok_t)); - if (m == NULL) { return AMQP_STATUS_NO_MEMORY; } + amqp_confirm_select_ok_t *m = (amqp_confirm_select_ok_t *)amqp_pool_alloc( + pool, sizeof(amqp_confirm_select_ok_t)); + if (m == NULL) { + return AMQP_STATUS_NO_MEMORY; + } *decoded = m; return 0; } - default: return AMQP_STATUS_UNKNOWN_METHOD; + default: + return AMQP_STATUS_UNKNOWN_METHOD; } } -int amqp_decode_properties(uint16_t class_id, - amqp_pool_t *pool, - amqp_bytes_t encoded, - void **decoded) -{ +int amqp_decode_properties(uint16_t class_id, amqp_pool_t *pool, + amqp_bytes_t encoded, void **decoded) { size_t offset = 0; amqp_flags_t flags = 0; @@ -1048,278 +1420,320 @@ int amqp_decode_properties(uint16_t class_id, switch (class_id) { case 10: { - amqp_connection_properties_t *p = (amqp_connection_properties_t *) amqp_pool_alloc(pool, sizeof(amqp_connection_properties_t)); - if (p == NULL) { return AMQP_STATUS_NO_MEMORY; } + amqp_connection_properties_t *p = + (amqp_connection_properties_t *)amqp_pool_alloc( + pool, sizeof(amqp_connection_properties_t)); + if (p == NULL) { + return AMQP_STATUS_NO_MEMORY; + } p->_flags = flags; *decoded = p; return 0; } case 20: { - amqp_channel_properties_t *p = (amqp_channel_properties_t *) amqp_pool_alloc(pool, sizeof(amqp_channel_properties_t)); - if (p == NULL) { return AMQP_STATUS_NO_MEMORY; } + amqp_channel_properties_t *p = + (amqp_channel_properties_t *)amqp_pool_alloc( + pool, sizeof(amqp_channel_properties_t)); + if (p == NULL) { + return AMQP_STATUS_NO_MEMORY; + } p->_flags = flags; *decoded = p; return 0; } case 30: { - amqp_access_properties_t *p = (amqp_access_properties_t *) amqp_pool_alloc(pool, sizeof(amqp_access_properties_t)); - if (p == NULL) { return AMQP_STATUS_NO_MEMORY; } + amqp_access_properties_t *p = (amqp_access_properties_t *)amqp_pool_alloc( + pool, sizeof(amqp_access_properties_t)); + if (p == NULL) { + return AMQP_STATUS_NO_MEMORY; + } p->_flags = flags; *decoded = p; return 0; } case 40: { - amqp_exchange_properties_t *p = (amqp_exchange_properties_t *) amqp_pool_alloc(pool, sizeof(amqp_exchange_properties_t)); - if (p == NULL) { return AMQP_STATUS_NO_MEMORY; } + amqp_exchange_properties_t *p = + (amqp_exchange_properties_t *)amqp_pool_alloc( + pool, sizeof(amqp_exchange_properties_t)); + if (p == NULL) { + return AMQP_STATUS_NO_MEMORY; + } p->_flags = flags; *decoded = p; return 0; } case 50: { - amqp_queue_properties_t *p = (amqp_queue_properties_t *) amqp_pool_alloc(pool, sizeof(amqp_queue_properties_t)); - if (p == NULL) { return AMQP_STATUS_NO_MEMORY; } + amqp_queue_properties_t *p = (amqp_queue_properties_t *)amqp_pool_alloc( + pool, sizeof(amqp_queue_properties_t)); + if (p == NULL) { + return AMQP_STATUS_NO_MEMORY; + } p->_flags = flags; *decoded = p; return 0; } case 60: { - amqp_basic_properties_t *p = (amqp_basic_properties_t *) amqp_pool_alloc(pool, sizeof(amqp_basic_properties_t)); - if (p == NULL) { return AMQP_STATUS_NO_MEMORY; } + amqp_basic_properties_t *p = (amqp_basic_properties_t *)amqp_pool_alloc( + pool, sizeof(amqp_basic_properties_t)); + if (p == NULL) { + return AMQP_STATUS_NO_MEMORY; + } p->_flags = flags; if (flags & AMQP_BASIC_CONTENT_TYPE_FLAG) { - { - uint8_t len; - if (!amqp_decode_8(encoded, &offset, &len) - || !amqp_decode_bytes(encoded, &offset, &p->content_type, len)) - return AMQP_STATUS_BAD_AMQP_DATA; - } + { + uint8_t len; + if (!amqp_decode_8(encoded, &offset, &len) || + !amqp_decode_bytes(encoded, &offset, &p->content_type, len)) + return AMQP_STATUS_BAD_AMQP_DATA; + } } if (flags & AMQP_BASIC_CONTENT_ENCODING_FLAG) { - { - uint8_t len; - if (!amqp_decode_8(encoded, &offset, &len) - || !amqp_decode_bytes(encoded, &offset, &p->content_encoding, len)) - return AMQP_STATUS_BAD_AMQP_DATA; - } + { + uint8_t len; + if (!amqp_decode_8(encoded, &offset, &len) || + !amqp_decode_bytes(encoded, &offset, &p->content_encoding, len)) + return AMQP_STATUS_BAD_AMQP_DATA; + } } if (flags & AMQP_BASIC_HEADERS_FLAG) { - { - int res = amqp_decode_table(encoded, pool, &(p->headers), &offset); - if (res < 0) return res; - } + { + int res = amqp_decode_table(encoded, pool, &(p->headers), &offset); + if (res < 0) return res; + } } if (flags & AMQP_BASIC_DELIVERY_MODE_FLAG) { - if (!amqp_decode_8(encoded, &offset, &p->delivery_mode)) return AMQP_STATUS_BAD_AMQP_DATA; + if (!amqp_decode_8(encoded, &offset, &p->delivery_mode)) + return AMQP_STATUS_BAD_AMQP_DATA; } if (flags & AMQP_BASIC_PRIORITY_FLAG) { - if (!amqp_decode_8(encoded, &offset, &p->priority)) return AMQP_STATUS_BAD_AMQP_DATA; - } - if (flags & AMQP_BASIC_CORRELATION_ID_FLAG) { - { - uint8_t len; - if (!amqp_decode_8(encoded, &offset, &len) - || !amqp_decode_bytes(encoded, &offset, &p->correlation_id, len)) + if (!amqp_decode_8(encoded, &offset, &p->priority)) return AMQP_STATUS_BAD_AMQP_DATA; } + if (flags & AMQP_BASIC_CORRELATION_ID_FLAG) { + { + uint8_t len; + if (!amqp_decode_8(encoded, &offset, &len) || + !amqp_decode_bytes(encoded, &offset, &p->correlation_id, len)) + return AMQP_STATUS_BAD_AMQP_DATA; + } } if (flags & AMQP_BASIC_REPLY_TO_FLAG) { - { - uint8_t len; - if (!amqp_decode_8(encoded, &offset, &len) - || !amqp_decode_bytes(encoded, &offset, &p->reply_to, len)) - return AMQP_STATUS_BAD_AMQP_DATA; - } + { + uint8_t len; + if (!amqp_decode_8(encoded, &offset, &len) || + !amqp_decode_bytes(encoded, &offset, &p->reply_to, len)) + return AMQP_STATUS_BAD_AMQP_DATA; + } } if (flags & AMQP_BASIC_EXPIRATION_FLAG) { - { - uint8_t len; - if (!amqp_decode_8(encoded, &offset, &len) - || !amqp_decode_bytes(encoded, &offset, &p->expiration, len)) - return AMQP_STATUS_BAD_AMQP_DATA; - } + { + uint8_t len; + if (!amqp_decode_8(encoded, &offset, &len) || + !amqp_decode_bytes(encoded, &offset, &p->expiration, len)) + return AMQP_STATUS_BAD_AMQP_DATA; + } } if (flags & AMQP_BASIC_MESSAGE_ID_FLAG) { - { - uint8_t len; - if (!amqp_decode_8(encoded, &offset, &len) - || !amqp_decode_bytes(encoded, &offset, &p->message_id, len)) - return AMQP_STATUS_BAD_AMQP_DATA; - } + { + uint8_t len; + if (!amqp_decode_8(encoded, &offset, &len) || + !amqp_decode_bytes(encoded, &offset, &p->message_id, len)) + return AMQP_STATUS_BAD_AMQP_DATA; + } } if (flags & AMQP_BASIC_TIMESTAMP_FLAG) { - if (!amqp_decode_64(encoded, &offset, &p->timestamp)) return AMQP_STATUS_BAD_AMQP_DATA; - } - if (flags & AMQP_BASIC_TYPE_FLAG) { - { - uint8_t len; - if (!amqp_decode_8(encoded, &offset, &len) - || !amqp_decode_bytes(encoded, &offset, &p->type, len)) + if (!amqp_decode_64(encoded, &offset, &p->timestamp)) return AMQP_STATUS_BAD_AMQP_DATA; } + if (flags & AMQP_BASIC_TYPE_FLAG) { + { + uint8_t len; + if (!amqp_decode_8(encoded, &offset, &len) || + !amqp_decode_bytes(encoded, &offset, &p->type, len)) + return AMQP_STATUS_BAD_AMQP_DATA; + } } if (flags & AMQP_BASIC_USER_ID_FLAG) { - { - uint8_t len; - if (!amqp_decode_8(encoded, &offset, &len) - || !amqp_decode_bytes(encoded, &offset, &p->user_id, len)) - return AMQP_STATUS_BAD_AMQP_DATA; - } + { + uint8_t len; + if (!amqp_decode_8(encoded, &offset, &len) || + !amqp_decode_bytes(encoded, &offset, &p->user_id, len)) + return AMQP_STATUS_BAD_AMQP_DATA; + } } if (flags & AMQP_BASIC_APP_ID_FLAG) { - { - uint8_t len; - if (!amqp_decode_8(encoded, &offset, &len) - || !amqp_decode_bytes(encoded, &offset, &p->app_id, len)) - return AMQP_STATUS_BAD_AMQP_DATA; - } + { + uint8_t len; + if (!amqp_decode_8(encoded, &offset, &len) || + !amqp_decode_bytes(encoded, &offset, &p->app_id, len)) + return AMQP_STATUS_BAD_AMQP_DATA; + } } if (flags & AMQP_BASIC_CLUSTER_ID_FLAG) { - { - uint8_t len; - if (!amqp_decode_8(encoded, &offset, &len) - || !amqp_decode_bytes(encoded, &offset, &p->cluster_id, len)) - return AMQP_STATUS_BAD_AMQP_DATA; - } + { + uint8_t len; + if (!amqp_decode_8(encoded, &offset, &len) || + !amqp_decode_bytes(encoded, &offset, &p->cluster_id, len)) + return AMQP_STATUS_BAD_AMQP_DATA; + } } *decoded = p; return 0; } case 90: { - amqp_tx_properties_t *p = (amqp_tx_properties_t *) amqp_pool_alloc(pool, sizeof(amqp_tx_properties_t)); - if (p == NULL) { return AMQP_STATUS_NO_MEMORY; } + amqp_tx_properties_t *p = (amqp_tx_properties_t *)amqp_pool_alloc( + pool, sizeof(amqp_tx_properties_t)); + if (p == NULL) { + return AMQP_STATUS_NO_MEMORY; + } p->_flags = flags; *decoded = p; return 0; } case 85: { - amqp_confirm_properties_t *p = (amqp_confirm_properties_t *) amqp_pool_alloc(pool, sizeof(amqp_confirm_properties_t)); - if (p == NULL) { return AMQP_STATUS_NO_MEMORY; } + amqp_confirm_properties_t *p = + (amqp_confirm_properties_t *)amqp_pool_alloc( + pool, sizeof(amqp_confirm_properties_t)); + if (p == NULL) { + return AMQP_STATUS_NO_MEMORY; + } p->_flags = flags; *decoded = p; return 0; } - default: return AMQP_STATUS_UNKNOWN_CLASS; + default: + return AMQP_STATUS_UNKNOWN_CLASS; } } -int amqp_encode_method(amqp_method_number_t methodNumber, - void *decoded, - amqp_bytes_t encoded) -{ +int amqp_encode_method(amqp_method_number_t methodNumber, void *decoded, + amqp_bytes_t encoded) { size_t offset = 0; uint8_t bit_buffer; switch (methodNumber) { case AMQP_CONNECTION_START_METHOD: { - amqp_connection_start_t *m = (amqp_connection_start_t *) decoded; - if (!amqp_encode_8(encoded, &offset, m->version_major)) return AMQP_STATUS_BAD_AMQP_DATA; - if (!amqp_encode_8(encoded, &offset, m->version_minor)) return AMQP_STATUS_BAD_AMQP_DATA; + amqp_connection_start_t *m = (amqp_connection_start_t *)decoded; + if (!amqp_encode_8(encoded, &offset, m->version_major)) + return AMQP_STATUS_BAD_AMQP_DATA; + if (!amqp_encode_8(encoded, &offset, m->version_minor)) + return AMQP_STATUS_BAD_AMQP_DATA; { int res = amqp_encode_table(encoded, &(m->server_properties), &offset); if (res < 0) return res; } - if (UINT32_MAX < m->mechanisms.len - || !amqp_encode_32(encoded, &offset, (uint32_t)m->mechanisms.len) - || !amqp_encode_bytes(encoded, &offset, m->mechanisms)) + if (UINT32_MAX < m->mechanisms.len || + !amqp_encode_32(encoded, &offset, (uint32_t)m->mechanisms.len) || + !amqp_encode_bytes(encoded, &offset, m->mechanisms)) return AMQP_STATUS_BAD_AMQP_DATA; - if (UINT32_MAX < m->locales.len - || !amqp_encode_32(encoded, &offset, (uint32_t)m->locales.len) - || !amqp_encode_bytes(encoded, &offset, m->locales)) + if (UINT32_MAX < m->locales.len || + !amqp_encode_32(encoded, &offset, (uint32_t)m->locales.len) || + !amqp_encode_bytes(encoded, &offset, m->locales)) return AMQP_STATUS_BAD_AMQP_DATA; return (int)offset; } case AMQP_CONNECTION_START_OK_METHOD: { - amqp_connection_start_ok_t *m = (amqp_connection_start_ok_t *) decoded; + amqp_connection_start_ok_t *m = (amqp_connection_start_ok_t *)decoded; { int res = amqp_encode_table(encoded, &(m->client_properties), &offset); if (res < 0) return res; } - if (UINT8_MAX < m->mechanism.len - || !amqp_encode_8(encoded, &offset, (uint8_t)m->mechanism.len) - || !amqp_encode_bytes(encoded, &offset, m->mechanism)) + if (UINT8_MAX < m->mechanism.len || + !amqp_encode_8(encoded, &offset, (uint8_t)m->mechanism.len) || + !amqp_encode_bytes(encoded, &offset, m->mechanism)) return AMQP_STATUS_BAD_AMQP_DATA; - if (UINT32_MAX < m->response.len - || !amqp_encode_32(encoded, &offset, (uint32_t)m->response.len) - || !amqp_encode_bytes(encoded, &offset, m->response)) + if (UINT32_MAX < m->response.len || + !amqp_encode_32(encoded, &offset, (uint32_t)m->response.len) || + !amqp_encode_bytes(encoded, &offset, m->response)) return AMQP_STATUS_BAD_AMQP_DATA; - if (UINT8_MAX < m->locale.len - || !amqp_encode_8(encoded, &offset, (uint8_t)m->locale.len) - || !amqp_encode_bytes(encoded, &offset, m->locale)) + if (UINT8_MAX < m->locale.len || + !amqp_encode_8(encoded, &offset, (uint8_t)m->locale.len) || + !amqp_encode_bytes(encoded, &offset, m->locale)) return AMQP_STATUS_BAD_AMQP_DATA; return (int)offset; } case AMQP_CONNECTION_SECURE_METHOD: { - amqp_connection_secure_t *m = (amqp_connection_secure_t *) decoded; - if (UINT32_MAX < m->challenge.len - || !amqp_encode_32(encoded, &offset, (uint32_t)m->challenge.len) - || !amqp_encode_bytes(encoded, &offset, m->challenge)) + amqp_connection_secure_t *m = (amqp_connection_secure_t *)decoded; + if (UINT32_MAX < m->challenge.len || + !amqp_encode_32(encoded, &offset, (uint32_t)m->challenge.len) || + !amqp_encode_bytes(encoded, &offset, m->challenge)) return AMQP_STATUS_BAD_AMQP_DATA; return (int)offset; } case AMQP_CONNECTION_SECURE_OK_METHOD: { - amqp_connection_secure_ok_t *m = (amqp_connection_secure_ok_t *) decoded; - if (UINT32_MAX < m->response.len - || !amqp_encode_32(encoded, &offset, (uint32_t)m->response.len) - || !amqp_encode_bytes(encoded, &offset, m->response)) + amqp_connection_secure_ok_t *m = (amqp_connection_secure_ok_t *)decoded; + if (UINT32_MAX < m->response.len || + !amqp_encode_32(encoded, &offset, (uint32_t)m->response.len) || + !amqp_encode_bytes(encoded, &offset, m->response)) return AMQP_STATUS_BAD_AMQP_DATA; return (int)offset; } case AMQP_CONNECTION_TUNE_METHOD: { - amqp_connection_tune_t *m = (amqp_connection_tune_t *) decoded; - if (!amqp_encode_16(encoded, &offset, m->channel_max)) return AMQP_STATUS_BAD_AMQP_DATA; - if (!amqp_encode_32(encoded, &offset, m->frame_max)) return AMQP_STATUS_BAD_AMQP_DATA; - if (!amqp_encode_16(encoded, &offset, m->heartbeat)) return AMQP_STATUS_BAD_AMQP_DATA; + amqp_connection_tune_t *m = (amqp_connection_tune_t *)decoded; + if (!amqp_encode_16(encoded, &offset, m->channel_max)) + return AMQP_STATUS_BAD_AMQP_DATA; + if (!amqp_encode_32(encoded, &offset, m->frame_max)) + return AMQP_STATUS_BAD_AMQP_DATA; + if (!amqp_encode_16(encoded, &offset, m->heartbeat)) + return AMQP_STATUS_BAD_AMQP_DATA; return (int)offset; } case AMQP_CONNECTION_TUNE_OK_METHOD: { - amqp_connection_tune_ok_t *m = (amqp_connection_tune_ok_t *) decoded; - if (!amqp_encode_16(encoded, &offset, m->channel_max)) return AMQP_STATUS_BAD_AMQP_DATA; - if (!amqp_encode_32(encoded, &offset, m->frame_max)) return AMQP_STATUS_BAD_AMQP_DATA; - if (!amqp_encode_16(encoded, &offset, m->heartbeat)) return AMQP_STATUS_BAD_AMQP_DATA; + amqp_connection_tune_ok_t *m = (amqp_connection_tune_ok_t *)decoded; + if (!amqp_encode_16(encoded, &offset, m->channel_max)) + return AMQP_STATUS_BAD_AMQP_DATA; + if (!amqp_encode_32(encoded, &offset, m->frame_max)) + return AMQP_STATUS_BAD_AMQP_DATA; + if (!amqp_encode_16(encoded, &offset, m->heartbeat)) + return AMQP_STATUS_BAD_AMQP_DATA; return (int)offset; } case AMQP_CONNECTION_OPEN_METHOD: { - amqp_connection_open_t *m = (amqp_connection_open_t *) decoded; - if (UINT8_MAX < m->virtual_host.len - || !amqp_encode_8(encoded, &offset, (uint8_t)m->virtual_host.len) - || !amqp_encode_bytes(encoded, &offset, m->virtual_host)) + amqp_connection_open_t *m = (amqp_connection_open_t *)decoded; + if (UINT8_MAX < m->virtual_host.len || + !amqp_encode_8(encoded, &offset, (uint8_t)m->virtual_host.len) || + !amqp_encode_bytes(encoded, &offset, m->virtual_host)) return AMQP_STATUS_BAD_AMQP_DATA; - if (UINT8_MAX < m->capabilities.len - || !amqp_encode_8(encoded, &offset, (uint8_t)m->capabilities.len) - || !amqp_encode_bytes(encoded, &offset, m->capabilities)) + if (UINT8_MAX < m->capabilities.len || + !amqp_encode_8(encoded, &offset, (uint8_t)m->capabilities.len) || + !amqp_encode_bytes(encoded, &offset, m->capabilities)) return AMQP_STATUS_BAD_AMQP_DATA; bit_buffer = 0; if (m->insist) bit_buffer |= (1 << 0); - if (!amqp_encode_8(encoded, &offset, bit_buffer)) return AMQP_STATUS_BAD_AMQP_DATA; + if (!amqp_encode_8(encoded, &offset, bit_buffer)) + return AMQP_STATUS_BAD_AMQP_DATA; return (int)offset; } case AMQP_CONNECTION_OPEN_OK_METHOD: { - amqp_connection_open_ok_t *m = (amqp_connection_open_ok_t *) decoded; - if (UINT8_MAX < m->known_hosts.len - || !amqp_encode_8(encoded, &offset, (uint8_t)m->known_hosts.len) - || !amqp_encode_bytes(encoded, &offset, m->known_hosts)) + amqp_connection_open_ok_t *m = (amqp_connection_open_ok_t *)decoded; + if (UINT8_MAX < m->known_hosts.len || + !amqp_encode_8(encoded, &offset, (uint8_t)m->known_hosts.len) || + !amqp_encode_bytes(encoded, &offset, m->known_hosts)) return AMQP_STATUS_BAD_AMQP_DATA; return (int)offset; } case AMQP_CONNECTION_CLOSE_METHOD: { - amqp_connection_close_t *m = (amqp_connection_close_t *) decoded; - if (!amqp_encode_16(encoded, &offset, m->reply_code)) return AMQP_STATUS_BAD_AMQP_DATA; - if (UINT8_MAX < m->reply_text.len - || !amqp_encode_8(encoded, &offset, (uint8_t)m->reply_text.len) - || !amqp_encode_bytes(encoded, &offset, m->reply_text)) + amqp_connection_close_t *m = (amqp_connection_close_t *)decoded; + if (!amqp_encode_16(encoded, &offset, m->reply_code)) + return AMQP_STATUS_BAD_AMQP_DATA; + if (UINT8_MAX < m->reply_text.len || + !amqp_encode_8(encoded, &offset, (uint8_t)m->reply_text.len) || + !amqp_encode_bytes(encoded, &offset, m->reply_text)) + return AMQP_STATUS_BAD_AMQP_DATA; + if (!amqp_encode_16(encoded, &offset, m->class_id)) + return AMQP_STATUS_BAD_AMQP_DATA; + if (!amqp_encode_16(encoded, &offset, m->method_id)) return AMQP_STATUS_BAD_AMQP_DATA; - if (!amqp_encode_16(encoded, &offset, m->class_id)) return AMQP_STATUS_BAD_AMQP_DATA; - if (!amqp_encode_16(encoded, &offset, m->method_id)) return AMQP_STATUS_BAD_AMQP_DATA; return (int)offset; } case AMQP_CONNECTION_CLOSE_OK_METHOD: { return (int)offset; } case AMQP_CONNECTION_BLOCKED_METHOD: { - amqp_connection_blocked_t *m = (amqp_connection_blocked_t *) decoded; - if (UINT8_MAX < m->reason.len - || !amqp_encode_8(encoded, &offset, (uint8_t)m->reason.len) - || !amqp_encode_bytes(encoded, &offset, m->reason)) + amqp_connection_blocked_t *m = (amqp_connection_blocked_t *)decoded; + if (UINT8_MAX < m->reason.len || + !amqp_encode_8(encoded, &offset, (uint8_t)m->reason.len) || + !amqp_encode_bytes(encoded, &offset, m->reason)) return AMQP_STATUS_BAD_AMQP_DATA; return (int)offset; } @@ -1327,54 +1741,59 @@ int amqp_encode_method(amqp_method_number_t methodNumber, return (int)offset; } case AMQP_CHANNEL_OPEN_METHOD: { - amqp_channel_open_t *m = (amqp_channel_open_t *) decoded; - if (UINT8_MAX < m->out_of_band.len - || !amqp_encode_8(encoded, &offset, (uint8_t)m->out_of_band.len) - || !amqp_encode_bytes(encoded, &offset, m->out_of_band)) + amqp_channel_open_t *m = (amqp_channel_open_t *)decoded; + if (UINT8_MAX < m->out_of_band.len || + !amqp_encode_8(encoded, &offset, (uint8_t)m->out_of_band.len) || + !amqp_encode_bytes(encoded, &offset, m->out_of_band)) return AMQP_STATUS_BAD_AMQP_DATA; return (int)offset; } case AMQP_CHANNEL_OPEN_OK_METHOD: { - amqp_channel_open_ok_t *m = (amqp_channel_open_ok_t *) decoded; - if (UINT32_MAX < m->channel_id.len - || !amqp_encode_32(encoded, &offset, (uint32_t)m->channel_id.len) - || !amqp_encode_bytes(encoded, &offset, m->channel_id)) + amqp_channel_open_ok_t *m = (amqp_channel_open_ok_t *)decoded; + if (UINT32_MAX < m->channel_id.len || + !amqp_encode_32(encoded, &offset, (uint32_t)m->channel_id.len) || + !amqp_encode_bytes(encoded, &offset, m->channel_id)) return AMQP_STATUS_BAD_AMQP_DATA; return (int)offset; } case AMQP_CHANNEL_FLOW_METHOD: { - amqp_channel_flow_t *m = (amqp_channel_flow_t *) decoded; + amqp_channel_flow_t *m = (amqp_channel_flow_t *)decoded; bit_buffer = 0; if (m->active) bit_buffer |= (1 << 0); - if (!amqp_encode_8(encoded, &offset, bit_buffer)) return AMQP_STATUS_BAD_AMQP_DATA; + if (!amqp_encode_8(encoded, &offset, bit_buffer)) + return AMQP_STATUS_BAD_AMQP_DATA; return (int)offset; } case AMQP_CHANNEL_FLOW_OK_METHOD: { - amqp_channel_flow_ok_t *m = (amqp_channel_flow_ok_t *) decoded; + amqp_channel_flow_ok_t *m = (amqp_channel_flow_ok_t *)decoded; bit_buffer = 0; if (m->active) bit_buffer |= (1 << 0); - if (!amqp_encode_8(encoded, &offset, bit_buffer)) return AMQP_STATUS_BAD_AMQP_DATA; + if (!amqp_encode_8(encoded, &offset, bit_buffer)) + return AMQP_STATUS_BAD_AMQP_DATA; return (int)offset; } case AMQP_CHANNEL_CLOSE_METHOD: { - amqp_channel_close_t *m = (amqp_channel_close_t *) decoded; - if (!amqp_encode_16(encoded, &offset, m->reply_code)) return AMQP_STATUS_BAD_AMQP_DATA; - if (UINT8_MAX < m->reply_text.len - || !amqp_encode_8(encoded, &offset, (uint8_t)m->reply_text.len) - || !amqp_encode_bytes(encoded, &offset, m->reply_text)) + amqp_channel_close_t *m = (amqp_channel_close_t *)decoded; + if (!amqp_encode_16(encoded, &offset, m->reply_code)) + return AMQP_STATUS_BAD_AMQP_DATA; + if (UINT8_MAX < m->reply_text.len || + !amqp_encode_8(encoded, &offset, (uint8_t)m->reply_text.len) || + !amqp_encode_bytes(encoded, &offset, m->reply_text)) + return AMQP_STATUS_BAD_AMQP_DATA; + if (!amqp_encode_16(encoded, &offset, m->class_id)) + return AMQP_STATUS_BAD_AMQP_DATA; + if (!amqp_encode_16(encoded, &offset, m->method_id)) return AMQP_STATUS_BAD_AMQP_DATA; - if (!amqp_encode_16(encoded, &offset, m->class_id)) return AMQP_STATUS_BAD_AMQP_DATA; - if (!amqp_encode_16(encoded, &offset, m->method_id)) return AMQP_STATUS_BAD_AMQP_DATA; return (int)offset; } case AMQP_CHANNEL_CLOSE_OK_METHOD: { return (int)offset; } case AMQP_ACCESS_REQUEST_METHOD: { - amqp_access_request_t *m = (amqp_access_request_t *) decoded; - if (UINT8_MAX < m->realm.len - || !amqp_encode_8(encoded, &offset, (uint8_t)m->realm.len) - || !amqp_encode_bytes(encoded, &offset, m->realm)) + amqp_access_request_t *m = (amqp_access_request_t *)decoded; + if (UINT8_MAX < m->realm.len || + !amqp_encode_8(encoded, &offset, (uint8_t)m->realm.len) || + !amqp_encode_bytes(encoded, &offset, m->realm)) return AMQP_STATUS_BAD_AMQP_DATA; bit_buffer = 0; if (m->exclusive) bit_buffer |= (1 << 0); @@ -1382,24 +1801,27 @@ int amqp_encode_method(amqp_method_number_t methodNumber, if (m->active) bit_buffer |= (1 << 2); if (m->write) bit_buffer |= (1 << 3); if (m->read) bit_buffer |= (1 << 4); - if (!amqp_encode_8(encoded, &offset, bit_buffer)) return AMQP_STATUS_BAD_AMQP_DATA; + if (!amqp_encode_8(encoded, &offset, bit_buffer)) + return AMQP_STATUS_BAD_AMQP_DATA; return (int)offset; } case AMQP_ACCESS_REQUEST_OK_METHOD: { - amqp_access_request_ok_t *m = (amqp_access_request_ok_t *) decoded; - if (!amqp_encode_16(encoded, &offset, m->ticket)) return AMQP_STATUS_BAD_AMQP_DATA; + amqp_access_request_ok_t *m = (amqp_access_request_ok_t *)decoded; + if (!amqp_encode_16(encoded, &offset, m->ticket)) + return AMQP_STATUS_BAD_AMQP_DATA; return (int)offset; } case AMQP_EXCHANGE_DECLARE_METHOD: { - amqp_exchange_declare_t *m = (amqp_exchange_declare_t *) decoded; - if (!amqp_encode_16(encoded, &offset, m->ticket)) return AMQP_STATUS_BAD_AMQP_DATA; - if (UINT8_MAX < m->exchange.len - || !amqp_encode_8(encoded, &offset, (uint8_t)m->exchange.len) - || !amqp_encode_bytes(encoded, &offset, m->exchange)) + amqp_exchange_declare_t *m = (amqp_exchange_declare_t *)decoded; + if (!amqp_encode_16(encoded, &offset, m->ticket)) return AMQP_STATUS_BAD_AMQP_DATA; - if (UINT8_MAX < m->type.len - || !amqp_encode_8(encoded, &offset, (uint8_t)m->type.len) - || !amqp_encode_bytes(encoded, &offset, m->type)) + if (UINT8_MAX < m->exchange.len || + !amqp_encode_8(encoded, &offset, (uint8_t)m->exchange.len) || + !amqp_encode_bytes(encoded, &offset, m->exchange)) + return AMQP_STATUS_BAD_AMQP_DATA; + if (UINT8_MAX < m->type.len || + !amqp_encode_8(encoded, &offset, (uint8_t)m->type.len) || + !amqp_encode_bytes(encoded, &offset, m->type)) return AMQP_STATUS_BAD_AMQP_DATA; bit_buffer = 0; if (m->passive) bit_buffer |= (1 << 0); @@ -1407,7 +1829,8 @@ int amqp_encode_method(amqp_method_number_t methodNumber, if (m->auto_delete) bit_buffer |= (1 << 2); if (m->internal) bit_buffer |= (1 << 3); if (m->nowait) bit_buffer |= (1 << 4); - if (!amqp_encode_8(encoded, &offset, bit_buffer)) return AMQP_STATUS_BAD_AMQP_DATA; + if (!amqp_encode_8(encoded, &offset, bit_buffer)) + return AMQP_STATUS_BAD_AMQP_DATA; { int res = amqp_encode_table(encoded, &(m->arguments), &offset); if (res < 0) return res; @@ -1418,39 +1841,43 @@ int amqp_encode_method(amqp_method_number_t methodNumber, return (int)offset; } case AMQP_EXCHANGE_DELETE_METHOD: { - amqp_exchange_delete_t *m = (amqp_exchange_delete_t *) decoded; - if (!amqp_encode_16(encoded, &offset, m->ticket)) return AMQP_STATUS_BAD_AMQP_DATA; - if (UINT8_MAX < m->exchange.len - || !amqp_encode_8(encoded, &offset, (uint8_t)m->exchange.len) - || !amqp_encode_bytes(encoded, &offset, m->exchange)) + amqp_exchange_delete_t *m = (amqp_exchange_delete_t *)decoded; + if (!amqp_encode_16(encoded, &offset, m->ticket)) + return AMQP_STATUS_BAD_AMQP_DATA; + if (UINT8_MAX < m->exchange.len || + !amqp_encode_8(encoded, &offset, (uint8_t)m->exchange.len) || + !amqp_encode_bytes(encoded, &offset, m->exchange)) return AMQP_STATUS_BAD_AMQP_DATA; bit_buffer = 0; if (m->if_unused) bit_buffer |= (1 << 0); if (m->nowait) bit_buffer |= (1 << 1); - if (!amqp_encode_8(encoded, &offset, bit_buffer)) return AMQP_STATUS_BAD_AMQP_DATA; + if (!amqp_encode_8(encoded, &offset, bit_buffer)) + return AMQP_STATUS_BAD_AMQP_DATA; return (int)offset; } case AMQP_EXCHANGE_DELETE_OK_METHOD: { return (int)offset; } case AMQP_EXCHANGE_BIND_METHOD: { - amqp_exchange_bind_t *m = (amqp_exchange_bind_t *) decoded; - if (!amqp_encode_16(encoded, &offset, m->ticket)) return AMQP_STATUS_BAD_AMQP_DATA; - if (UINT8_MAX < m->destination.len - || !amqp_encode_8(encoded, &offset, (uint8_t)m->destination.len) - || !amqp_encode_bytes(encoded, &offset, m->destination)) + amqp_exchange_bind_t *m = (amqp_exchange_bind_t *)decoded; + if (!amqp_encode_16(encoded, &offset, m->ticket)) + return AMQP_STATUS_BAD_AMQP_DATA; + if (UINT8_MAX < m->destination.len || + !amqp_encode_8(encoded, &offset, (uint8_t)m->destination.len) || + !amqp_encode_bytes(encoded, &offset, m->destination)) return AMQP_STATUS_BAD_AMQP_DATA; - if (UINT8_MAX < m->source.len - || !amqp_encode_8(encoded, &offset, (uint8_t)m->source.len) - || !amqp_encode_bytes(encoded, &offset, m->source)) + if (UINT8_MAX < m->source.len || + !amqp_encode_8(encoded, &offset, (uint8_t)m->source.len) || + !amqp_encode_bytes(encoded, &offset, m->source)) return AMQP_STATUS_BAD_AMQP_DATA; - if (UINT8_MAX < m->routing_key.len - || !amqp_encode_8(encoded, &offset, (uint8_t)m->routing_key.len) - || !amqp_encode_bytes(encoded, &offset, m->routing_key)) + if (UINT8_MAX < m->routing_key.len || + !amqp_encode_8(encoded, &offset, (uint8_t)m->routing_key.len) || + !amqp_encode_bytes(encoded, &offset, m->routing_key)) return AMQP_STATUS_BAD_AMQP_DATA; bit_buffer = 0; if (m->nowait) bit_buffer |= (1 << 0); - if (!amqp_encode_8(encoded, &offset, bit_buffer)) return AMQP_STATUS_BAD_AMQP_DATA; + if (!amqp_encode_8(encoded, &offset, bit_buffer)) + return AMQP_STATUS_BAD_AMQP_DATA; { int res = amqp_encode_table(encoded, &(m->arguments), &offset); if (res < 0) return res; @@ -1461,23 +1888,25 @@ int amqp_encode_method(amqp_method_number_t methodNumber, return (int)offset; } case AMQP_EXCHANGE_UNBIND_METHOD: { - amqp_exchange_unbind_t *m = (amqp_exchange_unbind_t *) decoded; - if (!amqp_encode_16(encoded, &offset, m->ticket)) return AMQP_STATUS_BAD_AMQP_DATA; - if (UINT8_MAX < m->destination.len - || !amqp_encode_8(encoded, &offset, (uint8_t)m->destination.len) - || !amqp_encode_bytes(encoded, &offset, m->destination)) + amqp_exchange_unbind_t *m = (amqp_exchange_unbind_t *)decoded; + if (!amqp_encode_16(encoded, &offset, m->ticket)) + return AMQP_STATUS_BAD_AMQP_DATA; + if (UINT8_MAX < m->destination.len || + !amqp_encode_8(encoded, &offset, (uint8_t)m->destination.len) || + !amqp_encode_bytes(encoded, &offset, m->destination)) return AMQP_STATUS_BAD_AMQP_DATA; - if (UINT8_MAX < m->source.len - || !amqp_encode_8(encoded, &offset, (uint8_t)m->source.len) - || !amqp_encode_bytes(encoded, &offset, m->source)) + if (UINT8_MAX < m->source.len || + !amqp_encode_8(encoded, &offset, (uint8_t)m->source.len) || + !amqp_encode_bytes(encoded, &offset, m->source)) return AMQP_STATUS_BAD_AMQP_DATA; - if (UINT8_MAX < m->routing_key.len - || !amqp_encode_8(encoded, &offset, (uint8_t)m->routing_key.len) - || !amqp_encode_bytes(encoded, &offset, m->routing_key)) + if (UINT8_MAX < m->routing_key.len || + !amqp_encode_8(encoded, &offset, (uint8_t)m->routing_key.len) || + !amqp_encode_bytes(encoded, &offset, m->routing_key)) return AMQP_STATUS_BAD_AMQP_DATA; bit_buffer = 0; if (m->nowait) bit_buffer |= (1 << 0); - if (!amqp_encode_8(encoded, &offset, bit_buffer)) return AMQP_STATUS_BAD_AMQP_DATA; + if (!amqp_encode_8(encoded, &offset, bit_buffer)) + return AMQP_STATUS_BAD_AMQP_DATA; { int res = amqp_encode_table(encoded, &(m->arguments), &offset); if (res < 0) return res; @@ -1488,11 +1917,12 @@ int amqp_encode_method(amqp_method_number_t methodNumber, return (int)offset; } case AMQP_QUEUE_DECLARE_METHOD: { - amqp_queue_declare_t *m = (amqp_queue_declare_t *) decoded; - if (!amqp_encode_16(encoded, &offset, m->ticket)) return AMQP_STATUS_BAD_AMQP_DATA; - if (UINT8_MAX < m->queue.len - || !amqp_encode_8(encoded, &offset, (uint8_t)m->queue.len) - || !amqp_encode_bytes(encoded, &offset, m->queue)) + amqp_queue_declare_t *m = (amqp_queue_declare_t *)decoded; + if (!amqp_encode_16(encoded, &offset, m->ticket)) + return AMQP_STATUS_BAD_AMQP_DATA; + if (UINT8_MAX < m->queue.len || + !amqp_encode_8(encoded, &offset, (uint8_t)m->queue.len) || + !amqp_encode_bytes(encoded, &offset, m->queue)) return AMQP_STATUS_BAD_AMQP_DATA; bit_buffer = 0; if (m->passive) bit_buffer |= (1 << 0); @@ -1500,7 +1930,8 @@ int amqp_encode_method(amqp_method_number_t methodNumber, if (m->exclusive) bit_buffer |= (1 << 2); if (m->auto_delete) bit_buffer |= (1 << 3); if (m->nowait) bit_buffer |= (1 << 4); - if (!amqp_encode_8(encoded, &offset, bit_buffer)) return AMQP_STATUS_BAD_AMQP_DATA; + if (!amqp_encode_8(encoded, &offset, bit_buffer)) + return AMQP_STATUS_BAD_AMQP_DATA; { int res = amqp_encode_table(encoded, &(m->arguments), &offset); if (res < 0) return res; @@ -1508,33 +1939,37 @@ int amqp_encode_method(amqp_method_number_t methodNumber, return (int)offset; } case AMQP_QUEUE_DECLARE_OK_METHOD: { - amqp_queue_declare_ok_t *m = (amqp_queue_declare_ok_t *) decoded; - if (UINT8_MAX < m->queue.len - || !amqp_encode_8(encoded, &offset, (uint8_t)m->queue.len) - || !amqp_encode_bytes(encoded, &offset, m->queue)) + amqp_queue_declare_ok_t *m = (amqp_queue_declare_ok_t *)decoded; + if (UINT8_MAX < m->queue.len || + !amqp_encode_8(encoded, &offset, (uint8_t)m->queue.len) || + !amqp_encode_bytes(encoded, &offset, m->queue)) + return AMQP_STATUS_BAD_AMQP_DATA; + if (!amqp_encode_32(encoded, &offset, m->message_count)) + return AMQP_STATUS_BAD_AMQP_DATA; + if (!amqp_encode_32(encoded, &offset, m->consumer_count)) return AMQP_STATUS_BAD_AMQP_DATA; - if (!amqp_encode_32(encoded, &offset, m->message_count)) return AMQP_STATUS_BAD_AMQP_DATA; - if (!amqp_encode_32(encoded, &offset, m->consumer_count)) return AMQP_STATUS_BAD_AMQP_DATA; return (int)offset; } case AMQP_QUEUE_BIND_METHOD: { - amqp_queue_bind_t *m = (amqp_queue_bind_t *) decoded; - if (!amqp_encode_16(encoded, &offset, m->ticket)) return AMQP_STATUS_BAD_AMQP_DATA; - if (UINT8_MAX < m->queue.len - || !amqp_encode_8(encoded, &offset, (uint8_t)m->queue.len) - || !amqp_encode_bytes(encoded, &offset, m->queue)) + amqp_queue_bind_t *m = (amqp_queue_bind_t *)decoded; + if (!amqp_encode_16(encoded, &offset, m->ticket)) + return AMQP_STATUS_BAD_AMQP_DATA; + if (UINT8_MAX < m->queue.len || + !amqp_encode_8(encoded, &offset, (uint8_t)m->queue.len) || + !amqp_encode_bytes(encoded, &offset, m->queue)) return AMQP_STATUS_BAD_AMQP_DATA; - if (UINT8_MAX < m->exchange.len - || !amqp_encode_8(encoded, &offset, (uint8_t)m->exchange.len) - || !amqp_encode_bytes(encoded, &offset, m->exchange)) + if (UINT8_MAX < m->exchange.len || + !amqp_encode_8(encoded, &offset, (uint8_t)m->exchange.len) || + !amqp_encode_bytes(encoded, &offset, m->exchange)) return AMQP_STATUS_BAD_AMQP_DATA; - if (UINT8_MAX < m->routing_key.len - || !amqp_encode_8(encoded, &offset, (uint8_t)m->routing_key.len) - || !amqp_encode_bytes(encoded, &offset, m->routing_key)) + if (UINT8_MAX < m->routing_key.len || + !amqp_encode_8(encoded, &offset, (uint8_t)m->routing_key.len) || + !amqp_encode_bytes(encoded, &offset, m->routing_key)) return AMQP_STATUS_BAD_AMQP_DATA; bit_buffer = 0; if (m->nowait) bit_buffer |= (1 << 0); - if (!amqp_encode_8(encoded, &offset, bit_buffer)) return AMQP_STATUS_BAD_AMQP_DATA; + if (!amqp_encode_8(encoded, &offset, bit_buffer)) + return AMQP_STATUS_BAD_AMQP_DATA; { int res = amqp_encode_table(encoded, &(m->arguments), &offset); if (res < 0) return res; @@ -1545,55 +1980,62 @@ int amqp_encode_method(amqp_method_number_t methodNumber, return (int)offset; } case AMQP_QUEUE_PURGE_METHOD: { - amqp_queue_purge_t *m = (amqp_queue_purge_t *) decoded; - if (!amqp_encode_16(encoded, &offset, m->ticket)) return AMQP_STATUS_BAD_AMQP_DATA; - if (UINT8_MAX < m->queue.len - || !amqp_encode_8(encoded, &offset, (uint8_t)m->queue.len) - || !amqp_encode_bytes(encoded, &offset, m->queue)) + amqp_queue_purge_t *m = (amqp_queue_purge_t *)decoded; + if (!amqp_encode_16(encoded, &offset, m->ticket)) + return AMQP_STATUS_BAD_AMQP_DATA; + if (UINT8_MAX < m->queue.len || + !amqp_encode_8(encoded, &offset, (uint8_t)m->queue.len) || + !amqp_encode_bytes(encoded, &offset, m->queue)) return AMQP_STATUS_BAD_AMQP_DATA; bit_buffer = 0; if (m->nowait) bit_buffer |= (1 << 0); - if (!amqp_encode_8(encoded, &offset, bit_buffer)) return AMQP_STATUS_BAD_AMQP_DATA; + if (!amqp_encode_8(encoded, &offset, bit_buffer)) + return AMQP_STATUS_BAD_AMQP_DATA; return (int)offset; } case AMQP_QUEUE_PURGE_OK_METHOD: { - amqp_queue_purge_ok_t *m = (amqp_queue_purge_ok_t *) decoded; - if (!amqp_encode_32(encoded, &offset, m->message_count)) return AMQP_STATUS_BAD_AMQP_DATA; + amqp_queue_purge_ok_t *m = (amqp_queue_purge_ok_t *)decoded; + if (!amqp_encode_32(encoded, &offset, m->message_count)) + return AMQP_STATUS_BAD_AMQP_DATA; return (int)offset; } case AMQP_QUEUE_DELETE_METHOD: { - amqp_queue_delete_t *m = (amqp_queue_delete_t *) decoded; - if (!amqp_encode_16(encoded, &offset, m->ticket)) return AMQP_STATUS_BAD_AMQP_DATA; - if (UINT8_MAX < m->queue.len - || !amqp_encode_8(encoded, &offset, (uint8_t)m->queue.len) - || !amqp_encode_bytes(encoded, &offset, m->queue)) + amqp_queue_delete_t *m = (amqp_queue_delete_t *)decoded; + if (!amqp_encode_16(encoded, &offset, m->ticket)) + return AMQP_STATUS_BAD_AMQP_DATA; + if (UINT8_MAX < m->queue.len || + !amqp_encode_8(encoded, &offset, (uint8_t)m->queue.len) || + !amqp_encode_bytes(encoded, &offset, m->queue)) return AMQP_STATUS_BAD_AMQP_DATA; bit_buffer = 0; if (m->if_unused) bit_buffer |= (1 << 0); if (m->if_empty) bit_buffer |= (1 << 1); if (m->nowait) bit_buffer |= (1 << 2); - if (!amqp_encode_8(encoded, &offset, bit_buffer)) return AMQP_STATUS_BAD_AMQP_DATA; + if (!amqp_encode_8(encoded, &offset, bit_buffer)) + return AMQP_STATUS_BAD_AMQP_DATA; return (int)offset; } case AMQP_QUEUE_DELETE_OK_METHOD: { - amqp_queue_delete_ok_t *m = (amqp_queue_delete_ok_t *) decoded; - if (!amqp_encode_32(encoded, &offset, m->message_count)) return AMQP_STATUS_BAD_AMQP_DATA; + amqp_queue_delete_ok_t *m = (amqp_queue_delete_ok_t *)decoded; + if (!amqp_encode_32(encoded, &offset, m->message_count)) + return AMQP_STATUS_BAD_AMQP_DATA; return (int)offset; } case AMQP_QUEUE_UNBIND_METHOD: { - amqp_queue_unbind_t *m = (amqp_queue_unbind_t *) decoded; - if (!amqp_encode_16(encoded, &offset, m->ticket)) return AMQP_STATUS_BAD_AMQP_DATA; - if (UINT8_MAX < m->queue.len - || !amqp_encode_8(encoded, &offset, (uint8_t)m->queue.len) - || !amqp_encode_bytes(encoded, &offset, m->queue)) + amqp_queue_unbind_t *m = (amqp_queue_unbind_t *)decoded; + if (!amqp_encode_16(encoded, &offset, m->ticket)) return AMQP_STATUS_BAD_AMQP_DATA; - if (UINT8_MAX < m->exchange.len - || !amqp_encode_8(encoded, &offset, (uint8_t)m->exchange.len) - || !amqp_encode_bytes(encoded, &offset, m->exchange)) + if (UINT8_MAX < m->queue.len || + !amqp_encode_8(encoded, &offset, (uint8_t)m->queue.len) || + !amqp_encode_bytes(encoded, &offset, m->queue)) return AMQP_STATUS_BAD_AMQP_DATA; - if (UINT8_MAX < m->routing_key.len - || !amqp_encode_8(encoded, &offset, (uint8_t)m->routing_key.len) - || !amqp_encode_bytes(encoded, &offset, m->routing_key)) + if (UINT8_MAX < m->exchange.len || + !amqp_encode_8(encoded, &offset, (uint8_t)m->exchange.len) || + !amqp_encode_bytes(encoded, &offset, m->exchange)) + return AMQP_STATUS_BAD_AMQP_DATA; + if (UINT8_MAX < m->routing_key.len || + !amqp_encode_8(encoded, &offset, (uint8_t)m->routing_key.len) || + !amqp_encode_bytes(encoded, &offset, m->routing_key)) return AMQP_STATUS_BAD_AMQP_DATA; { int res = amqp_encode_table(encoded, &(m->arguments), &offset); @@ -1605,34 +2047,39 @@ int amqp_encode_method(amqp_method_number_t methodNumber, return (int)offset; } case AMQP_BASIC_QOS_METHOD: { - amqp_basic_qos_t *m = (amqp_basic_qos_t *) decoded; - if (!amqp_encode_32(encoded, &offset, m->prefetch_size)) return AMQP_STATUS_BAD_AMQP_DATA; - if (!amqp_encode_16(encoded, &offset, m->prefetch_count)) return AMQP_STATUS_BAD_AMQP_DATA; + amqp_basic_qos_t *m = (amqp_basic_qos_t *)decoded; + if (!amqp_encode_32(encoded, &offset, m->prefetch_size)) + return AMQP_STATUS_BAD_AMQP_DATA; + if (!amqp_encode_16(encoded, &offset, m->prefetch_count)) + return AMQP_STATUS_BAD_AMQP_DATA; bit_buffer = 0; if (m->global) bit_buffer |= (1 << 0); - if (!amqp_encode_8(encoded, &offset, bit_buffer)) return AMQP_STATUS_BAD_AMQP_DATA; + if (!amqp_encode_8(encoded, &offset, bit_buffer)) + return AMQP_STATUS_BAD_AMQP_DATA; return (int)offset; } case AMQP_BASIC_QOS_OK_METHOD: { return (int)offset; } case AMQP_BASIC_CONSUME_METHOD: { - amqp_basic_consume_t *m = (amqp_basic_consume_t *) decoded; - if (!amqp_encode_16(encoded, &offset, m->ticket)) return AMQP_STATUS_BAD_AMQP_DATA; - if (UINT8_MAX < m->queue.len - || !amqp_encode_8(encoded, &offset, (uint8_t)m->queue.len) - || !amqp_encode_bytes(encoded, &offset, m->queue)) + amqp_basic_consume_t *m = (amqp_basic_consume_t *)decoded; + if (!amqp_encode_16(encoded, &offset, m->ticket)) + return AMQP_STATUS_BAD_AMQP_DATA; + if (UINT8_MAX < m->queue.len || + !amqp_encode_8(encoded, &offset, (uint8_t)m->queue.len) || + !amqp_encode_bytes(encoded, &offset, m->queue)) return AMQP_STATUS_BAD_AMQP_DATA; - if (UINT8_MAX < m->consumer_tag.len - || !amqp_encode_8(encoded, &offset, (uint8_t)m->consumer_tag.len) - || !amqp_encode_bytes(encoded, &offset, m->consumer_tag)) + if (UINT8_MAX < m->consumer_tag.len || + !amqp_encode_8(encoded, &offset, (uint8_t)m->consumer_tag.len) || + !amqp_encode_bytes(encoded, &offset, m->consumer_tag)) return AMQP_STATUS_BAD_AMQP_DATA; bit_buffer = 0; if (m->no_local) bit_buffer |= (1 << 0); if (m->no_ack) bit_buffer |= (1 << 1); if (m->exclusive) bit_buffer |= (1 << 2); if (m->nowait) bit_buffer |= (1 << 3); - if (!amqp_encode_8(encoded, &offset, bit_buffer)) return AMQP_STATUS_BAD_AMQP_DATA; + if (!amqp_encode_8(encoded, &offset, bit_buffer)) + return AMQP_STATUS_BAD_AMQP_DATA; { int res = amqp_encode_table(encoded, &(m->arguments), &offset); if (res < 0) return res; @@ -1640,163 +2087,182 @@ int amqp_encode_method(amqp_method_number_t methodNumber, return (int)offset; } case AMQP_BASIC_CONSUME_OK_METHOD: { - amqp_basic_consume_ok_t *m = (amqp_basic_consume_ok_t *) decoded; - if (UINT8_MAX < m->consumer_tag.len - || !amqp_encode_8(encoded, &offset, (uint8_t)m->consumer_tag.len) - || !amqp_encode_bytes(encoded, &offset, m->consumer_tag)) + amqp_basic_consume_ok_t *m = (amqp_basic_consume_ok_t *)decoded; + if (UINT8_MAX < m->consumer_tag.len || + !amqp_encode_8(encoded, &offset, (uint8_t)m->consumer_tag.len) || + !amqp_encode_bytes(encoded, &offset, m->consumer_tag)) return AMQP_STATUS_BAD_AMQP_DATA; return (int)offset; } case AMQP_BASIC_CANCEL_METHOD: { - amqp_basic_cancel_t *m = (amqp_basic_cancel_t *) decoded; - if (UINT8_MAX < m->consumer_tag.len - || !amqp_encode_8(encoded, &offset, (uint8_t)m->consumer_tag.len) - || !amqp_encode_bytes(encoded, &offset, m->consumer_tag)) + amqp_basic_cancel_t *m = (amqp_basic_cancel_t *)decoded; + if (UINT8_MAX < m->consumer_tag.len || + !amqp_encode_8(encoded, &offset, (uint8_t)m->consumer_tag.len) || + !amqp_encode_bytes(encoded, &offset, m->consumer_tag)) return AMQP_STATUS_BAD_AMQP_DATA; bit_buffer = 0; if (m->nowait) bit_buffer |= (1 << 0); - if (!amqp_encode_8(encoded, &offset, bit_buffer)) return AMQP_STATUS_BAD_AMQP_DATA; + if (!amqp_encode_8(encoded, &offset, bit_buffer)) + return AMQP_STATUS_BAD_AMQP_DATA; return (int)offset; } case AMQP_BASIC_CANCEL_OK_METHOD: { - amqp_basic_cancel_ok_t *m = (amqp_basic_cancel_ok_t *) decoded; - if (UINT8_MAX < m->consumer_tag.len - || !amqp_encode_8(encoded, &offset, (uint8_t)m->consumer_tag.len) - || !amqp_encode_bytes(encoded, &offset, m->consumer_tag)) + amqp_basic_cancel_ok_t *m = (amqp_basic_cancel_ok_t *)decoded; + if (UINT8_MAX < m->consumer_tag.len || + !amqp_encode_8(encoded, &offset, (uint8_t)m->consumer_tag.len) || + !amqp_encode_bytes(encoded, &offset, m->consumer_tag)) return AMQP_STATUS_BAD_AMQP_DATA; return (int)offset; } case AMQP_BASIC_PUBLISH_METHOD: { - amqp_basic_publish_t *m = (amqp_basic_publish_t *) decoded; - if (!amqp_encode_16(encoded, &offset, m->ticket)) return AMQP_STATUS_BAD_AMQP_DATA; - if (UINT8_MAX < m->exchange.len - || !amqp_encode_8(encoded, &offset, (uint8_t)m->exchange.len) - || !amqp_encode_bytes(encoded, &offset, m->exchange)) + amqp_basic_publish_t *m = (amqp_basic_publish_t *)decoded; + if (!amqp_encode_16(encoded, &offset, m->ticket)) return AMQP_STATUS_BAD_AMQP_DATA; - if (UINT8_MAX < m->routing_key.len - || !amqp_encode_8(encoded, &offset, (uint8_t)m->routing_key.len) - || !amqp_encode_bytes(encoded, &offset, m->routing_key)) + if (UINT8_MAX < m->exchange.len || + !amqp_encode_8(encoded, &offset, (uint8_t)m->exchange.len) || + !amqp_encode_bytes(encoded, &offset, m->exchange)) + return AMQP_STATUS_BAD_AMQP_DATA; + if (UINT8_MAX < m->routing_key.len || + !amqp_encode_8(encoded, &offset, (uint8_t)m->routing_key.len) || + !amqp_encode_bytes(encoded, &offset, m->routing_key)) return AMQP_STATUS_BAD_AMQP_DATA; bit_buffer = 0; if (m->mandatory) bit_buffer |= (1 << 0); if (m->immediate) bit_buffer |= (1 << 1); - if (!amqp_encode_8(encoded, &offset, bit_buffer)) return AMQP_STATUS_BAD_AMQP_DATA; + if (!amqp_encode_8(encoded, &offset, bit_buffer)) + return AMQP_STATUS_BAD_AMQP_DATA; return (int)offset; } case AMQP_BASIC_RETURN_METHOD: { - amqp_basic_return_t *m = (amqp_basic_return_t *) decoded; - if (!amqp_encode_16(encoded, &offset, m->reply_code)) return AMQP_STATUS_BAD_AMQP_DATA; - if (UINT8_MAX < m->reply_text.len - || !amqp_encode_8(encoded, &offset, (uint8_t)m->reply_text.len) - || !amqp_encode_bytes(encoded, &offset, m->reply_text)) + amqp_basic_return_t *m = (amqp_basic_return_t *)decoded; + if (!amqp_encode_16(encoded, &offset, m->reply_code)) return AMQP_STATUS_BAD_AMQP_DATA; - if (UINT8_MAX < m->exchange.len - || !amqp_encode_8(encoded, &offset, (uint8_t)m->exchange.len) - || !amqp_encode_bytes(encoded, &offset, m->exchange)) + if (UINT8_MAX < m->reply_text.len || + !amqp_encode_8(encoded, &offset, (uint8_t)m->reply_text.len) || + !amqp_encode_bytes(encoded, &offset, m->reply_text)) return AMQP_STATUS_BAD_AMQP_DATA; - if (UINT8_MAX < m->routing_key.len - || !amqp_encode_8(encoded, &offset, (uint8_t)m->routing_key.len) - || !amqp_encode_bytes(encoded, &offset, m->routing_key)) + if (UINT8_MAX < m->exchange.len || + !amqp_encode_8(encoded, &offset, (uint8_t)m->exchange.len) || + !amqp_encode_bytes(encoded, &offset, m->exchange)) + return AMQP_STATUS_BAD_AMQP_DATA; + if (UINT8_MAX < m->routing_key.len || + !amqp_encode_8(encoded, &offset, (uint8_t)m->routing_key.len) || + !amqp_encode_bytes(encoded, &offset, m->routing_key)) return AMQP_STATUS_BAD_AMQP_DATA; return (int)offset; } case AMQP_BASIC_DELIVER_METHOD: { - amqp_basic_deliver_t *m = (amqp_basic_deliver_t *) decoded; - if (UINT8_MAX < m->consumer_tag.len - || !amqp_encode_8(encoded, &offset, (uint8_t)m->consumer_tag.len) - || !amqp_encode_bytes(encoded, &offset, m->consumer_tag)) + amqp_basic_deliver_t *m = (amqp_basic_deliver_t *)decoded; + if (UINT8_MAX < m->consumer_tag.len || + !amqp_encode_8(encoded, &offset, (uint8_t)m->consumer_tag.len) || + !amqp_encode_bytes(encoded, &offset, m->consumer_tag)) + return AMQP_STATUS_BAD_AMQP_DATA; + if (!amqp_encode_64(encoded, &offset, m->delivery_tag)) return AMQP_STATUS_BAD_AMQP_DATA; - if (!amqp_encode_64(encoded, &offset, m->delivery_tag)) return AMQP_STATUS_BAD_AMQP_DATA; bit_buffer = 0; if (m->redelivered) bit_buffer |= (1 << 0); - if (!amqp_encode_8(encoded, &offset, bit_buffer)) return AMQP_STATUS_BAD_AMQP_DATA; - if (UINT8_MAX < m->exchange.len - || !amqp_encode_8(encoded, &offset, (uint8_t)m->exchange.len) - || !amqp_encode_bytes(encoded, &offset, m->exchange)) + if (!amqp_encode_8(encoded, &offset, bit_buffer)) + return AMQP_STATUS_BAD_AMQP_DATA; + if (UINT8_MAX < m->exchange.len || + !amqp_encode_8(encoded, &offset, (uint8_t)m->exchange.len) || + !amqp_encode_bytes(encoded, &offset, m->exchange)) return AMQP_STATUS_BAD_AMQP_DATA; - if (UINT8_MAX < m->routing_key.len - || !amqp_encode_8(encoded, &offset, (uint8_t)m->routing_key.len) - || !amqp_encode_bytes(encoded, &offset, m->routing_key)) + if (UINT8_MAX < m->routing_key.len || + !amqp_encode_8(encoded, &offset, (uint8_t)m->routing_key.len) || + !amqp_encode_bytes(encoded, &offset, m->routing_key)) return AMQP_STATUS_BAD_AMQP_DATA; return (int)offset; } case AMQP_BASIC_GET_METHOD: { - amqp_basic_get_t *m = (amqp_basic_get_t *) decoded; - if (!amqp_encode_16(encoded, &offset, m->ticket)) return AMQP_STATUS_BAD_AMQP_DATA; - if (UINT8_MAX < m->queue.len - || !amqp_encode_8(encoded, &offset, (uint8_t)m->queue.len) - || !amqp_encode_bytes(encoded, &offset, m->queue)) + amqp_basic_get_t *m = (amqp_basic_get_t *)decoded; + if (!amqp_encode_16(encoded, &offset, m->ticket)) + return AMQP_STATUS_BAD_AMQP_DATA; + if (UINT8_MAX < m->queue.len || + !amqp_encode_8(encoded, &offset, (uint8_t)m->queue.len) || + !amqp_encode_bytes(encoded, &offset, m->queue)) return AMQP_STATUS_BAD_AMQP_DATA; bit_buffer = 0; if (m->no_ack) bit_buffer |= (1 << 0); - if (!amqp_encode_8(encoded, &offset, bit_buffer)) return AMQP_STATUS_BAD_AMQP_DATA; + if (!amqp_encode_8(encoded, &offset, bit_buffer)) + return AMQP_STATUS_BAD_AMQP_DATA; return (int)offset; } case AMQP_BASIC_GET_OK_METHOD: { - amqp_basic_get_ok_t *m = (amqp_basic_get_ok_t *) decoded; - if (!amqp_encode_64(encoded, &offset, m->delivery_tag)) return AMQP_STATUS_BAD_AMQP_DATA; + amqp_basic_get_ok_t *m = (amqp_basic_get_ok_t *)decoded; + if (!amqp_encode_64(encoded, &offset, m->delivery_tag)) + return AMQP_STATUS_BAD_AMQP_DATA; bit_buffer = 0; if (m->redelivered) bit_buffer |= (1 << 0); - if (!amqp_encode_8(encoded, &offset, bit_buffer)) return AMQP_STATUS_BAD_AMQP_DATA; - if (UINT8_MAX < m->exchange.len - || !amqp_encode_8(encoded, &offset, (uint8_t)m->exchange.len) - || !amqp_encode_bytes(encoded, &offset, m->exchange)) + if (!amqp_encode_8(encoded, &offset, bit_buffer)) + return AMQP_STATUS_BAD_AMQP_DATA; + if (UINT8_MAX < m->exchange.len || + !amqp_encode_8(encoded, &offset, (uint8_t)m->exchange.len) || + !amqp_encode_bytes(encoded, &offset, m->exchange)) + return AMQP_STATUS_BAD_AMQP_DATA; + if (UINT8_MAX < m->routing_key.len || + !amqp_encode_8(encoded, &offset, (uint8_t)m->routing_key.len) || + !amqp_encode_bytes(encoded, &offset, m->routing_key)) return AMQP_STATUS_BAD_AMQP_DATA; - if (UINT8_MAX < m->routing_key.len - || !amqp_encode_8(encoded, &offset, (uint8_t)m->routing_key.len) - || !amqp_encode_bytes(encoded, &offset, m->routing_key)) + if (!amqp_encode_32(encoded, &offset, m->message_count)) return AMQP_STATUS_BAD_AMQP_DATA; - if (!amqp_encode_32(encoded, &offset, m->message_count)) return AMQP_STATUS_BAD_AMQP_DATA; return (int)offset; } case AMQP_BASIC_GET_EMPTY_METHOD: { - amqp_basic_get_empty_t *m = (amqp_basic_get_empty_t *) decoded; - if (UINT8_MAX < m->cluster_id.len - || !amqp_encode_8(encoded, &offset, (uint8_t)m->cluster_id.len) - || !amqp_encode_bytes(encoded, &offset, m->cluster_id)) + amqp_basic_get_empty_t *m = (amqp_basic_get_empty_t *)decoded; + if (UINT8_MAX < m->cluster_id.len || + !amqp_encode_8(encoded, &offset, (uint8_t)m->cluster_id.len) || + !amqp_encode_bytes(encoded, &offset, m->cluster_id)) return AMQP_STATUS_BAD_AMQP_DATA; return (int)offset; } case AMQP_BASIC_ACK_METHOD: { - amqp_basic_ack_t *m = (amqp_basic_ack_t *) decoded; - if (!amqp_encode_64(encoded, &offset, m->delivery_tag)) return AMQP_STATUS_BAD_AMQP_DATA; + amqp_basic_ack_t *m = (amqp_basic_ack_t *)decoded; + if (!amqp_encode_64(encoded, &offset, m->delivery_tag)) + return AMQP_STATUS_BAD_AMQP_DATA; bit_buffer = 0; if (m->multiple) bit_buffer |= (1 << 0); - if (!amqp_encode_8(encoded, &offset, bit_buffer)) return AMQP_STATUS_BAD_AMQP_DATA; + if (!amqp_encode_8(encoded, &offset, bit_buffer)) + return AMQP_STATUS_BAD_AMQP_DATA; return (int)offset; } case AMQP_BASIC_REJECT_METHOD: { - amqp_basic_reject_t *m = (amqp_basic_reject_t *) decoded; - if (!amqp_encode_64(encoded, &offset, m->delivery_tag)) return AMQP_STATUS_BAD_AMQP_DATA; + amqp_basic_reject_t *m = (amqp_basic_reject_t *)decoded; + if (!amqp_encode_64(encoded, &offset, m->delivery_tag)) + return AMQP_STATUS_BAD_AMQP_DATA; bit_buffer = 0; if (m->requeue) bit_buffer |= (1 << 0); - if (!amqp_encode_8(encoded, &offset, bit_buffer)) return AMQP_STATUS_BAD_AMQP_DATA; + if (!amqp_encode_8(encoded, &offset, bit_buffer)) + return AMQP_STATUS_BAD_AMQP_DATA; return (int)offset; } case AMQP_BASIC_RECOVER_ASYNC_METHOD: { - amqp_basic_recover_async_t *m = (amqp_basic_recover_async_t *) decoded; + amqp_basic_recover_async_t *m = (amqp_basic_recover_async_t *)decoded; bit_buffer = 0; if (m->requeue) bit_buffer |= (1 << 0); - if (!amqp_encode_8(encoded, &offset, bit_buffer)) return AMQP_STATUS_BAD_AMQP_DATA; + if (!amqp_encode_8(encoded, &offset, bit_buffer)) + return AMQP_STATUS_BAD_AMQP_DATA; return (int)offset; } case AMQP_BASIC_RECOVER_METHOD: { - amqp_basic_recover_t *m = (amqp_basic_recover_t *) decoded; + amqp_basic_recover_t *m = (amqp_basic_recover_t *)decoded; bit_buffer = 0; if (m->requeue) bit_buffer |= (1 << 0); - if (!amqp_encode_8(encoded, &offset, bit_buffer)) return AMQP_STATUS_BAD_AMQP_DATA; + if (!amqp_encode_8(encoded, &offset, bit_buffer)) + return AMQP_STATUS_BAD_AMQP_DATA; return (int)offset; } case AMQP_BASIC_RECOVER_OK_METHOD: { return (int)offset; } case AMQP_BASIC_NACK_METHOD: { - amqp_basic_nack_t *m = (amqp_basic_nack_t *) decoded; - if (!amqp_encode_64(encoded, &offset, m->delivery_tag)) return AMQP_STATUS_BAD_AMQP_DATA; + amqp_basic_nack_t *m = (amqp_basic_nack_t *)decoded; + if (!amqp_encode_64(encoded, &offset, m->delivery_tag)) + return AMQP_STATUS_BAD_AMQP_DATA; bit_buffer = 0; if (m->multiple) bit_buffer |= (1 << 0); if (m->requeue) bit_buffer |= (1 << 1); - if (!amqp_encode_8(encoded, &offset, bit_buffer)) return AMQP_STATUS_BAD_AMQP_DATA; + if (!amqp_encode_8(encoded, &offset, bit_buffer)) + return AMQP_STATUS_BAD_AMQP_DATA; return (int)offset; } case AMQP_TX_SELECT_METHOD: { @@ -1818,28 +2284,28 @@ int amqp_encode_method(amqp_method_number_t methodNumber, return (int)offset; } case AMQP_CONFIRM_SELECT_METHOD: { - amqp_confirm_select_t *m = (amqp_confirm_select_t *) decoded; + amqp_confirm_select_t *m = (amqp_confirm_select_t *)decoded; bit_buffer = 0; if (m->nowait) bit_buffer |= (1 << 0); - if (!amqp_encode_8(encoded, &offset, bit_buffer)) return AMQP_STATUS_BAD_AMQP_DATA; + if (!amqp_encode_8(encoded, &offset, bit_buffer)) + return AMQP_STATUS_BAD_AMQP_DATA; return (int)offset; } case AMQP_CONFIRM_SELECT_OK_METHOD: { return (int)offset; } - default: return AMQP_STATUS_UNKNOWN_METHOD; + default: + return AMQP_STATUS_UNKNOWN_METHOD; } } -int amqp_encode_properties(uint16_t class_id, - void *decoded, - amqp_bytes_t encoded) -{ +int amqp_encode_properties(uint16_t class_id, void *decoded, + amqp_bytes_t encoded) { size_t offset = 0; /* Cheat, and get the flags out generically, relying on the similarity of structure between classes */ - amqp_flags_t flags = * (amqp_flags_t *) decoded; /* cheating! */ + amqp_flags_t flags = *(amqp_flags_t *)decoded; /* cheating! */ { /* We take a copy of flags to avoid destroying it, as it is used @@ -1848,7 +2314,9 @@ int amqp_encode_properties(uint16_t class_id, do { amqp_flags_t remainder = remaining_flags >> 16; uint16_t partial_flags = remaining_flags & 0xFFFE; - if (remainder != 0) { partial_flags |= 1; } + if (remainder != 0) { + partial_flags |= 1; + } if (!amqp_encode_16(encoded, &offset, partial_flags)) return AMQP_STATUS_BAD_AMQP_DATA; remaining_flags = remainder; @@ -1872,81 +2340,85 @@ int amqp_encode_properties(uint16_t class_id, return (int)offset; } case 60: { - amqp_basic_properties_t *p = (amqp_basic_properties_t *) decoded; - if (flags & AMQP_BASIC_CONTENT_TYPE_FLAG) { - if (UINT8_MAX < p->content_type.len - || !amqp_encode_8(encoded, &offset, (uint8_t)p->content_type.len) - || !amqp_encode_bytes(encoded, &offset, p->content_type)) - return AMQP_STATUS_BAD_AMQP_DATA; - } - if (flags & AMQP_BASIC_CONTENT_ENCODING_FLAG) { - if (UINT8_MAX < p->content_encoding.len - || !amqp_encode_8(encoded, &offset, (uint8_t)p->content_encoding.len) - || !amqp_encode_bytes(encoded, &offset, p->content_encoding)) - return AMQP_STATUS_BAD_AMQP_DATA; + amqp_basic_properties_t *p = (amqp_basic_properties_t *)decoded; + if (flags & AMQP_BASIC_CONTENT_TYPE_FLAG) { + if (UINT8_MAX < p->content_type.len || + !amqp_encode_8(encoded, &offset, (uint8_t)p->content_type.len) || + !amqp_encode_bytes(encoded, &offset, p->content_type)) + return AMQP_STATUS_BAD_AMQP_DATA; } - if (flags & AMQP_BASIC_HEADERS_FLAG) { - { - int res = amqp_encode_table(encoded, &(p->headers), &offset); - if (res < 0) return res; + if (flags & AMQP_BASIC_CONTENT_ENCODING_FLAG) { + if (UINT8_MAX < p->content_encoding.len || + !amqp_encode_8(encoded, &offset, + (uint8_t)p->content_encoding.len) || + !amqp_encode_bytes(encoded, &offset, p->content_encoding)) + return AMQP_STATUS_BAD_AMQP_DATA; } + if (flags & AMQP_BASIC_HEADERS_FLAG) { + { + int res = amqp_encode_table(encoded, &(p->headers), &offset); + if (res < 0) return res; + } } - if (flags & AMQP_BASIC_DELIVERY_MODE_FLAG) { - if (!amqp_encode_8(encoded, &offset, p->delivery_mode)) return AMQP_STATUS_BAD_AMQP_DATA; + if (flags & AMQP_BASIC_DELIVERY_MODE_FLAG) { + if (!amqp_encode_8(encoded, &offset, p->delivery_mode)) + return AMQP_STATUS_BAD_AMQP_DATA; } - if (flags & AMQP_BASIC_PRIORITY_FLAG) { - if (!amqp_encode_8(encoded, &offset, p->priority)) return AMQP_STATUS_BAD_AMQP_DATA; + if (flags & AMQP_BASIC_PRIORITY_FLAG) { + if (!amqp_encode_8(encoded, &offset, p->priority)) + return AMQP_STATUS_BAD_AMQP_DATA; } - if (flags & AMQP_BASIC_CORRELATION_ID_FLAG) { - if (UINT8_MAX < p->correlation_id.len - || !amqp_encode_8(encoded, &offset, (uint8_t)p->correlation_id.len) - || !amqp_encode_bytes(encoded, &offset, p->correlation_id)) - return AMQP_STATUS_BAD_AMQP_DATA; + if (flags & AMQP_BASIC_CORRELATION_ID_FLAG) { + if (UINT8_MAX < p->correlation_id.len || + !amqp_encode_8(encoded, &offset, (uint8_t)p->correlation_id.len) || + !amqp_encode_bytes(encoded, &offset, p->correlation_id)) + return AMQP_STATUS_BAD_AMQP_DATA; } - if (flags & AMQP_BASIC_REPLY_TO_FLAG) { - if (UINT8_MAX < p->reply_to.len - || !amqp_encode_8(encoded, &offset, (uint8_t)p->reply_to.len) - || !amqp_encode_bytes(encoded, &offset, p->reply_to)) - return AMQP_STATUS_BAD_AMQP_DATA; + if (flags & AMQP_BASIC_REPLY_TO_FLAG) { + if (UINT8_MAX < p->reply_to.len || + !amqp_encode_8(encoded, &offset, (uint8_t)p->reply_to.len) || + !amqp_encode_bytes(encoded, &offset, p->reply_to)) + return AMQP_STATUS_BAD_AMQP_DATA; } - if (flags & AMQP_BASIC_EXPIRATION_FLAG) { - if (UINT8_MAX < p->expiration.len - || !amqp_encode_8(encoded, &offset, (uint8_t)p->expiration.len) - || !amqp_encode_bytes(encoded, &offset, p->expiration)) - return AMQP_STATUS_BAD_AMQP_DATA; + if (flags & AMQP_BASIC_EXPIRATION_FLAG) { + if (UINT8_MAX < p->expiration.len || + !amqp_encode_8(encoded, &offset, (uint8_t)p->expiration.len) || + !amqp_encode_bytes(encoded, &offset, p->expiration)) + return AMQP_STATUS_BAD_AMQP_DATA; } - if (flags & AMQP_BASIC_MESSAGE_ID_FLAG) { - if (UINT8_MAX < p->message_id.len - || !amqp_encode_8(encoded, &offset, (uint8_t)p->message_id.len) - || !amqp_encode_bytes(encoded, &offset, p->message_id)) - return AMQP_STATUS_BAD_AMQP_DATA; + if (flags & AMQP_BASIC_MESSAGE_ID_FLAG) { + if (UINT8_MAX < p->message_id.len || + !amqp_encode_8(encoded, &offset, (uint8_t)p->message_id.len) || + !amqp_encode_bytes(encoded, &offset, p->message_id)) + return AMQP_STATUS_BAD_AMQP_DATA; } - if (flags & AMQP_BASIC_TIMESTAMP_FLAG) { - if (!amqp_encode_64(encoded, &offset, p->timestamp)) return AMQP_STATUS_BAD_AMQP_DATA; + if (flags & AMQP_BASIC_TIMESTAMP_FLAG) { + if (!amqp_encode_64(encoded, &offset, p->timestamp)) + return AMQP_STATUS_BAD_AMQP_DATA; } - if (flags & AMQP_BASIC_TYPE_FLAG) { - if (UINT8_MAX < p->type.len - || !amqp_encode_8(encoded, &offset, (uint8_t)p->type.len) - || !amqp_encode_bytes(encoded, &offset, p->type)) - return AMQP_STATUS_BAD_AMQP_DATA; + if (flags & AMQP_BASIC_TYPE_FLAG) { + if (UINT8_MAX < p->type.len || + !amqp_encode_8(encoded, &offset, (uint8_t)p->type.len) || + !amqp_encode_bytes(encoded, &offset, p->type)) + return AMQP_STATUS_BAD_AMQP_DATA; } - if (flags & AMQP_BASIC_USER_ID_FLAG) { - if (UINT8_MAX < p->user_id.len - || !amqp_encode_8(encoded, &offset, (uint8_t)p->user_id.len) - || !amqp_encode_bytes(encoded, &offset, p->user_id)) - return AMQP_STATUS_BAD_AMQP_DATA; + if (flags & AMQP_BASIC_USER_ID_FLAG) { + if (UINT8_MAX < p->user_id.len || + !amqp_encode_8(encoded, &offset, (uint8_t)p->user_id.len) || + !amqp_encode_bytes(encoded, &offset, p->user_id)) + return AMQP_STATUS_BAD_AMQP_DATA; } - if (flags & AMQP_BASIC_APP_ID_FLAG) { - if (UINT8_MAX < p->app_id.len - || !amqp_encode_8(encoded, &offset, (uint8_t)p->app_id.len) - || !amqp_encode_bytes(encoded, &offset, p->app_id)) - return AMQP_STATUS_BAD_AMQP_DATA; + if (flags & AMQP_BASIC_APP_ID_FLAG) { + if (UINT8_MAX < p->app_id.len || + !amqp_encode_8(encoded, &offset, (uint8_t)p->app_id.len) || + !amqp_encode_bytes(encoded, &offset, p->app_id)) + return AMQP_STATUS_BAD_AMQP_DATA; } - if (flags & AMQP_BASIC_CLUSTER_ID_FLAG) { - if (UINT8_MAX < p->cluster_id.len - || !amqp_encode_8(encoded, &offset, (uint8_t)p->cluster_id.len) - || !amqp_encode_bytes(encoded, &offset, p->cluster_id)) - return AMQP_STATUS_BAD_AMQP_DATA; + if (flags & AMQP_BASIC_CLUSTER_ID_FLAG) { + if (UINT8_MAX < p->cluster_id.len || + !amqp_encode_8(encoded, &offset, (uint8_t)p->cluster_id.len) || + !amqp_encode_bytes(encoded, &offset, p->cluster_id)) + return AMQP_STATUS_BAD_AMQP_DATA; } return (int)offset; } @@ -1956,7 +2428,8 @@ int amqp_encode_properties(uint16_t class_id, case 85: { return (int)offset; } - default: return AMQP_STATUS_UNKNOWN_CLASS; + default: + return AMQP_STATUS_UNKNOWN_CLASS; } } @@ -1968,16 +2441,15 @@ int amqp_encode_properties(uint16_t class_id, * @returns amqp_channel_open_ok_t */ AMQP_PUBLIC_FUNCTION -amqp_channel_open_ok_t * -AMQP_CALL amqp_channel_open(amqp_connection_state_t state, amqp_channel_t channel) -{ +amqp_channel_open_ok_t *AMQP_CALL + amqp_channel_open(amqp_connection_state_t state, amqp_channel_t channel) { amqp_channel_open_t req; req.out_of_band = amqp_empty_bytes; - return amqp_simple_rpc_decoded(state, channel, AMQP_CHANNEL_OPEN_METHOD, AMQP_CHANNEL_OPEN_OK_METHOD, &req); + return amqp_simple_rpc_decoded(state, channel, AMQP_CHANNEL_OPEN_METHOD, + AMQP_CHANNEL_OPEN_OK_METHOD, &req); } - /** * amqp_channel_flow * @@ -1987,16 +2459,16 @@ AMQP_CALL amqp_channel_open(amqp_connection_state_t state, amqp_channel_t channe * @returns amqp_channel_flow_ok_t */ AMQP_PUBLIC_FUNCTION -amqp_channel_flow_ok_t * -AMQP_CALL amqp_channel_flow(amqp_connection_state_t state, amqp_channel_t channel, amqp_boolean_t active) -{ +amqp_channel_flow_ok_t *AMQP_CALL + amqp_channel_flow(amqp_connection_state_t state, amqp_channel_t channel, + amqp_boolean_t active) { amqp_channel_flow_t req; req.active = active; - return amqp_simple_rpc_decoded(state, channel, AMQP_CHANNEL_FLOW_METHOD, AMQP_CHANNEL_FLOW_OK_METHOD, &req); + return amqp_simple_rpc_decoded(state, channel, AMQP_CHANNEL_FLOW_METHOD, + AMQP_CHANNEL_FLOW_OK_METHOD, &req); } - /** * amqp_exchange_declare * @@ -2012,9 +2484,11 @@ AMQP_CALL amqp_channel_flow(amqp_connection_state_t state, amqp_channel_t channe * @returns amqp_exchange_declare_ok_t */ AMQP_PUBLIC_FUNCTION -amqp_exchange_declare_ok_t * -AMQP_CALL amqp_exchange_declare(amqp_connection_state_t state, amqp_channel_t channel, amqp_bytes_t exchange, amqp_bytes_t type, amqp_boolean_t passive, amqp_boolean_t durable, amqp_boolean_t auto_delete, amqp_boolean_t internal, amqp_table_t arguments) -{ +amqp_exchange_declare_ok_t *AMQP_CALL amqp_exchange_declare( + amqp_connection_state_t state, amqp_channel_t channel, + amqp_bytes_t exchange, amqp_bytes_t type, amqp_boolean_t passive, + amqp_boolean_t durable, amqp_boolean_t auto_delete, amqp_boolean_t internal, + amqp_table_t arguments) { amqp_exchange_declare_t req; req.ticket = 0; req.exchange = exchange; @@ -2026,10 +2500,10 @@ AMQP_CALL amqp_exchange_declare(amqp_connection_state_t state, amqp_channel_t ch req.nowait = 0; req.arguments = arguments; - return amqp_simple_rpc_decoded(state, channel, AMQP_EXCHANGE_DECLARE_METHOD, AMQP_EXCHANGE_DECLARE_OK_METHOD, &req); + return amqp_simple_rpc_decoded(state, channel, AMQP_EXCHANGE_DECLARE_METHOD, + AMQP_EXCHANGE_DECLARE_OK_METHOD, &req); } - /** * amqp_exchange_delete * @@ -2040,19 +2514,19 @@ AMQP_CALL amqp_exchange_declare(amqp_connection_state_t state, amqp_channel_t ch * @returns amqp_exchange_delete_ok_t */ AMQP_PUBLIC_FUNCTION -amqp_exchange_delete_ok_t * -AMQP_CALL amqp_exchange_delete(amqp_connection_state_t state, amqp_channel_t channel, amqp_bytes_t exchange, amqp_boolean_t if_unused) -{ +amqp_exchange_delete_ok_t *AMQP_CALL + amqp_exchange_delete(amqp_connection_state_t state, amqp_channel_t channel, + amqp_bytes_t exchange, amqp_boolean_t if_unused) { amqp_exchange_delete_t req; req.ticket = 0; req.exchange = exchange; req.if_unused = if_unused; req.nowait = 0; - return amqp_simple_rpc_decoded(state, channel, AMQP_EXCHANGE_DELETE_METHOD, AMQP_EXCHANGE_DELETE_OK_METHOD, &req); + return amqp_simple_rpc_decoded(state, channel, AMQP_EXCHANGE_DELETE_METHOD, + AMQP_EXCHANGE_DELETE_OK_METHOD, &req); } - /** * amqp_exchange_bind * @@ -2065,9 +2539,10 @@ AMQP_CALL amqp_exchange_delete(amqp_connection_state_t state, amqp_channel_t cha * @returns amqp_exchange_bind_ok_t */ AMQP_PUBLIC_FUNCTION -amqp_exchange_bind_ok_t * -AMQP_CALL amqp_exchange_bind(amqp_connection_state_t state, amqp_channel_t channel, amqp_bytes_t destination, amqp_bytes_t source, amqp_bytes_t routing_key, amqp_table_t arguments) -{ +amqp_exchange_bind_ok_t *AMQP_CALL + amqp_exchange_bind(amqp_connection_state_t state, amqp_channel_t channel, + amqp_bytes_t destination, amqp_bytes_t source, + amqp_bytes_t routing_key, amqp_table_t arguments) { amqp_exchange_bind_t req; req.ticket = 0; req.destination = destination; @@ -2076,10 +2551,10 @@ AMQP_CALL amqp_exchange_bind(amqp_connection_state_t state, amqp_channel_t chann req.nowait = 0; req.arguments = arguments; - return amqp_simple_rpc_decoded(state, channel, AMQP_EXCHANGE_BIND_METHOD, AMQP_EXCHANGE_BIND_OK_METHOD, &req); + return amqp_simple_rpc_decoded(state, channel, AMQP_EXCHANGE_BIND_METHOD, + AMQP_EXCHANGE_BIND_OK_METHOD, &req); } - /** * amqp_exchange_unbind * @@ -2092,9 +2567,10 @@ AMQP_CALL amqp_exchange_bind(amqp_connection_state_t state, amqp_channel_t chann * @returns amqp_exchange_unbind_ok_t */ AMQP_PUBLIC_FUNCTION -amqp_exchange_unbind_ok_t * -AMQP_CALL amqp_exchange_unbind(amqp_connection_state_t state, amqp_channel_t channel, amqp_bytes_t destination, amqp_bytes_t source, amqp_bytes_t routing_key, amqp_table_t arguments) -{ +amqp_exchange_unbind_ok_t *AMQP_CALL + amqp_exchange_unbind(amqp_connection_state_t state, amqp_channel_t channel, + amqp_bytes_t destination, amqp_bytes_t source, + amqp_bytes_t routing_key, amqp_table_t arguments) { amqp_exchange_unbind_t req; req.ticket = 0; req.destination = destination; @@ -2103,10 +2579,10 @@ AMQP_CALL amqp_exchange_unbind(amqp_connection_state_t state, amqp_channel_t cha req.nowait = 0; req.arguments = arguments; - return amqp_simple_rpc_decoded(state, channel, AMQP_EXCHANGE_UNBIND_METHOD, AMQP_EXCHANGE_UNBIND_OK_METHOD, &req); + return amqp_simple_rpc_decoded(state, channel, AMQP_EXCHANGE_UNBIND_METHOD, + AMQP_EXCHANGE_UNBIND_OK_METHOD, &req); } - /** * amqp_queue_declare * @@ -2121,9 +2597,10 @@ AMQP_CALL amqp_exchange_unbind(amqp_connection_state_t state, amqp_channel_t cha * @returns amqp_queue_declare_ok_t */ AMQP_PUBLIC_FUNCTION -amqp_queue_declare_ok_t * -AMQP_CALL amqp_queue_declare(amqp_connection_state_t state, amqp_channel_t channel, amqp_bytes_t queue, amqp_boolean_t passive, amqp_boolean_t durable, amqp_boolean_t exclusive, amqp_boolean_t auto_delete, amqp_table_t arguments) -{ +amqp_queue_declare_ok_t *AMQP_CALL amqp_queue_declare( + amqp_connection_state_t state, amqp_channel_t channel, amqp_bytes_t queue, + amqp_boolean_t passive, amqp_boolean_t durable, amqp_boolean_t exclusive, + amqp_boolean_t auto_delete, amqp_table_t arguments) { amqp_queue_declare_t req; req.ticket = 0; req.queue = queue; @@ -2134,10 +2611,10 @@ AMQP_CALL amqp_queue_declare(amqp_connection_state_t state, amqp_channel_t chann req.nowait = 0; req.arguments = arguments; - return amqp_simple_rpc_decoded(state, channel, AMQP_QUEUE_DECLARE_METHOD, AMQP_QUEUE_DECLARE_OK_METHOD, &req); + return amqp_simple_rpc_decoded(state, channel, AMQP_QUEUE_DECLARE_METHOD, + AMQP_QUEUE_DECLARE_OK_METHOD, &req); } - /** * amqp_queue_bind * @@ -2150,9 +2627,9 @@ AMQP_CALL amqp_queue_declare(amqp_connection_state_t state, amqp_channel_t chann * @returns amqp_queue_bind_ok_t */ AMQP_PUBLIC_FUNCTION -amqp_queue_bind_ok_t * -AMQP_CALL amqp_queue_bind(amqp_connection_state_t state, amqp_channel_t channel, amqp_bytes_t queue, amqp_bytes_t exchange, amqp_bytes_t routing_key, amqp_table_t arguments) -{ +amqp_queue_bind_ok_t *AMQP_CALL amqp_queue_bind( + amqp_connection_state_t state, amqp_channel_t channel, amqp_bytes_t queue, + amqp_bytes_t exchange, amqp_bytes_t routing_key, amqp_table_t arguments) { amqp_queue_bind_t req; req.ticket = 0; req.queue = queue; @@ -2161,10 +2638,10 @@ AMQP_CALL amqp_queue_bind(amqp_connection_state_t state, amqp_channel_t channel, req.nowait = 0; req.arguments = arguments; - return amqp_simple_rpc_decoded(state, channel, AMQP_QUEUE_BIND_METHOD, AMQP_QUEUE_BIND_OK_METHOD, &req); + return amqp_simple_rpc_decoded(state, channel, AMQP_QUEUE_BIND_METHOD, + AMQP_QUEUE_BIND_OK_METHOD, &req); } - /** * amqp_queue_purge * @@ -2174,18 +2651,18 @@ AMQP_CALL amqp_queue_bind(amqp_connection_state_t state, amqp_channel_t channel, * @returns amqp_queue_purge_ok_t */ AMQP_PUBLIC_FUNCTION -amqp_queue_purge_ok_t * -AMQP_CALL amqp_queue_purge(amqp_connection_state_t state, amqp_channel_t channel, amqp_bytes_t queue) -{ +amqp_queue_purge_ok_t *AMQP_CALL amqp_queue_purge(amqp_connection_state_t state, + amqp_channel_t channel, + amqp_bytes_t queue) { amqp_queue_purge_t req; req.ticket = 0; req.queue = queue; req.nowait = 0; - return amqp_simple_rpc_decoded(state, channel, AMQP_QUEUE_PURGE_METHOD, AMQP_QUEUE_PURGE_OK_METHOD, &req); + return amqp_simple_rpc_decoded(state, channel, AMQP_QUEUE_PURGE_METHOD, + AMQP_QUEUE_PURGE_OK_METHOD, &req); } - /** * amqp_queue_delete * @@ -2197,9 +2674,9 @@ AMQP_CALL amqp_queue_purge(amqp_connection_state_t state, amqp_channel_t channel * @returns amqp_queue_delete_ok_t */ AMQP_PUBLIC_FUNCTION -amqp_queue_delete_ok_t * -AMQP_CALL amqp_queue_delete(amqp_connection_state_t state, amqp_channel_t channel, amqp_bytes_t queue, amqp_boolean_t if_unused, amqp_boolean_t if_empty) -{ +amqp_queue_delete_ok_t *AMQP_CALL amqp_queue_delete( + amqp_connection_state_t state, amqp_channel_t channel, amqp_bytes_t queue, + amqp_boolean_t if_unused, amqp_boolean_t if_empty) { amqp_queue_delete_t req; req.ticket = 0; req.queue = queue; @@ -2207,10 +2684,10 @@ AMQP_CALL amqp_queue_delete(amqp_connection_state_t state, amqp_channel_t channe req.if_empty = if_empty; req.nowait = 0; - return amqp_simple_rpc_decoded(state, channel, AMQP_QUEUE_DELETE_METHOD, AMQP_QUEUE_DELETE_OK_METHOD, &req); + return amqp_simple_rpc_decoded(state, channel, AMQP_QUEUE_DELETE_METHOD, + AMQP_QUEUE_DELETE_OK_METHOD, &req); } - /** * amqp_queue_unbind * @@ -2223,9 +2700,9 @@ AMQP_CALL amqp_queue_delete(amqp_connection_state_t state, amqp_channel_t channe * @returns amqp_queue_unbind_ok_t */ AMQP_PUBLIC_FUNCTION -amqp_queue_unbind_ok_t * -AMQP_CALL amqp_queue_unbind(amqp_connection_state_t state, amqp_channel_t channel, amqp_bytes_t queue, amqp_bytes_t exchange, amqp_bytes_t routing_key, amqp_table_t arguments) -{ +amqp_queue_unbind_ok_t *AMQP_CALL amqp_queue_unbind( + amqp_connection_state_t state, amqp_channel_t channel, amqp_bytes_t queue, + amqp_bytes_t exchange, amqp_bytes_t routing_key, amqp_table_t arguments) { amqp_queue_unbind_t req; req.ticket = 0; req.queue = queue; @@ -2233,10 +2710,10 @@ AMQP_CALL amqp_queue_unbind(amqp_connection_state_t state, amqp_channel_t channe req.routing_key = routing_key; req.arguments = arguments; - return amqp_simple_rpc_decoded(state, channel, AMQP_QUEUE_UNBIND_METHOD, AMQP_QUEUE_UNBIND_OK_METHOD, &req); + return amqp_simple_rpc_decoded(state, channel, AMQP_QUEUE_UNBIND_METHOD, + AMQP_QUEUE_UNBIND_OK_METHOD, &req); } - /** * amqp_basic_qos * @@ -2248,18 +2725,20 @@ AMQP_CALL amqp_queue_unbind(amqp_connection_state_t state, amqp_channel_t channe * @returns amqp_basic_qos_ok_t */ AMQP_PUBLIC_FUNCTION -amqp_basic_qos_ok_t * -AMQP_CALL amqp_basic_qos(amqp_connection_state_t state, amqp_channel_t channel, uint32_t prefetch_size, uint16_t prefetch_count, amqp_boolean_t global) -{ +amqp_basic_qos_ok_t *AMQP_CALL amqp_basic_qos(amqp_connection_state_t state, + amqp_channel_t channel, + uint32_t prefetch_size, + uint16_t prefetch_count, + amqp_boolean_t global) { amqp_basic_qos_t req; req.prefetch_size = prefetch_size; req.prefetch_count = prefetch_count; req.global = global; - return amqp_simple_rpc_decoded(state, channel, AMQP_BASIC_QOS_METHOD, AMQP_BASIC_QOS_OK_METHOD, &req); + return amqp_simple_rpc_decoded(state, channel, AMQP_BASIC_QOS_METHOD, + AMQP_BASIC_QOS_OK_METHOD, &req); } - /** * amqp_basic_consume * @@ -2274,9 +2753,10 @@ AMQP_CALL amqp_basic_qos(amqp_connection_state_t state, amqp_channel_t channel, * @returns amqp_basic_consume_ok_t */ AMQP_PUBLIC_FUNCTION -amqp_basic_consume_ok_t * -AMQP_CALL amqp_basic_consume(amqp_connection_state_t state, amqp_channel_t channel, amqp_bytes_t queue, amqp_bytes_t consumer_tag, amqp_boolean_t no_local, amqp_boolean_t no_ack, amqp_boolean_t exclusive, amqp_table_t arguments) -{ +amqp_basic_consume_ok_t *AMQP_CALL amqp_basic_consume( + amqp_connection_state_t state, amqp_channel_t channel, amqp_bytes_t queue, + amqp_bytes_t consumer_tag, amqp_boolean_t no_local, amqp_boolean_t no_ack, + amqp_boolean_t exclusive, amqp_table_t arguments) { amqp_basic_consume_t req; req.ticket = 0; req.queue = queue; @@ -2287,10 +2767,10 @@ AMQP_CALL amqp_basic_consume(amqp_connection_state_t state, amqp_channel_t chann req.nowait = 0; req.arguments = arguments; - return amqp_simple_rpc_decoded(state, channel, AMQP_BASIC_CONSUME_METHOD, AMQP_BASIC_CONSUME_OK_METHOD, &req); + return amqp_simple_rpc_decoded(state, channel, AMQP_BASIC_CONSUME_METHOD, + AMQP_BASIC_CONSUME_OK_METHOD, &req); } - /** * amqp_basic_cancel * @@ -2300,17 +2780,17 @@ AMQP_CALL amqp_basic_consume(amqp_connection_state_t state, amqp_channel_t chann * @returns amqp_basic_cancel_ok_t */ AMQP_PUBLIC_FUNCTION -amqp_basic_cancel_ok_t * -AMQP_CALL amqp_basic_cancel(amqp_connection_state_t state, amqp_channel_t channel, amqp_bytes_t consumer_tag) -{ +amqp_basic_cancel_ok_t *AMQP_CALL + amqp_basic_cancel(amqp_connection_state_t state, amqp_channel_t channel, + amqp_bytes_t consumer_tag) { amqp_basic_cancel_t req; req.consumer_tag = consumer_tag; req.nowait = 0; - return amqp_simple_rpc_decoded(state, channel, AMQP_BASIC_CANCEL_METHOD, AMQP_BASIC_CANCEL_OK_METHOD, &req); + return amqp_simple_rpc_decoded(state, channel, AMQP_BASIC_CANCEL_METHOD, + AMQP_BASIC_CANCEL_OK_METHOD, &req); } - /** * amqp_basic_recover * @@ -2320,16 +2800,16 @@ AMQP_CALL amqp_basic_cancel(amqp_connection_state_t state, amqp_channel_t channe * @returns amqp_basic_recover_ok_t */ AMQP_PUBLIC_FUNCTION -amqp_basic_recover_ok_t * -AMQP_CALL amqp_basic_recover(amqp_connection_state_t state, amqp_channel_t channel, amqp_boolean_t requeue) -{ +amqp_basic_recover_ok_t *AMQP_CALL + amqp_basic_recover(amqp_connection_state_t state, amqp_channel_t channel, + amqp_boolean_t requeue) { amqp_basic_recover_t req; req.requeue = requeue; - return amqp_simple_rpc_decoded(state, channel, AMQP_BASIC_RECOVER_METHOD, AMQP_BASIC_RECOVER_OK_METHOD, &req); + return amqp_simple_rpc_decoded(state, channel, AMQP_BASIC_RECOVER_METHOD, + AMQP_BASIC_RECOVER_OK_METHOD, &req); } - /** * amqp_tx_select * @@ -2338,15 +2818,14 @@ AMQP_CALL amqp_basic_recover(amqp_connection_state_t state, amqp_channel_t chann * @returns amqp_tx_select_ok_t */ AMQP_PUBLIC_FUNCTION -amqp_tx_select_ok_t * -AMQP_CALL amqp_tx_select(amqp_connection_state_t state, amqp_channel_t channel) -{ +amqp_tx_select_ok_t *AMQP_CALL amqp_tx_select(amqp_connection_state_t state, + amqp_channel_t channel) { amqp_tx_select_t req; - return amqp_simple_rpc_decoded(state, channel, AMQP_TX_SELECT_METHOD, AMQP_TX_SELECT_OK_METHOD, &req); + return amqp_simple_rpc_decoded(state, channel, AMQP_TX_SELECT_METHOD, + AMQP_TX_SELECT_OK_METHOD, &req); } - /** * amqp_tx_commit * @@ -2355,15 +2834,14 @@ AMQP_CALL amqp_tx_select(amqp_connection_state_t state, amqp_channel_t channel) * @returns amqp_tx_commit_ok_t */ AMQP_PUBLIC_FUNCTION -amqp_tx_commit_ok_t * -AMQP_CALL amqp_tx_commit(amqp_connection_state_t state, amqp_channel_t channel) -{ +amqp_tx_commit_ok_t *AMQP_CALL amqp_tx_commit(amqp_connection_state_t state, + amqp_channel_t channel) { amqp_tx_commit_t req; - return amqp_simple_rpc_decoded(state, channel, AMQP_TX_COMMIT_METHOD, AMQP_TX_COMMIT_OK_METHOD, &req); + return amqp_simple_rpc_decoded(state, channel, AMQP_TX_COMMIT_METHOD, + AMQP_TX_COMMIT_OK_METHOD, &req); } - /** * amqp_tx_rollback * @@ -2372,15 +2850,14 @@ AMQP_CALL amqp_tx_commit(amqp_connection_state_t state, amqp_channel_t channel) * @returns amqp_tx_rollback_ok_t */ AMQP_PUBLIC_FUNCTION -amqp_tx_rollback_ok_t * -AMQP_CALL amqp_tx_rollback(amqp_connection_state_t state, amqp_channel_t channel) -{ +amqp_tx_rollback_ok_t *AMQP_CALL amqp_tx_rollback(amqp_connection_state_t state, + amqp_channel_t channel) { amqp_tx_rollback_t req; - return amqp_simple_rpc_decoded(state, channel, AMQP_TX_ROLLBACK_METHOD, AMQP_TX_ROLLBACK_OK_METHOD, &req); + return amqp_simple_rpc_decoded(state, channel, AMQP_TX_ROLLBACK_METHOD, + AMQP_TX_ROLLBACK_OK_METHOD, &req); } - /** * amqp_confirm_select * @@ -2389,12 +2866,11 @@ AMQP_CALL amqp_tx_rollback(amqp_connection_state_t state, amqp_channel_t channel * @returns amqp_confirm_select_ok_t */ AMQP_PUBLIC_FUNCTION -amqp_confirm_select_ok_t * -AMQP_CALL amqp_confirm_select(amqp_connection_state_t state, amqp_channel_t channel) -{ +amqp_confirm_select_ok_t *AMQP_CALL + amqp_confirm_select(amqp_connection_state_t state, amqp_channel_t channel) { amqp_confirm_select_t req; req.nowait = 0; - return amqp_simple_rpc_decoded(state, channel, AMQP_CONFIRM_SELECT_METHOD, AMQP_CONFIRM_SELECT_OK_METHOD, &req); + return amqp_simple_rpc_decoded(state, channel, AMQP_CONFIRM_SELECT_METHOD, + AMQP_CONFIRM_SELECT_OK_METHOD, &req); } - diff --git a/librabbitmq/amqp_framing.h b/librabbitmq/amqp_framing.h index e392dcc..fb20acc 100644 --- a/librabbitmq/amqp_framing.h +++ b/librabbitmq/amqp_framing.h @@ -42,35 +42,37 @@ AMQP_BEGIN_DECLS -#define AMQP_PROTOCOL_VERSION_MAJOR 0 /**< AMQP protocol version major */ -#define AMQP_PROTOCOL_VERSION_MINOR 9 /**< AMQP protocol version minor */ -#define AMQP_PROTOCOL_VERSION_REVISION 1 /**< AMQP protocol version revision */ -#define AMQP_PROTOCOL_PORT 5672 /**< Default AMQP Port */ -#define AMQP_FRAME_METHOD 1 /**< Constant: FRAME-METHOD */ -#define AMQP_FRAME_HEADER 2 /**< Constant: FRAME-HEADER */ -#define AMQP_FRAME_BODY 3 /**< Constant: FRAME-BODY */ -#define AMQP_FRAME_HEARTBEAT 8 /**< Constant: FRAME-HEARTBEAT */ -#define AMQP_FRAME_MIN_SIZE 4096 /**< Constant: FRAME-MIN-SIZE */ -#define AMQP_FRAME_END 206 /**< Constant: FRAME-END */ -#define AMQP_REPLY_SUCCESS 200 /**< Constant: REPLY-SUCCESS */ -#define AMQP_CONTENT_TOO_LARGE 311 /**< Constant: CONTENT-TOO-LARGE */ -#define AMQP_NO_ROUTE 312 /**< Constant: NO-ROUTE */ -#define AMQP_NO_CONSUMERS 313 /**< Constant: NO-CONSUMERS */ -#define AMQP_ACCESS_REFUSED 403 /**< Constant: ACCESS-REFUSED */ -#define AMQP_NOT_FOUND 404 /**< Constant: NOT-FOUND */ -#define AMQP_RESOURCE_LOCKED 405 /**< Constant: RESOURCE-LOCKED */ -#define AMQP_PRECONDITION_FAILED 406 /**< Constant: PRECONDITION-FAILED */ -#define AMQP_CONNECTION_FORCED 320 /**< Constant: CONNECTION-FORCED */ -#define AMQP_INVALID_PATH 402 /**< Constant: INVALID-PATH */ -#define AMQP_FRAME_ERROR 501 /**< Constant: FRAME-ERROR */ -#define AMQP_SYNTAX_ERROR 502 /**< Constant: SYNTAX-ERROR */ -#define AMQP_COMMAND_INVALID 503 /**< Constant: COMMAND-INVALID */ -#define AMQP_CHANNEL_ERROR 504 /**< Constant: CHANNEL-ERROR */ -#define AMQP_UNEXPECTED_FRAME 505 /**< Constant: UNEXPECTED-FRAME */ -#define AMQP_RESOURCE_ERROR 506 /**< Constant: RESOURCE-ERROR */ -#define AMQP_NOT_ALLOWED 530 /**< Constant: NOT-ALLOWED */ -#define AMQP_NOT_IMPLEMENTED 540 /**< Constant: NOT-IMPLEMENTED */ -#define AMQP_INTERNAL_ERROR 541 /**< Constant: INTERNAL-ERROR */ +#define AMQP_PROTOCOL_VERSION_MAJOR 0 /**< AMQP protocol version major */ +#define AMQP_PROTOCOL_VERSION_MINOR 9 /**< AMQP protocol version minor */ +#define AMQP_PROTOCOL_VERSION_REVISION \ + 1 /**< AMQP protocol version revision \ + */ +#define AMQP_PROTOCOL_PORT 5672 /**< Default AMQP Port */ +#define AMQP_FRAME_METHOD 1 /**< Constant: FRAME-METHOD */ +#define AMQP_FRAME_HEADER 2 /**< Constant: FRAME-HEADER */ +#define AMQP_FRAME_BODY 3 /**< Constant: FRAME-BODY */ +#define AMQP_FRAME_HEARTBEAT 8 /**< Constant: FRAME-HEARTBEAT */ +#define AMQP_FRAME_MIN_SIZE 4096 /**< Constant: FRAME-MIN-SIZE */ +#define AMQP_FRAME_END 206 /**< Constant: FRAME-END */ +#define AMQP_REPLY_SUCCESS 200 /**< Constant: REPLY-SUCCESS */ +#define AMQP_CONTENT_TOO_LARGE 311 /**< Constant: CONTENT-TOO-LARGE */ +#define AMQP_NO_ROUTE 312 /**< Constant: NO-ROUTE */ +#define AMQP_NO_CONSUMERS 313 /**< Constant: NO-CONSUMERS */ +#define AMQP_ACCESS_REFUSED 403 /**< Constant: ACCESS-REFUSED */ +#define AMQP_NOT_FOUND 404 /**< Constant: NOT-FOUND */ +#define AMQP_RESOURCE_LOCKED 405 /**< Constant: RESOURCE-LOCKED */ +#define AMQP_PRECONDITION_FAILED 406 /**< Constant: PRECONDITION-FAILED */ +#define AMQP_CONNECTION_FORCED 320 /**< Constant: CONNECTION-FORCED */ +#define AMQP_INVALID_PATH 402 /**< Constant: INVALID-PATH */ +#define AMQP_FRAME_ERROR 501 /**< Constant: FRAME-ERROR */ +#define AMQP_SYNTAX_ERROR 502 /**< Constant: SYNTAX-ERROR */ +#define AMQP_COMMAND_INVALID 503 /**< Constant: COMMAND-INVALID */ +#define AMQP_CHANNEL_ERROR 504 /**< Constant: CHANNEL-ERROR */ +#define AMQP_UNEXPECTED_FRAME 505 /**< Constant: UNEXPECTED-FRAME */ +#define AMQP_RESOURCE_ERROR 506 /**< Constant: RESOURCE-ERROR */ +#define AMQP_NOT_ALLOWED 530 /**< Constant: NOT-ALLOWED */ +#define AMQP_NOT_IMPLEMENTED 540 /**< Constant: NOT-IMPLEMENTED */ +#define AMQP_INTERNAL_ERROR 541 /**< Constant: INTERNAL-ERROR */ /* Function prototypes. */ @@ -82,8 +84,7 @@ AMQP_BEGIN_DECLS * the library and should not be free()'d by the program */ AMQP_PUBLIC_FUNCTION -char const * -AMQP_CALL amqp_constant_name(int constantNumber); +char const *AMQP_CALL amqp_constant_name(int constantNumber); /** * Checks to see if a constant is a hard error @@ -95,8 +96,7 @@ AMQP_CALL amqp_constant_name(int constantNumber); * @returns true if its a hard error, false otherwise */ AMQP_PUBLIC_FUNCTION -amqp_boolean_t -AMQP_CALL amqp_constant_is_hard_error(int constantNumber); +amqp_boolean_t AMQP_CALL amqp_constant_is_hard_error(int constantNumber); /** * Get method name string from method number @@ -106,8 +106,7 @@ AMQP_CALL amqp_constant_is_hard_error(int constantNumber); * and should not be freed()'d by the program */ AMQP_PUBLIC_FUNCTION -char const * -AMQP_CALL amqp_method_name(amqp_method_number_t methodNumber); +char const *AMQP_CALL amqp_method_name(amqp_method_number_t methodNumber); /** * Check whether a method has content @@ -119,8 +118,8 @@ AMQP_CALL amqp_method_name(amqp_method_number_t methodNumber); * @returns true if method has content, false otherwise */ AMQP_PUBLIC_FUNCTION -amqp_boolean_t -AMQP_CALL amqp_method_has_content(amqp_method_number_t methodNumber); +amqp_boolean_t AMQP_CALL + amqp_method_has_content(amqp_method_number_t methodNumber); /** * Decodes a method from AMQP wireformat @@ -132,11 +131,9 @@ AMQP_CALL amqp_method_has_content(amqp_method_number_t methodNumber); * @returns 0 on success, an error code otherwise */ AMQP_PUBLIC_FUNCTION -int -AMQP_CALL amqp_decode_method(amqp_method_number_t methodNumber, - amqp_pool_t *pool, - amqp_bytes_t encoded, - void **decoded); +int AMQP_CALL amqp_decode_method(amqp_method_number_t methodNumber, + amqp_pool_t *pool, amqp_bytes_t encoded, + void **decoded); /** * Decodes a header frame properties structure from AMQP wireformat @@ -148,11 +145,8 @@ AMQP_CALL amqp_decode_method(amqp_method_number_t methodNumber, * @returns 0 on success, an error code otherwise */ AMQP_PUBLIC_FUNCTION -int -AMQP_CALL amqp_decode_properties(uint16_t class_id, - amqp_pool_t *pool, - amqp_bytes_t encoded, - void **decoded); +int AMQP_CALL amqp_decode_properties(uint16_t class_id, amqp_pool_t *pool, + amqp_bytes_t encoded, void **decoded); /** * Encodes a method structure in AMQP wireformat @@ -165,595 +159,722 @@ AMQP_CALL amqp_decode_properties(uint16_t class_id, * @returns 0 on success, an error code otherwise. */ AMQP_PUBLIC_FUNCTION -int -AMQP_CALL amqp_encode_method(amqp_method_number_t methodNumber, - void *decoded, - amqp_bytes_t encoded); +int AMQP_CALL amqp_encode_method(amqp_method_number_t methodNumber, + void *decoded, amqp_bytes_t encoded); /** * Encodes a properties structure in AMQP wireformat * * @param [in] class_id the class id for the decoded parameter * @param [in] decoded the properties structure (e.g., amqp_basic_properties_t) - * @param [in] encoded an allocated byte buffer for the encoded properties to written to. + * @param [in] encoded an allocated byte buffer for the encoded properties to + * written to. * If the buffer isn't large enough to hold the encoded method, an * an error code will be returned * @returns 0 on success, an error code otherwise. */ AMQP_PUBLIC_FUNCTION -int -AMQP_CALL amqp_encode_properties(uint16_t class_id, - void *decoded, - amqp_bytes_t encoded); +int AMQP_CALL amqp_encode_properties(uint16_t class_id, void *decoded, + amqp_bytes_t encoded); /* Method field records. */ -#define AMQP_CONNECTION_START_METHOD ((amqp_method_number_t) 0x000A000A) /**< connection.start method id @internal 10, 10; 655370 */ +#define AMQP_CONNECTION_START_METHOD \ + ((amqp_method_number_t)0x000A000A) /**< connection.start method id \ + @internal 10, 10; 655370 */ /** connection.start method fields */ typedef struct amqp_connection_start_t_ { - uint8_t version_major; /**< version-major */ - uint8_t version_minor; /**< version-minor */ + uint8_t version_major; /**< version-major */ + uint8_t version_minor; /**< version-minor */ amqp_table_t server_properties; /**< server-properties */ - amqp_bytes_t mechanisms; /**< mechanisms */ - amqp_bytes_t locales; /**< locales */ + amqp_bytes_t mechanisms; /**< mechanisms */ + amqp_bytes_t locales; /**< locales */ } amqp_connection_start_t; -#define AMQP_CONNECTION_START_OK_METHOD ((amqp_method_number_t) 0x000A000B) /**< connection.start-ok method id @internal 10, 11; 655371 */ +#define AMQP_CONNECTION_START_OK_METHOD \ + ((amqp_method_number_t)0x000A000B) /**< connection.start-ok method id \ + @internal 10, 11; 655371 */ /** connection.start-ok method fields */ typedef struct amqp_connection_start_ok_t_ { amqp_table_t client_properties; /**< client-properties */ - amqp_bytes_t mechanism; /**< mechanism */ - amqp_bytes_t response; /**< response */ - amqp_bytes_t locale; /**< locale */ + amqp_bytes_t mechanism; /**< mechanism */ + amqp_bytes_t response; /**< response */ + amqp_bytes_t locale; /**< locale */ } amqp_connection_start_ok_t; -#define AMQP_CONNECTION_SECURE_METHOD ((amqp_method_number_t) 0x000A0014) /**< connection.secure method id @internal 10, 20; 655380 */ +#define AMQP_CONNECTION_SECURE_METHOD \ + ((amqp_method_number_t)0x000A0014) /**< connection.secure method id \ + @internal 10, 20; 655380 */ /** connection.secure method fields */ typedef struct amqp_connection_secure_t_ { amqp_bytes_t challenge; /**< challenge */ } amqp_connection_secure_t; -#define AMQP_CONNECTION_SECURE_OK_METHOD ((amqp_method_number_t) 0x000A0015) /**< connection.secure-ok method id @internal 10, 21; 655381 */ +#define AMQP_CONNECTION_SECURE_OK_METHOD \ + ((amqp_method_number_t)0x000A0015) /**< connection.secure-ok method id \ + @internal 10, 21; 655381 */ /** connection.secure-ok method fields */ typedef struct amqp_connection_secure_ok_t_ { amqp_bytes_t response; /**< response */ } amqp_connection_secure_ok_t; -#define AMQP_CONNECTION_TUNE_METHOD ((amqp_method_number_t) 0x000A001E) /**< connection.tune method id @internal 10, 30; 655390 */ +#define AMQP_CONNECTION_TUNE_METHOD \ + ((amqp_method_number_t)0x000A001E) /**< connection.tune method id \ + @internal 10, 30; 655390 */ /** connection.tune method fields */ typedef struct amqp_connection_tune_t_ { uint16_t channel_max; /**< channel-max */ - uint32_t frame_max; /**< frame-max */ - uint16_t heartbeat; /**< heartbeat */ + uint32_t frame_max; /**< frame-max */ + uint16_t heartbeat; /**< heartbeat */ } amqp_connection_tune_t; -#define AMQP_CONNECTION_TUNE_OK_METHOD ((amqp_method_number_t) 0x000A001F) /**< connection.tune-ok method id @internal 10, 31; 655391 */ +#define AMQP_CONNECTION_TUNE_OK_METHOD \ + ((amqp_method_number_t)0x000A001F) /**< connection.tune-ok method id \ + @internal 10, 31; 655391 */ /** connection.tune-ok method fields */ typedef struct amqp_connection_tune_ok_t_ { uint16_t channel_max; /**< channel-max */ - uint32_t frame_max; /**< frame-max */ - uint16_t heartbeat; /**< heartbeat */ + uint32_t frame_max; /**< frame-max */ + uint16_t heartbeat; /**< heartbeat */ } amqp_connection_tune_ok_t; -#define AMQP_CONNECTION_OPEN_METHOD ((amqp_method_number_t) 0x000A0028) /**< connection.open method id @internal 10, 40; 655400 */ +#define AMQP_CONNECTION_OPEN_METHOD \ + ((amqp_method_number_t)0x000A0028) /**< connection.open method id \ + @internal 10, 40; 655400 */ /** connection.open method fields */ typedef struct amqp_connection_open_t_ { amqp_bytes_t virtual_host; /**< virtual-host */ amqp_bytes_t capabilities; /**< capabilities */ - amqp_boolean_t insist; /**< insist */ + amqp_boolean_t insist; /**< insist */ } amqp_connection_open_t; -#define AMQP_CONNECTION_OPEN_OK_METHOD ((amqp_method_number_t) 0x000A0029) /**< connection.open-ok method id @internal 10, 41; 655401 */ +#define AMQP_CONNECTION_OPEN_OK_METHOD \ + ((amqp_method_number_t)0x000A0029) /**< connection.open-ok method id \ + @internal 10, 41; 655401 */ /** connection.open-ok method fields */ typedef struct amqp_connection_open_ok_t_ { amqp_bytes_t known_hosts; /**< known-hosts */ } amqp_connection_open_ok_t; -#define AMQP_CONNECTION_CLOSE_METHOD ((amqp_method_number_t) 0x000A0032) /**< connection.close method id @internal 10, 50; 655410 */ +#define AMQP_CONNECTION_CLOSE_METHOD \ + ((amqp_method_number_t)0x000A0032) /**< connection.close method id \ + @internal 10, 50; 655410 */ /** connection.close method fields */ typedef struct amqp_connection_close_t_ { - uint16_t reply_code; /**< reply-code */ + uint16_t reply_code; /**< reply-code */ amqp_bytes_t reply_text; /**< reply-text */ - uint16_t class_id; /**< class-id */ - uint16_t method_id; /**< method-id */ + uint16_t class_id; /**< class-id */ + uint16_t method_id; /**< method-id */ } amqp_connection_close_t; -#define AMQP_CONNECTION_CLOSE_OK_METHOD ((amqp_method_number_t) 0x000A0033) /**< connection.close-ok method id @internal 10, 51; 655411 */ +#define AMQP_CONNECTION_CLOSE_OK_METHOD \ + ((amqp_method_number_t)0x000A0033) /**< connection.close-ok method id \ + @internal 10, 51; 655411 */ /** connection.close-ok method fields */ typedef struct amqp_connection_close_ok_t_ { char dummy; /**< Dummy field to avoid empty struct */ } amqp_connection_close_ok_t; -#define AMQP_CONNECTION_BLOCKED_METHOD ((amqp_method_number_t) 0x000A003C) /**< connection.blocked method id @internal 10, 60; 655420 */ +#define AMQP_CONNECTION_BLOCKED_METHOD \ + ((amqp_method_number_t)0x000A003C) /**< connection.blocked method id \ + @internal 10, 60; 655420 */ /** connection.blocked method fields */ typedef struct amqp_connection_blocked_t_ { amqp_bytes_t reason; /**< reason */ } amqp_connection_blocked_t; -#define AMQP_CONNECTION_UNBLOCKED_METHOD ((amqp_method_number_t) 0x000A003D) /**< connection.unblocked method id @internal 10, 61; 655421 */ +#define AMQP_CONNECTION_UNBLOCKED_METHOD \ + ((amqp_method_number_t)0x000A003D) /**< connection.unblocked method id \ + @internal 10, 61; 655421 */ /** connection.unblocked method fields */ typedef struct amqp_connection_unblocked_t_ { char dummy; /**< Dummy field to avoid empty struct */ } amqp_connection_unblocked_t; -#define AMQP_CHANNEL_OPEN_METHOD ((amqp_method_number_t) 0x0014000A) /**< channel.open method id @internal 20, 10; 1310730 */ +#define AMQP_CHANNEL_OPEN_METHOD \ + ((amqp_method_number_t)0x0014000A) /**< channel.open method id @internal \ + 20, 10; 1310730 */ /** channel.open method fields */ typedef struct amqp_channel_open_t_ { amqp_bytes_t out_of_band; /**< out-of-band */ } amqp_channel_open_t; -#define AMQP_CHANNEL_OPEN_OK_METHOD ((amqp_method_number_t) 0x0014000B) /**< channel.open-ok method id @internal 20, 11; 1310731 */ +#define AMQP_CHANNEL_OPEN_OK_METHOD \ + ((amqp_method_number_t)0x0014000B) /**< channel.open-ok method id \ + @internal 20, 11; 1310731 */ /** channel.open-ok method fields */ typedef struct amqp_channel_open_ok_t_ { amqp_bytes_t channel_id; /**< channel-id */ } amqp_channel_open_ok_t; -#define AMQP_CHANNEL_FLOW_METHOD ((amqp_method_number_t) 0x00140014) /**< channel.flow method id @internal 20, 20; 1310740 */ +#define AMQP_CHANNEL_FLOW_METHOD \ + ((amqp_method_number_t)0x00140014) /**< channel.flow method id @internal \ + 20, 20; 1310740 */ /** channel.flow method fields */ typedef struct amqp_channel_flow_t_ { amqp_boolean_t active; /**< active */ } amqp_channel_flow_t; -#define AMQP_CHANNEL_FLOW_OK_METHOD ((amqp_method_number_t) 0x00140015) /**< channel.flow-ok method id @internal 20, 21; 1310741 */ +#define AMQP_CHANNEL_FLOW_OK_METHOD \ + ((amqp_method_number_t)0x00140015) /**< channel.flow-ok method id \ + @internal 20, 21; 1310741 */ /** channel.flow-ok method fields */ typedef struct amqp_channel_flow_ok_t_ { amqp_boolean_t active; /**< active */ } amqp_channel_flow_ok_t; -#define AMQP_CHANNEL_CLOSE_METHOD ((amqp_method_number_t) 0x00140028) /**< channel.close method id @internal 20, 40; 1310760 */ +#define AMQP_CHANNEL_CLOSE_METHOD \ + ((amqp_method_number_t)0x00140028) /**< channel.close method id @internal \ + 20, 40; 1310760 */ /** channel.close method fields */ typedef struct amqp_channel_close_t_ { - uint16_t reply_code; /**< reply-code */ + uint16_t reply_code; /**< reply-code */ amqp_bytes_t reply_text; /**< reply-text */ - uint16_t class_id; /**< class-id */ - uint16_t method_id; /**< method-id */ + uint16_t class_id; /**< class-id */ + uint16_t method_id; /**< method-id */ } amqp_channel_close_t; -#define AMQP_CHANNEL_CLOSE_OK_METHOD ((amqp_method_number_t) 0x00140029) /**< channel.close-ok method id @internal 20, 41; 1310761 */ +#define AMQP_CHANNEL_CLOSE_OK_METHOD \ + ((amqp_method_number_t)0x00140029) /**< channel.close-ok method id \ + @internal 20, 41; 1310761 */ /** channel.close-ok method fields */ typedef struct amqp_channel_close_ok_t_ { char dummy; /**< Dummy field to avoid empty struct */ } amqp_channel_close_ok_t; -#define AMQP_ACCESS_REQUEST_METHOD ((amqp_method_number_t) 0x001E000A) /**< access.request method id @internal 30, 10; 1966090 */ +#define AMQP_ACCESS_REQUEST_METHOD \ + ((amqp_method_number_t)0x001E000A) /**< access.request method id @internal \ + 30, 10; 1966090 */ /** access.request method fields */ typedef struct amqp_access_request_t_ { - amqp_bytes_t realm; /**< realm */ + amqp_bytes_t realm; /**< realm */ amqp_boolean_t exclusive; /**< exclusive */ - amqp_boolean_t passive; /**< passive */ - amqp_boolean_t active; /**< active */ - amqp_boolean_t write; /**< write */ - amqp_boolean_t read; /**< read */ + amqp_boolean_t passive; /**< passive */ + amqp_boolean_t active; /**< active */ + amqp_boolean_t write; /**< write */ + amqp_boolean_t read; /**< read */ } amqp_access_request_t; -#define AMQP_ACCESS_REQUEST_OK_METHOD ((amqp_method_number_t) 0x001E000B) /**< access.request-ok method id @internal 30, 11; 1966091 */ +#define AMQP_ACCESS_REQUEST_OK_METHOD \ + ((amqp_method_number_t)0x001E000B) /**< access.request-ok method id \ + @internal 30, 11; 1966091 */ /** access.request-ok method fields */ typedef struct amqp_access_request_ok_t_ { uint16_t ticket; /**< ticket */ } amqp_access_request_ok_t; -#define AMQP_EXCHANGE_DECLARE_METHOD ((amqp_method_number_t) 0x0028000A) /**< exchange.declare method id @internal 40, 10; 2621450 */ +#define AMQP_EXCHANGE_DECLARE_METHOD \ + ((amqp_method_number_t)0x0028000A) /**< exchange.declare method id \ + @internal 40, 10; 2621450 */ /** exchange.declare method fields */ typedef struct amqp_exchange_declare_t_ { - uint16_t ticket; /**< ticket */ - amqp_bytes_t exchange; /**< exchange */ - amqp_bytes_t type; /**< type */ - amqp_boolean_t passive; /**< passive */ - amqp_boolean_t durable; /**< durable */ + uint16_t ticket; /**< ticket */ + amqp_bytes_t exchange; /**< exchange */ + amqp_bytes_t type; /**< type */ + amqp_boolean_t passive; /**< passive */ + amqp_boolean_t durable; /**< durable */ amqp_boolean_t auto_delete; /**< auto-delete */ - amqp_boolean_t internal; /**< internal */ - amqp_boolean_t nowait; /**< nowait */ - amqp_table_t arguments; /**< arguments */ + amqp_boolean_t internal; /**< internal */ + amqp_boolean_t nowait; /**< nowait */ + amqp_table_t arguments; /**< arguments */ } amqp_exchange_declare_t; -#define AMQP_EXCHANGE_DECLARE_OK_METHOD ((amqp_method_number_t) 0x0028000B) /**< exchange.declare-ok method id @internal 40, 11; 2621451 */ +#define AMQP_EXCHANGE_DECLARE_OK_METHOD \ + ((amqp_method_number_t)0x0028000B) /**< exchange.declare-ok method id \ + @internal 40, 11; 2621451 */ /** exchange.declare-ok method fields */ typedef struct amqp_exchange_declare_ok_t_ { char dummy; /**< Dummy field to avoid empty struct */ } amqp_exchange_declare_ok_t; -#define AMQP_EXCHANGE_DELETE_METHOD ((amqp_method_number_t) 0x00280014) /**< exchange.delete method id @internal 40, 20; 2621460 */ +#define AMQP_EXCHANGE_DELETE_METHOD \ + ((amqp_method_number_t)0x00280014) /**< exchange.delete method id \ + @internal 40, 20; 2621460 */ /** exchange.delete method fields */ typedef struct amqp_exchange_delete_t_ { - uint16_t ticket; /**< ticket */ - amqp_bytes_t exchange; /**< exchange */ + uint16_t ticket; /**< ticket */ + amqp_bytes_t exchange; /**< exchange */ amqp_boolean_t if_unused; /**< if-unused */ - amqp_boolean_t nowait; /**< nowait */ + amqp_boolean_t nowait; /**< nowait */ } amqp_exchange_delete_t; -#define AMQP_EXCHANGE_DELETE_OK_METHOD ((amqp_method_number_t) 0x00280015) /**< exchange.delete-ok method id @internal 40, 21; 2621461 */ +#define AMQP_EXCHANGE_DELETE_OK_METHOD \ + ((amqp_method_number_t)0x00280015) /**< exchange.delete-ok method id \ + @internal 40, 21; 2621461 */ /** exchange.delete-ok method fields */ typedef struct amqp_exchange_delete_ok_t_ { char dummy; /**< Dummy field to avoid empty struct */ } amqp_exchange_delete_ok_t; -#define AMQP_EXCHANGE_BIND_METHOD ((amqp_method_number_t) 0x0028001E) /**< exchange.bind method id @internal 40, 30; 2621470 */ +#define AMQP_EXCHANGE_BIND_METHOD \ + ((amqp_method_number_t)0x0028001E) /**< exchange.bind method id @internal \ + 40, 30; 2621470 */ /** exchange.bind method fields */ typedef struct amqp_exchange_bind_t_ { - uint16_t ticket; /**< ticket */ + uint16_t ticket; /**< ticket */ amqp_bytes_t destination; /**< destination */ - amqp_bytes_t source; /**< source */ + amqp_bytes_t source; /**< source */ amqp_bytes_t routing_key; /**< routing-key */ - amqp_boolean_t nowait; /**< nowait */ - amqp_table_t arguments; /**< arguments */ + amqp_boolean_t nowait; /**< nowait */ + amqp_table_t arguments; /**< arguments */ } amqp_exchange_bind_t; -#define AMQP_EXCHANGE_BIND_OK_METHOD ((amqp_method_number_t) 0x0028001F) /**< exchange.bind-ok method id @internal 40, 31; 2621471 */ +#define AMQP_EXCHANGE_BIND_OK_METHOD \ + ((amqp_method_number_t)0x0028001F) /**< exchange.bind-ok method id \ + @internal 40, 31; 2621471 */ /** exchange.bind-ok method fields */ typedef struct amqp_exchange_bind_ok_t_ { char dummy; /**< Dummy field to avoid empty struct */ } amqp_exchange_bind_ok_t; -#define AMQP_EXCHANGE_UNBIND_METHOD ((amqp_method_number_t) 0x00280028) /**< exchange.unbind method id @internal 40, 40; 2621480 */ +#define AMQP_EXCHANGE_UNBIND_METHOD \ + ((amqp_method_number_t)0x00280028) /**< exchange.unbind method id \ + @internal 40, 40; 2621480 */ /** exchange.unbind method fields */ typedef struct amqp_exchange_unbind_t_ { - uint16_t ticket; /**< ticket */ + uint16_t ticket; /**< ticket */ amqp_bytes_t destination; /**< destination */ - amqp_bytes_t source; /**< source */ + amqp_bytes_t source; /**< source */ amqp_bytes_t routing_key; /**< routing-key */ - amqp_boolean_t nowait; /**< nowait */ - amqp_table_t arguments; /**< arguments */ + amqp_boolean_t nowait; /**< nowait */ + amqp_table_t arguments; /**< arguments */ } amqp_exchange_unbind_t; -#define AMQP_EXCHANGE_UNBIND_OK_METHOD ((amqp_method_number_t) 0x00280033) /**< exchange.unbind-ok method id @internal 40, 51; 2621491 */ +#define AMQP_EXCHANGE_UNBIND_OK_METHOD \ + ((amqp_method_number_t)0x00280033) /**< exchange.unbind-ok method id \ + @internal 40, 51; 2621491 */ /** exchange.unbind-ok method fields */ typedef struct amqp_exchange_unbind_ok_t_ { char dummy; /**< Dummy field to avoid empty struct */ } amqp_exchange_unbind_ok_t; -#define AMQP_QUEUE_DECLARE_METHOD ((amqp_method_number_t) 0x0032000A) /**< queue.declare method id @internal 50, 10; 3276810 */ +#define AMQP_QUEUE_DECLARE_METHOD \ + ((amqp_method_number_t)0x0032000A) /**< queue.declare method id @internal \ + 50, 10; 3276810 */ /** queue.declare method fields */ typedef struct amqp_queue_declare_t_ { - uint16_t ticket; /**< ticket */ - amqp_bytes_t queue; /**< queue */ - amqp_boolean_t passive; /**< passive */ - amqp_boolean_t durable; /**< durable */ - amqp_boolean_t exclusive; /**< exclusive */ + uint16_t ticket; /**< ticket */ + amqp_bytes_t queue; /**< queue */ + amqp_boolean_t passive; /**< passive */ + amqp_boolean_t durable; /**< durable */ + amqp_boolean_t exclusive; /**< exclusive */ amqp_boolean_t auto_delete; /**< auto-delete */ - amqp_boolean_t nowait; /**< nowait */ - amqp_table_t arguments; /**< arguments */ + amqp_boolean_t nowait; /**< nowait */ + amqp_table_t arguments; /**< arguments */ } amqp_queue_declare_t; -#define AMQP_QUEUE_DECLARE_OK_METHOD ((amqp_method_number_t) 0x0032000B) /**< queue.declare-ok method id @internal 50, 11; 3276811 */ +#define AMQP_QUEUE_DECLARE_OK_METHOD \ + ((amqp_method_number_t)0x0032000B) /**< queue.declare-ok method id \ + @internal 50, 11; 3276811 */ /** queue.declare-ok method fields */ typedef struct amqp_queue_declare_ok_t_ { - amqp_bytes_t queue; /**< queue */ - uint32_t message_count; /**< message-count */ + amqp_bytes_t queue; /**< queue */ + uint32_t message_count; /**< message-count */ uint32_t consumer_count; /**< consumer-count */ } amqp_queue_declare_ok_t; -#define AMQP_QUEUE_BIND_METHOD ((amqp_method_number_t) 0x00320014) /**< queue.bind method id @internal 50, 20; 3276820 */ +#define AMQP_QUEUE_BIND_METHOD \ + ((amqp_method_number_t)0x00320014) /**< queue.bind method id @internal 50, \ + 20; 3276820 */ /** queue.bind method fields */ typedef struct amqp_queue_bind_t_ { - uint16_t ticket; /**< ticket */ - amqp_bytes_t queue; /**< queue */ - amqp_bytes_t exchange; /**< exchange */ + uint16_t ticket; /**< ticket */ + amqp_bytes_t queue; /**< queue */ + amqp_bytes_t exchange; /**< exchange */ amqp_bytes_t routing_key; /**< routing-key */ - amqp_boolean_t nowait; /**< nowait */ - amqp_table_t arguments; /**< arguments */ + amqp_boolean_t nowait; /**< nowait */ + amqp_table_t arguments; /**< arguments */ } amqp_queue_bind_t; -#define AMQP_QUEUE_BIND_OK_METHOD ((amqp_method_number_t) 0x00320015) /**< queue.bind-ok method id @internal 50, 21; 3276821 */ +#define AMQP_QUEUE_BIND_OK_METHOD \ + ((amqp_method_number_t)0x00320015) /**< queue.bind-ok method id @internal \ + 50, 21; 3276821 */ /** queue.bind-ok method fields */ typedef struct amqp_queue_bind_ok_t_ { char dummy; /**< Dummy field to avoid empty struct */ } amqp_queue_bind_ok_t; -#define AMQP_QUEUE_PURGE_METHOD ((amqp_method_number_t) 0x0032001E) /**< queue.purge method id @internal 50, 30; 3276830 */ +#define AMQP_QUEUE_PURGE_METHOD \ + ((amqp_method_number_t)0x0032001E) /**< queue.purge method id @internal \ + 50, 30; 3276830 */ /** queue.purge method fields */ typedef struct amqp_queue_purge_t_ { - uint16_t ticket; /**< ticket */ - amqp_bytes_t queue; /**< queue */ + uint16_t ticket; /**< ticket */ + amqp_bytes_t queue; /**< queue */ amqp_boolean_t nowait; /**< nowait */ } amqp_queue_purge_t; -#define AMQP_QUEUE_PURGE_OK_METHOD ((amqp_method_number_t) 0x0032001F) /**< queue.purge-ok method id @internal 50, 31; 3276831 */ +#define AMQP_QUEUE_PURGE_OK_METHOD \ + ((amqp_method_number_t)0x0032001F) /**< queue.purge-ok method id @internal \ + 50, 31; 3276831 */ /** queue.purge-ok method fields */ typedef struct amqp_queue_purge_ok_t_ { uint32_t message_count; /**< message-count */ } amqp_queue_purge_ok_t; -#define AMQP_QUEUE_DELETE_METHOD ((amqp_method_number_t) 0x00320028) /**< queue.delete method id @internal 50, 40; 3276840 */ +#define AMQP_QUEUE_DELETE_METHOD \ + ((amqp_method_number_t)0x00320028) /**< queue.delete method id @internal \ + 50, 40; 3276840 */ /** queue.delete method fields */ typedef struct amqp_queue_delete_t_ { - uint16_t ticket; /**< ticket */ - amqp_bytes_t queue; /**< queue */ + uint16_t ticket; /**< ticket */ + amqp_bytes_t queue; /**< queue */ amqp_boolean_t if_unused; /**< if-unused */ - amqp_boolean_t if_empty; /**< if-empty */ - amqp_boolean_t nowait; /**< nowait */ + amqp_boolean_t if_empty; /**< if-empty */ + amqp_boolean_t nowait; /**< nowait */ } amqp_queue_delete_t; -#define AMQP_QUEUE_DELETE_OK_METHOD ((amqp_method_number_t) 0x00320029) /**< queue.delete-ok method id @internal 50, 41; 3276841 */ +#define AMQP_QUEUE_DELETE_OK_METHOD \ + ((amqp_method_number_t)0x00320029) /**< queue.delete-ok method id \ + @internal 50, 41; 3276841 */ /** queue.delete-ok method fields */ typedef struct amqp_queue_delete_ok_t_ { uint32_t message_count; /**< message-count */ } amqp_queue_delete_ok_t; -#define AMQP_QUEUE_UNBIND_METHOD ((amqp_method_number_t) 0x00320032) /**< queue.unbind method id @internal 50, 50; 3276850 */ +#define AMQP_QUEUE_UNBIND_METHOD \ + ((amqp_method_number_t)0x00320032) /**< queue.unbind method id @internal \ + 50, 50; 3276850 */ /** queue.unbind method fields */ typedef struct amqp_queue_unbind_t_ { - uint16_t ticket; /**< ticket */ - amqp_bytes_t queue; /**< queue */ - amqp_bytes_t exchange; /**< exchange */ + uint16_t ticket; /**< ticket */ + amqp_bytes_t queue; /**< queue */ + amqp_bytes_t exchange; /**< exchange */ amqp_bytes_t routing_key; /**< routing-key */ - amqp_table_t arguments; /**< arguments */ + amqp_table_t arguments; /**< arguments */ } amqp_queue_unbind_t; -#define AMQP_QUEUE_UNBIND_OK_METHOD ((amqp_method_number_t) 0x00320033) /**< queue.unbind-ok method id @internal 50, 51; 3276851 */ +#define AMQP_QUEUE_UNBIND_OK_METHOD \ + ((amqp_method_number_t)0x00320033) /**< queue.unbind-ok method id \ + @internal 50, 51; 3276851 */ /** queue.unbind-ok method fields */ typedef struct amqp_queue_unbind_ok_t_ { char dummy; /**< Dummy field to avoid empty struct */ } amqp_queue_unbind_ok_t; -#define AMQP_BASIC_QOS_METHOD ((amqp_method_number_t) 0x003C000A) /**< basic.qos method id @internal 60, 10; 3932170 */ +#define AMQP_BASIC_QOS_METHOD \ + ((amqp_method_number_t)0x003C000A) /**< basic.qos method id @internal 60, \ + 10; 3932170 */ /** basic.qos method fields */ typedef struct amqp_basic_qos_t_ { - uint32_t prefetch_size; /**< prefetch-size */ + uint32_t prefetch_size; /**< prefetch-size */ uint16_t prefetch_count; /**< prefetch-count */ - amqp_boolean_t global; /**< global */ + amqp_boolean_t global; /**< global */ } amqp_basic_qos_t; -#define AMQP_BASIC_QOS_OK_METHOD ((amqp_method_number_t) 0x003C000B) /**< basic.qos-ok method id @internal 60, 11; 3932171 */ +#define AMQP_BASIC_QOS_OK_METHOD \ + ((amqp_method_number_t)0x003C000B) /**< basic.qos-ok method id @internal \ + 60, 11; 3932171 */ /** basic.qos-ok method fields */ typedef struct amqp_basic_qos_ok_t_ { char dummy; /**< Dummy field to avoid empty struct */ } amqp_basic_qos_ok_t; -#define AMQP_BASIC_CONSUME_METHOD ((amqp_method_number_t) 0x003C0014) /**< basic.consume method id @internal 60, 20; 3932180 */ +#define AMQP_BASIC_CONSUME_METHOD \ + ((amqp_method_number_t)0x003C0014) /**< basic.consume method id @internal \ + 60, 20; 3932180 */ /** basic.consume method fields */ typedef struct amqp_basic_consume_t_ { - uint16_t ticket; /**< ticket */ - amqp_bytes_t queue; /**< queue */ + uint16_t ticket; /**< ticket */ + amqp_bytes_t queue; /**< queue */ amqp_bytes_t consumer_tag; /**< consumer-tag */ - amqp_boolean_t no_local; /**< no-local */ - amqp_boolean_t no_ack; /**< no-ack */ - amqp_boolean_t exclusive; /**< exclusive */ - amqp_boolean_t nowait; /**< nowait */ - amqp_table_t arguments; /**< arguments */ + amqp_boolean_t no_local; /**< no-local */ + amqp_boolean_t no_ack; /**< no-ack */ + amqp_boolean_t exclusive; /**< exclusive */ + amqp_boolean_t nowait; /**< nowait */ + amqp_table_t arguments; /**< arguments */ } amqp_basic_consume_t; -#define AMQP_BASIC_CONSUME_OK_METHOD ((amqp_method_number_t) 0x003C0015) /**< basic.consume-ok method id @internal 60, 21; 3932181 */ +#define AMQP_BASIC_CONSUME_OK_METHOD \ + ((amqp_method_number_t)0x003C0015) /**< basic.consume-ok method id \ + @internal 60, 21; 3932181 */ /** basic.consume-ok method fields */ typedef struct amqp_basic_consume_ok_t_ { amqp_bytes_t consumer_tag; /**< consumer-tag */ } amqp_basic_consume_ok_t; -#define AMQP_BASIC_CANCEL_METHOD ((amqp_method_number_t) 0x003C001E) /**< basic.cancel method id @internal 60, 30; 3932190 */ +#define AMQP_BASIC_CANCEL_METHOD \ + ((amqp_method_number_t)0x003C001E) /**< basic.cancel method id @internal \ + 60, 30; 3932190 */ /** basic.cancel method fields */ typedef struct amqp_basic_cancel_t_ { amqp_bytes_t consumer_tag; /**< consumer-tag */ - amqp_boolean_t nowait; /**< nowait */ + amqp_boolean_t nowait; /**< nowait */ } amqp_basic_cancel_t; -#define AMQP_BASIC_CANCEL_OK_METHOD ((amqp_method_number_t) 0x003C001F) /**< basic.cancel-ok method id @internal 60, 31; 3932191 */ +#define AMQP_BASIC_CANCEL_OK_METHOD \ + ((amqp_method_number_t)0x003C001F) /**< basic.cancel-ok method id \ + @internal 60, 31; 3932191 */ /** basic.cancel-ok method fields */ typedef struct amqp_basic_cancel_ok_t_ { amqp_bytes_t consumer_tag; /**< consumer-tag */ } amqp_basic_cancel_ok_t; -#define AMQP_BASIC_PUBLISH_METHOD ((amqp_method_number_t) 0x003C0028) /**< basic.publish method id @internal 60, 40; 3932200 */ +#define AMQP_BASIC_PUBLISH_METHOD \ + ((amqp_method_number_t)0x003C0028) /**< basic.publish method id @internal \ + 60, 40; 3932200 */ /** basic.publish method fields */ typedef struct amqp_basic_publish_t_ { - uint16_t ticket; /**< ticket */ - amqp_bytes_t exchange; /**< exchange */ + uint16_t ticket; /**< ticket */ + amqp_bytes_t exchange; /**< exchange */ amqp_bytes_t routing_key; /**< routing-key */ amqp_boolean_t mandatory; /**< mandatory */ amqp_boolean_t immediate; /**< immediate */ } amqp_basic_publish_t; -#define AMQP_BASIC_RETURN_METHOD ((amqp_method_number_t) 0x003C0032) /**< basic.return method id @internal 60, 50; 3932210 */ +#define AMQP_BASIC_RETURN_METHOD \ + ((amqp_method_number_t)0x003C0032) /**< basic.return method id @internal \ + 60, 50; 3932210 */ /** basic.return method fields */ typedef struct amqp_basic_return_t_ { - uint16_t reply_code; /**< reply-code */ - amqp_bytes_t reply_text; /**< reply-text */ - amqp_bytes_t exchange; /**< exchange */ + uint16_t reply_code; /**< reply-code */ + amqp_bytes_t reply_text; /**< reply-text */ + amqp_bytes_t exchange; /**< exchange */ amqp_bytes_t routing_key; /**< routing-key */ } amqp_basic_return_t; -#define AMQP_BASIC_DELIVER_METHOD ((amqp_method_number_t) 0x003C003C) /**< basic.deliver method id @internal 60, 60; 3932220 */ +#define AMQP_BASIC_DELIVER_METHOD \ + ((amqp_method_number_t)0x003C003C) /**< basic.deliver method id @internal \ + 60, 60; 3932220 */ /** basic.deliver method fields */ typedef struct amqp_basic_deliver_t_ { - amqp_bytes_t consumer_tag; /**< consumer-tag */ - uint64_t delivery_tag; /**< delivery-tag */ + amqp_bytes_t consumer_tag; /**< consumer-tag */ + uint64_t delivery_tag; /**< delivery-tag */ amqp_boolean_t redelivered; /**< redelivered */ - amqp_bytes_t exchange; /**< exchange */ - amqp_bytes_t routing_key; /**< routing-key */ + amqp_bytes_t exchange; /**< exchange */ + amqp_bytes_t routing_key; /**< routing-key */ } amqp_basic_deliver_t; -#define AMQP_BASIC_GET_METHOD ((amqp_method_number_t) 0x003C0046) /**< basic.get method id @internal 60, 70; 3932230 */ +#define AMQP_BASIC_GET_METHOD \ + ((amqp_method_number_t)0x003C0046) /**< basic.get method id @internal 60, \ + 70; 3932230 */ /** basic.get method fields */ typedef struct amqp_basic_get_t_ { - uint16_t ticket; /**< ticket */ - amqp_bytes_t queue; /**< queue */ + uint16_t ticket; /**< ticket */ + amqp_bytes_t queue; /**< queue */ amqp_boolean_t no_ack; /**< no-ack */ } amqp_basic_get_t; -#define AMQP_BASIC_GET_OK_METHOD ((amqp_method_number_t) 0x003C0047) /**< basic.get-ok method id @internal 60, 71; 3932231 */ +#define AMQP_BASIC_GET_OK_METHOD \ + ((amqp_method_number_t)0x003C0047) /**< basic.get-ok method id @internal \ + 60, 71; 3932231 */ /** basic.get-ok method fields */ typedef struct amqp_basic_get_ok_t_ { - uint64_t delivery_tag; /**< delivery-tag */ + uint64_t delivery_tag; /**< delivery-tag */ amqp_boolean_t redelivered; /**< redelivered */ - amqp_bytes_t exchange; /**< exchange */ - amqp_bytes_t routing_key; /**< routing-key */ - uint32_t message_count; /**< message-count */ + amqp_bytes_t exchange; /**< exchange */ + amqp_bytes_t routing_key; /**< routing-key */ + uint32_t message_count; /**< message-count */ } amqp_basic_get_ok_t; -#define AMQP_BASIC_GET_EMPTY_METHOD ((amqp_method_number_t) 0x003C0048) /**< basic.get-empty method id @internal 60, 72; 3932232 */ +#define AMQP_BASIC_GET_EMPTY_METHOD \ + ((amqp_method_number_t)0x003C0048) /**< basic.get-empty method id \ + @internal 60, 72; 3932232 */ /** basic.get-empty method fields */ typedef struct amqp_basic_get_empty_t_ { amqp_bytes_t cluster_id; /**< cluster-id */ } amqp_basic_get_empty_t; -#define AMQP_BASIC_ACK_METHOD ((amqp_method_number_t) 0x003C0050) /**< basic.ack method id @internal 60, 80; 3932240 */ +#define AMQP_BASIC_ACK_METHOD \ + ((amqp_method_number_t)0x003C0050) /**< basic.ack method id @internal 60, \ + 80; 3932240 */ /** basic.ack method fields */ typedef struct amqp_basic_ack_t_ { - uint64_t delivery_tag; /**< delivery-tag */ + uint64_t delivery_tag; /**< delivery-tag */ amqp_boolean_t multiple; /**< multiple */ } amqp_basic_ack_t; -#define AMQP_BASIC_REJECT_METHOD ((amqp_method_number_t) 0x003C005A) /**< basic.reject method id @internal 60, 90; 3932250 */ +#define AMQP_BASIC_REJECT_METHOD \ + ((amqp_method_number_t)0x003C005A) /**< basic.reject method id @internal \ + 60, 90; 3932250 */ /** basic.reject method fields */ typedef struct amqp_basic_reject_t_ { - uint64_t delivery_tag; /**< delivery-tag */ + uint64_t delivery_tag; /**< delivery-tag */ amqp_boolean_t requeue; /**< requeue */ } amqp_basic_reject_t; -#define AMQP_BASIC_RECOVER_ASYNC_METHOD ((amqp_method_number_t) 0x003C0064) /**< basic.recover-async method id @internal 60, 100; 3932260 */ +#define AMQP_BASIC_RECOVER_ASYNC_METHOD \ + ((amqp_method_number_t)0x003C0064) /**< basic.recover-async method id \ + @internal 60, 100; 3932260 */ /** basic.recover-async method fields */ typedef struct amqp_basic_recover_async_t_ { amqp_boolean_t requeue; /**< requeue */ } amqp_basic_recover_async_t; -#define AMQP_BASIC_RECOVER_METHOD ((amqp_method_number_t) 0x003C006E) /**< basic.recover method id @internal 60, 110; 3932270 */ +#define AMQP_BASIC_RECOVER_METHOD \ + ((amqp_method_number_t)0x003C006E) /**< basic.recover method id @internal \ + 60, 110; 3932270 */ /** basic.recover method fields */ typedef struct amqp_basic_recover_t_ { amqp_boolean_t requeue; /**< requeue */ } amqp_basic_recover_t; -#define AMQP_BASIC_RECOVER_OK_METHOD ((amqp_method_number_t) 0x003C006F) /**< basic.recover-ok method id @internal 60, 111; 3932271 */ +#define AMQP_BASIC_RECOVER_OK_METHOD \ + ((amqp_method_number_t)0x003C006F) /**< basic.recover-ok method id \ + @internal 60, 111; 3932271 */ /** basic.recover-ok method fields */ typedef struct amqp_basic_recover_ok_t_ { char dummy; /**< Dummy field to avoid empty struct */ } amqp_basic_recover_ok_t; -#define AMQP_BASIC_NACK_METHOD ((amqp_method_number_t) 0x003C0078) /**< basic.nack method id @internal 60, 120; 3932280 */ +#define AMQP_BASIC_NACK_METHOD \ + ((amqp_method_number_t)0x003C0078) /**< basic.nack method id @internal 60, \ + 120; 3932280 */ /** basic.nack method fields */ typedef struct amqp_basic_nack_t_ { - uint64_t delivery_tag; /**< delivery-tag */ + uint64_t delivery_tag; /**< delivery-tag */ amqp_boolean_t multiple; /**< multiple */ - amqp_boolean_t requeue; /**< requeue */ + amqp_boolean_t requeue; /**< requeue */ } amqp_basic_nack_t; -#define AMQP_TX_SELECT_METHOD ((amqp_method_number_t) 0x005A000A) /**< tx.select method id @internal 90, 10; 5898250 */ +#define AMQP_TX_SELECT_METHOD \ + ((amqp_method_number_t)0x005A000A) /**< tx.select method id @internal 90, \ + 10; 5898250 */ /** tx.select method fields */ typedef struct amqp_tx_select_t_ { char dummy; /**< Dummy field to avoid empty struct */ } amqp_tx_select_t; -#define AMQP_TX_SELECT_OK_METHOD ((amqp_method_number_t) 0x005A000B) /**< tx.select-ok method id @internal 90, 11; 5898251 */ +#define AMQP_TX_SELECT_OK_METHOD \ + ((amqp_method_number_t)0x005A000B) /**< tx.select-ok method id @internal \ + 90, 11; 5898251 */ /** tx.select-ok method fields */ typedef struct amqp_tx_select_ok_t_ { char dummy; /**< Dummy field to avoid empty struct */ } amqp_tx_select_ok_t; -#define AMQP_TX_COMMIT_METHOD ((amqp_method_number_t) 0x005A0014) /**< tx.commit method id @internal 90, 20; 5898260 */ +#define AMQP_TX_COMMIT_METHOD \ + ((amqp_method_number_t)0x005A0014) /**< tx.commit method id @internal 90, \ + 20; 5898260 */ /** tx.commit method fields */ typedef struct amqp_tx_commit_t_ { char dummy; /**< Dummy field to avoid empty struct */ } amqp_tx_commit_t; -#define AMQP_TX_COMMIT_OK_METHOD ((amqp_method_number_t) 0x005A0015) /**< tx.commit-ok method id @internal 90, 21; 5898261 */ +#define AMQP_TX_COMMIT_OK_METHOD \ + ((amqp_method_number_t)0x005A0015) /**< tx.commit-ok method id @internal \ + 90, 21; 5898261 */ /** tx.commit-ok method fields */ typedef struct amqp_tx_commit_ok_t_ { char dummy; /**< Dummy field to avoid empty struct */ } amqp_tx_commit_ok_t; -#define AMQP_TX_ROLLBACK_METHOD ((amqp_method_number_t) 0x005A001E) /**< tx.rollback method id @internal 90, 30; 5898270 */ +#define AMQP_TX_ROLLBACK_METHOD \ + ((amqp_method_number_t)0x005A001E) /**< tx.rollback method id @internal \ + 90, 30; 5898270 */ /** tx.rollback method fields */ typedef struct amqp_tx_rollback_t_ { char dummy; /**< Dummy field to avoid empty struct */ } amqp_tx_rollback_t; -#define AMQP_TX_ROLLBACK_OK_METHOD ((amqp_method_number_t) 0x005A001F) /**< tx.rollback-ok method id @internal 90, 31; 5898271 */ +#define AMQP_TX_ROLLBACK_OK_METHOD \ + ((amqp_method_number_t)0x005A001F) /**< tx.rollback-ok method id @internal \ + 90, 31; 5898271 */ /** tx.rollback-ok method fields */ typedef struct amqp_tx_rollback_ok_t_ { char dummy; /**< Dummy field to avoid empty struct */ } amqp_tx_rollback_ok_t; -#define AMQP_CONFIRM_SELECT_METHOD ((amqp_method_number_t) 0x0055000A) /**< confirm.select method id @internal 85, 10; 5570570 */ +#define AMQP_CONFIRM_SELECT_METHOD \ + ((amqp_method_number_t)0x0055000A) /**< confirm.select method id @internal \ + 85, 10; 5570570 */ /** confirm.select method fields */ typedef struct amqp_confirm_select_t_ { amqp_boolean_t nowait; /**< nowait */ } amqp_confirm_select_t; -#define AMQP_CONFIRM_SELECT_OK_METHOD ((amqp_method_number_t) 0x0055000B) /**< confirm.select-ok method id @internal 85, 11; 5570571 */ +#define AMQP_CONFIRM_SELECT_OK_METHOD \ + ((amqp_method_number_t)0x0055000B) /**< confirm.select-ok method id \ + @internal 85, 11; 5570571 */ /** confirm.select-ok method fields */ typedef struct amqp_confirm_select_ok_t_ { char dummy; /**< Dummy field to avoid empty struct */ } amqp_confirm_select_ok_t; /* Class property records. */ -#define AMQP_CONNECTION_CLASS (0x000A) /**< connection class id @internal 10 */ +#define AMQP_CONNECTION_CLASS \ + (0x000A) /**< connection class id @internal 10 \ + */ /** connection class properties */ typedef struct amqp_connection_properties_t_ { amqp_flags_t _flags; /**< bit-mask of set fields */ - char dummy; /**< Dummy field to avoid empty struct */ + char dummy; /**< Dummy field to avoid empty struct */ } amqp_connection_properties_t; #define AMQP_CHANNEL_CLASS (0x0014) /**< channel class id @internal 20 */ /** channel class properties */ typedef struct amqp_channel_properties_t_ { amqp_flags_t _flags; /**< bit-mask of set fields */ - char dummy; /**< Dummy field to avoid empty struct */ + char dummy; /**< Dummy field to avoid empty struct */ } amqp_channel_properties_t; #define AMQP_ACCESS_CLASS (0x001E) /**< access class id @internal 30 */ /** access class properties */ typedef struct amqp_access_properties_t_ { amqp_flags_t _flags; /**< bit-mask of set fields */ - char dummy; /**< Dummy field to avoid empty struct */ + char dummy; /**< Dummy field to avoid empty struct */ } amqp_access_properties_t; #define AMQP_EXCHANGE_CLASS (0x0028) /**< exchange class id @internal 40 */ /** exchange class properties */ typedef struct amqp_exchange_properties_t_ { amqp_flags_t _flags; /**< bit-mask of set fields */ - char dummy; /**< Dummy field to avoid empty struct */ + char dummy; /**< Dummy field to avoid empty struct */ } amqp_exchange_properties_t; #define AMQP_QUEUE_CLASS (0x0032) /**< queue class id @internal 50 */ /** queue class properties */ typedef struct amqp_queue_properties_t_ { amqp_flags_t _flags; /**< bit-mask of set fields */ - char dummy; /**< Dummy field to avoid empty struct */ + char dummy; /**< Dummy field to avoid empty struct */ } amqp_queue_properties_t; #define AMQP_BASIC_CLASS (0x003C) /**< basic class id @internal 60 */ -#define AMQP_BASIC_CONTENT_TYPE_FLAG (1 << 15) /**< basic.content-type property flag */ -#define AMQP_BASIC_CONTENT_ENCODING_FLAG (1 << 14) /**< basic.content-encoding property flag */ -#define AMQP_BASIC_HEADERS_FLAG (1 << 13) /**< basic.headers property flag */ -#define AMQP_BASIC_DELIVERY_MODE_FLAG (1 << 12) /**< basic.delivery-mode property flag */ -#define AMQP_BASIC_PRIORITY_FLAG (1 << 11) /**< basic.priority property flag */ -#define AMQP_BASIC_CORRELATION_ID_FLAG (1 << 10) /**< basic.correlation-id property flag */ -#define AMQP_BASIC_REPLY_TO_FLAG (1 << 9) /**< basic.reply-to property flag */ -#define AMQP_BASIC_EXPIRATION_FLAG (1 << 8) /**< basic.expiration property flag */ -#define AMQP_BASIC_MESSAGE_ID_FLAG (1 << 7) /**< basic.message-id property flag */ -#define AMQP_BASIC_TIMESTAMP_FLAG (1 << 6) /**< basic.timestamp property flag */ -#define AMQP_BASIC_TYPE_FLAG (1 << 5) /**< basic.type property flag */ -#define AMQP_BASIC_USER_ID_FLAG (1 << 4) /**< basic.user-id property flag */ -#define AMQP_BASIC_APP_ID_FLAG (1 << 3) /**< basic.app-id property flag */ -#define AMQP_BASIC_CLUSTER_ID_FLAG (1 << 2) /**< basic.cluster-id property flag */ +#define AMQP_BASIC_CONTENT_TYPE_FLAG (1 << 15) +#define AMQP_BASIC_CONTENT_ENCODING_FLAG (1 << 14) +#define AMQP_BASIC_HEADERS_FLAG (1 << 13) +#define AMQP_BASIC_DELIVERY_MODE_FLAG (1 << 12) +#define AMQP_BASIC_PRIORITY_FLAG (1 << 11) +#define AMQP_BASIC_CORRELATION_ID_FLAG (1 << 10) +#define AMQP_BASIC_REPLY_TO_FLAG (1 << 9) +#define AMQP_BASIC_EXPIRATION_FLAG (1 << 8) +#define AMQP_BASIC_MESSAGE_ID_FLAG (1 << 7) +#define AMQP_BASIC_TIMESTAMP_FLAG (1 << 6) +#define AMQP_BASIC_TYPE_FLAG (1 << 5) +#define AMQP_BASIC_USER_ID_FLAG (1 << 4) +#define AMQP_BASIC_APP_ID_FLAG (1 << 3) +#define AMQP_BASIC_CLUSTER_ID_FLAG (1 << 2) /** basic class properties */ typedef struct amqp_basic_properties_t_ { - amqp_flags_t _flags; /**< bit-mask of set fields */ - amqp_bytes_t content_type; /**< content-type */ + amqp_flags_t _flags; /**< bit-mask of set fields */ + amqp_bytes_t content_type; /**< content-type */ amqp_bytes_t content_encoding; /**< content-encoding */ - amqp_table_t headers; /**< headers */ - uint8_t delivery_mode; /**< delivery-mode */ - uint8_t priority; /**< priority */ - amqp_bytes_t correlation_id; /**< correlation-id */ - amqp_bytes_t reply_to; /**< reply-to */ - amqp_bytes_t expiration; /**< expiration */ - amqp_bytes_t message_id; /**< message-id */ - uint64_t timestamp; /**< timestamp */ - amqp_bytes_t type; /**< type */ - amqp_bytes_t user_id; /**< user-id */ - amqp_bytes_t app_id; /**< app-id */ - amqp_bytes_t cluster_id; /**< cluster-id */ + amqp_table_t headers; /**< headers */ + uint8_t delivery_mode; /**< delivery-mode */ + uint8_t priority; /**< priority */ + amqp_bytes_t correlation_id; /**< correlation-id */ + amqp_bytes_t reply_to; /**< reply-to */ + amqp_bytes_t expiration; /**< expiration */ + amqp_bytes_t message_id; /**< message-id */ + uint64_t timestamp; /**< timestamp */ + amqp_bytes_t type; /**< type */ + amqp_bytes_t user_id; /**< user-id */ + amqp_bytes_t app_id; /**< app-id */ + amqp_bytes_t cluster_id; /**< cluster-id */ } amqp_basic_properties_t; #define AMQP_TX_CLASS (0x005A) /**< tx class id @internal 90 */ /** tx class properties */ typedef struct amqp_tx_properties_t_ { amqp_flags_t _flags; /**< bit-mask of set fields */ - char dummy; /**< Dummy field to avoid empty struct */ + char dummy; /**< Dummy field to avoid empty struct */ } amqp_tx_properties_t; #define AMQP_CONFIRM_CLASS (0x0055) /**< confirm class id @internal 85 */ /** confirm class properties */ typedef struct amqp_confirm_properties_t_ { amqp_flags_t _flags; /**< bit-mask of set fields */ - char dummy; /**< Dummy field to avoid empty struct */ + char dummy; /**< Dummy field to avoid empty struct */ } amqp_confirm_properties_t; /* API functions for methods */ @@ -766,8 +887,8 @@ typedef struct amqp_confirm_properties_t_ { * @returns amqp_channel_open_ok_t */ AMQP_PUBLIC_FUNCTION -amqp_channel_open_ok_t * -AMQP_CALL amqp_channel_open(amqp_connection_state_t state, amqp_channel_t channel); +amqp_channel_open_ok_t *AMQP_CALL + amqp_channel_open(amqp_connection_state_t state, amqp_channel_t channel); /** * amqp_channel_flow * @@ -777,8 +898,9 @@ AMQP_CALL amqp_channel_open(amqp_connection_state_t state, amqp_channel_t channe * @returns amqp_channel_flow_ok_t */ AMQP_PUBLIC_FUNCTION -amqp_channel_flow_ok_t * -AMQP_CALL amqp_channel_flow(amqp_connection_state_t state, amqp_channel_t channel, amqp_boolean_t active); +amqp_channel_flow_ok_t *AMQP_CALL + amqp_channel_flow(amqp_connection_state_t state, amqp_channel_t channel, + amqp_boolean_t active); /** * amqp_exchange_declare * @@ -794,8 +916,11 @@ AMQP_CALL amqp_channel_flow(amqp_connection_state_t state, amqp_channel_t channe * @returns amqp_exchange_declare_ok_t */ AMQP_PUBLIC_FUNCTION -amqp_exchange_declare_ok_t * -AMQP_CALL amqp_exchange_declare(amqp_connection_state_t state, amqp_channel_t channel, amqp_bytes_t exchange, amqp_bytes_t type, amqp_boolean_t passive, amqp_boolean_t durable, amqp_boolean_t auto_delete, amqp_boolean_t internal, amqp_table_t arguments); +amqp_exchange_declare_ok_t *AMQP_CALL amqp_exchange_declare( + amqp_connection_state_t state, amqp_channel_t channel, + amqp_bytes_t exchange, amqp_bytes_t type, amqp_boolean_t passive, + amqp_boolean_t durable, amqp_boolean_t auto_delete, amqp_boolean_t internal, + amqp_table_t arguments); /** * amqp_exchange_delete * @@ -806,8 +931,9 @@ AMQP_CALL amqp_exchange_declare(amqp_connection_state_t state, amqp_channel_t ch * @returns amqp_exchange_delete_ok_t */ AMQP_PUBLIC_FUNCTION -amqp_exchange_delete_ok_t * -AMQP_CALL amqp_exchange_delete(amqp_connection_state_t state, amqp_channel_t channel, amqp_bytes_t exchange, amqp_boolean_t if_unused); +amqp_exchange_delete_ok_t *AMQP_CALL + amqp_exchange_delete(amqp_connection_state_t state, amqp_channel_t channel, + amqp_bytes_t exchange, amqp_boolean_t if_unused); /** * amqp_exchange_bind * @@ -820,8 +946,10 @@ AMQP_CALL amqp_exchange_delete(amqp_connection_state_t state, amqp_channel_t cha * @returns amqp_exchange_bind_ok_t */ AMQP_PUBLIC_FUNCTION -amqp_exchange_bind_ok_t * -AMQP_CALL amqp_exchange_bind(amqp_connection_state_t state, amqp_channel_t channel, amqp_bytes_t destination, amqp_bytes_t source, amqp_bytes_t routing_key, amqp_table_t arguments); +amqp_exchange_bind_ok_t *AMQP_CALL + amqp_exchange_bind(amqp_connection_state_t state, amqp_channel_t channel, + amqp_bytes_t destination, amqp_bytes_t source, + amqp_bytes_t routing_key, amqp_table_t arguments); /** * amqp_exchange_unbind * @@ -834,8 +962,10 @@ AMQP_CALL amqp_exchange_bind(amqp_connection_state_t state, amqp_channel_t chann * @returns amqp_exchange_unbind_ok_t */ AMQP_PUBLIC_FUNCTION -amqp_exchange_unbind_ok_t * -AMQP_CALL amqp_exchange_unbind(amqp_connection_state_t state, amqp_channel_t channel, amqp_bytes_t destination, amqp_bytes_t source, amqp_bytes_t routing_key, amqp_table_t arguments); +amqp_exchange_unbind_ok_t *AMQP_CALL + amqp_exchange_unbind(amqp_connection_state_t state, amqp_channel_t channel, + amqp_bytes_t destination, amqp_bytes_t source, + amqp_bytes_t routing_key, amqp_table_t arguments); /** * amqp_queue_declare * @@ -850,8 +980,10 @@ AMQP_CALL amqp_exchange_unbind(amqp_connection_state_t state, amqp_channel_t cha * @returns amqp_queue_declare_ok_t */ AMQP_PUBLIC_FUNCTION -amqp_queue_declare_ok_t * -AMQP_CALL amqp_queue_declare(amqp_connection_state_t state, amqp_channel_t channel, amqp_bytes_t queue, amqp_boolean_t passive, amqp_boolean_t durable, amqp_boolean_t exclusive, amqp_boolean_t auto_delete, amqp_table_t arguments); +amqp_queue_declare_ok_t *AMQP_CALL amqp_queue_declare( + amqp_connection_state_t state, amqp_channel_t channel, amqp_bytes_t queue, + amqp_boolean_t passive, amqp_boolean_t durable, amqp_boolean_t exclusive, + amqp_boolean_t auto_delete, amqp_table_t arguments); /** * amqp_queue_bind * @@ -864,8 +996,9 @@ AMQP_CALL amqp_queue_declare(amqp_connection_state_t state, amqp_channel_t chann * @returns amqp_queue_bind_ok_t */ AMQP_PUBLIC_FUNCTION -amqp_queue_bind_ok_t * -AMQP_CALL amqp_queue_bind(amqp_connection_state_t state, amqp_channel_t channel, amqp_bytes_t queue, amqp_bytes_t exchange, amqp_bytes_t routing_key, amqp_table_t arguments); +amqp_queue_bind_ok_t *AMQP_CALL amqp_queue_bind( + amqp_connection_state_t state, amqp_channel_t channel, amqp_bytes_t queue, + amqp_bytes_t exchange, amqp_bytes_t routing_key, amqp_table_t arguments); /** * amqp_queue_purge * @@ -875,8 +1008,9 @@ AMQP_CALL amqp_queue_bind(amqp_connection_state_t state, amqp_channel_t channel, * @returns amqp_queue_purge_ok_t */ AMQP_PUBLIC_FUNCTION -amqp_queue_purge_ok_t * -AMQP_CALL amqp_queue_purge(amqp_connection_state_t state, amqp_channel_t channel, amqp_bytes_t queue); +amqp_queue_purge_ok_t *AMQP_CALL amqp_queue_purge(amqp_connection_state_t state, + amqp_channel_t channel, + amqp_bytes_t queue); /** * amqp_queue_delete * @@ -888,8 +1022,9 @@ AMQP_CALL amqp_queue_purge(amqp_connection_state_t state, amqp_channel_t channel * @returns amqp_queue_delete_ok_t */ AMQP_PUBLIC_FUNCTION -amqp_queue_delete_ok_t * -AMQP_CALL amqp_queue_delete(amqp_connection_state_t state, amqp_channel_t channel, amqp_bytes_t queue, amqp_boolean_t if_unused, amqp_boolean_t if_empty); +amqp_queue_delete_ok_t *AMQP_CALL amqp_queue_delete( + amqp_connection_state_t state, amqp_channel_t channel, amqp_bytes_t queue, + amqp_boolean_t if_unused, amqp_boolean_t if_empty); /** * amqp_queue_unbind * @@ -902,8 +1037,9 @@ AMQP_CALL amqp_queue_delete(amqp_connection_state_t state, amqp_channel_t channe * @returns amqp_queue_unbind_ok_t */ AMQP_PUBLIC_FUNCTION -amqp_queue_unbind_ok_t * -AMQP_CALL amqp_queue_unbind(amqp_connection_state_t state, amqp_channel_t channel, amqp_bytes_t queue, amqp_bytes_t exchange, amqp_bytes_t routing_key, amqp_table_t arguments); +amqp_queue_unbind_ok_t *AMQP_CALL amqp_queue_unbind( + amqp_connection_state_t state, amqp_channel_t channel, amqp_bytes_t queue, + amqp_bytes_t exchange, amqp_bytes_t routing_key, amqp_table_t arguments); /** * amqp_basic_qos * @@ -915,8 +1051,11 @@ AMQP_CALL amqp_queue_unbind(amqp_connection_state_t state, amqp_channel_t channe * @returns amqp_basic_qos_ok_t */ AMQP_PUBLIC_FUNCTION -amqp_basic_qos_ok_t * -AMQP_CALL amqp_basic_qos(amqp_connection_state_t state, amqp_channel_t channel, uint32_t prefetch_size, uint16_t prefetch_count, amqp_boolean_t global); +amqp_basic_qos_ok_t *AMQP_CALL amqp_basic_qos(amqp_connection_state_t state, + amqp_channel_t channel, + uint32_t prefetch_size, + uint16_t prefetch_count, + amqp_boolean_t global); /** * amqp_basic_consume * @@ -931,8 +1070,10 @@ AMQP_CALL amqp_basic_qos(amqp_connection_state_t state, amqp_channel_t channel, * @returns amqp_basic_consume_ok_t */ AMQP_PUBLIC_FUNCTION -amqp_basic_consume_ok_t * -AMQP_CALL amqp_basic_consume(amqp_connection_state_t state, amqp_channel_t channel, amqp_bytes_t queue, amqp_bytes_t consumer_tag, amqp_boolean_t no_local, amqp_boolean_t no_ack, amqp_boolean_t exclusive, amqp_table_t arguments); +amqp_basic_consume_ok_t *AMQP_CALL amqp_basic_consume( + amqp_connection_state_t state, amqp_channel_t channel, amqp_bytes_t queue, + amqp_bytes_t consumer_tag, amqp_boolean_t no_local, amqp_boolean_t no_ack, + amqp_boolean_t exclusive, amqp_table_t arguments); /** * amqp_basic_cancel * @@ -942,8 +1083,9 @@ AMQP_CALL amqp_basic_consume(amqp_connection_state_t state, amqp_channel_t chann * @returns amqp_basic_cancel_ok_t */ AMQP_PUBLIC_FUNCTION -amqp_basic_cancel_ok_t * -AMQP_CALL amqp_basic_cancel(amqp_connection_state_t state, amqp_channel_t channel, amqp_bytes_t consumer_tag); +amqp_basic_cancel_ok_t *AMQP_CALL + amqp_basic_cancel(amqp_connection_state_t state, amqp_channel_t channel, + amqp_bytes_t consumer_tag); /** * amqp_basic_recover * @@ -953,8 +1095,9 @@ AMQP_CALL amqp_basic_cancel(amqp_connection_state_t state, amqp_channel_t channe * @returns amqp_basic_recover_ok_t */ AMQP_PUBLIC_FUNCTION -amqp_basic_recover_ok_t * -AMQP_CALL amqp_basic_recover(amqp_connection_state_t state, amqp_channel_t channel, amqp_boolean_t requeue); +amqp_basic_recover_ok_t *AMQP_CALL + amqp_basic_recover(amqp_connection_state_t state, amqp_channel_t channel, + amqp_boolean_t requeue); /** * amqp_tx_select * @@ -963,8 +1106,8 @@ AMQP_CALL amqp_basic_recover(amqp_connection_state_t state, amqp_channel_t chann * @returns amqp_tx_select_ok_t */ AMQP_PUBLIC_FUNCTION -amqp_tx_select_ok_t * -AMQP_CALL amqp_tx_select(amqp_connection_state_t state, amqp_channel_t channel); +amqp_tx_select_ok_t *AMQP_CALL amqp_tx_select(amqp_connection_state_t state, + amqp_channel_t channel); /** * amqp_tx_commit * @@ -973,8 +1116,8 @@ AMQP_CALL amqp_tx_select(amqp_connection_state_t state, amqp_channel_t channel); * @returns amqp_tx_commit_ok_t */ AMQP_PUBLIC_FUNCTION -amqp_tx_commit_ok_t * -AMQP_CALL amqp_tx_commit(amqp_connection_state_t state, amqp_channel_t channel); +amqp_tx_commit_ok_t *AMQP_CALL amqp_tx_commit(amqp_connection_state_t state, + amqp_channel_t channel); /** * amqp_tx_rollback * @@ -983,8 +1126,8 @@ AMQP_CALL amqp_tx_commit(amqp_connection_state_t state, amqp_channel_t channel); * @returns amqp_tx_rollback_ok_t */ AMQP_PUBLIC_FUNCTION -amqp_tx_rollback_ok_t * -AMQP_CALL amqp_tx_rollback(amqp_connection_state_t state, amqp_channel_t channel); +amqp_tx_rollback_ok_t *AMQP_CALL amqp_tx_rollback(amqp_connection_state_t state, + amqp_channel_t channel); /** * amqp_confirm_select * @@ -993,8 +1136,8 @@ AMQP_CALL amqp_tx_rollback(amqp_connection_state_t state, amqp_channel_t channel * @returns amqp_confirm_select_ok_t */ AMQP_PUBLIC_FUNCTION -amqp_confirm_select_ok_t * -AMQP_CALL amqp_confirm_select(amqp_connection_state_t state, amqp_channel_t channel); +amqp_confirm_select_ok_t *AMQP_CALL + amqp_confirm_select(amqp_connection_state_t state, amqp_channel_t channel); AMQP_END_DECLS diff --git a/librabbitmq/amqp_hostcheck.c b/librabbitmq/amqp_hostcheck.c index d0e88ef..5a4f733 100644 --- a/librabbitmq/amqp_hostcheck.c +++ b/librabbitmq/amqp_hostcheck.c @@ -30,62 +30,60 @@ * because its behavior is altered by the current locale. */ -static char -amqp_raw_toupper(char in) -{ +static char amqp_raw_toupper(char in) { switch (in) { - case 'a': - return 'A'; - case 'b': - return 'B'; - case 'c': - return 'C'; - case 'd': - return 'D'; - case 'e': - return 'E'; - case 'f': - return 'F'; - case 'g': - return 'G'; - case 'h': - return 'H'; - case 'i': - return 'I'; - case 'j': - return 'J'; - case 'k': - return 'K'; - case 'l': - return 'L'; - case 'm': - return 'M'; - case 'n': - return 'N'; - case 'o': - return 'O'; - case 'p': - return 'P'; - case 'q': - return 'Q'; - case 'r': - return 'R'; - case 's': - return 'S'; - case 't': - return 'T'; - case 'u': - return 'U'; - case 'v': - return 'V'; - case 'w': - return 'W'; - case 'x': - return 'X'; - case 'y': - return 'Y'; - case 'z': - return 'Z'; + case 'a': + return 'A'; + case 'b': + return 'B'; + case 'c': + return 'C'; + case 'd': + return 'D'; + case 'e': + return 'E'; + case 'f': + return 'F'; + case 'g': + return 'G'; + case 'h': + return 'H'; + case 'i': + return 'I'; + case 'j': + return 'J'; + case 'k': + return 'K'; + case 'l': + return 'L'; + case 'm': + return 'M'; + case 'n': + return 'N'; + case 'o': + return 'O'; + case 'p': + return 'P'; + case 'q': + return 'Q'; + case 'r': + return 'R'; + case 's': + return 'S'; + case 't': + return 'T'; + case 'u': + return 'U'; + case 'v': + return 'V'; + case 'w': + return 'W'; + case 'x': + return 'X'; + case 'y': + return 'Y'; + case 'z': + return 'Z'; } return in; } @@ -100,9 +98,7 @@ amqp_raw_toupper(char in) * non-ascii. */ -static int -amqp_raw_equal(const char *first, const char *second) -{ +static int amqp_raw_equal(const char *first, const char *second) { while (*first && *second) { if (amqp_raw_toupper(*first) != amqp_raw_toupper(*second)) { /* get out of the loop as soon as they don't match */ @@ -118,9 +114,7 @@ amqp_raw_equal(const char *first, const char *second) return (amqp_raw_toupper(*first) == amqp_raw_toupper(*second)); } -static int -amqp_raw_nequal(const char *first, const char *second, size_t max) -{ +static int amqp_raw_nequal(const char *first, const char *second, size_t max) { while (*first && *second && max) { if (amqp_raw_toupper(*first) != amqp_raw_toupper(*second)) { break; @@ -157,8 +151,7 @@ static amqp_hostcheck_result amqp_hostmatch(const char *hostname, /* We require at least 2 dots in pattern to avoid too wide wildcard match. */ wildcard_enabled = 1; pattern_label_end = strchr(pattern, '.'); - if (pattern_label_end == NULL || - strchr(pattern_label_end + 1, '.') == NULL || + if (pattern_label_end == NULL || strchr(pattern_label_end + 1, '.') == NULL || pattern_wildcard > pattern_label_end || amqp_raw_nequal(pattern, "xn--", 4)) { wildcard_enabled = 0; @@ -182,8 +175,10 @@ static amqp_hostcheck_result amqp_hostmatch(const char *hostname, prefixlen = pattern_wildcard - pattern; suffixlen = pattern_label_end - (pattern_wildcard + 1); return amqp_raw_nequal(pattern, hostname, prefixlen) && - amqp_raw_nequal(pattern_wildcard + 1, hostname_label_end - suffixlen, - suffixlen) ? AMQP_HCR_MATCH : AMQP_HCR_NO_MATCH; + amqp_raw_nequal(pattern_wildcard + 1, + hostname_label_end - suffixlen, suffixlen) + ? AMQP_HCR_MATCH + : AMQP_HCR_NO_MATCH; } amqp_hostcheck_result amqp_hostcheck(const char *match_pattern, diff --git a/librabbitmq/amqp_mem.c b/librabbitmq/amqp_mem.c index 71f704e..f0d47cc 100644 --- a/librabbitmq/amqp_mem.c +++ b/librabbitmq/amqp_mem.c @@ -45,18 +45,11 @@ #include #include -char const *amqp_version(void) -{ - return AMQP_VERSION_STRING; -} +char const *amqp_version(void) { return AMQP_VERSION_STRING; } -uint32_t amqp_version_number(void) -{ - return AMQP_VERSION; -} +uint32_t amqp_version_number(void) { return AMQP_VERSION; } -void init_amqp_pool(amqp_pool_t *pool, size_t pagesize) -{ +void init_amqp_pool(amqp_pool_t *pool, size_t pagesize) { pool->pagesize = pagesize ? pagesize : 4096; pool->pages.num_blocks = 0; @@ -70,8 +63,7 @@ void init_amqp_pool(amqp_pool_t *pool, size_t pagesize) pool->alloc_used = 0; } -static void empty_blocklist(amqp_pool_blocklist_t *x) -{ +static void empty_blocklist(amqp_pool_blocklist_t *x) { int i; if (x->blocklist != NULL) { @@ -84,23 +76,20 @@ static void empty_blocklist(amqp_pool_blocklist_t *x) x->blocklist = NULL; } -void recycle_amqp_pool(amqp_pool_t *pool) -{ +void recycle_amqp_pool(amqp_pool_t *pool) { empty_blocklist(&pool->large_blocks); pool->next_page = 0; pool->alloc_block = NULL; pool->alloc_used = 0; } -void empty_amqp_pool(amqp_pool_t *pool) -{ +void empty_amqp_pool(amqp_pool_t *pool) { recycle_amqp_pool(pool); empty_blocklist(&pool->pages); } /* Returns 1 on success, 0 on failure */ -static int record_pool_block(amqp_pool_blocklist_t *x, void *block) -{ +static int record_pool_block(amqp_pool_blocklist_t *x, void *block) { size_t blocklistlength = sizeof(void *) * (x->num_blocks + 1); if (x->blocklist == NULL) { @@ -121,8 +110,7 @@ static int record_pool_block(amqp_pool_blocklist_t *x, void *block) return 1; } -void *amqp_pool_alloc(amqp_pool_t *pool, size_t amount) -{ +void *amqp_pool_alloc(amqp_pool_t *pool, size_t amount) { if (amount == 0) { return NULL; } @@ -170,22 +158,20 @@ void *amqp_pool_alloc(amqp_pool_t *pool, size_t amount) return pool->alloc_block; } -void amqp_pool_alloc_bytes(amqp_pool_t *pool, size_t amount, amqp_bytes_t *output) -{ +void amqp_pool_alloc_bytes(amqp_pool_t *pool, size_t amount, + amqp_bytes_t *output) { output->len = amount; output->bytes = amqp_pool_alloc(pool, amount); } -amqp_bytes_t amqp_cstring_bytes(char const *cstr) -{ +amqp_bytes_t amqp_cstring_bytes(char const *cstr) { amqp_bytes_t result; result.len = strlen(cstr); - result.bytes = (void *) cstr; + result.bytes = (void *)cstr; return result; } -amqp_bytes_t amqp_bytes_malloc_dup(amqp_bytes_t src) -{ +amqp_bytes_t amqp_bytes_malloc_dup(amqp_bytes_t src) { amqp_bytes_t result; result.len = src.len; result.bytes = malloc(src.len); @@ -195,27 +181,23 @@ amqp_bytes_t amqp_bytes_malloc_dup(amqp_bytes_t src) return result; } -amqp_bytes_t amqp_bytes_malloc(size_t amount) -{ +amqp_bytes_t amqp_bytes_malloc(size_t amount) { amqp_bytes_t result; result.len = amount; result.bytes = malloc(amount); /* will return NULL if it fails */ return result; } -void amqp_bytes_free(amqp_bytes_t bytes) -{ - free(bytes.bytes); -} +void amqp_bytes_free(amqp_bytes_t bytes) { free(bytes.bytes); } -amqp_pool_t *amqp_get_or_create_channel_pool(amqp_connection_state_t state, amqp_channel_t channel) -{ +amqp_pool_t *amqp_get_or_create_channel_pool(amqp_connection_state_t state, + amqp_channel_t channel) { amqp_pool_table_entry_t *entry; size_t index = channel % POOL_TABLE_SIZE; entry = state->pool_table[index]; - for ( ; NULL != entry; entry = entry->next) { + for (; NULL != entry; entry = entry->next) { if (channel == entry->channel) { return &entry->pool; } @@ -235,14 +217,14 @@ amqp_pool_t *amqp_get_or_create_channel_pool(amqp_connection_state_t state, amqp return &entry->pool; } -amqp_pool_t *amqp_get_channel_pool(amqp_connection_state_t state, amqp_channel_t channel) -{ +amqp_pool_t *amqp_get_channel_pool(amqp_connection_state_t state, + amqp_channel_t channel) { amqp_pool_table_entry_t *entry; size_t index = channel % POOL_TABLE_SIZE; entry = state->pool_table[index]; - for ( ; NULL != entry; entry = entry->next) { + for (; NULL != entry; entry = entry->next) { if (channel == entry->channel) { return &entry->pool; } diff --git a/librabbitmq/amqp_openssl.c b/librabbitmq/amqp_openssl.c index 545bf52..417203a 100644 --- a/librabbitmq/amqp_openssl.c +++ b/librabbitmq/amqp_openssl.c @@ -30,9 +30,9 @@ #include "amqp_openssl_bio.h" #include "amqp_openssl_hostname_validation.h" -#include "amqp_ssl_socket.h" -#include "amqp_socket.h" #include "amqp_private.h" +#include "amqp_socket.h" +#include "amqp_ssl_socket.h" #include "amqp_time.h" #include "threads.h" @@ -40,14 +40,13 @@ #include #include #include +#include #include #include #include -#include #include #include - static int initialize_openssl(void); static int destroy_openssl(void); @@ -57,7 +56,8 @@ static amqp_boolean_t openssl_initialized = 0; #ifdef ENABLE_THREAD_SAFETY static unsigned long amqp_ssl_threadid_callback(void); -static void amqp_ssl_locking_callback(int mode, int n, const char *file, int line); +static void amqp_ssl_locking_callback(int mode, int n, const char *file, + int line); static pthread_mutex_t openssl_init_mutex = PTHREAD_MUTEX_INITIALIZER; @@ -119,12 +119,8 @@ static ssize_t amqp_ssl_socket_send(void *base, const void *buf, size_t len, return (ssize_t)res; } -static ssize_t -amqp_ssl_socket_recv(void *base, - void *buf, - size_t len, - AMQP_UNUSED int flags) -{ +static ssize_t amqp_ssl_socket_recv(void *base, void *buf, size_t len, + AMQP_UNUSED int flags) { struct amqp_ssl_socket_t *self = (struct amqp_ssl_socket_t *)base; int received; if (-1 == self->sockfd) { @@ -144,27 +140,26 @@ amqp_ssl_socket_recv(void *base, if (0 >= received) { self->internal_error = SSL_get_error(self->ssl, received); switch (self->internal_error) { - case SSL_ERROR_WANT_READ: + case SSL_ERROR_WANT_READ: received = AMQP_PRIVATE_STATUS_SOCKET_NEEDREAD; break; - case SSL_ERROR_WANT_WRITE: + case SSL_ERROR_WANT_WRITE: received = AMQP_PRIVATE_STATUS_SOCKET_NEEDWRITE; break; - case SSL_ERROR_ZERO_RETURN: - received = AMQP_STATUS_CONNECTION_CLOSED; - break; - default: - received = AMQP_STATUS_SSL_ERROR; - break; + case SSL_ERROR_ZERO_RETURN: + received = AMQP_STATUS_CONNECTION_CLOSED; + break; + default: + received = AMQP_STATUS_SSL_ERROR; + break; } } return (ssize_t)received; } -static int -amqp_ssl_socket_open(void *base, const char *host, int port, struct timeval *timeout) -{ +static int amqp_ssl_socket_open(void *base, const char *host, int port, + struct timeval *timeout) { struct amqp_ssl_socket_t *self = (struct amqp_ssl_socket_t *)base; long result; int status; @@ -275,9 +270,7 @@ error_out1: goto exit; } -static int -amqp_ssl_socket_close(void *base, amqp_socket_close_enum force) -{ +static int amqp_ssl_socket_close(void *base, amqp_socket_close_enum force) { struct amqp_ssl_socket_t *self = (struct amqp_ssl_socket_t *)base; if (-1 == self->sockfd) { @@ -300,16 +293,12 @@ amqp_ssl_socket_close(void *base, amqp_socket_close_enum force) return AMQP_STATUS_OK; } -static int -amqp_ssl_socket_get_sockfd(void *base) -{ +static int amqp_ssl_socket_get_sockfd(void *base) { struct amqp_ssl_socket_t *self = (struct amqp_ssl_socket_t *)base; return self->sockfd; } -static void -amqp_ssl_socket_delete(void *base) -{ +static void amqp_ssl_socket_delete(void *base) { struct amqp_ssl_socket_t *self = (struct amqp_ssl_socket_t *)base; if (self) { @@ -322,17 +311,15 @@ amqp_ssl_socket_delete(void *base) } static const struct amqp_socket_class_t amqp_ssl_socket_class = { - amqp_ssl_socket_send, /* send */ - amqp_ssl_socket_recv, /* recv */ - amqp_ssl_socket_open, /* open */ - amqp_ssl_socket_close, /* close */ - amqp_ssl_socket_get_sockfd, /* get_sockfd */ - amqp_ssl_socket_delete /* delete */ + amqp_ssl_socket_send, /* send */ + amqp_ssl_socket_recv, /* recv */ + amqp_ssl_socket_open, /* open */ + amqp_ssl_socket_close, /* close */ + amqp_ssl_socket_get_sockfd, /* get_sockfd */ + amqp_ssl_socket_delete /* delete */ }; -amqp_socket_t * -amqp_ssl_socket_new(amqp_connection_state_t state) -{ +amqp_socket_t *amqp_ssl_socket_new(amqp_connection_state_t state) { struct amqp_ssl_socket_t *self = calloc(1, sizeof(*self)); int status; if (!self) { @@ -364,10 +351,7 @@ error: return NULL; } -int -amqp_ssl_socket_set_cacert(amqp_socket_t *base, - const char *cacert) -{ +int amqp_ssl_socket_set_cacert(amqp_socket_t *base, const char *cacert) { int status; struct amqp_ssl_socket_t *self; if (base->klass != &amqp_ssl_socket_class) { @@ -381,11 +365,8 @@ amqp_ssl_socket_set_cacert(amqp_socket_t *base, return AMQP_STATUS_OK; } -int -amqp_ssl_socket_set_key(amqp_socket_t *base, - const char *cert, - const char *key) -{ +int amqp_ssl_socket_set_key(amqp_socket_t *base, const char *cert, + const char *key) { int status; struct amqp_ssl_socket_t *self; if (base->klass != &amqp_ssl_socket_class) { @@ -396,29 +377,20 @@ amqp_ssl_socket_set_key(amqp_socket_t *base, if (1 != status) { return AMQP_STATUS_SSL_ERROR; } - status = SSL_CTX_use_PrivateKey_file(self->ctx, key, - SSL_FILETYPE_PEM); + status = SSL_CTX_use_PrivateKey_file(self->ctx, key, SSL_FILETYPE_PEM); if (1 != status) { return AMQP_STATUS_SSL_ERROR; } return AMQP_STATUS_OK; } -static int -password_cb(AMQP_UNUSED char *buffer, - AMQP_UNUSED int length, - AMQP_UNUSED int rwflag, - AMQP_UNUSED void *user_data) -{ +static int password_cb(AMQP_UNUSED char *buffer, AMQP_UNUSED int length, + AMQP_UNUSED int rwflag, AMQP_UNUSED void *user_data) { amqp_abort("rabbitmq-c does not support password protected keys"); } -int -amqp_ssl_socket_set_key_buffer(amqp_socket_t *base, - const char *cert, - const void *key, - size_t n) -{ +int amqp_ssl_socket_set_key_buffer(amqp_socket_t *base, const char *cert, + const void *key, size_t n) { int status = AMQP_STATUS_OK; BIO *buf = NULL; RSA *rsa = NULL; @@ -455,10 +427,7 @@ error: goto exit; } -int -amqp_ssl_socket_set_cert(amqp_socket_t *base, - const char *cert) -{ +int amqp_ssl_socket_set_cert(amqp_socket_t *base, const char *cert) { int status; struct amqp_ssl_socket_t *self; if (base->klass != &amqp_ssl_socket_class) { @@ -472,10 +441,7 @@ amqp_ssl_socket_set_cert(amqp_socket_t *base, return AMQP_STATUS_OK; } -void -amqp_ssl_socket_set_verify(amqp_socket_t *base, - amqp_boolean_t verify) -{ +void amqp_ssl_socket_set_verify(amqp_socket_t *base, amqp_boolean_t verify) { amqp_ssl_socket_set_verify_peer(base, verify); amqp_ssl_socket_set_verify_hostname(base, verify); } @@ -522,7 +488,7 @@ int amqp_ssl_socket_set_ssl_versions(amqp_socket_t *base, amqp_tls_version_t max_supported = AMQP_TLSv1; clear_options = SSL_OP_NO_TLSv1; #else -# error "Need a version of OpenSSL that can support TLSv1 or greater." +#error "Need a version of OpenSSL that can support TLSv1 or greater." #endif if (AMQP_TLSvLATEST == max) { @@ -560,26 +526,19 @@ int amqp_ssl_socket_set_ssl_versions(amqp_socket_t *base, return AMQP_STATUS_OK; } -void -amqp_set_initialize_ssl_library(amqp_boolean_t do_initialize) -{ +void amqp_set_initialize_ssl_library(amqp_boolean_t do_initialize) { if (!openssl_initialized) { do_initialize_openssl = do_initialize; } } #ifdef ENABLE_THREAD_SAFETY -unsigned long -amqp_ssl_threadid_callback(void) -{ +unsigned long amqp_ssl_threadid_callback(void) { return (unsigned long)pthread_self(); } -void -amqp_ssl_locking_callback(int mode, int n, - AMQP_UNUSED const char *file, - AMQP_UNUSED int line) -{ +void amqp_ssl_locking_callback(int mode, int n, AMQP_UNUSED const char *file, + AMQP_UNUSED int line) { if (mode & CRYPTO_LOCK) { if (pthread_mutex_lock(&amqp_openssl_lockarray[n])) { amqp_abort("Runtime error: Failure in trying to lock OpenSSL mutex"); @@ -592,9 +551,7 @@ amqp_ssl_locking_callback(int mode, int n, } #endif /* ENABLE_THREAD_SAFETY */ -static int -initialize_openssl(void) -{ +static int initialize_openssl(void) { #ifdef ENABLE_THREAD_SAFETY if (pthread_mutex_lock(&openssl_init_mutex)) { return -1; @@ -604,7 +561,8 @@ initialize_openssl(void) #ifdef ENABLE_THREAD_SAFETY if (NULL == amqp_openssl_lockarray) { int i = 0; - amqp_openssl_lockarray = calloc(CRYPTO_num_locks(), sizeof(pthread_mutex_t)); + amqp_openssl_lockarray = + calloc(CRYPTO_num_locks(), sizeof(pthread_mutex_t)); if (!amqp_openssl_lockarray) { pthread_mutex_unlock(&openssl_init_mutex); return -1; @@ -643,9 +601,7 @@ initialize_openssl(void) return 0; } -static int -destroy_openssl(void) -{ +static int destroy_openssl(void) { #ifdef ENABLE_THREAD_SAFETY if (pthread_mutex_lock(&openssl_init_mutex)) { return -1; @@ -672,9 +628,9 @@ destroy_openssl(void) CRYPTO_cleanup_all_ex_data(); ERR_free_strings(); openssl_initialized = 0; - #if (OPENSSL_VERSION_NUMBER >= 0x10002003L) - SSL_COMP_free_compression_methods(); - #endif +#if (OPENSSL_VERSION_NUMBER >= 0x10002003L) + SSL_COMP_free_compression_methods(); +#endif } pthread_mutex_unlock(&openssl_init_mutex); diff --git a/librabbitmq/amqp_openssl_bio.c b/librabbitmq/amqp_openssl_bio.c index 9d5d43a..5279620 100644 --- a/librabbitmq/amqp_openssl_bio.c +++ b/librabbitmq/amqp_openssl_bio.c @@ -21,24 +21,23 @@ * DEALINGS IN THE SOFTWARE. */ - #include "amqp_openssl_bio.h" #include "amqp_socket.h" #include "threads.h" #include #if ((defined(_WIN32)) || (defined(__MINGW32__)) || (defined(__MINGW64__))) -# ifndef WIN32_LEAN_AND_MEAN -# define WIN32_LEAN_AND_MEAN -# endif -# include +#ifndef WIN32_LEAN_AND_MEAN +#define WIN32_LEAN_AND_MEAN +#endif +#include #else -# include -# include +#include +#include #endif #ifdef MSG_NOSIGNAL -# define AMQP_USE_AMQP_BIO +#define AMQP_USE_AMQP_BIO #endif #ifdef AMQP_USE_AMQP_BIO @@ -85,7 +84,7 @@ static int amqp_openssl_bio_should_retry(int res) { return 0; } -static int amqp_openssl_bio_write(BIO* b, const char *in, int inl) { +static int amqp_openssl_bio_write(BIO *b, const char *in, int inl) { int flags = 0; int fd; int res; @@ -105,7 +104,7 @@ static int amqp_openssl_bio_write(BIO* b, const char *in, int inl) { return res; } -static int amqp_openssl_bio_read(BIO* b, char* out, int outl) { +static int amqp_openssl_bio_read(BIO *b, char *out, int outl) { int flags = 0; int fd; int res; @@ -132,8 +131,7 @@ static int BIO_meth_set_write(BIO_METHOD *biom, return 0; } -static int BIO_meth_set_read(BIO_METHOD *biom, - int (*rfn)(BIO *, char *, int)) { +static int BIO_meth_set_read(BIO_METHOD *biom, int (*rfn)(BIO *, char *, int)) { biom->bread = rfn; return 0; } @@ -147,9 +145,9 @@ static void amqp_openssl_bio_init(void) { bio_initialized = 1; } -#endif /* AMQP_USE_AMQP_BIO */ +#endif /* AMQP_USE_AMQP_BIO */ -BIO_METHOD* amqp_openssl_bio(void) { +BIO_METHOD *amqp_openssl_bio(void) { #ifdef AMQP_USE_AMQP_BIO if (!bio_initialized) { #ifdef ENABLE_THREAD_SAFETY diff --git a/librabbitmq/amqp_openssl_hostname_validation.c b/librabbitmq/amqp_openssl_hostname_validation.c index b91286c..ea61186 100644 --- a/librabbitmq/amqp_openssl_hostname_validation.c +++ b/librabbitmq/amqp_openssl_hostname_validation.c @@ -22,17 +22,16 @@ * copyright holder. */ - /* Originally from: * https://github.com/iSECPartners/ssl-conservatory * https://wiki.openssl.org/index.php/Hostname_validation */ -#include #include +#include -#include "amqp_openssl_hostname_validation.h" #include "amqp_hostcheck.h" +#include "amqp_openssl_hostname_validation.h" #define HOSTNAME_MAX_SIZE 255 @@ -41,7 +40,8 @@ * * Returns AMQP_HVR_MATCH_FOUND if a match was found. * Returns AMQP_HVR_MATCH_NOT_FOUND if no matches were found. -* Returns AMQP_HVR_MALFORMED_CERTIFICATE if the Common Name had a NUL character embedded in it. +* Returns AMQP_HVR_MALFORMED_CERTIFICATE if the Common Name had a NUL character +* embedded in it. * Returns AMQP_HVR_ERROR if the Common Name could not be extracted. */ static amqp_hostname_validation_result amqp_matches_common_name( diff --git a/librabbitmq/amqp_private.h b/librabbitmq/amqp_private.h index f7d2dac..e73776c 100644 --- a/librabbitmq/amqp_private.h +++ b/librabbitmq/amqp_private.h @@ -40,37 +40,37 @@ #include "config.h" #endif -#define AMQ_COPYRIGHT "Copyright (c) 2007-2014 VMWare Inc, Tony Garnock-Jones," \ - " and Alan Antonuk." +#define AMQ_COPYRIGHT \ + "Copyright (c) 2007-2014 VMWare Inc, Tony Garnock-Jones," \ + " and Alan Antonuk." #include "amqp.h" #include "amqp_framing.h" #include #if ((defined(_WIN32)) || (defined(__MINGW32__)) || (defined(__MINGW64__))) -# ifndef WINVER +#ifndef WINVER /* WINVER 0x0502 is WinXP SP2+, Windows Server 2003 SP1+ - * See: http://msdn.microsoft.com/en-us/library/windows/desktop/aa383745(v=vs.85).aspx#macros_for_conditional_declarations */ -# define WINVER 0x0502 -# endif -# ifndef WIN32_LEAN_AND_MEAN -# define WIN32_LEAN_AND_MEAN -# endif -# include + * See: + * http://msdn.microsoft.com/en-us/library/windows/desktop/aa383745(v=vs.85).aspx#macros_for_conditional_declarations + */ +#define WINVER 0x0502 +#endif +#ifndef WIN32_LEAN_AND_MEAN +#define WIN32_LEAN_AND_MEAN +#endif +#include #else -# include -# include +#include +#include #endif /* GCC attributes */ #if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ > 4) -#define AMQP_NORETURN \ - __attribute__ ((__noreturn__)) -#define AMQP_UNUSED \ - __attribute__ ((__unused__)) +#define AMQP_NORETURN __attribute__((__noreturn__)) +#define AMQP_UNUSED __attribute__((__unused__)) #elif defined(_MSC_VER) -#define AMQP_NORETURN \ - __declspec(noreturn) +#define AMQP_NORETURN __declspec(noreturn) #define AMQP_UNUSED #else #define AMQP_NORETURN @@ -78,18 +78,15 @@ #endif #if __GNUC__ >= 4 -#define AMQP_PRIVATE \ - __attribute__ ((visibility ("hidden"))) +#define AMQP_PRIVATE __attribute__((visibility("hidden"))) #else #define AMQP_PRIVATE #endif -char * -amqp_os_error_string(int err); +char *amqp_os_error_string(int err); #ifdef WITH_SSL -char * -amqp_ssl_error_string(int err); +char *amqp_ssl_error_string(int err); #endif #include "amqp_socket.h" @@ -124,12 +121,11 @@ typedef enum amqp_connection_state_enum_ { CONNECTION_STATE_BODY } amqp_connection_state_enum; -typedef enum amqp_status_private_enum_ -{ +typedef enum amqp_status_private_enum_ { /* 0x00xx -> AMQP_STATUS_*/ /* 0x01xx -> AMQP_STATUS_TCP_* */ /* 0x02xx -> AMQP_STATUS_SSL_* */ - AMQP_PRIVATE_STATUS_SOCKET_NEEDREAD = -0x1301, + AMQP_PRIVATE_STATUS_SOCKET_NEEDREAD = -0x1301, AMQP_PRIVATE_STATUS_SOCKET_NEEDWRITE = -0x1302 } amqp_status_private_enum; @@ -199,9 +195,10 @@ struct amqp_connection_state_t_ { struct timeval internal_rpc_timeout; }; -amqp_pool_t *amqp_get_or_create_channel_pool(amqp_connection_state_t connection, amqp_channel_t channel); -amqp_pool_t *amqp_get_channel_pool(amqp_connection_state_t state, amqp_channel_t channel); - +amqp_pool_t *amqp_get_or_create_channel_pool(amqp_connection_state_t connection, + amqp_channel_t channel); +amqp_pool_t *amqp_get_channel_pool(amqp_connection_state_t state, + amqp_channel_t channel); static inline int amqp_heartbeat_send(amqp_connection_state_t state) { return state->heartbeat; @@ -213,8 +210,7 @@ static inline int amqp_heartbeat_recv(amqp_connection_state_t state) { int amqp_try_recv(amqp_connection_state_t state); -static inline void *amqp_offset(void *data, size_t offset) -{ +static inline void *amqp_offset(void *data, size_t offset) { return (char *)data + offset; } @@ -277,7 +273,7 @@ static inline uint16_t amqp_d16(void *data) { return val; } -static inline void amqp_e32(uint32_t val, void* data) { +static inline void amqp_e32(uint32_t val, void *data) { if (!is_bigendian()) { val = ((val & 0xFF000000u) >> 24u) | ((val & 0x00FF0000u) >> 8u) | ((val & 0x0000FF00u) << 8u) | ((val & 0x000000FFu) << 24u); @@ -331,8 +327,7 @@ DECLARE_CODEC_BASE_TYPE(32) DECLARE_CODEC_BASE_TYPE(64) static inline int amqp_encode_bytes(amqp_bytes_t encoded, size_t *offset, - amqp_bytes_t input) -{ + amqp_bytes_t input) { size_t o = *offset; /* The memcpy below has undefined behavior if the input is NULL. It is valid * for a 0-length amqp_bytes_t to have .bytes == NULL. Thus we should check @@ -350,8 +345,7 @@ static inline int amqp_encode_bytes(amqp_bytes_t encoded, size_t *offset, } static inline int amqp_decode_bytes(amqp_bytes_t encoded, size_t *offset, - amqp_bytes_t *output, size_t len) -{ + amqp_bytes_t *output, size_t len) { size_t o = *offset; if ((*offset = o + len) <= encoded.len) { output->bytes = amqp_offset(encoded.bytes, o); @@ -363,8 +357,7 @@ static inline int amqp_decode_bytes(amqp_bytes_t encoded, size_t *offset, } AMQP_NORETURN -void -amqp_abort(const char *fmt, ...); +void amqp_abort(const char *fmt, ...); int amqp_bytes_equal(amqp_bytes_t r, amqp_bytes_t l); diff --git a/librabbitmq/amqp_socket.c b/librabbitmq/amqp_socket.c index 2fef966..a5bbd4b 100644 --- a/librabbitmq/amqp_socket.c +++ b/librabbitmq/amqp_socket.c @@ -38,7 +38,7 @@ #endif #ifdef _MSC_VER -# define _CRT_SECURE_NO_WARNINGS +#define _CRT_SECURE_NO_WARNINGS #endif #include "amqp_private.h" @@ -57,33 +57,33 @@ #include #if ((defined(_WIN32)) || (defined(__MINGW32__)) || (defined(__MINGW64__))) -# ifndef WIN32_LEAN_AND_MEAN -# define WIN32_LEAN_AND_MEAN -# endif -# include -# include +#ifndef WIN32_LEAN_AND_MEAN +#define WIN32_LEAN_AND_MEAN +#endif +#include +#include #else -# include /* On older BSD this must come before net includes */ -# include -# include -# ifdef HAVE_SELECT -# include -# endif -# include -# include -# include -# include -# ifdef HAVE_POLL -# include -# endif -# include +#include +/* On older BSD types.h must come before net includes */ +#include +#include +#ifdef HAVE_SELECT +#include +#endif +#include +#include +#include +#include +#ifdef HAVE_POLL +#include +#endif +#include #endif -static int amqp_id_in_reply_list( amqp_method_number_t expected, amqp_method_number_t *list ); +static int amqp_id_in_reply_list(amqp_method_number_t expected, + amqp_method_number_t *list); -static int -amqp_os_socket_init(void) -{ +static int amqp_os_socket_init(void) { #ifdef _WIN32 static int called_wsastartup = 0; if (!called_wsastartup) { @@ -102,9 +102,7 @@ amqp_os_socket_init(void) #endif } -int -amqp_os_socket_error(void) -{ +int amqp_os_socket_error(void) { #ifdef _WIN32 return WSAGetLastError(); #else @@ -112,9 +110,7 @@ amqp_os_socket_error(void) #endif } -int -amqp_os_socket_close(int sockfd) -{ +int amqp_os_socket_close(int sockfd) { #ifdef _WIN32 return closesocket(sockfd); #else @@ -122,58 +118,47 @@ amqp_os_socket_close(int sockfd) #endif } -ssize_t -amqp_socket_send(amqp_socket_t *self, const void *buf, size_t len, int flags) -{ +ssize_t amqp_socket_send(amqp_socket_t *self, const void *buf, size_t len, + int flags) { assert(self); assert(self->klass->send); return self->klass->send(self, buf, len, flags); } -ssize_t -amqp_socket_recv(amqp_socket_t *self, void *buf, size_t len, int flags) -{ +ssize_t amqp_socket_recv(amqp_socket_t *self, void *buf, size_t len, + int flags) { assert(self); assert(self->klass->recv); return self->klass->recv(self, buf, len, flags); } -int -amqp_socket_open(amqp_socket_t *self, const char *host, int port) -{ +int amqp_socket_open(amqp_socket_t *self, const char *host, int port) { assert(self); assert(self->klass->open); return self->klass->open(self, host, port, NULL); } -int -amqp_socket_open_noblock(amqp_socket_t *self, const char *host, int port, struct timeval *timeout) -{ +int amqp_socket_open_noblock(amqp_socket_t *self, const char *host, int port, + struct timeval *timeout) { assert(self); assert(self->klass->open); return self->klass->open(self, host, port, timeout); } -int -amqp_socket_close(amqp_socket_t *self, amqp_socket_close_enum force) -{ +int amqp_socket_close(amqp_socket_t *self, amqp_socket_close_enum force) { assert(self); assert(self->klass->close); return self->klass->close(self, force); } -void -amqp_socket_delete(amqp_socket_t *self) -{ +void amqp_socket_delete(amqp_socket_t *self) { if (self) { assert(self->klass->delete); - self->klass->delete(self); + self->klass->delete (self); } } -int -amqp_socket_get_sockfd(amqp_socket_t *self) -{ +int amqp_socket_get_sockfd(amqp_socket_t *self) { assert(self); assert(self->klass->get_sockfd); return self->klass->get_sockfd(self); @@ -255,9 +240,9 @@ start_select: } if (event & AMQP_SF_POLLIN) { - res = select(fd + 1, &fds, NULL, exceptfdsp, tvp); + res = select(fd + 1, &fds, NULL, exceptfdsp, tvp); } else if (event & AMQP_SF_POLLOUT) { - res = select(fd + 1, NULL, &fds, exceptfdsp, tvp); + res = select(fd + 1, NULL, &fds, exceptfdsp, tvp); } if (0 < res) { @@ -273,12 +258,12 @@ start_select: } } #else -# error "poll() or select() is needed to compile rabbitmq-c" +#error "poll() or select() is needed to compile rabbitmq-c" #endif } static ssize_t do_poll(amqp_connection_state_t state, ssize_t res, - amqp_time_t deadline) { + amqp_time_t deadline) { int fd = amqp_get_sockfd(state); if (-1 == fd) { return AMQP_STATUS_SOCKET_CLOSED; @@ -297,7 +282,7 @@ static ssize_t do_poll(amqp_connection_state_t state, ssize_t res, ssize_t amqp_try_send(amqp_connection_state_t state, const void *buf, size_t len, amqp_time_t deadline, int flags) { ssize_t res; - void* buf_left = (void*)buf; + void *buf_left = (void *)buf; /* Assume that len is not going to be larger than ssize_t can hold. */ ssize_t len_left = (size_t)len; @@ -306,7 +291,7 @@ start_send: if (res > 0) { len_left -= res; - buf_left = (char*)buf_left + res; + buf_left = (char *)buf_left + res; if (0 == len_left) { return (ssize_t)len; } @@ -322,18 +307,12 @@ start_send: return res; } -int -amqp_open_socket(char const *hostname, - int portnumber) -{ - return amqp_open_socket_inner(hostname, portnumber, - amqp_time_infinite()); +int amqp_open_socket(char const *hostname, int portnumber) { + return amqp_open_socket_inner(hostname, portnumber, amqp_time_infinite()); } -int amqp_open_socket_noblock(char const *hostname, - int portnumber, - struct timeval *timeout) -{ +int amqp_open_socket_noblock(char const *hostname, int portnumber, + struct timeval *timeout) { amqp_time_t deadline; int res = amqp_time_from_now(&deadline, timeout); if (AMQP_STATUS_OK != res) { @@ -425,8 +404,7 @@ static int connect_socket(struct addrinfo *addr, amqp_time_t deadline) { /* Enable CLOEXEC on socket */ flags = fcntl(sockfd, F_GETFD); - if (flags == -1 - || fcntl(sockfd, F_SETFD, (long)(flags | FD_CLOEXEC)) == -1) { + if (flags == -1 || fcntl(sockfd, F_SETFD, (long)(flags | FD_CLOEXEC)) == -1) { last_error = AMQP_STATUS_SOCKET_ERROR; goto err; } @@ -491,8 +469,7 @@ err: } #endif -int amqp_open_socket_inner(char const *hostname, - int portnumber, +int amqp_open_socket_inner(char const *hostname, int portnumber, amqp_time_t deadline) { struct addrinfo hint; struct addrinfo *address_list; @@ -540,11 +517,14 @@ int amqp_open_socket_inner(char const *hostname, static int send_header_inner(amqp_connection_state_t state, amqp_time_t deadline) { ssize_t res; - static const uint8_t header[8] = { 'A', 'M', 'Q', 'P', 0, - AMQP_PROTOCOL_VERSION_MAJOR, - AMQP_PROTOCOL_VERSION_MINOR, - AMQP_PROTOCOL_VERSION_REVISION - }; + static const uint8_t header[8] = {'A', + 'M', + 'Q', + 'P', + 0, + AMQP_PROTOCOL_VERSION_MAJOR, + AMQP_PROTOCOL_VERSION_MINOR, + AMQP_PROTOCOL_VERSION_REVISION}; res = amqp_try_send(state, header, sizeof(header), deadline, AMQP_SF_NONE); if (sizeof(header) == res) { return AMQP_STATUS_OK; @@ -556,27 +536,25 @@ int amqp_send_header(amqp_connection_state_t state) { return send_header_inner(state, amqp_time_infinite()); } -static amqp_bytes_t sasl_method_name(amqp_sasl_method_enum method) -{ +static amqp_bytes_t sasl_method_name(amqp_sasl_method_enum method) { amqp_bytes_t res; switch (method) { - case AMQP_SASL_METHOD_PLAIN: - res = amqp_cstring_bytes("PLAIN"); - break; - case AMQP_SASL_METHOD_EXTERNAL: - res = amqp_cstring_bytes("EXTERNAL"); - break; + case AMQP_SASL_METHOD_PLAIN: + res = amqp_cstring_bytes("PLAIN"); + break; + case AMQP_SASL_METHOD_EXTERNAL: + res = amqp_cstring_bytes("EXTERNAL"); + break; - default: - amqp_abort("Invalid SASL method: %d", (int) method); + default: + amqp_abort("Invalid SASL method: %d", (int)method); } return res; } -static int bytes_equal(amqp_bytes_t l, amqp_bytes_t r) -{ +static int bytes_equal(amqp_bytes_t l, amqp_bytes_t r) { if (l.len == r.len) { if (l.bytes && r.bytes) { if (0 == memcmp(l.bytes, r.bytes, l.len)) { @@ -588,23 +566,22 @@ static int bytes_equal(amqp_bytes_t l, amqp_bytes_t r) } int sasl_mechanism_in_list(amqp_bytes_t mechanisms, - amqp_sasl_method_enum method) -{ + amqp_sasl_method_enum method) { amqp_bytes_t mechanism; amqp_bytes_t supported_mechanism; - uint8_t* start; - uint8_t* end; - uint8_t* current; + uint8_t *start; + uint8_t *end; + uint8_t *current; assert(NULL != mechanisms.bytes); mechanism = sasl_method_name(method); - start = (uint8_t*)mechanisms.bytes; + start = (uint8_t *)mechanisms.bytes; current = start; end = start + mechanisms.len; - for ( ; current != end; start = current + 1) { + for (; current != end; start = current + 1) { /* HACK: SASL states that we should be parsing this string as a UTF-8 * string, which we're plainly not doing here. At this point its not worth * dragging an entire UTF-8 parser for this one case, and this should work @@ -624,55 +601,53 @@ int sasl_mechanism_in_list(amqp_bytes_t mechanisms, } static amqp_bytes_t sasl_response(amqp_pool_t *pool, - amqp_sasl_method_enum method, - va_list args) -{ + amqp_sasl_method_enum method, va_list args) { amqp_bytes_t response; switch (method) { - case AMQP_SASL_METHOD_PLAIN: { - char *username = va_arg(args, char *); - size_t username_len = strlen(username); - char *password = va_arg(args, char *); - size_t password_len = strlen(password); - char *response_buf; - - amqp_pool_alloc_bytes(pool, strlen(username) + strlen(password) + 2, &response); - if (response.bytes == NULL) + case AMQP_SASL_METHOD_PLAIN: { + char *username = va_arg(args, char *); + size_t username_len = strlen(username); + char *password = va_arg(args, char *); + size_t password_len = strlen(password); + char *response_buf; + + amqp_pool_alloc_bytes(pool, strlen(username) + strlen(password) + 2, + &response); + if (response.bytes == NULL) /* We never request a zero-length block, because of the +2 above, so a NULL here really is ENOMEM. */ - { - return response; + { + return response; + } + + response_buf = response.bytes; + response_buf[0] = 0; + memcpy(response_buf + 1, username, username_len); + response_buf[username_len + 1] = 0; + memcpy(response_buf + username_len + 2, password, password_len); + break; } + case AMQP_SASL_METHOD_EXTERNAL: { + char *identity = va_arg(args, char *); + size_t identity_len = strlen(identity); - response_buf = response.bytes; - response_buf[0] = 0; - memcpy(response_buf + 1, username, username_len); - response_buf[username_len + 1] = 0; - memcpy(response_buf + username_len + 2, password, password_len); - break; - } - case AMQP_SASL_METHOD_EXTERNAL: { - char *identity = va_arg(args, char *); - size_t identity_len = strlen(identity); + amqp_pool_alloc_bytes(pool, identity_len, &response); + if (response.bytes == NULL) { + return response; + } - amqp_pool_alloc_bytes(pool, identity_len, &response); - if (response.bytes == NULL) { - return response; + memcpy(response.bytes, identity, identity_len); + break; } - - memcpy(response.bytes, identity, identity_len); - break; - } - default: - amqp_abort("Invalid SASL method: %d", (int) method); + default: + amqp_abort("Invalid SASL method: %d", (int)method); } return response; } -amqp_boolean_t amqp_frames_enqueued(amqp_connection_state_t state) -{ +amqp_boolean_t amqp_frames_enqueued(amqp_connection_state_t state) { return (state->first_queued_frame != NULL); } @@ -680,18 +655,18 @@ amqp_boolean_t amqp_frames_enqueued(amqp_connection_state_t state) * Check to see if we have data in our buffer. If this returns 1, we * will avoid an immediate blocking read in amqp_simple_wait_frame. */ -amqp_boolean_t amqp_data_in_buffer(amqp_connection_state_t state) -{ +amqp_boolean_t amqp_data_in_buffer(amqp_connection_state_t state) { return (state->sock_inbound_offset < state->sock_inbound_limit); } -static int consume_one_frame(amqp_connection_state_t state, amqp_frame_t *decoded_frame) -{ +static int consume_one_frame(amqp_connection_state_t state, + amqp_frame_t *decoded_frame) { int res; amqp_bytes_t buffer; buffer.len = state->sock_inbound_limit - state->sock_inbound_offset; - buffer.bytes = ((char *) state->sock_inbound_buffer.bytes) + state->sock_inbound_offset; + buffer.bytes = + ((char *)state->sock_inbound_buffer.bytes) + state->sock_inbound_offset; res = amqp_handle_input(state, buffer, decoded_frame); if (res < 0) { @@ -703,8 +678,8 @@ static int consume_one_frame(amqp_connection_state_t state, amqp_frame_t *decode return AMQP_STATUS_OK; } - -static int recv_with_timeout(amqp_connection_state_t state, amqp_time_t timeout) { +static int recv_with_timeout(amqp_connection_state_t state, + amqp_time_t timeout) { ssize_t res; int fd; @@ -815,7 +790,7 @@ static int wait_frame_inner(amqp_connection_state_t state, } } -beginrecv: + beginrecv: res = amqp_time_has_past(state->next_send_heartbeat); if (AMQP_STATUS_TIMER_FAILURE == res) { return res; @@ -855,12 +830,13 @@ beginrecv: } } -static amqp_link_t * amqp_create_link_for_frame(amqp_connection_state_t state, amqp_frame_t *frame) -{ +static amqp_link_t *amqp_create_link_for_frame(amqp_connection_state_t state, + amqp_frame_t *frame) { amqp_link_t *link; amqp_frame_t *frame_copy; - amqp_pool_t *channel_pool = amqp_get_or_create_channel_pool(state, frame->channel); + amqp_pool_t *channel_pool = + amqp_get_or_create_channel_pool(state, frame->channel); if (NULL == channel_pool) { return NULL; @@ -879,8 +855,7 @@ static amqp_link_t * amqp_create_link_for_frame(amqp_connection_state_t state, a return link; } -int amqp_queue_frame(amqp_connection_state_t state, amqp_frame_t *frame) -{ +int amqp_queue_frame(amqp_connection_state_t state, amqp_frame_t *frame) { amqp_link_t *link = amqp_create_link_for_frame(state, frame); if (NULL == link) { return AMQP_STATUS_NO_MEMORY; @@ -898,8 +873,7 @@ int amqp_queue_frame(amqp_connection_state_t state, amqp_frame_t *frame) return AMQP_STATUS_OK; } -int amqp_put_back_frame(amqp_connection_state_t state, amqp_frame_t *frame) -{ +int amqp_put_back_frame(amqp_connection_state_t state, amqp_frame_t *frame) { amqp_link_t *link = amqp_create_link_for_frame(state, frame); if (NULL == link) { return AMQP_STATUS_NO_MEMORY; @@ -919,8 +893,7 @@ int amqp_put_back_frame(amqp_connection_state_t state, amqp_frame_t *frame) int amqp_simple_wait_frame_on_channel(amqp_connection_state_t state, amqp_channel_t channel, - amqp_frame_t *decoded_frame) -{ + amqp_frame_t *decoded_frame) { amqp_frame_t *frame_ptr; amqp_link_t *cur; int res; @@ -959,15 +932,13 @@ int amqp_simple_wait_frame_on_channel(amqp_connection_state_t state, } int amqp_simple_wait_frame(amqp_connection_state_t state, - amqp_frame_t *decoded_frame) -{ + amqp_frame_t *decoded_frame) { return amqp_simple_wait_frame_noblock(state, decoded_frame, NULL); } int amqp_simple_wait_frame_noblock(amqp_connection_state_t state, amqp_frame_t *decoded_frame, - struct timeval *timeout) -{ + struct timeval *timeout) { amqp_time_t deadline; int res = amqp_time_from_now(&deadline, timeout); @@ -976,7 +947,7 @@ int amqp_simple_wait_frame_noblock(amqp_connection_state_t state, } if (state->first_queued_frame != NULL) { - amqp_frame_t *f = (amqp_frame_t *) state->first_queued_frame->data; + amqp_frame_t *f = (amqp_frame_t *)state->first_queued_frame->data; state->first_queued_frame = state->first_queued_frame->next; if (state->first_queued_frame == NULL) { state->last_queued_frame = NULL; @@ -1029,8 +1000,7 @@ static int simple_wait_method_inner(amqp_connection_state_t state, int amqp_simple_wait_method(amqp_connection_state_t state, amqp_channel_t expected_channel, amqp_method_number_t expected_method, - amqp_method_t *output) -{ + amqp_method_t *output) { return simple_wait_method_inner(state, expected_channel, expected_method, amqp_time_infinite(), output); } @@ -1053,10 +1023,10 @@ int amqp_send_method_inner(amqp_connection_state_t state, return amqp_send_frame_inner(state, &frame, flags, deadline); } -static int amqp_id_in_reply_list( amqp_method_number_t expected, amqp_method_number_t *list ) -{ - while ( *list != 0 ) { - if ( *list == expected ) { +static int amqp_id_in_reply_list(amqp_method_number_t expected, + amqp_method_number_t *list) { + while (*list != 0) { + if (*list == expected) { return 1; } list++; @@ -1081,8 +1051,8 @@ static amqp_rpc_reply_t simple_rpc_inner( { amqp_frame_t frame; -retry: - status = wait_frame_inner(state, &frame, deadline); + retry: + status = wait_frame_inner(state, &frame, deadline); if (status < 0) { if (status == AMQP_STATUS_TIMEOUT) { amqp_socket_close(state->socket, AMQP_SC_FORCE); @@ -1098,16 +1068,13 @@ retry: * - on the channel we want, and a channel.close frame, or * - on channel zero, and a connection.close frame. */ - if (!((frame.frame_type == AMQP_FRAME_METHOD) - && ( - ((frame.channel == channel) - && (amqp_id_in_reply_list(frame.payload.method.id, expected_reply_ids) - || (frame.payload.method.id == AMQP_CHANNEL_CLOSE_METHOD))) - || - ((frame.channel == 0) - && (frame.payload.method.id == AMQP_CONNECTION_CLOSE_METHOD)) - ) - )) { + if (!((frame.frame_type == AMQP_FRAME_METHOD) && + (((frame.channel == channel) && + (amqp_id_in_reply_list(frame.payload.method.id, + expected_reply_ids) || + (frame.payload.method.id == AMQP_CHANNEL_CLOSE_METHOD))) || + ((frame.channel == 0) && + (frame.payload.method.id == AMQP_CONNECTION_CLOSE_METHOD))))) { amqp_pool_t *channel_pool; amqp_frame_t *frame_copy; amqp_link_t *link; @@ -1139,9 +1106,10 @@ retry: goto retry; } - result.reply_type = (amqp_id_in_reply_list(frame.payload.method.id, expected_reply_ids)) - ? AMQP_RESPONSE_NORMAL - : AMQP_RESPONSE_SERVER_EXCEPTION; + result.reply_type = + (amqp_id_in_reply_list(frame.payload.method.id, expected_reply_ids)) + ? AMQP_RESPONSE_NORMAL + : AMQP_RESPONSE_SERVER_EXCEPTION; result.reply = frame.payload.method; return result; @@ -1193,8 +1161,7 @@ void *amqp_simple_rpc_decoded(amqp_connection_state_t state, } } -amqp_rpc_reply_t amqp_get_rpc_reply(amqp_connection_state_t state) -{ +amqp_rpc_reply_t amqp_get_rpc_reply(amqp_connection_state_t state) { return state->most_recent_api_result; } @@ -1309,9 +1276,9 @@ static amqp_rpc_reply_t amqp_login_inner( } { - amqp_connection_start_t *s = (amqp_connection_start_t *) method.decoded; - if ((s->version_major != AMQP_PROTOCOL_VERSION_MAJOR) - || (s->version_minor != AMQP_PROTOCOL_VERSION_MINOR)) { + amqp_connection_start_t *s = (amqp_connection_start_t *)method.decoded; + if ((s->version_major != AMQP_PROTOCOL_VERSION_MAJOR) || + (s->version_minor != AMQP_PROTOCOL_VERSION_MINOR)) { res = AMQP_STATUS_INCOMPATIBLE_AMQP_VERSION; goto error_res; } @@ -1347,8 +1314,7 @@ static amqp_rpc_reply_t amqp_login_inner( goto error_res; } - response_bytes = sasl_response(channel_pool, - sasl_method, vl); + response_bytes = sasl_response(channel_pool, sasl_method, vl); if (response_bytes.bytes == NULL) { res = AMQP_STATUS_NO_MEMORY; goto error_res; @@ -1399,8 +1365,8 @@ static amqp_rpc_reply_t amqp_login_inner( amqp_release_buffers(state); { - amqp_method_number_t expected[] = { AMQP_CONNECTION_TUNE_METHOD, - AMQP_CONNECTION_CLOSE_METHOD, 0 }; + amqp_method_number_t expected[] = {AMQP_CONNECTION_TUNE_METHOD, + AMQP_CONNECTION_CLOSE_METHOD, 0}; res = amqp_simple_wait_method_list(state, 0, expected, deadline, &method); if (AMQP_STATUS_OK != res) { @@ -1416,7 +1382,7 @@ static amqp_rpc_reply_t amqp_login_inner( } { - amqp_connection_tune_t *s = (amqp_connection_tune_t *) method.decoded; + amqp_connection_tune_t *s = (amqp_connection_tune_t *)method.decoded; server_channel_max = s->channel_max; server_frame_max = s->frame_max; server_heartbeat = s->heartbeat; @@ -1459,7 +1425,7 @@ static amqp_rpc_reply_t amqp_login_inner( amqp_release_buffers(state); { - amqp_method_number_t replies[] = { AMQP_CONNECTION_OPEN_OK_METHOD, 0 }; + amqp_method_number_t replies[] = {AMQP_CONNECTION_OPEN_OK_METHOD, 0}; amqp_connection_open_t s; s.virtual_host = amqp_cstring_bytes(vhost); s.capabilities = amqp_empty_bytes; @@ -1488,14 +1454,9 @@ error_res: goto out; } -amqp_rpc_reply_t amqp_login(amqp_connection_state_t state, - char const *vhost, - int channel_max, - int frame_max, - int heartbeat, - int sasl_method, - ...) -{ +amqp_rpc_reply_t amqp_login(amqp_connection_state_t state, char const *vhost, + int channel_max, int frame_max, int heartbeat, + int sasl_method, ...) { va_list vl; amqp_rpc_reply_t ret; @@ -1510,15 +1471,10 @@ amqp_rpc_reply_t amqp_login(amqp_connection_state_t state, return ret; } -amqp_rpc_reply_t amqp_login_with_properties(amqp_connection_state_t state, - char const *vhost, - int channel_max, - int frame_max, - int heartbeat, - const amqp_table_t *client_properties, - int sasl_method, - ...) -{ +amqp_rpc_reply_t amqp_login_with_properties( + amqp_connection_state_t state, char const *vhost, int channel_max, + int frame_max, int heartbeat, const amqp_table_t *client_properties, + int sasl_method, ...) { va_list vl; amqp_rpc_reply_t ret; diff --git a/librabbitmq/amqp_socket.h b/librabbitmq/amqp_socket.h index c863956..3101cf6 100644 --- a/librabbitmq/amqp_socket.h +++ b/librabbitmq/amqp_socket.h @@ -44,16 +44,11 @@ typedef enum { AMQP_SF_POLLERR = 8 } amqp_socket_flag_enum; -typedef enum { - AMQP_SC_NONE = 0, - AMQP_SC_FORCE = 1 -} amqp_socket_close_enum; +typedef enum { AMQP_SC_NONE = 0, AMQP_SC_FORCE = 1 } amqp_socket_close_enum; -int -amqp_os_socket_error(void); +int amqp_os_socket_error(void); -int -amqp_os_socket_close(int sockfd); +int amqp_os_socket_close(int sockfd); /* Socket callbacks. */ typedef ssize_t (*amqp_socket_send_fn)(void *, const void *, size_t, int); @@ -78,7 +73,6 @@ struct amqp_socket_t_ { const struct amqp_socket_class_t *klass; }; - /** * Set set the socket object for a connection * @@ -88,9 +82,7 @@ struct amqp_socket_t_ { * \param [in] state The connection object to add the socket to * \param [in] socket The socket object to assign to the connection */ -void -amqp_set_socket(amqp_connection_state_t state, amqp_socket_t *socket); - +void amqp_set_socket(amqp_connection_state_t state, amqp_socket_t *socket); /** * Send a message from a socket. @@ -107,8 +99,8 @@ amqp_set_socket(amqp_connection_state_t state, amqp_socket_t *socket); * * \return AMQP_STATUS_OK on success. amqp_status_enum value otherwise */ -ssize_t -amqp_socket_send(amqp_socket_t *self, const void *buf, size_t len, int flags); +ssize_t amqp_socket_send(amqp_socket_t *self, const void *buf, size_t len, + int flags); ssize_t amqp_try_send(amqp_connection_state_t state, const void *buf, size_t len, amqp_time_t deadline, int flags); @@ -125,8 +117,7 @@ ssize_t amqp_try_send(amqp_connection_state_t state, const void *buf, * * \return The number of bytes received, or < 0 on error (\ref amqp_status_enum) */ -ssize_t -amqp_socket_recv(amqp_socket_t *self, void *buf, size_t len, int flags); +ssize_t amqp_socket_recv(amqp_socket_t *self, void *buf, size_t len, int flags); /** * Close a socket connection and free resources. @@ -141,16 +132,14 @@ amqp_socket_recv(amqp_socket_t *self, void *buf, size_t len, int flags); * * \return Zero upon success, non-zero otherwise. */ -int -amqp_socket_close(amqp_socket_t *self, amqp_socket_close_enum force); +int amqp_socket_close(amqp_socket_t *self, amqp_socket_close_enum force); /** * Destroy a socket object * * \param [in] self the socket object to delete */ -void -amqp_socket_delete(amqp_socket_t *self); +void amqp_socket_delete(amqp_socket_t *self); /** * Open a socket connection. @@ -162,12 +151,13 @@ amqp_socket_delete(amqp_socket_t *self); * * \param [in] host Connect to this host. * \param [in] port Connect on this remote port. - * \param [in] timeout Max allowed time to spent on opening. If NULL - run in blocking mode + * \param [in] timeout Max allowed time to spent on opening. If NULL - run in + * blocking mode * * \return File descriptor upon success, non-zero negative error code otherwise. */ -int -amqp_open_socket_noblock(char const *hostname, int portnumber, struct timeval *timeout); +int amqp_open_socket_noblock(char const *hostname, int portnumber, + struct timeval *timeout); int amqp_open_socket_inner(char const *hostname, int portnumber, amqp_time_t deadline); @@ -180,19 +170,16 @@ int amqp_send_method_inner(amqp_connection_state_t state, amqp_channel_t channel, amqp_method_number_t id, void *decoded, int flags, amqp_time_t deadline); -int -amqp_queue_frame(amqp_connection_state_t state, amqp_frame_t *frame); +int amqp_queue_frame(amqp_connection_state_t state, amqp_frame_t *frame); -int -amqp_put_back_frame(amqp_connection_state_t state, amqp_frame_t *frame); +int amqp_put_back_frame(amqp_connection_state_t state, amqp_frame_t *frame); -int -amqp_simple_wait_frame_on_channel(amqp_connection_state_t state, - amqp_channel_t channel, - amqp_frame_t *decoded_frame); +int amqp_simple_wait_frame_on_channel(amqp_connection_state_t state, + amqp_channel_t channel, + amqp_frame_t *decoded_frame); -int -sasl_mechanism_in_list(amqp_bytes_t mechanisms, amqp_sasl_method_enum method); +int sasl_mechanism_in_list(amqp_bytes_t mechanisms, + amqp_sasl_method_enum method); int amqp_merge_capabilities(const amqp_table_t *base, const amqp_table_t *add, amqp_table_t *result, amqp_pool_t *pool); diff --git a/librabbitmq/amqp_ssl_socket.h b/librabbitmq/amqp_ssl_socket.h index 602f243..b87233d 100644 --- a/librabbitmq/amqp_ssl_socket.h +++ b/librabbitmq/amqp_ssl_socket.h @@ -35,9 +35,9 @@ AMQP_BEGIN_DECLS /** * Create a new SSL/TLS socket object. * - * The returned socket object is owned by the \ref amqp_connection_state_t object - * and will be destroyed when the state object is destroyed or a new socket - * object is created. + * The returned socket object is owned by the \ref amqp_connection_state_t + * object and will be destroyed when the state object is destroyed or a new + * socket object is created. * * If the socket object creation fails, the \ref amqp_connection_state_t object * will not be changed. @@ -45,7 +45,8 @@ AMQP_BEGIN_DECLS * The object returned by this function can be retrieved from the * amqp_connection_state_t object later using the amqp_get_socket() function. * - * Calling this function may result in the underlying SSL library being initialized. + * Calling this function may result in the underlying SSL library being + * initialized. * \sa amqp_set_initialize_ssl_library() * * \param [in,out] state The connection object that owns the SSL/TLS socket @@ -54,9 +55,7 @@ AMQP_BEGIN_DECLS * \since v0.4.0 */ AMQP_PUBLIC_FUNCTION -amqp_socket_t * -AMQP_CALL -amqp_ssl_socket_new(amqp_connection_state_t state); +amqp_socket_t *AMQP_CALL amqp_ssl_socket_new(amqp_connection_state_t state); /** * Set the CA certificate. @@ -70,10 +69,8 @@ amqp_ssl_socket_new(amqp_connection_state_t state); * \since v0.4.0 */ AMQP_PUBLIC_FUNCTION -int -AMQP_CALL -amqp_ssl_socket_set_cacert(amqp_socket_t *self, - const char *cacert); +int AMQP_CALL amqp_ssl_socket_set_cacert(amqp_socket_t *self, + const char *cacert); /** * Set the client key. @@ -88,11 +85,8 @@ amqp_ssl_socket_set_cacert(amqp_socket_t *self, * \since v0.4.0 */ AMQP_PUBLIC_FUNCTION -int -AMQP_CALL -amqp_ssl_socket_set_key(amqp_socket_t *self, - const char *cert, - const char *key); +int AMQP_CALL amqp_ssl_socket_set_key(amqp_socket_t *self, const char *cert, + const char *key); /** * Set the client key from a buffer. @@ -108,12 +102,9 @@ amqp_ssl_socket_set_key(amqp_socket_t *self, * \since v0.4.0 */ AMQP_PUBLIC_FUNCTION -int -AMQP_CALL -amqp_ssl_socket_set_key_buffer(amqp_socket_t *self, - const char *cert, - const void *key, - size_t n); +int AMQP_CALL amqp_ssl_socket_set_key_buffer(amqp_socket_t *self, + const char *cert, const void *key, + size_t n); /** * Enable or disable peer verification. @@ -130,12 +121,8 @@ amqp_ssl_socket_set_key_buffer(amqp_socket_t *self, * * \since v0.4.0 */ -AMQP_DEPRECATED( - AMQP_PUBLIC_FUNCTION - void - AMQP_CALL - amqp_ssl_socket_set_verify(amqp_socket_t *self, amqp_boolean_t verify) -); +AMQP_DEPRECATED(AMQP_PUBLIC_FUNCTION void AMQP_CALL amqp_ssl_socket_set_verify( + amqp_socket_t *self, amqp_boolean_t verify)); /** * Enable or disable peer verification. @@ -149,9 +136,8 @@ AMQP_DEPRECATED( * \since v0.8.0 */ AMQP_PUBLIC_FUNCTION -void -AMQP_CALL -amqp_ssl_socket_set_verify_peer(amqp_socket_t *self, amqp_boolean_t verify); +void AMQP_CALL amqp_ssl_socket_set_verify_peer(amqp_socket_t *self, + amqp_boolean_t verify); /** * Enable or disable hostname verification. @@ -163,9 +149,8 @@ amqp_ssl_socket_set_verify_peer(amqp_socket_t *self, amqp_boolean_t verify); * \since v0.8.0 */ AMQP_PUBLIC_FUNCTION -void -AMQP_CALL -amqp_ssl_socket_set_verify_hostname(amqp_socket_t *self, amqp_boolean_t verify); +void AMQP_CALL amqp_ssl_socket_set_verify_hostname(amqp_socket_t *self, + amqp_boolean_t verify); typedef enum { AMQP_TLSv1 = 1, @@ -191,11 +176,9 @@ typedef enum { * \since v0.8.0 */ AMQP_PUBLIC_FUNCTION -int -AMQP_CALL -amqp_ssl_socket_set_ssl_versions(amqp_socket_t *self, - amqp_tls_version_t min, - amqp_tls_version_t max); +int AMQP_CALL amqp_ssl_socket_set_ssl_versions(amqp_socket_t *self, + amqp_tls_version_t min, + amqp_tls_version_t max); /** * Sets whether rabbitmq-c initializes the underlying SSL library. @@ -222,9 +205,7 @@ amqp_ssl_socket_set_ssl_versions(amqp_socket_t *self, * \since v0.4.0 */ AMQP_PUBLIC_FUNCTION -void -AMQP_CALL -amqp_set_initialize_ssl_library(amqp_boolean_t do_initialize); +void AMQP_CALL amqp_set_initialize_ssl_library(amqp_boolean_t do_initialize); AMQP_END_DECLS diff --git a/librabbitmq/amqp_table.c b/librabbitmq/amqp_table.c index a170be2..5b61220 100644 --- a/librabbitmq/amqp_table.c +++ b/librabbitmq/amqp_table.c @@ -48,22 +48,16 @@ #define INITIAL_ARRAY_SIZE 16 #define INITIAL_TABLE_SIZE 16 -static int amqp_decode_field_value(amqp_bytes_t encoded, - amqp_pool_t *pool, - amqp_field_value_t *entry, - size_t *offset); +static int amqp_decode_field_value(amqp_bytes_t encoded, amqp_pool_t *pool, + amqp_field_value_t *entry, size_t *offset); static int amqp_encode_field_value(amqp_bytes_t encoded, - amqp_field_value_t *entry, - size_t *offset); + amqp_field_value_t *entry, size_t *offset); /*---------------------------------------------------------------------------*/ -static int amqp_decode_array(amqp_bytes_t encoded, - amqp_pool_t *pool, - amqp_array_t *output, - size_t *offset) -{ +static int amqp_decode_array(amqp_bytes_t encoded, amqp_pool_t *pool, + amqp_array_t *output, size_t *offset) { uint32_t arraysize; int num_entries = 0; int allocated_entries = INITIAL_ARRAY_SIZE; @@ -85,7 +79,8 @@ static int amqp_decode_array(amqp_bytes_t encoded, if (num_entries >= allocated_entries) { void *newentries; allocated_entries = allocated_entries * 2; - newentries = realloc(entries, allocated_entries * sizeof(amqp_field_value_t)); + newentries = + realloc(entries, allocated_entries * sizeof(amqp_field_value_t)); res = AMQP_STATUS_NO_MEMORY; if (newentries == NULL) { goto out; @@ -94,8 +89,7 @@ static int amqp_decode_array(amqp_bytes_t encoded, entries = newentries; } - res = amqp_decode_field_value(encoded, pool, &entries[num_entries], - offset); + res = amqp_decode_field_value(encoded, pool, &entries[num_entries], offset); if (res < 0) { goto out; } @@ -104,7 +98,8 @@ static int amqp_decode_array(amqp_bytes_t encoded, } output->num_entries = num_entries; - output->entries = amqp_pool_alloc(pool, num_entries * sizeof(amqp_field_value_t)); + output->entries = + amqp_pool_alloc(pool, num_entries * sizeof(amqp_field_value_t)); /* NULL is legitimate if we requested a zero-length block. */ if (output->entries == NULL) { if (num_entries == 0) { @@ -123,11 +118,8 @@ out: return res; } -int amqp_decode_table(amqp_bytes_t encoded, - amqp_pool_t *pool, - amqp_table_t *output, - size_t *offset) -{ +int amqp_decode_table(amqp_bytes_t encoded, amqp_pool_t *pool, + amqp_table_t *output, size_t *offset) { uint32_t tablesize; int num_entries = 0; amqp_table_entry_t *entries; @@ -156,7 +148,8 @@ int amqp_decode_table(amqp_bytes_t encoded, if (num_entries >= allocated_entries) { void *newentries; allocated_entries = allocated_entries * 2; - newentries = realloc(entries, allocated_entries * sizeof(amqp_table_entry_t)); + newentries = + realloc(entries, allocated_entries * sizeof(amqp_table_entry_t)); res = AMQP_STATUS_NO_MEMORY; if (newentries == NULL) { goto out; @@ -166,7 +159,8 @@ int amqp_decode_table(amqp_bytes_t encoded, } res = AMQP_STATUS_BAD_AMQP_DATA; - if (!amqp_decode_bytes(encoded, offset, &entries[num_entries].key, keylen)) { + if (!amqp_decode_bytes(encoded, offset, &entries[num_entries].key, + keylen)) { goto out; } @@ -180,7 +174,8 @@ int amqp_decode_table(amqp_bytes_t encoded, } output->num_entries = num_entries; - output->entries = amqp_pool_alloc(pool, num_entries * sizeof(amqp_table_entry_t)); + output->entries = + amqp_pool_alloc(pool, num_entries * sizeof(amqp_table_entry_t)); /* NULL is legitimate if we requested a zero-length block. */ if (output->entries == NULL) { if (num_entries == 0) { @@ -199,88 +194,93 @@ out: return res; } -static int amqp_decode_field_value(amqp_bytes_t encoded, - amqp_pool_t *pool, - amqp_field_value_t *entry, - size_t *offset) -{ +static int amqp_decode_field_value(amqp_bytes_t encoded, amqp_pool_t *pool, + amqp_field_value_t *entry, size_t *offset) { int res = AMQP_STATUS_BAD_AMQP_DATA; if (!amqp_decode_8(encoded, offset, &entry->kind)) { goto out; } -#define TRIVIAL_FIELD_DECODER(bits) if (!amqp_decode_##bits(encoded, offset, &entry->value.u##bits)) goto out; break -#define SIMPLE_FIELD_DECODER(bits, dest, how) { uint##bits##_t val; if (!amqp_decode_##bits(encoded, offset, &val)) goto out; entry->value.dest = how; } break +#define TRIVIAL_FIELD_DECODER(bits) \ + if (!amqp_decode_##bits(encoded, offset, &entry->value.u##bits)) goto out; \ + break +#define SIMPLE_FIELD_DECODER(bits, dest, how) \ + { \ + uint##bits##_t val; \ + if (!amqp_decode_##bits(encoded, offset, &val)) goto out; \ + entry->value.dest = how; \ + } \ + break switch (entry->kind) { - case AMQP_FIELD_KIND_BOOLEAN: - SIMPLE_FIELD_DECODER(8, boolean, val ? 1 : 0); - - case AMQP_FIELD_KIND_I8: - SIMPLE_FIELD_DECODER(8, i8, (int8_t)val); - case AMQP_FIELD_KIND_U8: - TRIVIAL_FIELD_DECODER(8); - - case AMQP_FIELD_KIND_I16: - SIMPLE_FIELD_DECODER(16, i16, (int16_t)val); - case AMQP_FIELD_KIND_U16: - TRIVIAL_FIELD_DECODER(16); - - case AMQP_FIELD_KIND_I32: - SIMPLE_FIELD_DECODER(32, i32, (int32_t)val); - case AMQP_FIELD_KIND_U32: - TRIVIAL_FIELD_DECODER(32); - - case AMQP_FIELD_KIND_I64: - SIMPLE_FIELD_DECODER(64, i64, (int64_t)val); - case AMQP_FIELD_KIND_U64: - TRIVIAL_FIELD_DECODER(64); - - case AMQP_FIELD_KIND_F32: - TRIVIAL_FIELD_DECODER(32); + case AMQP_FIELD_KIND_BOOLEAN: + SIMPLE_FIELD_DECODER(8, boolean, val ? 1 : 0); + + case AMQP_FIELD_KIND_I8: + SIMPLE_FIELD_DECODER(8, i8, (int8_t)val); + case AMQP_FIELD_KIND_U8: + TRIVIAL_FIELD_DECODER(8); + + case AMQP_FIELD_KIND_I16: + SIMPLE_FIELD_DECODER(16, i16, (int16_t)val); + case AMQP_FIELD_KIND_U16: + TRIVIAL_FIELD_DECODER(16); + + case AMQP_FIELD_KIND_I32: + SIMPLE_FIELD_DECODER(32, i32, (int32_t)val); + case AMQP_FIELD_KIND_U32: + TRIVIAL_FIELD_DECODER(32); + + case AMQP_FIELD_KIND_I64: + SIMPLE_FIELD_DECODER(64, i64, (int64_t)val); + case AMQP_FIELD_KIND_U64: + TRIVIAL_FIELD_DECODER(64); + + case AMQP_FIELD_KIND_F32: + TRIVIAL_FIELD_DECODER(32); /* and by punning, f32 magically gets the right value...! */ - case AMQP_FIELD_KIND_F64: - TRIVIAL_FIELD_DECODER(64); + case AMQP_FIELD_KIND_F64: + TRIVIAL_FIELD_DECODER(64); /* and by punning, f64 magically gets the right value...! */ - case AMQP_FIELD_KIND_DECIMAL: - if (!amqp_decode_8(encoded, offset, &entry->value.decimal.decimals) - || !amqp_decode_32(encoded, offset, &entry->value.decimal.value)) { - goto out; - } - break; + case AMQP_FIELD_KIND_DECIMAL: + if (!amqp_decode_8(encoded, offset, &entry->value.decimal.decimals) || + !amqp_decode_32(encoded, offset, &entry->value.decimal.value)) { + goto out; + } + break; - case AMQP_FIELD_KIND_UTF8: + case AMQP_FIELD_KIND_UTF8: /* AMQP_FIELD_KIND_UTF8 and AMQP_FIELD_KIND_BYTES have the same implementation, but different interpretations. */ /* fall through */ - case AMQP_FIELD_KIND_BYTES: { - uint32_t len; - if (!amqp_decode_32(encoded, offset, &len) - || !amqp_decode_bytes(encoded, offset, &entry->value.bytes, len)) { - goto out; + case AMQP_FIELD_KIND_BYTES: { + uint32_t len; + if (!amqp_decode_32(encoded, offset, &len) || + !amqp_decode_bytes(encoded, offset, &entry->value.bytes, len)) { + goto out; + } + break; } - break; - } - case AMQP_FIELD_KIND_ARRAY: - res = amqp_decode_array(encoded, pool, &(entry->value.array), offset); - goto out; + case AMQP_FIELD_KIND_ARRAY: + res = amqp_decode_array(encoded, pool, &(entry->value.array), offset); + goto out; - case AMQP_FIELD_KIND_TIMESTAMP: - TRIVIAL_FIELD_DECODER(64); + case AMQP_FIELD_KIND_TIMESTAMP: + TRIVIAL_FIELD_DECODER(64); - case AMQP_FIELD_KIND_TABLE: - res = amqp_decode_table(encoded, pool, &(entry->value.table), offset); - goto out; + case AMQP_FIELD_KIND_TABLE: + res = amqp_decode_table(encoded, pool, &(entry->value.table), offset); + goto out; - case AMQP_FIELD_KIND_VOID: - break; + case AMQP_FIELD_KIND_VOID: + break; - default: - goto out; + default: + goto out; } res = AMQP_STATUS_OK; @@ -291,10 +291,8 @@ out: /*---------------------------------------------------------------------------*/ -static int amqp_encode_array(amqp_bytes_t encoded, - amqp_array_t *input, - size_t *offset) -{ +static int amqp_encode_array(amqp_bytes_t encoded, amqp_array_t *input, + size_t *offset) { size_t start = *offset; int i, res; @@ -318,10 +316,8 @@ out: return res; } -int amqp_encode_table(amqp_bytes_t encoded, - amqp_table_t *input, - size_t *offset) -{ +int amqp_encode_table(amqp_bytes_t encoded, amqp_table_t *input, + size_t *offset) { size_t start = *offset; int i, res; @@ -356,90 +352,89 @@ out: } static int amqp_encode_field_value(amqp_bytes_t encoded, - amqp_field_value_t *entry, - size_t *offset) -{ + amqp_field_value_t *entry, size_t *offset) { int res = AMQP_STATUS_BAD_AMQP_DATA; if (!amqp_encode_8(encoded, offset, entry->kind)) { goto out; } -#define FIELD_ENCODER(bits, val) if (!amqp_encode_##bits(encoded, offset, val)) { \ - res = AMQP_STATUS_TABLE_TOO_BIG; \ - goto out; \ - } \ - break +#define FIELD_ENCODER(bits, val) \ + if (!amqp_encode_##bits(encoded, offset, val)) { \ + res = AMQP_STATUS_TABLE_TOO_BIG; \ + goto out; \ + } \ + break switch (entry->kind) { - case AMQP_FIELD_KIND_BOOLEAN: - FIELD_ENCODER(8, entry->value.boolean ? 1 : 0); - - case AMQP_FIELD_KIND_I8: - FIELD_ENCODER(8, entry->value.i8); - case AMQP_FIELD_KIND_U8: - FIELD_ENCODER(8, entry->value.u8); - - case AMQP_FIELD_KIND_I16: - FIELD_ENCODER(16, entry->value.i16); - case AMQP_FIELD_KIND_U16: - FIELD_ENCODER(16, entry->value.u16); - - case AMQP_FIELD_KIND_I32: - FIELD_ENCODER(32, entry->value.i32); - case AMQP_FIELD_KIND_U32: - FIELD_ENCODER(32, entry->value.u32); - - case AMQP_FIELD_KIND_I64: - FIELD_ENCODER(64, entry->value.i64); - case AMQP_FIELD_KIND_U64: - FIELD_ENCODER(64, entry->value.u64); - - case AMQP_FIELD_KIND_F32: - /* by punning, u32 magically gets the right value...! */ - FIELD_ENCODER(32, entry->value.u32); - - case AMQP_FIELD_KIND_F64: - /* by punning, u64 magically gets the right value...! */ - FIELD_ENCODER(64, entry->value.u64); - - case AMQP_FIELD_KIND_DECIMAL: - if (!amqp_encode_8(encoded, offset, entry->value.decimal.decimals) - || !amqp_encode_32(encoded, offset, entry->value.decimal.value)) { - res = AMQP_STATUS_TABLE_TOO_BIG; - goto out; - } - break; + case AMQP_FIELD_KIND_BOOLEAN: + FIELD_ENCODER(8, entry->value.boolean ? 1 : 0); + + case AMQP_FIELD_KIND_I8: + FIELD_ENCODER(8, entry->value.i8); + case AMQP_FIELD_KIND_U8: + FIELD_ENCODER(8, entry->value.u8); + + case AMQP_FIELD_KIND_I16: + FIELD_ENCODER(16, entry->value.i16); + case AMQP_FIELD_KIND_U16: + FIELD_ENCODER(16, entry->value.u16); + + case AMQP_FIELD_KIND_I32: + FIELD_ENCODER(32, entry->value.i32); + case AMQP_FIELD_KIND_U32: + FIELD_ENCODER(32, entry->value.u32); + + case AMQP_FIELD_KIND_I64: + FIELD_ENCODER(64, entry->value.i64); + case AMQP_FIELD_KIND_U64: + FIELD_ENCODER(64, entry->value.u64); + + case AMQP_FIELD_KIND_F32: + /* by punning, u32 magically gets the right value...! */ + FIELD_ENCODER(32, entry->value.u32); + + case AMQP_FIELD_KIND_F64: + /* by punning, u64 magically gets the right value...! */ + FIELD_ENCODER(64, entry->value.u64); + + case AMQP_FIELD_KIND_DECIMAL: + if (!amqp_encode_8(encoded, offset, entry->value.decimal.decimals) || + !amqp_encode_32(encoded, offset, entry->value.decimal.value)) { + res = AMQP_STATUS_TABLE_TOO_BIG; + goto out; + } + break; - case AMQP_FIELD_KIND_UTF8: + case AMQP_FIELD_KIND_UTF8: /* AMQP_FIELD_KIND_UTF8 and AMQP_FIELD_KIND_BYTES have the same implementation, but different interpretations. */ /* fall through */ - case AMQP_FIELD_KIND_BYTES: - if (!amqp_encode_32(encoded, offset, (uint32_t)entry->value.bytes.len) - || !amqp_encode_bytes(encoded, offset, entry->value.bytes)) { - res = AMQP_STATUS_TABLE_TOO_BIG; - goto out; - } - break; + case AMQP_FIELD_KIND_BYTES: + if (!amqp_encode_32(encoded, offset, (uint32_t)entry->value.bytes.len) || + !amqp_encode_bytes(encoded, offset, entry->value.bytes)) { + res = AMQP_STATUS_TABLE_TOO_BIG; + goto out; + } + break; - case AMQP_FIELD_KIND_ARRAY: - res = amqp_encode_array(encoded, &entry->value.array, offset); - goto out; + case AMQP_FIELD_KIND_ARRAY: + res = amqp_encode_array(encoded, &entry->value.array, offset); + goto out; - case AMQP_FIELD_KIND_TIMESTAMP: - FIELD_ENCODER(64, entry->value.u64); + case AMQP_FIELD_KIND_TIMESTAMP: + FIELD_ENCODER(64, entry->value.u64); - case AMQP_FIELD_KIND_TABLE: - res = amqp_encode_table(encoded, &entry->value.table, offset); - goto out; + case AMQP_FIELD_KIND_TABLE: + res = amqp_encode_table(encoded, &entry->value.table, offset); + goto out; - case AMQP_FIELD_KIND_VOID: - break; + case AMQP_FIELD_KIND_VOID: + break; - default: - res = AMQP_STATUS_INVALID_PARAMETER; - goto out; + default: + res = AMQP_STATUS_INVALID_PARAMETER; + goto out; } res = AMQP_STATUS_OK; @@ -450,10 +445,9 @@ out: /*---------------------------------------------------------------------------*/ -int amqp_table_entry_cmp(void const *entry1, void const *entry2) -{ - amqp_table_entry_t const *p1 = (amqp_table_entry_t const *) entry1; - amqp_table_entry_t const *p2 = (amqp_table_entry_t const *) entry2; +int amqp_table_entry_cmp(void const *entry1, void const *entry2) { + amqp_table_entry_t const *p1 = (amqp_table_entry_t const *)entry1; + amqp_table_entry_t const *p2 = (amqp_table_entry_t const *)entry2; int d; size_t minlen; @@ -471,9 +465,9 @@ int amqp_table_entry_cmp(void const *entry1, void const *entry2) return (int)p1->key.len - (int)p2->key.len; } -static int -amqp_field_value_clone(const amqp_field_value_t *original, amqp_field_value_t *clone, amqp_pool_t *pool) -{ +static int amqp_field_value_clone(const amqp_field_value_t *original, + amqp_field_value_t *clone, + amqp_pool_t *pool) { int i; int res; clone->kind = original->kind; @@ -533,11 +527,13 @@ amqp_field_value_clone(const amqp_field_value_t *original, amqp_field_value_t *c if (0 == original->value.bytes.len) { clone->value.bytes = amqp_empty_bytes; } else { - amqp_pool_alloc_bytes(pool, original->value.bytes.len, &clone->value.bytes); + amqp_pool_alloc_bytes(pool, original->value.bytes.len, + &clone->value.bytes); if (NULL == clone->value.bytes.bytes) { return AMQP_STATUS_NO_MEMORY; } - memcpy(clone->value.bytes.bytes, original->value.bytes.bytes, clone->value.bytes.len); + memcpy(clone->value.bytes.bytes, original->value.bytes.bytes, + clone->value.bytes.len); } break; @@ -546,13 +542,15 @@ amqp_field_value_clone(const amqp_field_value_t *original, amqp_field_value_t *c clone->value.array = amqp_empty_array; } else { clone->value.array.num_entries = original->value.array.num_entries; - clone->value.array.entries = amqp_pool_alloc(pool, clone->value.array.num_entries * sizeof(amqp_field_value_t)); + clone->value.array.entries = amqp_pool_alloc( + pool, clone->value.array.num_entries * sizeof(amqp_field_value_t)); if (NULL == clone->value.array.entries) { return AMQP_STATUS_NO_MEMORY; } for (i = 0; i < clone->value.array.num_entries; ++i) { - res = amqp_field_value_clone(&original->value.array.entries[i], &clone->value.array.entries[i], pool); + res = amqp_field_value_clone(&original->value.array.entries[i], + &clone->value.array.entries[i], pool); if (AMQP_STATUS_OK != res) { return res; } @@ -561,7 +559,8 @@ amqp_field_value_clone(const amqp_field_value_t *original, amqp_field_value_t *c break; case AMQP_FIELD_KIND_TABLE: - return amqp_table_clone(&original->value.table, &clone->value.table, pool); + return amqp_table_clone(&original->value.table, &clone->value.table, + pool); case AMQP_FIELD_KIND_VOID: break; @@ -573,10 +572,9 @@ amqp_field_value_clone(const amqp_field_value_t *original, amqp_field_value_t *c return AMQP_STATUS_OK; } - -static int -amqp_table_entry_clone(const amqp_table_entry_t *original, amqp_table_entry_t *clone, amqp_pool_t *pool) -{ +static int amqp_table_entry_clone(const amqp_table_entry_t *original, + amqp_table_entry_t *clone, + amqp_pool_t *pool) { if (0 == original->key.len) { return AMQP_STATUS_INVALID_PARAMETER; } @@ -591,9 +589,8 @@ amqp_table_entry_clone(const amqp_table_entry_t *original, amqp_table_entry_t *c return amqp_field_value_clone(&original->value, &clone->value, pool); } -int -amqp_table_clone(const amqp_table_t *original, amqp_table_t *clone, amqp_pool_t *pool) -{ +int amqp_table_clone(const amqp_table_t *original, amqp_table_t *clone, + amqp_pool_t *pool) { int i; int res; clone->num_entries = original->num_entries; @@ -602,14 +599,16 @@ amqp_table_clone(const amqp_table_t *original, amqp_table_t *clone, amqp_pool_t return AMQP_STATUS_OK; } - clone->entries = amqp_pool_alloc(pool, clone->num_entries * sizeof(amqp_table_entry_t)); + clone->entries = + amqp_pool_alloc(pool, clone->num_entries * sizeof(amqp_table_entry_t)); if (NULL == clone->entries) { return AMQP_STATUS_NO_MEMORY; } for (i = 0; i < clone->num_entries; ++i) { - res = amqp_table_entry_clone(&original->entries[i], &clone->entries[i], pool); + res = + amqp_table_entry_clone(&original->entries[i], &clone->entries[i], pool); if (AMQP_STATUS_OK != res) { goto error_out1; } diff --git a/librabbitmq/amqp_table.h b/librabbitmq/amqp_table.h index 8bb2cd2..7b009a9 100644 --- a/librabbitmq/amqp_table.h +++ b/librabbitmq/amqp_table.h @@ -78,4 +78,4 @@ amqp_table_entry_t amqp_table_construct_bool_entry(const char *key, amqp_table_entry_t *amqp_table_get_entry_by_key(const amqp_table_t *table, const amqp_bytes_t key); -#endif /* AMQP_TABLE_H */ +#endif /* AMQP_TABLE_H */ diff --git a/librabbitmq/amqp_tcp_socket.c b/librabbitmq/amqp_tcp_socket.c index f0b63b3..12e02cd 100644 --- a/librabbitmq/amqp_tcp_socket.c +++ b/librabbitmq/amqp_tcp_socket.c @@ -29,14 +29,14 @@ #include #if ((defined(_WIN32)) || (defined(__MINGW32__)) || (defined(__MINGW64__))) -# ifndef WIN32_LEAN_AND_MEAN -# define WIN32_LEAN_AND_MEAN -# endif -# include +#ifndef WIN32_LEAN_AND_MEAN +#define WIN32_LEAN_AND_MEAN +#endif +#include #else -# include -# include -# include +#include +#include +#include #endif #include #include @@ -48,10 +48,8 @@ struct amqp_tcp_socket_t { int state; }; - -static ssize_t -amqp_tcp_socket_send(void *base, const void *buf, size_t len, int flags) -{ +static ssize_t amqp_tcp_socket_send(void *base, const void *buf, size_t len, + int flags) { struct amqp_tcp_socket_t *self = (struct amqp_tcp_socket_t *)base; ssize_t res; int flagz = 0; @@ -68,8 +66,8 @@ amqp_tcp_socket_send(void *base, const void *buf, size_t len, int flags) if (flags & AMQP_SF_MORE) { flagz |= MSG_MORE; } - /* Cygwin defines TCP_NOPUSH, but trying to use it will return not - * implemented. Disable it here. */ +/* Cygwin defines TCP_NOPUSH, but trying to use it will return not + * implemented. Disable it here. */ #elif defined(TCP_NOPUSH) && !defined(__CYGWIN__) if (flags & AMQP_SF_MORE && !(self->state & AMQP_SF_MORE)) { int one = 1; @@ -80,14 +78,15 @@ amqp_tcp_socket_send(void *base, const void *buf, size_t len, int flags) } self->state |= AMQP_SF_MORE; } else if (!(flags & AMQP_SF_MORE) && self->state & AMQP_SF_MORE) { - int zero = 0; - res = setsockopt(self->sockfd, IPPROTO_TCP, TCP_NOPUSH, &zero, sizeof(&zero)); - if (0 != res) { - self->internal_error = res; - res = AMQP_STATUS_SOCKET_ERROR; - } else { - self->state &= ~AMQP_SF_MORE; - } + int zero = 0; + res = + setsockopt(self->sockfd, IPPROTO_TCP, TCP_NOPUSH, &zero, sizeof(&zero)); + if (0 != res) { + self->internal_error = res; + res = AMQP_STATUS_SOCKET_ERROR; + } else { + self->state &= ~AMQP_SF_MORE; + } } #endif @@ -123,9 +122,8 @@ start: return res; } -static ssize_t -amqp_tcp_socket_recv(void *base, void *buf, size_t len, int flags) -{ +static ssize_t amqp_tcp_socket_recv(void *base, void *buf, size_t len, + int flags) { struct amqp_tcp_socket_t *self = (struct amqp_tcp_socket_t *)base; ssize_t ret; if (-1 == self->sockfd) { @@ -164,9 +162,8 @@ start: return ret; } -static int -amqp_tcp_socket_open(void *base, const char *host, int port, struct timeval *timeout) -{ +static int amqp_tcp_socket_open(void *base, const char *host, int port, + struct timeval *timeout) { struct amqp_tcp_socket_t *self = (struct amqp_tcp_socket_t *)base; if (-1 != self->sockfd) { return AMQP_STATUS_SOCKET_INUSE; @@ -180,9 +177,8 @@ amqp_tcp_socket_open(void *base, const char *host, int port, struct timeval *tim return AMQP_STATUS_OK; } -static int -amqp_tcp_socket_close(void *base, AMQP_UNUSED amqp_socket_close_enum force) -{ +static int amqp_tcp_socket_close(void *base, + AMQP_UNUSED amqp_socket_close_enum force) { struct amqp_tcp_socket_t *self = (struct amqp_tcp_socket_t *)base; if (-1 == self->sockfd) { return AMQP_STATUS_SOCKET_CLOSED; @@ -196,16 +192,12 @@ amqp_tcp_socket_close(void *base, AMQP_UNUSED amqp_socket_close_enum force) return AMQP_STATUS_OK; } -static int -amqp_tcp_socket_get_sockfd(void *base) -{ +static int amqp_tcp_socket_get_sockfd(void *base) { struct amqp_tcp_socket_t *self = (struct amqp_tcp_socket_t *)base; return self->sockfd; } -static void -amqp_tcp_socket_delete(void *base) -{ +static void amqp_tcp_socket_delete(void *base) { struct amqp_tcp_socket_t *self = (struct amqp_tcp_socket_t *)base; if (self) { @@ -215,17 +207,15 @@ amqp_tcp_socket_delete(void *base) } static const struct amqp_socket_class_t amqp_tcp_socket_class = { - amqp_tcp_socket_send, /* send */ - amqp_tcp_socket_recv, /* recv */ - amqp_tcp_socket_open, /* open */ - amqp_tcp_socket_close, /* close */ - amqp_tcp_socket_get_sockfd, /* get_sockfd */ - amqp_tcp_socket_delete /* delete */ + amqp_tcp_socket_send, /* send */ + amqp_tcp_socket_recv, /* recv */ + amqp_tcp_socket_open, /* open */ + amqp_tcp_socket_close, /* close */ + amqp_tcp_socket_get_sockfd, /* get_sockfd */ + amqp_tcp_socket_delete /* delete */ }; -amqp_socket_t * -amqp_tcp_socket_new(amqp_connection_state_t state) -{ +amqp_socket_t *amqp_tcp_socket_new(amqp_connection_state_t state) { struct amqp_tcp_socket_t *self = calloc(1, sizeof(*self)); if (!self) { return NULL; @@ -238,9 +228,7 @@ amqp_tcp_socket_new(amqp_connection_state_t state) return (amqp_socket_t *)self; } -void -amqp_tcp_socket_set_sockfd(amqp_socket_t *base, int sockfd) -{ +void amqp_tcp_socket_set_sockfd(amqp_socket_t *base, int sockfd) { struct amqp_tcp_socket_t *self; if (base->klass != &amqp_tcp_socket_class) { amqp_abort("<%p> is not of type amqp_tcp_socket_t", base); diff --git a/librabbitmq/amqp_tcp_socket.h b/librabbitmq/amqp_tcp_socket.h index dec0c1e..3e9d82f 100644 --- a/librabbitmq/amqp_tcp_socket.h +++ b/librabbitmq/amqp_tcp_socket.h @@ -46,9 +46,7 @@ AMQP_BEGIN_DECLS * \since v0.4.0 */ AMQP_PUBLIC_FUNCTION -amqp_socket_t * -AMQP_CALL -amqp_tcp_socket_new(amqp_connection_state_t state); +amqp_socket_t *AMQP_CALL amqp_tcp_socket_new(amqp_connection_state_t state); /** * Assign an open file descriptor to a socket object. @@ -63,9 +61,7 @@ amqp_tcp_socket_new(amqp_connection_state_t state); * \since v0.4.0 */ AMQP_PUBLIC_FUNCTION -void -AMQP_CALL -amqp_tcp_socket_set_sockfd(amqp_socket_t *self, int sockfd); +void AMQP_CALL amqp_tcp_socket_set_sockfd(amqp_socket_t *self, int sockfd); AMQP_END_DECLS diff --git a/librabbitmq/amqp_time.c b/librabbitmq/amqp_time.c index 5764695..7b0a42d 100644 --- a/librabbitmq/amqp_time.c +++ b/librabbitmq/amqp_time.c @@ -20,30 +20,28 @@ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER * DEALINGS IN THE SOFTWARE. */ -#include "amqp.h" #include "amqp_time.h" +#include "amqp.h" #include #include #include -#if (defined(_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__MINGW32__) || defined(__MINGW64__)) -# define AMQP_WIN_TIMER_API +#if (defined(_WIN32) || defined(__WIN32__) || defined(WIN32) || \ + defined(__MINGW32__) || defined(__MINGW64__)) +#define AMQP_WIN_TIMER_API #elif (defined(machintosh) || defined(__APPLE__) || defined(__APPLE_CC__)) -# define AMQP_MAC_TIMER_API +#define AMQP_MAC_TIMER_API #else -# define AMQP_POSIX_TIMER_API +#define AMQP_POSIX_TIMER_API #endif - #ifdef AMQP_WIN_TIMER_API #ifndef WIN32_LEAN_AND_MEAN -# define WIN32_LEAN_AND_MEAN +#define WIN32_LEAN_AND_MEAN #endif #include -uint64_t -amqp_get_monotonic_timestamp(void) -{ +uint64_t amqp_get_monotonic_timestamp(void) { static double NS_PER_COUNT = 0; LARGE_INTEGER perf_count; @@ -64,11 +62,9 @@ amqp_get_monotonic_timestamp(void) #endif /* AMQP_WIN_TIMER_API */ #ifdef AMQP_MAC_TIMER_API -# include +#include -uint64_t -amqp_get_monotonic_timestamp(void) -{ +uint64_t amqp_get_monotonic_timestamp(void) { static mach_timebase_info_data_t s_timebase = {0, 0}; uint64_t timestamp; @@ -91,9 +87,7 @@ amqp_get_monotonic_timestamp(void) #ifdef AMQP_POSIX_TIMER_API #include -uint64_t -amqp_get_monotonic_timestamp(void) -{ +uint64_t amqp_get_monotonic_timestamp(void) { #ifdef __hpux return (uint64_t)gethrtime(); #else diff --git a/librabbitmq/amqp_time.h b/librabbitmq/amqp_time.h index 216b663..194bf67 100644 --- a/librabbitmq/amqp_time.h +++ b/librabbitmq/amqp_time.h @@ -26,20 +26,20 @@ #include #if ((defined(_WIN32)) || (defined(__MINGW32__)) || (defined(__MINGW64__))) -# ifndef WINVER -# define WINVER 0x0502 -# endif -# ifndef WIN32_LEAN_AND_MEAN -# define WIN32_LEAN_AND_MEAN -# endif -# include +#ifndef WINVER +#define WINVER 0x0502 +#endif +#ifndef WIN32_LEAN_AND_MEAN +#define WIN32_LEAN_AND_MEAN +#endif +#include #else -# include +#include #endif -#define AMQP_MS_PER_S 1000 +#define AMQP_MS_PER_S 1000 #define AMQP_US_PER_MS 1000 -#define AMQP_NS_PER_S 1000000000 +#define AMQP_NS_PER_S 1000000000 #define AMQP_NS_PER_MS 1000000 #define AMQP_NS_PER_US 1000 @@ -53,9 +53,7 @@ * - UINT64_MAX: means 'at infinity', its mean for polls with an infinite * timeout */ -typedef struct amqp_time_t_ { - uint64_t time_point_ns; -} amqp_time_t; +typedef struct amqp_time_t_ { uint64_t time_point_ns; } amqp_time_t; /* Gets a monotonic timestamp. This will return 0 if the underlying call to the * system fails. diff --git a/librabbitmq/amqp_url.c b/librabbitmq/amqp_url.c index bbfe396..b5304e5 100644 --- a/librabbitmq/amqp_url.c +++ b/librabbitmq/amqp_url.c @@ -38,7 +38,7 @@ #endif #ifdef _MSC_VER -# define _CRT_SECURE_NO_WARNINGS +#define _CRT_SECURE_NO_WARNINGS #endif #include "amqp_private.h" @@ -48,8 +48,7 @@ #include #include -void amqp_default_connection_info(struct amqp_connection_info *ci) -{ +void amqp_default_connection_info(struct amqp_connection_info *ci) { /* Apply defaults */ ci->user = "guest"; ci->password = "guest"; @@ -60,8 +59,7 @@ void amqp_default_connection_info(struct amqp_connection_info *ci) } /* Scan for the next delimiter, handling percent-encodings on the way. */ -static char find_delim(char **pp, int colon_and_at_sign_are_delims) -{ +static char find_delim(char **pp, int colon_and_at_sign_are_delims) { char *from = *pp; char *to = from; @@ -69,51 +67,50 @@ static char find_delim(char **pp, int colon_and_at_sign_are_delims) char ch = *from++; switch (ch) { - case ':': - case '@': - if (!colon_and_at_sign_are_delims) { - *to++ = ch; - break; - } + case ':': + case '@': + if (!colon_and_at_sign_are_delims) { + *to++ = ch; + break; + } /* fall through */ - case 0: - case '/': - case '?': - case '#': - case '[': - case ']': - *to = 0; - *pp = from; - return ch; - - case '%': { - unsigned int val; - int chars; - int res = sscanf(from, "%2x%n", &val, &chars); - - if (res == EOF || res < 1 || chars != 2 || val > CHAR_MAX) + case 0: + case '/': + case '?': + case '#': + case '[': + case ']': + *to = 0; + *pp = from; + return ch; + + case '%': { + unsigned int val; + int chars; + int res = sscanf(from, "%2x%n", &val, &chars); + + if (res == EOF || res < 1 || chars != 2 || val > CHAR_MAX) /* Return a surprising delimiter to force an error. */ - { - return '%'; - } + { + return '%'; + } - *to++ = (char)val; - from += 2; - break; - } + *to++ = (char)val; + from += 2; + break; + } - default: - *to++ = ch; - break; + default: + *to++ = ch; + break; } } } /* Parse an AMQP URL into its component parts. */ -int amqp_parse_url(char *url, struct amqp_connection_info *parsed) -{ +int amqp_parse_url(char *url, struct amqp_connection_info *parsed) { int res = AMQP_STATUS_BAD_URL; char delim; char *start; @@ -216,8 +213,7 @@ int amqp_parse_url(char *url, struct amqp_connection_info *parsed) res = AMQP_STATUS_OK; } - /* Any other delimiter is bad, and we will return - AMQP_STATUS_BAD_AMQP_URL. */ +/* Any other delimiter is bad, and we will return AMQP_STATUS_BAD_AMQP_URL. */ out: return res; diff --git a/librabbitmq/win32/msinttypes/stdint.h b/librabbitmq/win32/msinttypes/stdint.h index d02608a..a7437be 100644 --- a/librabbitmq/win32/msinttypes/stdint.h +++ b/librabbitmq/win32/msinttypes/stdint.h @@ -1,39 +1,39 @@ // ISO C9x compliant stdint.h for Microsoft Visual Studio -// Based on ISO/IEC 9899:TC2 Committee draft (May 6, 2005) WG14/N1124 -// +// Based on ISO/IEC 9899:TC2 Committee draft (May 6, 2005) WG14/N1124 +// // Copyright (c) 2006-2008 Alexander Chemeris -// +// // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions are met: -// +// // 1. Redistributions of source code must retain the above copyright notice, // this list of conditions and the following disclaimer. -// +// // 2. Redistributions in binary form must reproduce the above copyright // notice, this list of conditions and the following disclaimer in the // documentation and/or other materials provided with the distribution. -// +// // 3. The name of the author may be used to endorse or promote products // derived from this software without specific prior written permission. -// +// // THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED // WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF // MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO // EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; -// OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +// OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, // WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR // OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF // ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// +// /////////////////////////////////////////////////////////////////////////////// -#ifndef _MSC_VER // [ +#ifndef _MSC_VER // [ #error "Use this header only with Microsoft Visual C++ compilers!" -#endif // _MSC_VER ] +#endif // _MSC_VER ] -#ifndef _MSC_STDINT_H_ // [ +#ifndef _MSC_STDINT_H_ // [ #define _MSC_STDINT_H_ #if _MSC_VER > 1000 @@ -49,20 +49,19 @@ #ifdef __cplusplus extern "C" { #endif -# include +#include #ifdef __cplusplus } #endif // Define _W64 macros to mark types changing their size, like intptr_t. #ifndef _W64 -# if !defined(__midl) && (defined(_X86_) || defined(_M_IX86)) && _MSC_VER >= 1300 -# define _W64 __w64 -# else -# define _W64 -# endif +#if !defined(__midl) && (defined(_X86_) || defined(_M_IX86)) && _MSC_VER >= 1300 +#define _W64 __w64 +#else +#define _W64 +#endif #endif - // 7.18.1 Integer types @@ -72,176 +71,175 @@ extern "C" { // realize that, e.g. char has the same size as __int8 // so we give up on __intX for them. #if (_MSC_VER < 1300) - typedef signed char int8_t; - typedef signed short int16_t; - typedef signed int int32_t; - typedef unsigned char uint8_t; - typedef unsigned short uint16_t; - typedef unsigned int uint32_t; +typedef signed char int8_t; +typedef signed short int16_t; +typedef signed int int32_t; +typedef unsigned char uint8_t; +typedef unsigned short uint16_t; +typedef unsigned int uint32_t; #else - typedef signed __int8 int8_t; - typedef signed __int16 int16_t; - typedef signed __int32 int32_t; - typedef unsigned __int8 uint8_t; - typedef unsigned __int16 uint16_t; - typedef unsigned __int32 uint32_t; +typedef signed __int8 int8_t; +typedef signed __int16 int16_t; +typedef signed __int32 int32_t; +typedef unsigned __int8 uint8_t; +typedef unsigned __int16 uint16_t; +typedef unsigned __int32 uint32_t; #endif -typedef signed __int64 int64_t; -typedef unsigned __int64 uint64_t; - +typedef signed __int64 int64_t; +typedef unsigned __int64 uint64_t; // 7.18.1.2 Minimum-width integer types -typedef int8_t int_least8_t; -typedef int16_t int_least16_t; -typedef int32_t int_least32_t; -typedef int64_t int_least64_t; -typedef uint8_t uint_least8_t; -typedef uint16_t uint_least16_t; -typedef uint32_t uint_least32_t; -typedef uint64_t uint_least64_t; +typedef int8_t int_least8_t; +typedef int16_t int_least16_t; +typedef int32_t int_least32_t; +typedef int64_t int_least64_t; +typedef uint8_t uint_least8_t; +typedef uint16_t uint_least16_t; +typedef uint32_t uint_least32_t; +typedef uint64_t uint_least64_t; // 7.18.1.3 Fastest minimum-width integer types -typedef int8_t int_fast8_t; -typedef int16_t int_fast16_t; -typedef int32_t int_fast32_t; -typedef int64_t int_fast64_t; -typedef uint8_t uint_fast8_t; -typedef uint16_t uint_fast16_t; -typedef uint32_t uint_fast32_t; -typedef uint64_t uint_fast64_t; +typedef int8_t int_fast8_t; +typedef int16_t int_fast16_t; +typedef int32_t int_fast32_t; +typedef int64_t int_fast64_t; +typedef uint8_t uint_fast8_t; +typedef uint16_t uint_fast16_t; +typedef uint32_t uint_fast32_t; +typedef uint64_t uint_fast64_t; // 7.18.1.4 Integer types capable of holding object pointers -#ifdef _WIN64 // [ - typedef signed __int64 intptr_t; - typedef unsigned __int64 uintptr_t; -#else // _WIN64 ][ - typedef _W64 signed int intptr_t; - typedef _W64 unsigned int uintptr_t; -#endif // _WIN64 ] +#ifdef _WIN64 // [ +typedef signed __int64 intptr_t; +typedef unsigned __int64 uintptr_t; +#else // _WIN64 ][ +typedef _W64 signed int intptr_t; +typedef _W64 unsigned int uintptr_t; +#endif // _WIN64 ] // 7.18.1.5 Greatest-width integer types -typedef int64_t intmax_t; -typedef uint64_t uintmax_t; - +typedef int64_t intmax_t; +typedef uint64_t uintmax_t; // 7.18.2 Limits of specified-width integer types -#if !defined(__cplusplus) || defined(__STDC_LIMIT_MACROS) // [ See footnote 220 at page 257 and footnote 221 at page 259 +#if !defined(__cplusplus) || \ + defined(__STDC_LIMIT_MACROS) // [ See footnote 220 at page 257 and + // footnote 221 at page 259 // 7.18.2.1 Limits of exact-width integer types -#define INT8_MIN ((int8_t)_I8_MIN) -#define INT8_MAX _I8_MAX -#define INT16_MIN ((int16_t)_I16_MIN) -#define INT16_MAX _I16_MAX -#define INT32_MIN ((int32_t)_I32_MIN) -#define INT32_MAX _I32_MAX -#define INT64_MIN ((int64_t)_I64_MIN) -#define INT64_MAX _I64_MAX -#define UINT8_MAX _UI8_MAX -#define UINT16_MAX _UI16_MAX -#define UINT32_MAX _UI32_MAX -#define UINT64_MAX _UI64_MAX +#define INT8_MIN ((int8_t)_I8_MIN) +#define INT8_MAX _I8_MAX +#define INT16_MIN ((int16_t)_I16_MIN) +#define INT16_MAX _I16_MAX +#define INT32_MIN ((int32_t)_I32_MIN) +#define INT32_MAX _I32_MAX +#define INT64_MIN ((int64_t)_I64_MIN) +#define INT64_MAX _I64_MAX +#define UINT8_MAX _UI8_MAX +#define UINT16_MAX _UI16_MAX +#define UINT32_MAX _UI32_MAX +#define UINT64_MAX _UI64_MAX // 7.18.2.2 Limits of minimum-width integer types -#define INT_LEAST8_MIN INT8_MIN -#define INT_LEAST8_MAX INT8_MAX -#define INT_LEAST16_MIN INT16_MIN -#define INT_LEAST16_MAX INT16_MAX -#define INT_LEAST32_MIN INT32_MIN -#define INT_LEAST32_MAX INT32_MAX -#define INT_LEAST64_MIN INT64_MIN -#define INT_LEAST64_MAX INT64_MAX -#define UINT_LEAST8_MAX UINT8_MAX -#define UINT_LEAST16_MAX UINT16_MAX -#define UINT_LEAST32_MAX UINT32_MAX -#define UINT_LEAST64_MAX UINT64_MAX +#define INT_LEAST8_MIN INT8_MIN +#define INT_LEAST8_MAX INT8_MAX +#define INT_LEAST16_MIN INT16_MIN +#define INT_LEAST16_MAX INT16_MAX +#define INT_LEAST32_MIN INT32_MIN +#define INT_LEAST32_MAX INT32_MAX +#define INT_LEAST64_MIN INT64_MIN +#define INT_LEAST64_MAX INT64_MAX +#define UINT_LEAST8_MAX UINT8_MAX +#define UINT_LEAST16_MAX UINT16_MAX +#define UINT_LEAST32_MAX UINT32_MAX +#define UINT_LEAST64_MAX UINT64_MAX // 7.18.2.3 Limits of fastest minimum-width integer types -#define INT_FAST8_MIN INT8_MIN -#define INT_FAST8_MAX INT8_MAX -#define INT_FAST16_MIN INT16_MIN -#define INT_FAST16_MAX INT16_MAX -#define INT_FAST32_MIN INT32_MIN -#define INT_FAST32_MAX INT32_MAX -#define INT_FAST64_MIN INT64_MIN -#define INT_FAST64_MAX INT64_MAX -#define UINT_FAST8_MAX UINT8_MAX -#define UINT_FAST16_MAX UINT16_MAX -#define UINT_FAST32_MAX UINT32_MAX -#define UINT_FAST64_MAX UINT64_MAX +#define INT_FAST8_MIN INT8_MIN +#define INT_FAST8_MAX INT8_MAX +#define INT_FAST16_MIN INT16_MIN +#define INT_FAST16_MAX INT16_MAX +#define INT_FAST32_MIN INT32_MIN +#define INT_FAST32_MAX INT32_MAX +#define INT_FAST64_MIN INT64_MIN +#define INT_FAST64_MAX INT64_MAX +#define UINT_FAST8_MAX UINT8_MAX +#define UINT_FAST16_MAX UINT16_MAX +#define UINT_FAST32_MAX UINT32_MAX +#define UINT_FAST64_MAX UINT64_MAX // 7.18.2.4 Limits of integer types capable of holding object pointers -#ifdef _WIN64 // [ -# define INTPTR_MIN INT64_MIN -# define INTPTR_MAX INT64_MAX -# define UINTPTR_MAX UINT64_MAX -#else // _WIN64 ][ -# define INTPTR_MIN INT32_MIN -# define INTPTR_MAX INT32_MAX -# define UINTPTR_MAX UINT32_MAX -#endif // _WIN64 ] +#ifdef _WIN64 // [ +#define INTPTR_MIN INT64_MIN +#define INTPTR_MAX INT64_MAX +#define UINTPTR_MAX UINT64_MAX +#else // _WIN64 ][ +#define INTPTR_MIN INT32_MIN +#define INTPTR_MAX INT32_MAX +#define UINTPTR_MAX UINT32_MAX +#endif // _WIN64 ] // 7.18.2.5 Limits of greatest-width integer types -#define INTMAX_MIN INT64_MIN -#define INTMAX_MAX INT64_MAX -#define UINTMAX_MAX UINT64_MAX +#define INTMAX_MIN INT64_MIN +#define INTMAX_MAX INT64_MAX +#define UINTMAX_MAX UINT64_MAX // 7.18.3 Limits of other integer types -#ifdef _WIN64 // [ -# define PTRDIFF_MIN _I64_MIN -# define PTRDIFF_MAX _I64_MAX +#ifdef _WIN64 // [ +#define PTRDIFF_MIN _I64_MIN +#define PTRDIFF_MAX _I64_MAX #else // _WIN64 ][ -# define PTRDIFF_MIN _I32_MIN -# define PTRDIFF_MAX _I32_MAX +#define PTRDIFF_MIN _I32_MIN +#define PTRDIFF_MAX _I32_MAX #endif // _WIN64 ] -#define SIG_ATOMIC_MIN INT_MIN -#define SIG_ATOMIC_MAX INT_MAX +#define SIG_ATOMIC_MIN INT_MIN +#define SIG_ATOMIC_MAX INT_MAX -#ifndef SIZE_MAX // [ -# ifdef _WIN64 // [ -# define SIZE_MAX _UI64_MAX -# else // _WIN64 ][ -# define SIZE_MAX _UI32_MAX -# endif // _WIN64 ] -#endif // SIZE_MAX ] +#ifndef SIZE_MAX // [ +#ifdef _WIN64 // [ +#define SIZE_MAX _UI64_MAX +#else // _WIN64 ][ +#define SIZE_MAX _UI32_MAX +#endif // _WIN64 ] +#endif // SIZE_MAX ] // WCHAR_MIN and WCHAR_MAX are also defined in -#ifndef WCHAR_MIN // [ -# define WCHAR_MIN 0 -#endif // WCHAR_MIN ] -#ifndef WCHAR_MAX // [ -# define WCHAR_MAX _UI16_MAX +#ifndef WCHAR_MIN // [ +#define WCHAR_MIN 0 +#endif // WCHAR_MIN ] +#ifndef WCHAR_MAX // [ +#define WCHAR_MAX _UI16_MAX #endif // WCHAR_MAX ] -#define WINT_MIN 0 -#define WINT_MAX _UI16_MAX - -#endif // __STDC_LIMIT_MACROS ] +#define WINT_MIN 0 +#define WINT_MAX _UI16_MAX +#endif // __STDC_LIMIT_MACROS ] // 7.18.4 Limits of other integer types -#if !defined(__cplusplus) || defined(__STDC_CONSTANT_MACROS) // [ See footnote 224 at page 260 +#if !defined(__cplusplus) || \ + defined(__STDC_CONSTANT_MACROS) // [ See footnote 224 at page 260 // 7.18.4.1 Macros for minimum-width integer constants -#define INT8_C(val) val##i8 +#define INT8_C(val) val##i8 #define INT16_C(val) val##i16 #define INT32_C(val) val##i32 #define INT64_C(val) val##i64 -#define UINT8_C(val) val##ui8 +#define UINT8_C(val) val##ui8 #define UINT16_C(val) val##ui16 #define UINT32_C(val) val##ui32 #define UINT64_C(val) val##ui64 // 7.18.4.2 Macros for greatest-width integer constants -#define INTMAX_C INT64_C -#define UINTMAX_C UINT64_C - -#endif // __STDC_CONSTANT_MACROS ] +#define INTMAX_C INT64_C +#define UINTMAX_C UINT64_C +#endif // __STDC_CONSTANT_MACROS ] -#endif // _MSC_STDINT_H_ ] +#endif // _MSC_STDINT_H_ ] diff --git a/librabbitmq/win32/threads.h b/librabbitmq/win32/threads.h index c0a2561..5862df4 100644 --- a/librabbitmq/win32/threads.h +++ b/librabbitmq/win32/threads.h @@ -28,11 +28,11 @@ #define AMQP_THREAD_H #ifndef WINVER - /* Windows Vista or newer */ -# define WINVER 0x0600 +/* Windows Vista or newer */ +#define WINVER 0x0600 #endif #ifndef WIN32_LEAN_AND_MEAN -# define WIN32_LEAN_AND_MEAN +#define WIN32_LEAN_AND_MEAN #endif #include diff --git a/tests/test_basic.c b/tests/test_basic.c index 2a0a617..a7de044 100644 --- a/tests/test_basic.c +++ b/tests/test_basic.c @@ -37,7 +37,7 @@ #endif #ifdef NDEBUG -# undef NDEBUG +#undef NDEBUG #endif #include @@ -54,8 +54,8 @@ amqp_connection_state_t setup_connection_and_channel(void) { assert(rc == AMQP_STATUS_OK); amqp_rpc_reply_t rpc_reply = amqp_login( - connection_state_, "/", 1, AMQP_DEFAULT_FRAME_SIZE, AMQP_DEFAULT_HEARTBEAT, - AMQP_SASL_METHOD_PLAIN, "guest", "guest"); + connection_state_, "/", 1, AMQP_DEFAULT_FRAME_SIZE, + AMQP_DEFAULT_HEARTBEAT, AMQP_SASL_METHOD_PLAIN, "guest", "guest"); assert(rpc_reply.reply_type == AMQP_RESPONSE_NORMAL); amqp_channel_open_ok_t *res = @@ -66,7 +66,8 @@ amqp_connection_state_t setup_connection_and_channel(void) { } void close_and_destroy_connection(amqp_connection_state_t connection_state_) { - amqp_rpc_reply_t rpc_reply = amqp_connection_close(connection_state_, AMQP_REPLY_SUCCESS); + amqp_rpc_reply_t rpc_reply = + amqp_connection_close(connection_state_, AMQP_REPLY_SUCCESS); assert(rpc_reply.reply_type == AMQP_RESPONSE_NORMAL); int rc = amqp_destroy_connection(connection_state_); @@ -87,9 +88,9 @@ void basic_publish(amqp_connection_state_t connectionState_, connectionState_, fixed_channel_id, amqp_cstring_bytes(""), amqp_cstring_bytes(test_queue_name), /* mandatory=*/1, - /* immediate=*/0, /* RabbitMQ 3.x does not support the "immediate" flag - according to - https://www.rabbitmq.com/specification.html */ + /* immediate=*/0, /* RabbitMQ 3.x does not support the "immediate" flag + according to + https://www.rabbitmq.com/specification.html */ &properties, message_bytes); assert(retval == 0); @@ -110,7 +111,7 @@ char *basic_get(amqp_connection_state_t connection_state_, const char *queue_name_, uint64_t *out_body_size_) { amqp_rpc_reply_t rpc_reply; amqp_time_t deadline; - struct timeval timeout = { 5, 0 }; + struct timeval timeout = {5, 0}; int time_rc = amqp_time_from_now(&deadline, &timeout); assert(time_rc == AMQP_STATUS_OK); @@ -125,9 +126,10 @@ char *basic_get(amqp_connection_state_t connection_state_, assert(rpc_reply.reply.id == AMQP_BASIC_GET_OK_METHOD); amqp_message_t message; - rpc_reply = amqp_read_message(connection_state_, fixed_channel_id, &message, 0); + rpc_reply = + amqp_read_message(connection_state_, fixed_channel_id, &message, 0); assert(rpc_reply.reply_type == AMQP_RESPONSE_NORMAL); - + char *body = malloc(message.body.len); memcpy(body, message.body.bytes, message.body.len); *out_body_size_ = message.body.len; @@ -163,7 +165,7 @@ char *consume_message(amqp_connection_state_t connection_state_, assert(result != NULL); amqp_envelope_t envelope; - struct timeval timeout = { 5, 0 }; + struct timeval timeout = {5, 0}; amqp_rpc_reply_t rpc_reply = amqp_consume_message(connection_state_, &envelope, &timeout, 0); assert(rpc_reply.reply_type == AMQP_RESPONSE_NORMAL); diff --git a/tests/test_hostcheck.c b/tests/test_hostcheck.c index 832db79..24c0d6c 100644 --- a/tests/test_hostcheck.c +++ b/tests/test_hostcheck.c @@ -31,13 +31,11 @@ #include #include -static void -hostcheck_success(const char *match_pattern, const char *url) -{ +static void hostcheck_success(const char *match_pattern, const char *url) { int ok; ok = amqp_hostcheck(match_pattern, url); - if (! ok) { + if (!ok) { fprintf(stderr, "Expected hostname check to pass, but didn't: %s (%s)\n", url, match_pattern); abort(); @@ -46,9 +44,7 @@ hostcheck_success(const char *match_pattern, const char *url) fprintf(stdout, "ok: [success] %s, %s\n", url, match_pattern); } -static void -hostcheck_fail(const char *match_pattern, const char *url) -{ +static void hostcheck_fail(const char *match_pattern, const char *url) { int ok; ok = amqp_hostcheck(match_pattern, url); @@ -61,9 +57,7 @@ hostcheck_fail(const char *match_pattern, const char *url) fprintf(stdout, "ok: [fail] %s, %s\n", url, match_pattern); } -int -main(void) -{ +int main(void) { hostcheck_success("www.rabbitmq.com", "www.rabbitmq.com"); hostcheck_success("www.rabbitmq.com", "wWw.RaBbItMq.CoM"); hostcheck_success("*.rabbitmq.com", "wWw.RaBbItMq.CoM"); diff --git a/tests/test_merge_capabilities.c b/tests/test_merge_capabilities.c index e36f758..d62fcd3 100644 --- a/tests/test_merge_capabilities.c +++ b/tests/test_merge_capabilities.c @@ -86,23 +86,21 @@ static int compare_field_value(amqp_field_value_t result, case AMQP_FIELD_KIND_UTF8: case AMQP_FIELD_KIND_BYTES: return compare_bytes(result.value.bytes, expect.value.bytes); - case AMQP_FIELD_KIND_ARRAY: - { - int i; - if (result.value.array.num_entries != expect.value.array.num_entries) { + case AMQP_FIELD_KIND_ARRAY: { + int i; + if (result.value.array.num_entries != expect.value.array.num_entries) { + return 0; + } + for (i = 0; i < result.value.array.num_entries; ++i) { + if (!compare_field_value(result.value.array.entries[i], + expect.value.array.entries[i])) { return 0; } - for (i = 0; i < result.value.array.num_entries; ++i) { - if (!compare_field_value(result.value.array.entries[i], - expect.value.array.entries[i])) { - return 0; - } - } - return 1; } + return 1; + } case AMQP_FIELD_KIND_TABLE: - return compare_amqp_table(&result.value.table, - &expect.value.table); + return compare_amqp_table(&result.value.table, &expect.value.table); case AMQP_FIELD_KIND_VOID: return 1; } @@ -163,7 +161,8 @@ int main(void) { amqp_table_entry_t expect_entries[4]; sub_base_entries[0] = amqp_table_construct_utf8_entry("foo", "bar"); - sub_base.num_entries = sizeof(sub_base_entries) / sizeof(amqp_table_entry_t); + sub_base.num_entries = + sizeof(sub_base_entries) / sizeof(amqp_table_entry_t); sub_base.entries = sub_base_entries; sub_add_entries[0] = amqp_table_construct_utf8_entry("something", "else"); @@ -172,8 +171,10 @@ int main(void) { sub_add.entries = sub_add_entries; sub_expect_entries[0] = amqp_table_construct_utf8_entry("foo", "baz"); - sub_expect_entries[1] = amqp_table_construct_utf8_entry("something", "else"); - sub_expect.num_entries = sizeof(sub_expect_entries) / sizeof(amqp_table_entry_t); + sub_expect_entries[1] = + amqp_table_construct_utf8_entry("something", "else"); + sub_expect.num_entries = + sizeof(sub_expect_entries) / sizeof(amqp_table_entry_t); sub_expect.entries = sub_expect_entries; base_entries[0] = amqp_table_construct_utf8_entry("product", "1.0"); @@ -200,4 +201,3 @@ int main(void) { fprintf(stderr, "ok\n"); return 0; } - diff --git a/tests/test_parse_url.c b/tests/test_parse_url.c index 73dace0..9cdc87c 100644 --- a/tests/test_parse_url.c +++ b/tests/test_parse_url.c @@ -37,50 +37,42 @@ #ifdef _MSC_VER /* MSVC complains about strdup being deprecated in favor of _strdup */ -# define _CRT_NONSTDC_NO_DEPRECATE +#define _CRT_NONSTDC_NO_DEPRECATE #endif #include -#include #include +#include #include #include -static void match_string(const char *what, const char *expect, const char *got) -{ +static void match_string(const char *what, const char *expect, + const char *got) { if (strcmp(got, expect)) { - fprintf(stderr, "Expected %s '%s', got '%s'\n", - what, expect, got); + fprintf(stderr, "Expected %s '%s', got '%s'\n", what, expect, got); abort(); } } -static void match_int(const char *what, int expect, int got) -{ +static void match_int(const char *what, int expect, int got) { if (got != expect) { - fprintf(stderr, "Expected %s '%d', got '%d'\n", - what, expect, got); + fprintf(stderr, "Expected %s '%d', got '%d'\n", what, expect, got); abort(); } } -static void parse_success(const char *url, - const char *user, - const char *password, - const char *host, - int port, - const char *vhost) -{ +static void parse_success(const char *url, const char *user, + const char *password, const char *host, int port, + const char *vhost) { char *s = strdup(url); struct amqp_connection_info ci; int res; res = amqp_parse_url(s, &ci); if (res) { - fprintf(stderr, - "Expected to successfully parse URL, but didn't: %s (%s)\n", + fprintf(stderr, "Expected to successfully parse URL, but didn't: %s (%s)\n", url, amqp_error_string2(res)); abort(); } @@ -94,34 +86,30 @@ static void parse_success(const char *url, free(s); } -static void parse_fail(const char *url) -{ +static void parse_fail(const char *url) { char *s = strdup(url); struct amqp_connection_info ci; amqp_default_connection_info(&ci); if (amqp_parse_url(s, &ci) >= 0) { - fprintf(stderr, - "Expected to fail parsing URL, but didn't: %s\n", - url); + fprintf(stderr, "Expected to fail parsing URL, but didn't: %s\n", url); abort(); } free(s); } -int main(void) -{ +int main(void) { /* From the spec */ - parse_success("amqp://user:pass@host:10000/vhost", "user", "pass", - "host", 10000, "vhost"); - parse_success("amqps://user:pass@host:10000/vhost", "user", "pass", - "host", 10000, "vhost"); + parse_success("amqp://user:pass@host:10000/vhost", "user", "pass", "host", + 10000, "vhost"); + parse_success("amqps://user:pass@host:10000/vhost", "user", "pass", "host", + 10000, "vhost"); - parse_success("amqp://user%61:%61pass@ho%61st:10000/v%2fhost", - "usera", "apass", "hoast", 10000, "v/host"); - parse_success("amqps://user%61:%61pass@ho%61st:10000/v%2fhost", - "usera", "apass", "hoast", 10000, "v/host"); + parse_success("amqp://user%61:%61pass@ho%61st:10000/v%2fhost", "usera", + "apass", "hoast", 10000, "v/host"); + parse_success("amqps://user%61:%61pass@ho%61st:10000/v%2fhost", "usera", + "apass", "hoast", 10000, "v/host"); parse_success("amqp://", "guest", "guest", "localhost", 5672, "/"); parse_success("amqps://", "guest", "guest", "localhost", 5671, "/"); @@ -132,23 +120,17 @@ int main(void) parse_success("amqp://user@", "user", "guest", "localhost", 5672, "/"); parse_success("amqps://user@", "user", "guest", "localhost", 5671, "/"); - parse_success("amqp://user:pass@", "user", "pass", - "localhost", 5672, "/"); - parse_success("amqps://user:pass@", "user", "pass", - "localhost", 5671, "/"); + parse_success("amqp://user:pass@", "user", "pass", "localhost", 5672, "/"); + parse_success("amqps://user:pass@", "user", "pass", "localhost", 5671, "/"); parse_success("amqp://host", "guest", "guest", "host", 5672, "/"); parse_success("amqps://host", "guest", "guest", "host", 5671, "/"); - parse_success("amqp://:10000", "guest", "guest", "localhost", 10000, - "/"); - parse_success("amqps://:10000", "guest", "guest", "localhost", 10000, - "/"); + parse_success("amqp://:10000", "guest", "guest", "localhost", 10000, "/"); + parse_success("amqps://:10000", "guest", "guest", "localhost", 10000, "/"); - parse_success("amqp:///vhost", "guest", "guest", "localhost", 5672, - "vhost"); - parse_success("amqps:///vhost", "guest", "guest", "localhost", 5671, - "vhost"); + parse_success("amqp:///vhost", "guest", "guest", "localhost", 5672, "vhost"); + parse_success("amqps:///vhost", "guest", "guest", "localhost", 5671, "vhost"); parse_success("amqp://host/", "guest", "guest", "host", 5672, ""); parse_success("amqps://host/", "guest", "guest", "host", 5671, ""); @@ -166,55 +148,37 @@ int main(void) parse_success("amqp://[::1]:100", "guest", "guest", "::1", 100, "/"); parse_success("amqps://[::1]:100", "guest", "guest", "::1", 100, "/"); - parse_success("amqp://host/blah", "guest", "guest", - "host", 5672, "blah"); - parse_success("amqps://host/blah", "guest", "guest", - "host", 5671, "blah"); - - parse_success("amqp://host:100/blah", "guest", "guest", - "host", 100, "blah"); - parse_success("amqps://host:100/blah", "guest", "guest", - "host", 100, "blah"); - - parse_success("amqp://:100/blah", "guest", "guest", - "localhost", 100, "blah"); - parse_success("amqps://:100/blah", "guest", "guest", - "localhost", 100, "blah"); - - parse_success("amqp://[::1]/blah", "guest", "guest", - "::1", 5672, "blah"); - parse_success("amqps://[::1]/blah", "guest", "guest", - "::1", 5671, "blah"); - - parse_success("amqp://[::1]:100/blah", "guest", "guest", - "::1", 100, "blah"); - parse_success("amqps://[::1]:100/blah", "guest", "guest", - "::1", 100, "blah"); - - parse_success("amqp://user:pass@host", "user", "pass", - "host", 5672, "/"); - parse_success("amqps://user:pass@host", "user", "pass", - "host", 5671, "/"); - - parse_success("amqp://user:pass@host:100", "user", "pass", - "host", 100, "/"); - parse_success("amqps://user:pass@host:100", "user", "pass", - "host", 100, "/"); - - parse_success("amqp://user:pass@:100", "user", "pass", - "localhost", 100, "/"); - parse_success("amqps://user:pass@:100", "user", "pass", - "localhost", 100, "/"); - - parse_success("amqp://user:pass@[::1]", "user", "pass", - "::1", 5672, "/"); - parse_success("amqps://user:pass@[::1]", "user", "pass", - "::1", 5671, "/"); - - parse_success("amqp://user:pass@[::1]:100", "user", "pass", - "::1", 100, "/"); - parse_success("amqps://user:pass@[::1]:100", "user", "pass", - "::1", 100, "/"); + parse_success("amqp://host/blah", "guest", "guest", "host", 5672, "blah"); + parse_success("amqps://host/blah", "guest", "guest", "host", 5671, "blah"); + + parse_success("amqp://host:100/blah", "guest", "guest", "host", 100, "blah"); + parse_success("amqps://host:100/blah", "guest", "guest", "host", 100, "blah"); + + parse_success("amqp://:100/blah", "guest", "guest", "localhost", 100, "blah"); + parse_success("amqps://:100/blah", "guest", "guest", "localhost", 100, + "blah"); + + parse_success("amqp://[::1]/blah", "guest", "guest", "::1", 5672, "blah"); + parse_success("amqps://[::1]/blah", "guest", "guest", "::1", 5671, "blah"); + + parse_success("amqp://[::1]:100/blah", "guest", "guest", "::1", 100, "blah"); + parse_success("amqps://[::1]:100/blah", "guest", "guest", "::1", 100, "blah"); + + parse_success("amqp://user:pass@host", "user", "pass", "host", 5672, "/"); + parse_success("amqps://user:pass@host", "user", "pass", "host", 5671, "/"); + + parse_success("amqp://user:pass@host:100", "user", "pass", "host", 100, "/"); + parse_success("amqps://user:pass@host:100", "user", "pass", "host", 100, "/"); + + parse_success("amqp://user:pass@:100", "user", "pass", "localhost", 100, "/"); + parse_success("amqps://user:pass@:100", "user", "pass", "localhost", 100, + "/"); + + parse_success("amqp://user:pass@[::1]", "user", "pass", "::1", 5672, "/"); + parse_success("amqps://user:pass@[::1]", "user", "pass", "::1", 5671, "/"); + + parse_success("amqp://user:pass@[::1]:100", "user", "pass", "::1", 100, "/"); + parse_success("amqps://user:pass@[::1]:100", "user", "pass", "::1", 100, "/"); /* Various failure cases */ parse_fail("http://www.rabbitmq.com"); diff --git a/tests/test_sasl_mechanism.c b/tests/test_sasl_mechanism.c index b9cb2ec..7848219 100644 --- a/tests/test_sasl_mechanism.c +++ b/tests/test_sasl_mechanism.c @@ -34,25 +34,21 @@ */ #include -#include #include +#include #include static void parse_success(amqp_bytes_t mechanisms, - amqp_sasl_method_enum method) -{ + amqp_sasl_method_enum method) { if (!sasl_mechanism_in_list(mechanisms, method)) { - fprintf(stderr, - "Expected to find mechanism in list, but didn't: %s\n", + fprintf(stderr, "Expected to find mechanism in list, but didn't: %s\n", (char *)mechanisms.bytes); abort(); } } -static void parse_fail(amqp_bytes_t mechanisms, - amqp_sasl_method_enum method) -{ +static void parse_fail(amqp_bytes_t mechanisms, amqp_sasl_method_enum method) { if (sasl_mechanism_in_list(mechanisms, method)) { fprintf(stderr, "Expected the mechanism not on the list, but it was present: %s\n", @@ -61,11 +57,14 @@ static void parse_fail(amqp_bytes_t mechanisms, } } -int main(void) -{ - parse_success(amqp_cstring_bytes("DIGEST-MD5 CRAM-MD5 LOGIN PLAIN"), AMQP_SASL_METHOD_PLAIN); - parse_fail(amqp_cstring_bytes("DIGEST-MD5 CRAM-MD5 LOGIN PLAIN"), AMQP_SASL_METHOD_EXTERNAL); - parse_success(amqp_cstring_bytes("DIGEST-MD5 CRAM-MD5 EXTERNAL"), AMQP_SASL_METHOD_EXTERNAL); - parse_fail(amqp_cstring_bytes("DIGEST-MD5 CRAM-MD5 EXTERNAL"), AMQP_SASL_METHOD_PLAIN); +int main(void) { + parse_success(amqp_cstring_bytes("DIGEST-MD5 CRAM-MD5 LOGIN PLAIN"), + AMQP_SASL_METHOD_PLAIN); + parse_fail(amqp_cstring_bytes("DIGEST-MD5 CRAM-MD5 LOGIN PLAIN"), + AMQP_SASL_METHOD_EXTERNAL); + parse_success(amqp_cstring_bytes("DIGEST-MD5 CRAM-MD5 EXTERNAL"), + AMQP_SASL_METHOD_EXTERNAL); + parse_fail(amqp_cstring_bytes("DIGEST-MD5 CRAM-MD5 EXTERNAL"), + AMQP_SASL_METHOD_PLAIN); return 0; } diff --git a/tests/test_status_enum.c b/tests/test_status_enum.c index 136c760..2f2dbd7 100644 --- a/tests/test_status_enum.c +++ b/tests/test_status_enum.c @@ -37,9 +37,7 @@ static void check_errorstrings(amqp_status_enum start, amqp_status_enum end) { for (i = start; i > end; --i) { const char* err = amqp_error_string2(i); if (0 == strcmp(err, "(unknown error)")) { - printf("amqp_status_enum value %s%X", - i < 0 ? "-" : "", - (unsigned)i); + printf("amqp_status_enum value %s%X", i < 0 ? "-" : "", (unsigned)i); abort(); } } diff --git a/tests/test_tables.c b/tests/test_tables.c index 4cd0dda..89ece6b 100644 --- a/tests/test_tables.c +++ b/tests/test_tables.c @@ -34,15 +34,15 @@ */ #ifdef _MSC_VER -# define _USE_MATH_DEFINES -# define _CRT_SECURE_NO_WARNINGS +#define _USE_MATH_DEFINES +#define _CRT_SECURE_NO_WARNINGS #endif -#include +#include +#include #include +#include #include -#include -#include #include @@ -50,8 +50,7 @@ #include -void die(const char *fmt, ...) -{ +void die(const char *fmt, ...) { va_list ap; va_start(ap, fmt); vfprintf(stderr, fmt, ap); @@ -60,8 +59,7 @@ void die(const char *fmt, ...) abort(); } -static void dump_indent(int indent, FILE *out) -{ +static void dump_indent(int indent, FILE *out) { int i; for (i = 0; i < indent; i++) { @@ -69,109 +67,106 @@ static void dump_indent(int indent, FILE *out) } } -static void dump_value(int indent, amqp_field_value_t v, FILE *out) -{ +static void dump_value(int indent, amqp_field_value_t v, FILE *out) { int i; dump_indent(indent, out); fputc(v.kind, out); switch (v.kind) { - case AMQP_FIELD_KIND_BOOLEAN: - fputs(v.value.boolean ? " true\n" : " false\n", out); - break; + case AMQP_FIELD_KIND_BOOLEAN: + fputs(v.value.boolean ? " true\n" : " false\n", out); + break; - case AMQP_FIELD_KIND_I8: - fprintf(out, " %"PRId8"\n", v.value.i8); - break; + case AMQP_FIELD_KIND_I8: + fprintf(out, " %" PRId8 "\n", v.value.i8); + break; - case AMQP_FIELD_KIND_U8: - fprintf(out, " %"PRIu8"\n", v.value.u8); - break; + case AMQP_FIELD_KIND_U8: + fprintf(out, " %" PRIu8 "\n", v.value.u8); + break; - case AMQP_FIELD_KIND_I16: - fprintf(out, " %"PRId16"\n", v.value.i16); - break; + case AMQP_FIELD_KIND_I16: + fprintf(out, " %" PRId16 "\n", v.value.i16); + break; - case AMQP_FIELD_KIND_U16: - fprintf(out, " %"PRIu16"\n", v.value.u16); - break; + case AMQP_FIELD_KIND_U16: + fprintf(out, " %" PRIu16 "\n", v.value.u16); + break; - case AMQP_FIELD_KIND_I32: - fprintf(out, " %"PRId32"\n", v.value.i32); - break; + case AMQP_FIELD_KIND_I32: + fprintf(out, " %" PRId32 "\n", v.value.i32); + break; - case AMQP_FIELD_KIND_U32: - fprintf(out, " %"PRIu32"\n", v.value.u32); - break; + case AMQP_FIELD_KIND_U32: + fprintf(out, " %" PRIu32 "\n", v.value.u32); + break; - case AMQP_FIELD_KIND_I64: - fprintf(out, " %"PRId64"\n", v.value.i64); - break; + case AMQP_FIELD_KIND_I64: + fprintf(out, " %" PRId64 "\n", v.value.i64); + break; - case AMQP_FIELD_KIND_F32: - fprintf(out, " %g\n", (double) v.value.f32); - break; + case AMQP_FIELD_KIND_F32: + fprintf(out, " %g\n", (double)v.value.f32); + break; - case AMQP_FIELD_KIND_F64: - fprintf(out, " %g\n", v.value.f64); - break; + case AMQP_FIELD_KIND_F64: + fprintf(out, " %g\n", v.value.f64); + break; - case AMQP_FIELD_KIND_DECIMAL: - fprintf(out, " %u:::%u\n", v.value.decimal.decimals, - v.value.decimal.value); - break; + case AMQP_FIELD_KIND_DECIMAL: + fprintf(out, " %u:::%u\n", v.value.decimal.decimals, + v.value.decimal.value); + break; - case AMQP_FIELD_KIND_UTF8: - fprintf(out, " %.*s\n", (int)v.value.bytes.len, - (char *)v.value.bytes.bytes); - break; + case AMQP_FIELD_KIND_UTF8: + fprintf(out, " %.*s\n", (int)v.value.bytes.len, + (char *)v.value.bytes.bytes); + break; - case AMQP_FIELD_KIND_BYTES: - fputc(' ', out); - for (i = 0; i < (int)v.value.bytes.len; i++) { - fprintf(out, "%02x", ((char *) v.value.bytes.bytes)[i]); - } + case AMQP_FIELD_KIND_BYTES: + fputc(' ', out); + for (i = 0; i < (int)v.value.bytes.len; i++) { + fprintf(out, "%02x", ((char *)v.value.bytes.bytes)[i]); + } - fputc('\n', out); - break; + fputc('\n', out); + break; - case AMQP_FIELD_KIND_ARRAY: - fputc('\n', out); - for (i = 0; i < v.value.array.num_entries; i++) { - dump_value(indent + 2, v.value.array.entries[i], out); - } + case AMQP_FIELD_KIND_ARRAY: + fputc('\n', out); + for (i = 0; i < v.value.array.num_entries; i++) { + dump_value(indent + 2, v.value.array.entries[i], out); + } - break; + break; - case AMQP_FIELD_KIND_TIMESTAMP: - fprintf(out, " %"PRIu64"\n", v.value.u64); - break; + case AMQP_FIELD_KIND_TIMESTAMP: + fprintf(out, " %" PRIu64 "\n", v.value.u64); + break; - case AMQP_FIELD_KIND_TABLE: - fputc('\n', out); - for (i = 0; i < v.value.table.num_entries; i++) { - dump_indent(indent + 2, out); - fprintf(out, "%.*s ->\n", - (int)v.value.table.entries[i].key.len, - (char *)v.value.table.entries[i].key.bytes); - dump_value(indent + 4, v.value.table.entries[i].value, out); - } + case AMQP_FIELD_KIND_TABLE: + fputc('\n', out); + for (i = 0; i < v.value.table.num_entries; i++) { + dump_indent(indent + 2, out); + fprintf(out, "%.*s ->\n", (int)v.value.table.entries[i].key.len, + (char *)v.value.table.entries[i].key.bytes); + dump_value(indent + 4, v.value.table.entries[i].value, out); + } - break; + break; - case AMQP_FIELD_KIND_VOID: - fputc('\n', out); - break; + case AMQP_FIELD_KIND_VOID: + fputc('\n', out); + break; - default: - fprintf(out, "???\n"); - break; + default: + fprintf(out, "???\n"); + break; } } -static void test_dump_value(FILE *out) -{ +static void test_dump_value(FILE *out) { amqp_table_entry_t entries[8]; amqp_table_t table; amqp_field_value_t val; @@ -212,7 +207,8 @@ static void test_dump_value(FILE *out) table.num_entries = 8; table.entries = entries; - qsort(table.entries, table.num_entries, sizeof(amqp_table_entry_t), &amqp_table_entry_cmp); + qsort(table.entries, table.num_entries, sizeof(amqp_table_entry_t), + &amqp_table_entry_cmp); val.kind = AMQP_FIELD_KIND_TABLE; val.value.table = table; @@ -221,43 +217,30 @@ static void test_dump_value(FILE *out) } static uint8_t pre_encoded_table[] = { - 0x00, 0x00, 0x00, 0xff, 0x07, 0x6c, 0x6f, 0x6e, - 0x67, 0x73, 0x74, 0x72, 0x53, 0x00, 0x00, 0x00, - 0x15, 0x48, 0x65, 0x72, 0x65, 0x20, 0x69, 0x73, - 0x20, 0x61, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, - 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x09, 0x73, - 0x69, 0x67, 0x6e, 0x65, 0x64, 0x69, 0x6e, 0x74, - 0x49, 0x00, 0x00, 0x30, 0x39, 0x07, 0x64, 0x65, - 0x63, 0x69, 0x6d, 0x61, 0x6c, 0x44, 0x03, 0x00, - 0x01, 0xe2, 0x40, 0x09, 0x74, 0x69, 0x6d, 0x65, - 0x73, 0x74, 0x61, 0x6d, 0x70, 0x54, 0x00, 0x00, - 0x63, 0xee, 0xa0, 0x53, 0xc1, 0x94, 0x05, 0x74, - 0x61, 0x62, 0x6c, 0x65, 0x46, 0x00, 0x00, 0x00, - 0x1f, 0x03, 0x6f, 0x6e, 0x65, 0x49, 0x00, 0x00, - 0xd4, 0x31, 0x03, 0x74, 0x77, 0x6f, 0x53, 0x00, - 0x00, 0x00, 0x0d, 0x41, 0x20, 0x6c, 0x6f, 0x6e, - 0x67, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, - 0x04, 0x62, 0x79, 0x74, 0x65, 0x62, 0xff, 0x04, - 0x6c, 0x6f, 0x6e, 0x67, 0x6c, 0x00, 0x00, 0x00, - 0x00, 0x49, 0x96, 0x02, 0xd2, 0x05, 0x73, 0x68, - 0x6f, 0x72, 0x74, 0x73, 0x02, 0x8f, 0x04, 0x62, - 0x6f, 0x6f, 0x6c, 0x74, 0x01, 0x06, 0x62, 0x69, - 0x6e, 0x61, 0x72, 0x79, 0x78, 0x00, 0x00, 0x00, - 0x0f, 0x61, 0x20, 0x62, 0x69, 0x6e, 0x61, 0x72, - 0x79, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, - 0x04, 0x76, 0x6f, 0x69, 0x64, 0x56, 0x05, 0x61, - 0x72, 0x72, 0x61, 0x79, 0x41, 0x00, 0x00, 0x00, - 0x17, 0x49, 0x00, 0x00, 0xd4, 0x31, 0x53, 0x00, - 0x00, 0x00, 0x0d, 0x41, 0x20, 0x6c, 0x6f, 0x6e, - 0x67, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, - 0x05, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x66, 0x40, - 0x49, 0x0f, 0xdb, 0x06, 0x64, 0x6f, 0x75, 0x62, - 0x6c, 0x65, 0x64, 0x40, 0x09, 0x21, 0xfb, 0x54, - 0x44, 0x2d, 0x18 -}; - -static void test_table_codec(FILE *out) -{ + 0x00, 0x00, 0x00, 0xff, 0x07, 0x6c, 0x6f, 0x6e, 0x67, 0x73, 0x74, 0x72, + 0x53, 0x00, 0x00, 0x00, 0x15, 0x48, 0x65, 0x72, 0x65, 0x20, 0x69, 0x73, + 0x20, 0x61, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x73, 0x74, 0x72, 0x69, + 0x6e, 0x67, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x69, 0x6e, 0x74, + 0x49, 0x00, 0x00, 0x30, 0x39, 0x07, 0x64, 0x65, 0x63, 0x69, 0x6d, 0x61, + 0x6c, 0x44, 0x03, 0x00, 0x01, 0xe2, 0x40, 0x09, 0x74, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x54, 0x00, 0x00, 0x63, 0xee, 0xa0, 0x53, + 0xc1, 0x94, 0x05, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x00, 0x00, 0x00, + 0x1f, 0x03, 0x6f, 0x6e, 0x65, 0x49, 0x00, 0x00, 0xd4, 0x31, 0x03, 0x74, + 0x77, 0x6f, 0x53, 0x00, 0x00, 0x00, 0x0d, 0x41, 0x20, 0x6c, 0x6f, 0x6e, + 0x67, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x04, 0x62, 0x79, 0x74, + 0x65, 0x62, 0xff, 0x04, 0x6c, 0x6f, 0x6e, 0x67, 0x6c, 0x00, 0x00, 0x00, + 0x00, 0x49, 0x96, 0x02, 0xd2, 0x05, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x73, + 0x02, 0x8f, 0x04, 0x62, 0x6f, 0x6f, 0x6c, 0x74, 0x01, 0x06, 0x62, 0x69, + 0x6e, 0x61, 0x72, 0x79, 0x78, 0x00, 0x00, 0x00, 0x0f, 0x61, 0x20, 0x62, + 0x69, 0x6e, 0x61, 0x72, 0x79, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, + 0x04, 0x76, 0x6f, 0x69, 0x64, 0x56, 0x05, 0x61, 0x72, 0x72, 0x61, 0x79, + 0x41, 0x00, 0x00, 0x00, 0x17, 0x49, 0x00, 0x00, 0xd4, 0x31, 0x53, 0x00, + 0x00, 0x00, 0x0d, 0x41, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x73, 0x74, + 0x72, 0x69, 0x6e, 0x67, 0x05, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x66, 0x40, + 0x49, 0x0f, 0xdb, 0x06, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x64, 0x40, + 0x09, 0x21, 0xfb, 0x54, 0x44, 0x2d, 0x18}; + +static void test_table_codec(FILE *out) { amqp_pool_t pool; int result; @@ -367,8 +350,8 @@ static void test_table_codec(FILE *out) decoding_bytes.len = sizeof(pre_encoded_table); decoding_bytes.bytes = pre_encoded_table; - result = amqp_decode_table(decoding_bytes, &pool, &decoded, - &decoding_offset); + result = + amqp_decode_table(decoding_bytes, &pool, &decoded, &decoding_offset); if (result < 0) { die("Table decoding failed: %s", amqp_error_string2(result)); } @@ -413,8 +396,7 @@ static void test_table_codec(FILE *out) #define CHUNK_SIZE 4096 -static int compare_files(FILE *f1_in, FILE *f2_in) -{ +static int compare_files(FILE *f1_in, FILE *f2_in) { char f1_buf[CHUNK_SIZE]; char f2_buf[CHUNK_SIZE]; int res; @@ -444,8 +426,7 @@ static int compare_files(FILE *f1_in, FILE *f2_in) const char *expected_file_name = "tests/test_tables.expected"; -int main(void) -{ +int main(void) { char *srcdir = getenv("srcdir"); FILE *out, *expected = NULL; char *expected_path; diff --git a/tests/win32/msinttypes/inttypes.h b/tests/win32/msinttypes/inttypes.h index 4b3828a..f437cf4 100644 --- a/tests/win32/msinttypes/inttypes.h +++ b/tests/win32/msinttypes/inttypes.h @@ -1,39 +1,39 @@ // ISO C9x compliant inttypes.h for Microsoft Visual Studio -// Based on ISO/IEC 9899:TC2 Committee draft (May 6, 2005) WG14/N1124 -// +// Based on ISO/IEC 9899:TC2 Committee draft (May 6, 2005) WG14/N1124 +// // Copyright (c) 2006 Alexander Chemeris -// +// // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions are met: -// +// // 1. Redistributions of source code must retain the above copyright notice, // this list of conditions and the following disclaimer. -// +// // 2. Redistributions in binary form must reproduce the above copyright // notice, this list of conditions and the following disclaimer in the // documentation and/or other materials provided with the distribution. -// +// // 3. The name of the author may be used to endorse or promote products // derived from this software without specific prior written permission. -// +// // THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED // WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF // MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO // EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; -// OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +// OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, // WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR // OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF // ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// +// /////////////////////////////////////////////////////////////////////////////// -#ifndef _MSC_VER // [ +#ifndef _MSC_VER // [ #error "Use this header only with Microsoft Visual C++ compilers!" -#endif // _MSC_VER ] +#endif // _MSC_VER ] -#ifndef _MSC_INTTYPES_H_ // [ +#ifndef _MSC_INTTYPES_H_ // [ #define _MSC_INTTYPES_H_ #if _MSC_VER > 1000 @@ -45,223 +45,224 @@ // 7.8 Format conversion of integer types typedef struct { - intmax_t quot; - intmax_t rem; + intmax_t quot; + intmax_t rem; } imaxdiv_t; // 7.8.1 Macros for format specifiers -#if !defined(__cplusplus) || defined(__STDC_FORMAT_MACROS) // [ See footnote 185 at page 198 +#if !defined(__cplusplus) || \ + defined(__STDC_FORMAT_MACROS) // [ See footnote 185 at page 198 // The fprintf macros for signed integers are: -#define PRId8 "d" -#define PRIi8 "i" -#define PRIdLEAST8 "d" -#define PRIiLEAST8 "i" -#define PRIdFAST8 "d" -#define PRIiFAST8 "i" - -#define PRId16 "hd" -#define PRIi16 "hi" -#define PRIdLEAST16 "hd" -#define PRIiLEAST16 "hi" -#define PRIdFAST16 "hd" -#define PRIiFAST16 "hi" - -#define PRId32 "I32d" -#define PRIi32 "I32i" -#define PRIdLEAST32 "I32d" -#define PRIiLEAST32 "I32i" -#define PRIdFAST32 "I32d" -#define PRIiFAST32 "I32i" - -#define PRId64 "I64d" -#define PRIi64 "I64i" -#define PRIdLEAST64 "I64d" -#define PRIiLEAST64 "I64i" -#define PRIdFAST64 "I64d" -#define PRIiFAST64 "I64i" - -#define PRIdMAX "I64d" -#define PRIiMAX "I64i" - -#define PRIdPTR "Id" -#define PRIiPTR "Ii" +#define PRId8 "d" +#define PRIi8 "i" +#define PRIdLEAST8 "d" +#define PRIiLEAST8 "i" +#define PRIdFAST8 "d" +#define PRIiFAST8 "i" + +#define PRId16 "hd" +#define PRIi16 "hi" +#define PRIdLEAST16 "hd" +#define PRIiLEAST16 "hi" +#define PRIdFAST16 "hd" +#define PRIiFAST16 "hi" + +#define PRId32 "I32d" +#define PRIi32 "I32i" +#define PRIdLEAST32 "I32d" +#define PRIiLEAST32 "I32i" +#define PRIdFAST32 "I32d" +#define PRIiFAST32 "I32i" + +#define PRId64 "I64d" +#define PRIi64 "I64i" +#define PRIdLEAST64 "I64d" +#define PRIiLEAST64 "I64i" +#define PRIdFAST64 "I64d" +#define PRIiFAST64 "I64i" + +#define PRIdMAX "I64d" +#define PRIiMAX "I64i" + +#define PRIdPTR "Id" +#define PRIiPTR "Ii" // The fprintf macros for unsigned integers are: -#define PRIo8 "o" -#define PRIu8 "u" -#define PRIx8 "x" -#define PRIX8 "X" -#define PRIoLEAST8 "o" -#define PRIuLEAST8 "u" -#define PRIxLEAST8 "x" -#define PRIXLEAST8 "X" -#define PRIoFAST8 "o" -#define PRIuFAST8 "u" -#define PRIxFAST8 "x" -#define PRIXFAST8 "X" - -#define PRIo16 "ho" -#define PRIu16 "hu" -#define PRIx16 "hx" -#define PRIX16 "hX" -#define PRIoLEAST16 "ho" -#define PRIuLEAST16 "hu" -#define PRIxLEAST16 "hx" -#define PRIXLEAST16 "hX" -#define PRIoFAST16 "ho" -#define PRIuFAST16 "hu" -#define PRIxFAST16 "hx" -#define PRIXFAST16 "hX" - -#define PRIo32 "I32o" -#define PRIu32 "I32u" -#define PRIx32 "I32x" -#define PRIX32 "I32X" -#define PRIoLEAST32 "I32o" -#define PRIuLEAST32 "I32u" -#define PRIxLEAST32 "I32x" -#define PRIXLEAST32 "I32X" -#define PRIoFAST32 "I32o" -#define PRIuFAST32 "I32u" -#define PRIxFAST32 "I32x" -#define PRIXFAST32 "I32X" - -#define PRIo64 "I64o" -#define PRIu64 "I64u" -#define PRIx64 "I64x" -#define PRIX64 "I64X" -#define PRIoLEAST64 "I64o" -#define PRIuLEAST64 "I64u" -#define PRIxLEAST64 "I64x" -#define PRIXLEAST64 "I64X" -#define PRIoFAST64 "I64o" -#define PRIuFAST64 "I64u" -#define PRIxFAST64 "I64x" -#define PRIXFAST64 "I64X" - -#define PRIoMAX "I64o" -#define PRIuMAX "I64u" -#define PRIxMAX "I64x" -#define PRIXMAX "I64X" - -#define PRIoPTR "Io" -#define PRIuPTR "Iu" -#define PRIxPTR "Ix" -#define PRIXPTR "IX" +#define PRIo8 "o" +#define PRIu8 "u" +#define PRIx8 "x" +#define PRIX8 "X" +#define PRIoLEAST8 "o" +#define PRIuLEAST8 "u" +#define PRIxLEAST8 "x" +#define PRIXLEAST8 "X" +#define PRIoFAST8 "o" +#define PRIuFAST8 "u" +#define PRIxFAST8 "x" +#define PRIXFAST8 "X" + +#define PRIo16 "ho" +#define PRIu16 "hu" +#define PRIx16 "hx" +#define PRIX16 "hX" +#define PRIoLEAST16 "ho" +#define PRIuLEAST16 "hu" +#define PRIxLEAST16 "hx" +#define PRIXLEAST16 "hX" +#define PRIoFAST16 "ho" +#define PRIuFAST16 "hu" +#define PRIxFAST16 "hx" +#define PRIXFAST16 "hX" + +#define PRIo32 "I32o" +#define PRIu32 "I32u" +#define PRIx32 "I32x" +#define PRIX32 "I32X" +#define PRIoLEAST32 "I32o" +#define PRIuLEAST32 "I32u" +#define PRIxLEAST32 "I32x" +#define PRIXLEAST32 "I32X" +#define PRIoFAST32 "I32o" +#define PRIuFAST32 "I32u" +#define PRIxFAST32 "I32x" +#define PRIXFAST32 "I32X" + +#define PRIo64 "I64o" +#define PRIu64 "I64u" +#define PRIx64 "I64x" +#define PRIX64 "I64X" +#define PRIoLEAST64 "I64o" +#define PRIuLEAST64 "I64u" +#define PRIxLEAST64 "I64x" +#define PRIXLEAST64 "I64X" +#define PRIoFAST64 "I64o" +#define PRIuFAST64 "I64u" +#define PRIxFAST64 "I64x" +#define PRIXFAST64 "I64X" + +#define PRIoMAX "I64o" +#define PRIuMAX "I64u" +#define PRIxMAX "I64x" +#define PRIXMAX "I64X" + +#define PRIoPTR "Io" +#define PRIuPTR "Iu" +#define PRIxPTR "Ix" +#define PRIXPTR "IX" // The fscanf macros for signed integers are: -#define SCNd8 "d" -#define SCNi8 "i" -#define SCNdLEAST8 "d" -#define SCNiLEAST8 "i" -#define SCNdFAST8 "d" -#define SCNiFAST8 "i" - -#define SCNd16 "hd" -#define SCNi16 "hi" -#define SCNdLEAST16 "hd" -#define SCNiLEAST16 "hi" -#define SCNdFAST16 "hd" -#define SCNiFAST16 "hi" - -#define SCNd32 "ld" -#define SCNi32 "li" -#define SCNdLEAST32 "ld" -#define SCNiLEAST32 "li" -#define SCNdFAST32 "ld" -#define SCNiFAST32 "li" - -#define SCNd64 "I64d" -#define SCNi64 "I64i" -#define SCNdLEAST64 "I64d" -#define SCNiLEAST64 "I64i" -#define SCNdFAST64 "I64d" -#define SCNiFAST64 "I64i" - -#define SCNdMAX "I64d" -#define SCNiMAX "I64i" - -#ifdef _WIN64 // [ -# define SCNdPTR "I64d" -# define SCNiPTR "I64i" +#define SCNd8 "d" +#define SCNi8 "i" +#define SCNdLEAST8 "d" +#define SCNiLEAST8 "i" +#define SCNdFAST8 "d" +#define SCNiFAST8 "i" + +#define SCNd16 "hd" +#define SCNi16 "hi" +#define SCNdLEAST16 "hd" +#define SCNiLEAST16 "hi" +#define SCNdFAST16 "hd" +#define SCNiFAST16 "hi" + +#define SCNd32 "ld" +#define SCNi32 "li" +#define SCNdLEAST32 "ld" +#define SCNiLEAST32 "li" +#define SCNdFAST32 "ld" +#define SCNiFAST32 "li" + +#define SCNd64 "I64d" +#define SCNi64 "I64i" +#define SCNdLEAST64 "I64d" +#define SCNiLEAST64 "I64i" +#define SCNdFAST64 "I64d" +#define SCNiFAST64 "I64i" + +#define SCNdMAX "I64d" +#define SCNiMAX "I64i" + +#ifdef _WIN64 // [ +#define SCNdPTR "I64d" +#define SCNiPTR "I64i" #else // _WIN64 ][ -# define SCNdPTR "ld" -# define SCNiPTR "li" +#define SCNdPTR "ld" +#define SCNiPTR "li" #endif // _WIN64 ] // The fscanf macros for unsigned integers are: -#define SCNo8 "o" -#define SCNu8 "u" -#define SCNx8 "x" -#define SCNX8 "X" -#define SCNoLEAST8 "o" -#define SCNuLEAST8 "u" -#define SCNxLEAST8 "x" -#define SCNXLEAST8 "X" -#define SCNoFAST8 "o" -#define SCNuFAST8 "u" -#define SCNxFAST8 "x" -#define SCNXFAST8 "X" - -#define SCNo16 "ho" -#define SCNu16 "hu" -#define SCNx16 "hx" -#define SCNX16 "hX" -#define SCNoLEAST16 "ho" -#define SCNuLEAST16 "hu" -#define SCNxLEAST16 "hx" -#define SCNXLEAST16 "hX" -#define SCNoFAST16 "ho" -#define SCNuFAST16 "hu" -#define SCNxFAST16 "hx" -#define SCNXFAST16 "hX" - -#define SCNo32 "lo" -#define SCNu32 "lu" -#define SCNx32 "lx" -#define SCNX32 "lX" -#define SCNoLEAST32 "lo" -#define SCNuLEAST32 "lu" -#define SCNxLEAST32 "lx" -#define SCNXLEAST32 "lX" -#define SCNoFAST32 "lo" -#define SCNuFAST32 "lu" -#define SCNxFAST32 "lx" -#define SCNXFAST32 "lX" - -#define SCNo64 "I64o" -#define SCNu64 "I64u" -#define SCNx64 "I64x" -#define SCNX64 "I64X" -#define SCNoLEAST64 "I64o" -#define SCNuLEAST64 "I64u" -#define SCNxLEAST64 "I64x" -#define SCNXLEAST64 "I64X" -#define SCNoFAST64 "I64o" -#define SCNuFAST64 "I64u" -#define SCNxFAST64 "I64x" -#define SCNXFAST64 "I64X" - -#define SCNoMAX "I64o" -#define SCNuMAX "I64u" -#define SCNxMAX "I64x" -#define SCNXMAX "I64X" - -#ifdef _WIN64 // [ -# define SCNoPTR "I64o" -# define SCNuPTR "I64u" -# define SCNxPTR "I64x" -# define SCNXPTR "I64X" +#define SCNo8 "o" +#define SCNu8 "u" +#define SCNx8 "x" +#define SCNX8 "X" +#define SCNoLEAST8 "o" +#define SCNuLEAST8 "u" +#define SCNxLEAST8 "x" +#define SCNXLEAST8 "X" +#define SCNoFAST8 "o" +#define SCNuFAST8 "u" +#define SCNxFAST8 "x" +#define SCNXFAST8 "X" + +#define SCNo16 "ho" +#define SCNu16 "hu" +#define SCNx16 "hx" +#define SCNX16 "hX" +#define SCNoLEAST16 "ho" +#define SCNuLEAST16 "hu" +#define SCNxLEAST16 "hx" +#define SCNXLEAST16 "hX" +#define SCNoFAST16 "ho" +#define SCNuFAST16 "hu" +#define SCNxFAST16 "hx" +#define SCNXFAST16 "hX" + +#define SCNo32 "lo" +#define SCNu32 "lu" +#define SCNx32 "lx" +#define SCNX32 "lX" +#define SCNoLEAST32 "lo" +#define SCNuLEAST32 "lu" +#define SCNxLEAST32 "lx" +#define SCNXLEAST32 "lX" +#define SCNoFAST32 "lo" +#define SCNuFAST32 "lu" +#define SCNxFAST32 "lx" +#define SCNXFAST32 "lX" + +#define SCNo64 "I64o" +#define SCNu64 "I64u" +#define SCNx64 "I64x" +#define SCNX64 "I64X" +#define SCNoLEAST64 "I64o" +#define SCNuLEAST64 "I64u" +#define SCNxLEAST64 "I64x" +#define SCNXLEAST64 "I64X" +#define SCNoFAST64 "I64o" +#define SCNuFAST64 "I64u" +#define SCNxFAST64 "I64x" +#define SCNXFAST64 "I64X" + +#define SCNoMAX "I64o" +#define SCNuMAX "I64u" +#define SCNxMAX "I64x" +#define SCNXMAX "I64X" + +#ifdef _WIN64 // [ +#define SCNoPTR "I64o" +#define SCNuPTR "I64u" +#define SCNxPTR "I64x" +#define SCNXPTR "I64X" #else // _WIN64 ][ -# define SCNoPTR "lo" -# define SCNuPTR "lu" -# define SCNxPTR "lx" -# define SCNXPTR "lX" +#define SCNoPTR "lo" +#define SCNuPTR "lu" +#define SCNxPTR "lx" +#define SCNXPTR "lX" #endif // _WIN64 ] -#endif // __STDC_FORMAT_MACROS ] +#endif // __STDC_FORMAT_MACROS ] // 7.8.2 Functions for greatest-width integer types @@ -272,25 +273,24 @@ typedef struct { // This is modified version of div() function from Microsoft's div.c found // in %MSVC.NET%\crt\src\div.c -#ifdef STATIC_IMAXDIV // [ +#ifdef STATIC_IMAXDIV // [ static -#else // STATIC_IMAXDIV ][ +#else // STATIC_IMAXDIV ][ _inline -#endif // STATIC_IMAXDIV ] -imaxdiv_t __cdecl imaxdiv(intmax_t numer, intmax_t denom) -{ - imaxdiv_t result; +#endif // STATIC_IMAXDIV ] + imaxdiv_t __cdecl imaxdiv(intmax_t numer, intmax_t denom) { + imaxdiv_t result; - result.quot = numer / denom; - result.rem = numer % denom; + result.quot = numer / denom; + result.rem = numer % denom; - if (numer < 0 && result.rem > 0) { - // did division wrong; must fix up - ++result.quot; - result.rem -= denom; - } + if (numer < 0 && result.rem > 0) { + // did division wrong; must fix up + ++result.quot; + result.rem -= denom; + } - return result; + return result; } // 7.8.2.3 The strtoimax and strtoumax functions @@ -301,5 +301,4 @@ imaxdiv_t __cdecl imaxdiv(intmax_t numer, intmax_t denom) #define wcstoimax _wcstoi64 #define wcstoumax _wcstoui64 - -#endif // _MSC_INTTYPES_H_ ] +#endif // _MSC_INTTYPES_H_ ] diff --git a/tools/common.c b/tools/common.c index f305378..13839a8 100644 --- a/tools/common.c +++ b/tools/common.c @@ -54,8 +54,7 @@ #include "compat.h" #endif -void die(const char *fmt, ...) -{ +void die(const char *fmt, ...) { va_list ap; va_start(ap, fmt); vfprintf(stderr, fmt, ap); @@ -64,8 +63,7 @@ void die(const char *fmt, ...) exit(1); } -void die_errno(int err, const char *fmt, ...) -{ +void die_errno(int err, const char *fmt, ...) { va_list ap; if (err == 0) { @@ -79,8 +77,7 @@ void die_errno(int err, const char *fmt, ...) exit(1); } -void die_amqp_error(int err, const char *fmt, ...) -{ +void die_amqp_error(int err, const char *fmt, ...) { va_list ap; if (err >= 0) { @@ -94,63 +91,56 @@ void die_amqp_error(int err, const char *fmt, ...) exit(1); } -const char *amqp_server_exception_string(amqp_rpc_reply_t r) -{ +const char *amqp_server_exception_string(amqp_rpc_reply_t r) { int res; static char s[512]; switch (r.reply.id) { - case AMQP_CONNECTION_CLOSE_METHOD: { - amqp_connection_close_t *m - = (amqp_connection_close_t *)r.reply.decoded; - res = snprintf(s, sizeof(s), "server connection error %d, message: %.*s", - m->reply_code, - (int)m->reply_text.len, - (char *)m->reply_text.bytes); - break; - } + case AMQP_CONNECTION_CLOSE_METHOD: { + amqp_connection_close_t *m = (amqp_connection_close_t *)r.reply.decoded; + res = snprintf(s, sizeof(s), "server connection error %d, message: %.*s", + m->reply_code, (int)m->reply_text.len, + (char *)m->reply_text.bytes); + break; + } - case AMQP_CHANNEL_CLOSE_METHOD: { - amqp_channel_close_t *m - = (amqp_channel_close_t *)r.reply.decoded; - res = snprintf(s, sizeof(s), "server channel error %d, message: %.*s", - m->reply_code, - (int)m->reply_text.len, - (char *)m->reply_text.bytes); - break; - } + case AMQP_CHANNEL_CLOSE_METHOD: { + amqp_channel_close_t *m = (amqp_channel_close_t *)r.reply.decoded; + res = snprintf(s, sizeof(s), "server channel error %d, message: %.*s", + m->reply_code, (int)m->reply_text.len, + (char *)m->reply_text.bytes); + break; + } - default: - res = snprintf(s, sizeof(s), "unknown server error, method id 0x%08X", - r.reply.id); - break; + default: + res = snprintf(s, sizeof(s), "unknown server error, method id 0x%08X", + r.reply.id); + break; } return res >= 0 ? s : NULL; } -const char *amqp_rpc_reply_string(amqp_rpc_reply_t r) -{ +const char *amqp_rpc_reply_string(amqp_rpc_reply_t r) { switch (r.reply_type) { - case AMQP_RESPONSE_NORMAL: - return "normal response"; + case AMQP_RESPONSE_NORMAL: + return "normal response"; - case AMQP_RESPONSE_NONE: - return "missing RPC reply type"; + case AMQP_RESPONSE_NONE: + return "missing RPC reply type"; - case AMQP_RESPONSE_LIBRARY_EXCEPTION: - return amqp_error_string2(r.library_error); + case AMQP_RESPONSE_LIBRARY_EXCEPTION: + return amqp_error_string2(r.library_error); - case AMQP_RESPONSE_SERVER_EXCEPTION: - return amqp_server_exception_string(r); + case AMQP_RESPONSE_SERVER_EXCEPTION: + return amqp_server_exception_string(r); - default: - abort(); + default: + abort(); } } -void die_rpc(amqp_rpc_reply_t r, const char *fmt, ...) -{ +void die_rpc(amqp_rpc_reply_t r, const char *fmt, ...) { va_list ap; if (r.reply_type == AMQP_RESPONSE_NORMAL) { @@ -180,57 +170,31 @@ static char *amqp_cert = NULL; const char *connect_options_title = "Connection options"; struct poptOption connect_options[] = { - { - "url", 'u', POPT_ARG_STRING, &amqp_url, 0, - "the AMQP URL to connect to", "amqp://..." - }, - { - "server", 's', POPT_ARG_STRING, &amqp_server, 0, - "the AMQP server to connect to", "hostname" - }, - { - "port", 0, POPT_ARG_INT, &amqp_port, 0, - "the port to connect on", "port" - }, - { - "vhost", 0, POPT_ARG_STRING, &amqp_vhost, 0, - "the vhost to use when connecting", "vhost" - }, - { - "username", 0, POPT_ARG_STRING, &amqp_username, 0, - "the username to login with", "username" - }, - { - "password", 0, POPT_ARG_STRING, &amqp_password, 0, - "the password to login with", "password" - }, - { - "heartbeat", 0, POPT_ARG_INT, &amqp_heartbeat, 0, - "heartbeat interval, set to 0 to disable", "heartbeat" - }, + {"url", 'u', POPT_ARG_STRING, &amqp_url, 0, "the AMQP URL to connect to", + "amqp://..."}, + {"server", 's', POPT_ARG_STRING, &amqp_server, 0, + "the AMQP server to connect to", "hostname"}, + {"port", 0, POPT_ARG_INT, &amqp_port, 0, "the port to connect on", "port"}, + {"vhost", 0, POPT_ARG_STRING, &amqp_vhost, 0, + "the vhost to use when connecting", "vhost"}, + {"username", 0, POPT_ARG_STRING, &amqp_username, 0, + "the username to login with", "username"}, + {"password", 0, POPT_ARG_STRING, &amqp_password, 0, + "the password to login with", "password"}, + {"heartbeat", 0, POPT_ARG_INT, &amqp_heartbeat, 0, + "heartbeat interval, set to 0 to disable", "heartbeat"}, #ifdef WITH_SSL - { - "ssl", 0, POPT_ARG_NONE, &amqp_ssl, 0, - "connect over SSL/TLS", NULL - }, - { - "cacert", 0, POPT_ARG_STRING, &amqp_cacert, 0, - "path to the CA certificate file", "cacert.pem" - }, - { - "key", 0, POPT_ARG_STRING, &amqp_key, 0, - "path to the client private key file", "key.pem" - }, - { - "cert", 0, POPT_ARG_STRING, &amqp_cert, 0, - "path to the client certificate file", "cert.pem" - }, + {"ssl", 0, POPT_ARG_NONE, &amqp_ssl, 0, "connect over SSL/TLS", NULL}, + {"cacert", 0, POPT_ARG_STRING, &amqp_cacert, 0, + "path to the CA certificate file", "cacert.pem"}, + {"key", 0, POPT_ARG_STRING, &amqp_key, 0, + "path to the client private key file", "key.pem"}, + {"cert", 0, POPT_ARG_STRING, &amqp_cert, 0, + "path to the client certificate file", "cert.pem"}, #endif /* WITH_SSL */ - { NULL, '\0', 0, NULL, 0, NULL, NULL } -}; + {NULL, '\0', 0, NULL, 0, NULL, NULL}}; -static void init_connection_info(struct amqp_connection_info *ci) -{ +static void init_connection_info(struct amqp_connection_info *ci) { ci->user = NULL; ci->password = NULL; ci->host = NULL; @@ -241,8 +205,8 @@ static void init_connection_info(struct amqp_connection_info *ci) amqp_default_connection_info(ci); if (amqp_url) - die_amqp_error(amqp_parse_url(strdup(amqp_url), ci), - "Parsing URL '%s'", amqp_url); + die_amqp_error(amqp_parse_url(strdup(amqp_url), ci), "Parsing URL '%s'", + amqp_url); if (amqp_server) { char *colon; @@ -260,8 +224,8 @@ static void init_connection_info(struct amqp_connection_info *ci) --server option, because it is not ipv6 friendly. --url now allows connection options to be specified concisely. */ - fprintf(stderr, "Specifying the port number with" - " --server is deprecated\n"); + fprintf(stderr, + "Specifying the port number with --server is deprecated\n"); host_len = colon - amqp_server; ci->host = malloc(host_len + 1); @@ -272,13 +236,10 @@ static void init_connection_info(struct amqp_connection_info *ci) die("both --server and --port options specify server port"); } - ci->port = strtol(colon+1, &port_end, 10); - if (ci->port < 0 - || ci->port > 65535 - || port_end == colon+1 - || *port_end != 0) - die("bad server port number in '%s'", - amqp_server); + ci->port = strtol(colon + 1, &port_end, 10); + if (ci->port < 0 || ci->port > 65535 || port_end == colon + 1 || + *port_end != 0) + die("bad server port number in '%s'", amqp_server); } #if WITH_SSL @@ -326,8 +287,7 @@ static void init_connection_info(struct amqp_connection_info *ci) } } -amqp_connection_state_t make_connection(void) -{ +amqp_connection_state_t make_connection(void) { int status; amqp_socket_t *socket = NULL; struct amqp_connection_info ci; @@ -361,8 +321,7 @@ amqp_connection_state_t make_connection(void) die("opening socket to %s:%d", ci.host, ci.port); } die_rpc(amqp_login(conn, ci.vhost, 0, 131072, amqp_heartbeat, - AMQP_SASL_METHOD_PLAIN, - ci.user, ci.password), + AMQP_SASL_METHOD_PLAIN, ci.user, ci.password), "logging in to AMQP server"); if (!amqp_channel_open(conn, 1)) { die_rpc(amqp_get_rpc_reply(conn), "opening channel"); @@ -370,11 +329,9 @@ amqp_connection_state_t make_connection(void) return conn; } -void close_connection(amqp_connection_state_t conn) -{ +void close_connection(amqp_connection_state_t conn) { int res; - die_rpc(amqp_channel_close(conn, 1, AMQP_REPLY_SUCCESS), - "closing channel"); + die_rpc(amqp_channel_close(conn, 1, AMQP_REPLY_SUCCESS), "closing channel"); die_rpc(amqp_connection_close(conn, AMQP_REPLY_SUCCESS), "closing connection"); @@ -382,8 +339,7 @@ void close_connection(amqp_connection_state_t conn) die_amqp_error(res, "closing connection"); } -amqp_bytes_t read_all(int fd) -{ +amqp_bytes_t read_all(int fd) { size_t space = 4096; amqp_bytes_t bytes; @@ -391,8 +347,7 @@ amqp_bytes_t read_all(int fd) bytes.len = 0; for (;;) { - ssize_t res = read(fd, (char *)bytes.bytes + bytes.len, - space-bytes.len); + ssize_t res = read(fd, (char *)bytes.bytes + bytes.len, space - bytes.len); if (res == 0) { break; } @@ -415,8 +370,7 @@ amqp_bytes_t read_all(int fd) return bytes; } -void write_all(int fd, amqp_bytes_t data) -{ +void write_all(int fd, amqp_bytes_t data) { while (data.len > 0) { ssize_t res = write(fd, data.bytes, data.len); if (res < 0) { @@ -428,16 +382,14 @@ void write_all(int fd, amqp_bytes_t data) } } -void copy_body(amqp_connection_state_t conn, int fd) -{ +void copy_body(amqp_connection_state_t conn, int fd) { size_t body_remaining; amqp_frame_t frame; int res = amqp_simple_wait_frame(conn, &frame); die_amqp_error(res, "waiting for header frame"); if (frame.frame_type != AMQP_FRAME_HEADER) { - die("expected header, got frame type 0x%X", - frame.frame_type); + die("expected header, got frame type 0x%X", frame.frame_type); } body_remaining = frame.payload.properties.body_size; @@ -445,8 +397,7 @@ void copy_body(amqp_connection_state_t conn, int fd) res = amqp_simple_wait_frame(conn, &frame); die_amqp_error(res, "waiting for body frame"); if (frame.frame_type != AMQP_FRAME_BODY) { - die("expected body, got frame type 0x%X", - frame.frame_type); + die("expected body, got frame type 0x%X", frame.frame_type); } write_all(fd, frame.payload.body_fragment); @@ -455,9 +406,7 @@ void copy_body(amqp_connection_state_t conn, int fd) } poptContext process_options(int argc, const char **argv, - struct poptOption *options, - const char *help) -{ + struct poptOption *options, const char *help) { int c; poptContext opts = poptGetContext(NULL, argc, argv, options, 0); poptSetOtherOptionHelp(opts, help); @@ -467,8 +416,7 @@ poptContext process_options(int argc, const char **argv, } if (c < -1) { - fprintf(stderr, "%s: %s\n", - poptBadOption(opts, POPT_BADOPTION_NOALIAS), + fprintf(stderr, "%s: %s\n", poptBadOption(opts, POPT_BADOPTION_NOALIAS), poptStrerror(c)); poptPrintUsage(opts, stderr, 0); exit(1); @@ -478,10 +426,8 @@ poptContext process_options(int argc, const char **argv, } void process_all_options(int argc, const char **argv, - struct poptOption *options) -{ - poptContext opts = process_options(argc, argv, options, - "[OPTIONS]..."); + struct poptOption *options) { + poptContext opts = process_options(argc, argv, options, "[OPTIONS]..."); const char *opt = poptPeekArg(opts); if (opt) { @@ -493,7 +439,6 @@ void process_all_options(int argc, const char **argv, poptFreeContext(opts); } -amqp_bytes_t cstring_bytes(const char *str) -{ +amqp_bytes_t cstring_bytes(const char *str) { return str ? amqp_cstring_bytes(str) : amqp_empty_bytes; } diff --git a/tools/common.h b/tools/common.h index 642d1b3..36b5153 100644 --- a/tools/common.h +++ b/tools/common.h @@ -43,14 +43,13 @@ extern const char *amqp_server_exception_string(amqp_rpc_reply_t r); extern const char *amqp_rpc_reply_string(amqp_rpc_reply_t r); -extern void die(const char *fmt, ...) -__attribute__ ((format (printf, 1, 2))); +extern void die(const char *fmt, ...) __attribute__((format(printf, 1, 2))); extern void die_errno(int err, const char *fmt, ...) -__attribute__ ((format (printf, 2, 3))); + __attribute__((format(printf, 2, 3))); extern void die_amqp_error(int err, const char *fmt, ...) -__attribute__ ((format (printf, 2, 3))); + __attribute__((format(printf, 2, 3))); extern void die_rpc(amqp_rpc_reply_t r, const char *fmt, ...) -__attribute__ ((format (printf, 2, 3))); + __attribute__((format(printf, 2, 3))); extern const char *connect_options_title; extern struct poptOption connect_options[]; @@ -63,7 +62,7 @@ extern void write_all(int fd, amqp_bytes_t data); extern void copy_body(amqp_connection_state_t conn, int fd); #define INCLUDE_OPTIONS(options) \ - {NULL, 0, POPT_ARG_INCLUDE_TABLE, options, 0, options ## _title, NULL} + { NULL, 0, POPT_ARG_INCLUDE_TABLE, options, 0, options##_title, NULL } extern poptContext process_options(int argc, const char **argv, struct poptOption *options, diff --git a/tools/consume.c b/tools/consume.c index 485a0cf..dbc164a 100644 --- a/tools/consume.c +++ b/tools/consume.c @@ -49,8 +49,7 @@ /* Convert a amqp_bytes_t to an escaped string form for printing. We use the same escaping conventions as rabbitmqctl. */ -static char *stringify_bytes(amqp_bytes_t bytes) -{ +static char *stringify_bytes(amqp_bytes_t bytes) { /* We will need up to 4 chars per byte, plus the terminating 0 */ char *res = malloc(bytes.len * 4 + 1); uint8_t *data = bytes.bytes; @@ -72,11 +71,9 @@ static char *stringify_bytes(amqp_bytes_t bytes) return res; } -static amqp_bytes_t setup_queue(amqp_connection_state_t conn, - char *queue, char *exchange, - char *routing_key, int declare, - int exclusive) -{ +static amqp_bytes_t setup_queue(amqp_connection_state_t conn, char *queue, + char *exchange, char *routing_key, int declare, + int exclusive) { amqp_bytes_t queue_bytes = cstring_bytes(queue); char *routing_key_rest; @@ -84,19 +81,19 @@ static amqp_bytes_t setup_queue(amqp_connection_state_t conn, char *routing_tmp; int routing_key_count = 0; - /* if an exchange name wasn't provided, check that we don't - have options that require it. */ + /* if an exchange name wasn't provided, check that we don't have options that + * require it. */ if (!exchange && routing_key) { - fprintf(stderr, "--routing-key option requires an exchange" - " name to be provided with --exchange\n"); + fprintf(stderr, + "--routing-key option requires an exchange name to be provided " + "with --exchange\n"); exit(1); } if (!queue || exchange || declare || exclusive) { /* Declare the queue as auto-delete. */ - amqp_queue_declare_ok_t *res = amqp_queue_declare(conn, 1, - queue_bytes, 0, 0, exclusive, 1, - amqp_empty_table); + amqp_queue_declare_ok_t *res = amqp_queue_declare( + conn, 1, queue_bytes, 0, 0, exclusive, 1, amqp_empty_table); if (!res) { die_rpc(amqp_get_rpc_reply(conn), "queue.declare"); } @@ -106,8 +103,7 @@ static amqp_bytes_t setup_queue(amqp_connection_state_t conn, char *sq; queue_bytes = amqp_bytes_malloc_dup(res->queue); sq = stringify_bytes(queue_bytes); - fprintf(stderr, "Server provided queue name: %s\n", - sq); + fprintf(stderr, "Server provided queue name: %s\n", sq); free(sq); } @@ -115,17 +111,17 @@ static amqp_bytes_t setup_queue(amqp_connection_state_t conn, if (exchange) { amqp_bytes_t eb = amqp_cstring_bytes(exchange); - routing_tmp = strdup( routing_key ); - if ( NULL == routing_tmp ) { - fprintf(stderr, "could not allocate memory to parse routing key\n" ); + routing_tmp = strdup(routing_key); + if (NULL == routing_tmp) { + fprintf(stderr, "could not allocate memory to parse routing key\n"); exit(1); } - for ( - routing_key_token = strtok_r( routing_tmp, LISTEN_KEYS_DELIMITER, &routing_key_rest ) - ; NULL != routing_key_token && routing_key_count < MAX_LISTEN_KEYS - 1 - ; routing_key_token = strtok_r( NULL, LISTEN_KEYS_DELIMITER, &routing_key_rest ) - ) { + for (routing_key_token = + strtok_r(routing_tmp, LISTEN_KEYS_DELIMITER, &routing_key_rest); + NULL != routing_key_token && routing_key_count < MAX_LISTEN_KEYS - 1; + routing_key_token = + strtok_r(NULL, LISTEN_KEYS_DELIMITER, &routing_key_rest)) { if (!amqp_queue_bind(conn, 1, queue_bytes, eb, cstring_bytes(routing_key_token), @@ -133,7 +129,7 @@ static amqp_bytes_t setup_queue(amqp_connection_state_t conn, die_rpc(amqp_get_rpc_reply(conn), "queue.bind"); } } - free( routing_tmp ); + free(routing_tmp); } } @@ -144,13 +140,12 @@ static amqp_bytes_t setup_queue(amqp_connection_state_t conn, static void do_consume(amqp_connection_state_t conn, amqp_bytes_t queue, int no_ack, int count, int prefetch_count, - const char *const *argv) -{ + const char *const *argv) { int i; /* If there is a limit, set the qos to match */ - if (count > 0 && count <= AMQP_CONSUME_MAX_PREFETCH_COUNT - && !amqp_basic_qos(conn, 1, 0, count, 0)) { + if (count > 0 && count <= AMQP_CONSUME_MAX_PREFETCH_COUNT && + !amqp_basic_qos(conn, 1, 0, count, 0)) { die_rpc(amqp_get_rpc_reply(conn), "basic.qos"); } @@ -159,15 +154,16 @@ static void do_consume(amqp_connection_state_t conn, amqp_bytes_t queue, if (prefetch_count > 0 && prefetch_count <= AMQP_CONSUME_MAX_PREFETCH_COUNT) { /* the maximum number of messages to be received at a time must be less * than the global maximum number of messages. */ - if (!(count > 0 && count <= AMQP_CONSUME_MAX_PREFETCH_COUNT && prefetch_count >= count)) { + if (!(count > 0 && count <= AMQP_CONSUME_MAX_PREFETCH_COUNT && + prefetch_count >= count)) { if (!amqp_basic_qos(conn, 1, 0, prefetch_count, 0)) { die_rpc(amqp_get_rpc_reply(conn), "basic.qos"); } } } - if (!amqp_basic_consume(conn, 1, queue, amqp_empty_bytes, 0, no_ack, - 0, amqp_empty_table)) { + if (!amqp_basic_consume(conn, 1, queue, amqp_empty_bytes, 0, no_ack, 0, + amqp_empty_table)) { die_rpc(amqp_get_rpc_reply(conn), "basic.consume"); } @@ -179,8 +175,8 @@ static void do_consume(amqp_connection_state_t conn, amqp_bytes_t queue, int res = amqp_simple_wait_frame(conn, &frame); die_amqp_error(res, "waiting for header frame"); - if (frame.frame_type != AMQP_FRAME_METHOD - || frame.payload.method.id != AMQP_BASIC_DELIVER_METHOD) { + if (frame.frame_type != AMQP_FRAME_METHOD || + frame.payload.method.id != AMQP_BASIC_DELIVER_METHOD) { continue; } @@ -191,16 +187,13 @@ static void do_consume(amqp_connection_state_t conn, amqp_bytes_t queue, copy_body(conn, pl.infd); if (finish_pipeline(&pl) && !no_ack) - die_amqp_error(amqp_basic_ack(conn, 1, delivery_tag, - 0), - "basic.ack"); + die_amqp_error(amqp_basic_ack(conn, 1, delivery_tag, 0), "basic.ack"); amqp_maybe_release_buffers(conn); } } -int main(int argc, const char **argv) -{ +int main(int argc, const char **argv) { poptContext opts; amqp_connection_state_t conn; const char *const *cmd_argv; @@ -215,47 +208,27 @@ int main(int argc, const char **argv) amqp_bytes_t queue_bytes; struct poptOption options[] = { - INCLUDE_OPTIONS(connect_options), - { - "queue", 'q', POPT_ARG_STRING, &queue, 0, - "the queue to consume from", "queue" - }, - { - "exchange", 'e', POPT_ARG_STRING, &exchange, 0, - "bind the queue to this exchange", "exchange" - }, - { - "routing-key", 'r', POPT_ARG_STRING, &routing_key, 0, - "the routing key to bind with", "routing key" - }, - { - "declare", 'd', POPT_ARG_NONE, &declare, 0, - "declare an exclusive queue (deprecated, use --exclusive instead)", NULL - }, - { - "exclusive", 'x', POPT_ARG_NONE, &exclusive, 0, - "declare the queue as exclusive", NULL - }, - { - "no-ack", 'A', POPT_ARG_NONE, &no_ack, 0, - "consume in no-ack mode", NULL - }, - { - "count", 'c', POPT_ARG_INT, &count, 0, - "stop consuming after this many messages are consumed", - "limit" - }, - { - "prefetch-count", 'p', POPT_ARG_INT, &prefetch_count, 0, - "receive only this many message at a time from the server", - "limit" - }, - POPT_AUTOHELP - { NULL, '\0', 0, NULL, 0, NULL, NULL } - }; - - opts = process_options(argc, argv, options, - "[OPTIONS]... "); + INCLUDE_OPTIONS(connect_options), + {"queue", 'q', POPT_ARG_STRING, &queue, 0, "the queue to consume from", + "queue"}, + {"exchange", 'e', POPT_ARG_STRING, &exchange, 0, + "bind the queue to this exchange", "exchange"}, + {"routing-key", 'r', POPT_ARG_STRING, &routing_key, 0, + "the routing key to bind with", "routing key"}, + {"declare", 'd', POPT_ARG_NONE, &declare, 0, + "declare an exclusive queue (deprecated, use --exclusive instead)", + NULL}, + {"exclusive", 'x', POPT_ARG_NONE, &exclusive, 0, + "declare the queue as exclusive", NULL}, + {"no-ack", 'A', POPT_ARG_NONE, &no_ack, 0, "consume in no-ack mode", + NULL}, + {"count", 'c', POPT_ARG_INT, &count, 0, + "stop consuming after this many messages are consumed", "limit"}, + {"prefetch-count", 'p', POPT_ARG_INT, &prefetch_count, 0, + "receive only this many message at a time from the server", "limit"}, + POPT_AUTOHELP{NULL, '\0', 0, NULL, 0, NULL, NULL}}; + + opts = process_options(argc, argv, options, "[OPTIONS]... "); cmd_argv = poptGetArgs(opts); if (!cmd_argv || !cmd_argv[0]) { @@ -265,7 +238,8 @@ int main(int argc, const char **argv) } conn = make_connection(); - queue_bytes = setup_queue(conn, queue, exchange, routing_key, declare, exclusive); + queue_bytes = + setup_queue(conn, queue, exchange, routing_key, declare, exclusive); do_consume(conn, queue_bytes, no_ack, count, prefetch_count, cmd_argv); close_connection(conn); return 0; diff --git a/tools/declare_queue.c b/tools/declare_queue.c index 15f0b2a..0b98580 100644 --- a/tools/declare_queue.c +++ b/tools/declare_queue.c @@ -44,25 +44,18 @@ #include "common.h" -int main(int argc, const char **argv) -{ +int main(int argc, const char **argv) { amqp_connection_state_t conn; static char *queue = NULL; static int durable = 0; struct poptOption options[] = { - INCLUDE_OPTIONS(connect_options), - { - "queue", 'q', POPT_ARG_STRING, &queue, 0, - "the queue name to declare, or the empty string", "queue" - }, - { - "durable", 'd', POPT_ARG_VAL, &durable, 1, - "declare a durable queue", NULL - }, - POPT_AUTOHELP - { NULL, '\0', 0, NULL, 0, NULL, NULL } - }; + INCLUDE_OPTIONS(connect_options), + {"queue", 'q', POPT_ARG_STRING, &queue, 0, + "the queue name to declare, or the empty string", "queue"}, + {"durable", 'd', POPT_ARG_VAL, &durable, 1, "declare a durable queue", + NULL}, + POPT_AUTOHELP{NULL, '\0', 0, NULL, 0, NULL, NULL}}; process_all_options(argc, argv, options); @@ -73,13 +66,8 @@ int main(int argc, const char **argv) conn = make_connection(); { - amqp_queue_declare_ok_t *reply = amqp_queue_declare(conn, 1, - cstring_bytes(queue), - 0, - durable, - 0, - 0, - amqp_empty_table); + amqp_queue_declare_ok_t *reply = amqp_queue_declare( + conn, 1, cstring_bytes(queue), 0, durable, 0, 0, amqp_empty_table); if (reply == NULL) { die_rpc(amqp_get_rpc_reply(conn), "queue.declare"); } diff --git a/tools/delete_queue.c b/tools/delete_queue.c index 6ac0130..f9d01ab 100644 --- a/tools/delete_queue.c +++ b/tools/delete_queue.c @@ -44,30 +44,21 @@ #include "common.h" -int main(int argc, const char **argv) -{ +int main(int argc, const char **argv) { amqp_connection_state_t conn; static char *queue = NULL; static int if_unused = 0; static int if_empty = 0; struct poptOption options[] = { - INCLUDE_OPTIONS(connect_options), - { - "queue", 'q', POPT_ARG_STRING, &queue, 0, - "the queue name to delete", "queue" - }, - { - "if-unused", 'u', POPT_ARG_VAL, &if_unused, 1, - "do not delete unless queue is unused", NULL - }, - { - "if-empty", 'e', POPT_ARG_VAL, &if_empty, 1, - "do not delete unless queue is empty", NULL - }, - POPT_AUTOHELP - { NULL, '\0', 0, NULL, 0, NULL, NULL } - }; + INCLUDE_OPTIONS(connect_options), + {"queue", 'q', POPT_ARG_STRING, &queue, 0, "the queue name to delete", + "queue"}, + {"if-unused", 'u', POPT_ARG_VAL, &if_unused, 1, + "do not delete unless queue is unused", NULL}, + {"if-empty", 'e', POPT_ARG_VAL, &if_empty, 1, + "do not delete unless queue is empty", NULL}, + POPT_AUTOHELP{NULL, '\0', 0, NULL, 0, NULL, NULL}}; process_all_options(argc, argv, options); @@ -78,10 +69,8 @@ int main(int argc, const char **argv) conn = make_connection(); { - amqp_queue_delete_ok_t *reply = amqp_queue_delete(conn, 1, - cstring_bytes(queue), - if_unused, - if_empty); + amqp_queue_delete_ok_t *reply = + amqp_queue_delete(conn, 1, cstring_bytes(queue), if_unused, if_empty); if (reply == NULL) { die_rpc(amqp_get_rpc_reply(conn), "queue.delete"); } diff --git a/tools/get.c b/tools/get.c index 598a014..f418e2f 100644 --- a/tools/get.c +++ b/tools/get.c @@ -41,10 +41,8 @@ #include "common.h" -static int do_get(amqp_connection_state_t conn, char *queue) -{ - amqp_rpc_reply_t r - = amqp_basic_get(conn, 1, cstring_bytes(queue), 1); +static int do_get(amqp_connection_state_t conn, char *queue) { + amqp_rpc_reply_t r = amqp_basic_get(conn, 1, cstring_bytes(queue), 1); die_rpc(r, "basic.get"); if (r.reply.id == AMQP_BASIC_GET_EMPTY_METHOD) { @@ -55,21 +53,16 @@ static int do_get(amqp_connection_state_t conn, char *queue) return 1; } -int main(int argc, const char **argv) -{ +int main(int argc, const char **argv) { amqp_connection_state_t conn; static char *queue = NULL; int got_something; struct poptOption options[] = { - INCLUDE_OPTIONS(connect_options), - { - "queue", 'q', POPT_ARG_STRING, &queue, 0, - "the queue to consume from", "queue" - }, - POPT_AUTOHELP - { NULL, '\0', 0, NULL, 0, NULL, NULL } - }; + INCLUDE_OPTIONS(connect_options), + {"queue", 'q', POPT_ARG_STRING, &queue, 0, "the queue to consume from", + "queue"}, + POPT_AUTOHELP{NULL, '\0', 0, NULL, 0, NULL, NULL}}; process_all_options(argc, argv, options); diff --git a/tools/publish.c b/tools/publish.c index 881004d..b2a2a1e 100644 --- a/tools/publish.c +++ b/tools/publish.c @@ -45,19 +45,15 @@ #define MAX_LINE_LENGTH 1024 * 32 -static void do_publish(amqp_connection_state_t conn, - char *exchange, char *routing_key, - amqp_basic_properties_t *props, amqp_bytes_t body) -{ - int res = amqp_basic_publish(conn, 1, - cstring_bytes(exchange), - cstring_bytes(routing_key), - 0, 0, props, body); +static void do_publish(amqp_connection_state_t conn, char *exchange, + char *routing_key, amqp_basic_properties_t *props, + amqp_bytes_t body) { + int res = amqp_basic_publish(conn, 1, cstring_bytes(exchange), + cstring_bytes(routing_key), 0, 0, props, body); die_amqp_error(res, "basic.publish"); } -int main(int argc, const char **argv) -{ +int main(int argc, const char **argv) { amqp_connection_state_t conn; static char *exchange = NULL; static char *routing_key = NULL; @@ -73,53 +69,32 @@ int main(int argc, const char **argv) static char **pos; struct poptOption options[] = { - INCLUDE_OPTIONS(connect_options), - { - "exchange", 'e', POPT_ARG_STRING, &exchange, 0, - "the exchange to publish to", "exchange" - }, - { - "routing-key", 'r', POPT_ARG_STRING, &routing_key, 0, - "the routing key to publish with", "routing key" - }, - { - "persistent", 'p', POPT_ARG_VAL, &delivery, 2, - "use the persistent delivery mode", NULL - }, - { - "content-type", 'C', POPT_ARG_STRING, &content_type, 0, - "the content-type for the message", "content type" - }, - { - "reply-to", 't', POPT_ARG_STRING, &reply_to, 0, - "the replyTo to use for the message", "reply to" - }, - { - "line-buffered", 'l', POPT_ARG_VAL, &line_buffered, 2, - "treat each line from standard in as a separate message", NULL - }, - { - "content-encoding", 'E', POPT_ARG_STRING, - &content_encoding, 0, - "the content-encoding for the message", "content encoding" - }, - { - "header", 'H', POPT_ARG_ARGV, &headers, 0, - "set a message header (may be specified multiple times)", "\"key: value\"" - }, - { - "body", 'b', POPT_ARG_STRING, &body, 0, - "specify the message body", "body" - }, - POPT_AUTOHELP - { NULL, '\0', 0, NULL, 0, NULL, NULL } - }; + INCLUDE_OPTIONS(connect_options), + {"exchange", 'e', POPT_ARG_STRING, &exchange, 0, + "the exchange to publish to", "exchange"}, + {"routing-key", 'r', POPT_ARG_STRING, &routing_key, 0, + "the routing key to publish with", "routing key"}, + {"persistent", 'p', POPT_ARG_VAL, &delivery, 2, + "use the persistent delivery mode", NULL}, + {"content-type", 'C', POPT_ARG_STRING, &content_type, 0, + "the content-type for the message", "content type"}, + {"reply-to", 't', POPT_ARG_STRING, &reply_to, 0, + "the replyTo to use for the message", "reply to"}, + {"line-buffered", 'l', POPT_ARG_VAL, &line_buffered, 2, + "treat each line from standard in as a separate message", NULL}, + {"content-encoding", 'E', POPT_ARG_STRING, &content_encoding, 0, + "the content-encoding for the message", "content encoding"}, + {"header", 'H', POPT_ARG_ARGV, &headers, 0, + "set a message header (may be specified multiple times)", + "\"key: value\""}, + {"body", 'b', POPT_ARG_STRING, &body, 0, "specify the message body", + "body"}, + POPT_AUTOHELP{NULL, '\0', 0, NULL, 0, NULL, NULL}}; process_all_options(argc, argv, options); if (!exchange && !routing_key) { - fprintf(stderr, - "neither exchange nor routing key specified\n"); + fprintf(stderr, "neither exchange nor routing key specified\n"); return 1; } @@ -162,9 +137,10 @@ int main(int argc, const char **argv) table->entries[i].value.kind = AMQP_FIELD_KIND_UTF8; table->entries[i].value.value.bytes = amqp_cstring_bytes(colon); i++; - } - else { - fprintf(stderr, "Ignored header definition missing ':' delimiter in \"%s\"\n", *pos); + } else { + fprintf(stderr, + "Ignored header definition missing ':' delimiter in \"%s\"\n", + *pos); } } props._flags |= AMQP_BASIC_HEADERS_FLAG; @@ -176,10 +152,10 @@ int main(int argc, const char **argv) if (body) { body_bytes = amqp_cstring_bytes(body); } else { - if ( line_buffered ) { - body_bytes.bytes = ( char * ) malloc( MAX_LINE_LENGTH ); - while ( fgets( body_bytes.bytes, MAX_LINE_LENGTH, stdin ) ) { - body_bytes.len = strlen( body_bytes.bytes ); + if (line_buffered) { + body_bytes.bytes = (char *)malloc(MAX_LINE_LENGTH); + while (fgets(body_bytes.bytes, MAX_LINE_LENGTH, stdin)) { + body_bytes.len = strlen(body_bytes.bytes); do_publish(conn, exchange, routing_key, &props, body_bytes); } } else { @@ -187,7 +163,7 @@ int main(int argc, const char **argv) } } - if ( !line_buffered ) { + if (!line_buffered) { do_publish(conn, exchange, routing_key, &props, body_bytes); } diff --git a/tools/unix/process.c b/tools/unix/process.c index 987b49c..596f40a 100644 --- a/tools/unix/process.c +++ b/tools/unix/process.c @@ -37,18 +37,17 @@ #include "config.h" #endif -#include #include #include #include +#include #include "common.h" #include "process.h" extern char **environ; -void pipeline(const char *const *argv, struct pipeline *pl) -{ +void pipeline(const char *const *argv, struct pipeline *pl) { posix_spawn_file_actions_t file_acts; int pipefds[2]; @@ -66,7 +65,7 @@ void pipeline(const char *const *argv, struct pipeline *pl) "posix_spawn_file_actions_addclose"); die_errno(posix_spawnp(&pl->pid, argv[0], &file_acts, NULL, - (char * const *)argv, environ), + (char *const *)argv, environ), "posix_spawnp: %s", argv[0]); die_errno(posix_spawn_file_actions_destroy(&file_acts), @@ -79,8 +78,7 @@ void pipeline(const char *const *argv, struct pipeline *pl) pl->infd = pipefds[1]; } -int finish_pipeline(struct pipeline *pl) -{ +int finish_pipeline(struct pipeline *pl) { int status; if (close(pl->infd)) { diff --git a/tools/win32/compat.c b/tools/win32/compat.c index f9aecd6..10828a6 100644 --- a/tools/win32/compat.c +++ b/tools/win32/compat.c @@ -37,14 +37,13 @@ #include "config.h" #endif -#include #include +#include #include #include "compat.h" -int asprintf(char **strp, const char *fmt, ...) -{ +int asprintf(char **strp, const char *fmt, ...) { va_list ap; int len; @@ -52,13 +51,13 @@ int asprintf(char **strp, const char *fmt, ...) len = _vscprintf(fmt, ap); va_end(ap); - *strp = malloc(len+1); + *strp = malloc(len + 1); if (!*strp) { return -1; } va_start(ap, fmt); - _vsnprintf(*strp, len+1, fmt, ap); + _vsnprintf(*strp, len + 1, fmt, ap); va_end(ap); (*strp)[len] = 0; diff --git a/tools/win32/process.c b/tools/win32/process.c index 640d8df..fbb68f0 100644 --- a/tools/win32/process.c +++ b/tools/win32/process.c @@ -37,15 +37,14 @@ #include "config.h" #endif -#include #include +#include #include #include "common.h" #include "process.h" -void die_windows_error(const char *fmt, ...) -{ +void die_windows_error(const char *fmt, ...) { char *msg; va_list ap; @@ -53,11 +52,10 @@ void die_windows_error(const char *fmt, ...) vfprintf(stderr, fmt, ap); va_end(ap); - if (!FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM - | FORMAT_MESSAGE_ALLOCATE_BUFFER, - NULL, GetLastError(), - MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), - (LPSTR)&msg, 0, NULL)) { + if (!FormatMessage( + FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_ALLOCATE_BUFFER, NULL, + GetLastError(), MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), + (LPSTR)&msg, 0, NULL)) { msg = "(failed to retrieve Windows error message)"; } @@ -65,8 +63,7 @@ void die_windows_error(const char *fmt, ...) exit(1); } -static char *make_command_line(const char *const *argv) -{ +static char *make_command_line(const char *const *argv) { int i; size_t len = 1; /* initial quotes */ char *buf; @@ -106,32 +103,32 @@ static char *make_command_line(const char *const *argv) for (;;) { switch (*src) { - case 0: - goto done; + case 0: + goto done; - case '\"': - for (; backslashes; backslashes--) { - *dest++ = '\\'; - } + case '\"': + for (; backslashes; backslashes--) { + *dest++ = '\\'; + } - *dest++ = '\\'; - *dest++ = '\"'; - break; + *dest++ = '\\'; + *dest++ = '\"'; + break; - case '\\': - backslashes++; - *dest++ = '\\'; - break; + case '\\': + backslashes++; + *dest++ = '\\'; + break; - default: - backslashes = 0; - *dest++ = *src; - break; + default: + backslashes = 0; + *dest++ = *src; + break; } src++; } -done: + done: for (; backslashes; backslashes--) { *dest++ = '\\'; } @@ -149,8 +146,7 @@ done: return buf; } -void pipeline(const char *const *argv, struct pipeline *pl) -{ +void pipeline(const char *const *argv, struct pipeline *pl) { HANDLE in_read_handle, in_write_handle; SECURITY_ATTRIBUTES sec_attr; PROCESS_INFORMATION proc_info; @@ -176,17 +172,17 @@ void pipeline(const char *const *argv, struct pipeline *pl) start_info.cb = sizeof start_info; start_info.dwFlags |= STARTF_USESTDHANDLES; - if ((start_info.hStdError = GetStdHandle(STD_ERROR_HANDLE)) - == INVALID_HANDLE_VALUE - || (start_info.hStdOutput = GetStdHandle(STD_OUTPUT_HANDLE)) - == INVALID_HANDLE_VALUE) { + if ((start_info.hStdError = GetStdHandle(STD_ERROR_HANDLE)) == + INVALID_HANDLE_VALUE || + (start_info.hStdOutput = GetStdHandle(STD_OUTPUT_HANDLE)) == + INVALID_HANDLE_VALUE) { die_windows_error("GetStdHandle"); } start_info.hStdInput = in_read_handle; - if (!CreateProcess(NULL, cmdline, NULL, NULL, TRUE, 0, - NULL, NULL, &start_info, &proc_info)) { + if (!CreateProcess(NULL, cmdline, NULL, NULL, TRUE, 0, NULL, NULL, + &start_info, &proc_info)) { die_windows_error("CreateProcess"); } @@ -203,8 +199,7 @@ void pipeline(const char *const *argv, struct pipeline *pl) pl->infd = _open_osfhandle((intptr_t)in_write_handle, 0); } -int finish_pipeline(struct pipeline *pl) -{ +int finish_pipeline(struct pipeline *pl) { DWORD code; if (close(pl->infd)) { @@ -219,8 +214,7 @@ int finish_pipeline(struct pipeline *pl) break; } - if (WaitForSingleObject(pl->proc_handle, INFINITE) - == WAIT_FAILED) { + if (WaitForSingleObject(pl->proc_handle, INFINITE) == WAIT_FAILED) { die_windows_error("WaitForSingleObject"); } } -- cgit v1.2.1