Annotation of win32/rabbitmq/include/rabbitmq-c/framing.h, revision 1.1

1.1     ! moko        1: // Copyright 2007 - 2021, Alan Antonuk and the rabbitmq-c contributors.
        !             2: // SPDX-License-Identifier: mit
        !             3: 
        !             4: /* Generated code. Do not edit. Edit and re-run codegen.py instead. */
        !             5: 
        !             6: /** @file rabbitmq-c/framing.h */
        !             7: #ifndef RABBITMQ_C_FRAMING_H
        !             8: #define RABBITMQ_C_FRAMING_H
        !             9: 
        !            10: #include <rabbitmq-c/amqp.h>
        !            11: #include <rabbitmq-c/export.h>
        !            12: 
        !            13: AMQP_BEGIN_DECLS
        !            14: 
        !            15: #define AMQP_PROTOCOL_VERSION_MAJOR 0    /**< AMQP protocol version major */
        !            16: #define AMQP_PROTOCOL_VERSION_MINOR 9    /**< AMQP protocol version minor */
        !            17: #define AMQP_PROTOCOL_VERSION_REVISION 1 /**< AMQP protocol version revision \
        !            18:                                           */
        !            19: #define AMQP_PROTOCOL_PORT 5672          /**< Default AMQP Port */
        !            20: #define AMQP_FRAME_METHOD 1              /**< Constant: FRAME-METHOD */
        !            21: #define AMQP_FRAME_HEADER 2              /**< Constant: FRAME-HEADER */
        !            22: #define AMQP_FRAME_BODY 3                /**< Constant: FRAME-BODY */
        !            23: #define AMQP_FRAME_HEARTBEAT 8           /**< Constant: FRAME-HEARTBEAT */
        !            24: #define AMQP_FRAME_MIN_SIZE 4096         /**< Constant: FRAME-MIN-SIZE */
        !            25: #define AMQP_FRAME_END 206               /**< Constant: FRAME-END */
        !            26: #define AMQP_REPLY_SUCCESS 200           /**< Constant: REPLY-SUCCESS */
        !            27: #define AMQP_CONTENT_TOO_LARGE 311       /**< Constant: CONTENT-TOO-LARGE */
        !            28: #define AMQP_NO_ROUTE 312                /**< Constant: NO-ROUTE */
        !            29: #define AMQP_NO_CONSUMERS 313            /**< Constant: NO-CONSUMERS */
        !            30: #define AMQP_ACCESS_REFUSED 403          /**< Constant: ACCESS-REFUSED */
        !            31: #define AMQP_NOT_FOUND 404               /**< Constant: NOT-FOUND */
        !            32: #define AMQP_RESOURCE_LOCKED 405         /**< Constant: RESOURCE-LOCKED */
        !            33: #define AMQP_PRECONDITION_FAILED 406     /**< Constant: PRECONDITION-FAILED */
        !            34: #define AMQP_CONNECTION_FORCED 320       /**< Constant: CONNECTION-FORCED */
        !            35: #define AMQP_INVALID_PATH 402            /**< Constant: INVALID-PATH */
        !            36: #define AMQP_FRAME_ERROR 501             /**< Constant: FRAME-ERROR */
        !            37: #define AMQP_SYNTAX_ERROR 502            /**< Constant: SYNTAX-ERROR */
        !            38: #define AMQP_COMMAND_INVALID 503         /**< Constant: COMMAND-INVALID */
        !            39: #define AMQP_CHANNEL_ERROR 504           /**< Constant: CHANNEL-ERROR */
        !            40: #define AMQP_UNEXPECTED_FRAME 505        /**< Constant: UNEXPECTED-FRAME */
        !            41: #define AMQP_RESOURCE_ERROR 506          /**< Constant: RESOURCE-ERROR */
        !            42: #define AMQP_NOT_ALLOWED 530             /**< Constant: NOT-ALLOWED */
        !            43: #define AMQP_NOT_IMPLEMENTED 540         /**< Constant: NOT-IMPLEMENTED */
        !            44: #define AMQP_INTERNAL_ERROR 541          /**< Constant: INTERNAL-ERROR */
        !            45: 
        !            46: /* Function prototypes. */
        !            47: 
        !            48: /**
        !            49:  * Get constant name string from constant
        !            50:  *
        !            51:  * @param [in] constantNumber constant to get the name of
        !            52:  * @returns string describing the constant. String is managed by
        !            53:  *           the library and should not be free()'d by the program
        !            54:  */
        !            55: AMQP_EXPORT
        !            56: char const *AMQP_CALL amqp_constant_name(int constantNumber);
        !            57: 
        !            58: /**
        !            59:  * Checks to see if a constant is a hard error
        !            60:  *
        !            61:  * A hard error occurs when something severe enough
        !            62:  * happens that the connection must be closed.
        !            63:  *
        !            64:  * @param [in] constantNumber the error constant
        !            65:  * @returns true if its a hard error, false otherwise
        !            66:  */
        !            67: AMQP_EXPORT
        !            68: amqp_boolean_t AMQP_CALL amqp_constant_is_hard_error(int constantNumber);
        !            69: 
        !            70: /**
        !            71:  * Get method name string from method number
        !            72:  *
        !            73:  * @param [in] methodNumber the method number
        !            74:  * @returns method name string. String is managed by the library
        !            75:  *           and should not be freed()'d by the program
        !            76:  */
        !            77: AMQP_EXPORT
        !            78: char const *AMQP_CALL amqp_method_name(amqp_method_number_t methodNumber);
        !            79: 
        !            80: /**
        !            81:  * Check whether a method has content
        !            82:  *
        !            83:  * A method that has content will receive the method frame
        !            84:  * a properties frame, then 1 to N body frames
        !            85:  *
        !            86:  * @param [in] methodNumber the method number
        !            87:  * @returns true if method has content, false otherwise
        !            88:  */
        !            89: AMQP_EXPORT
        !            90: amqp_boolean_t AMQP_CALL
        !            91:     amqp_method_has_content(amqp_method_number_t methodNumber);
        !            92: 
        !            93: /**
        !            94:  * Decodes a method from AMQP wireformat
        !            95:  *
        !            96:  * @param [in] methodNumber the method number for the decoded parameter
        !            97:  * @param [in] pool the memory pool to allocate the decoded method from
        !            98:  * @param [in] encoded the encoded byte string buffer
        !            99:  * @param [out] decoded pointer to the decoded method struct
        !           100:  * @returns 0 on success, an error code otherwise
        !           101:  */
        !           102: AMQP_EXPORT
        !           103: int AMQP_CALL amqp_decode_method(amqp_method_number_t methodNumber,
        !           104:                                  amqp_pool_t *pool, amqp_bytes_t encoded,
        !           105:                                  void **decoded);
        !           106: 
        !           107: /**
        !           108:  * Decodes a header frame properties structure from AMQP wireformat
        !           109:  *
        !           110:  * @param [in] class_id the class id for the decoded parameter
        !           111:  * @param [in] pool the memory pool to allocate the decoded properties from
        !           112:  * @param [in] encoded the encoded byte string buffer
        !           113:  * @param [out] decoded pointer to the decoded properties struct
        !           114:  * @returns 0 on success, an error code otherwise
        !           115:  */
        !           116: AMQP_EXPORT
        !           117: int AMQP_CALL amqp_decode_properties(uint16_t class_id, amqp_pool_t *pool,
        !           118:                                      amqp_bytes_t encoded, void **decoded);
        !           119: 
        !           120: /**
        !           121:  * Encodes a method structure in AMQP wireformat
        !           122:  *
        !           123:  * @param [in] methodNumber the method number for the decoded parameter
        !           124:  * @param [in] decoded the method structure (e.g., amqp_connection_start_t)
        !           125:  * @param [in] encoded an allocated byte buffer for the encoded method
        !           126:  *              structure to be written to. If the buffer isn't large enough
        !           127:  *              to hold the encoded method, an error code will be returned.
        !           128:  * @returns 0 on success, an error code otherwise.
        !           129:  */
        !           130: AMQP_EXPORT
        !           131: int AMQP_CALL amqp_encode_method(amqp_method_number_t methodNumber,
        !           132:                                  void *decoded, amqp_bytes_t encoded);
        !           133: 
        !           134: /**
        !           135:  * Encodes a properties structure in AMQP wireformat
        !           136:  *
        !           137:  * @param [in] class_id the class id for the decoded parameter
        !           138:  * @param [in] decoded the properties structure (e.g., amqp_basic_properties_t)
        !           139:  * @param [in] encoded an allocated byte buffer for the encoded properties to
        !           140:  * written to. If the buffer isn't large enough to hold the encoded method, an
        !           141:  *              an error code will be returned
        !           142:  * @returns 0 on success, an error code otherwise.
        !           143:  */
        !           144: AMQP_EXPORT
        !           145: int AMQP_CALL amqp_encode_properties(uint16_t class_id, void *decoded,
        !           146:                                      amqp_bytes_t encoded);
        !           147: 
        !           148: /* Method field records. */
        !           149: 
        !           150: #define AMQP_CONNECTION_START_METHOD                                           \
        !           151:   ((amqp_method_number_t)0x000A000A) /**< connection.start method id @internal \
        !           152:                                         10, 10; 655370 */
        !           153: /** connection.start method fields */
        !           154: typedef struct amqp_connection_start_t_ {
        !           155:   uint8_t version_major;          /**< version-major */
        !           156:   uint8_t version_minor;          /**< version-minor */
        !           157:   amqp_table_t server_properties; /**< server-properties */
        !           158:   amqp_bytes_t mechanisms;        /**< mechanisms */
        !           159:   amqp_bytes_t locales;           /**< locales */
        !           160: } amqp_connection_start_t;
        !           161: 
        !           162: #define AMQP_CONNECTION_START_OK_METHOD                                 \
        !           163:   ((amqp_method_number_t)0x000A000B) /**< connection.start-ok method id \
        !           164:                                         @internal 10, 11; 655371 */
        !           165: /** connection.start-ok method fields */
        !           166: typedef struct amqp_connection_start_ok_t_ {
        !           167:   amqp_table_t client_properties; /**< client-properties */
        !           168:   amqp_bytes_t mechanism;         /**< mechanism */
        !           169:   amqp_bytes_t response;          /**< response */
        !           170:   amqp_bytes_t locale;            /**< locale */
        !           171: } amqp_connection_start_ok_t;
        !           172: 
        !           173: #define AMQP_CONNECTION_SECURE_METHOD                                 \
        !           174:   ((amqp_method_number_t)0x000A0014) /**< connection.secure method id \
        !           175:                                         @internal 10, 20; 655380 */
        !           176: /** connection.secure method fields */
        !           177: typedef struct amqp_connection_secure_t_ {
        !           178:   amqp_bytes_t challenge; /**< challenge */
        !           179: } amqp_connection_secure_t;
        !           180: 
        !           181: #define AMQP_CONNECTION_SECURE_OK_METHOD                                 \
        !           182:   ((amqp_method_number_t)0x000A0015) /**< connection.secure-ok method id \
        !           183:                                         @internal 10, 21; 655381 */
        !           184: /** connection.secure-ok method fields */
        !           185: typedef struct amqp_connection_secure_ok_t_ {
        !           186:   amqp_bytes_t response; /**< response */
        !           187: } amqp_connection_secure_ok_t;
        !           188: 
        !           189: #define AMQP_CONNECTION_TUNE_METHOD                                           \
        !           190:   ((amqp_method_number_t)0x000A001E) /**< connection.tune method id @internal \
        !           191:                                         10, 30; 655390 */
        !           192: /** connection.tune method fields */
        !           193: typedef struct amqp_connection_tune_t_ {
        !           194:   uint16_t channel_max; /**< channel-max */
        !           195:   uint32_t frame_max;   /**< frame-max */
        !           196:   uint16_t heartbeat;   /**< heartbeat */
        !           197: } amqp_connection_tune_t;
        !           198: 
        !           199: #define AMQP_CONNECTION_TUNE_OK_METHOD                                 \
        !           200:   ((amqp_method_number_t)0x000A001F) /**< connection.tune-ok method id \
        !           201:                                         @internal 10, 31; 655391 */
        !           202: /** connection.tune-ok method fields */
        !           203: typedef struct amqp_connection_tune_ok_t_ {
        !           204:   uint16_t channel_max; /**< channel-max */
        !           205:   uint32_t frame_max;   /**< frame-max */
        !           206:   uint16_t heartbeat;   /**< heartbeat */
        !           207: } amqp_connection_tune_ok_t;
        !           208: 
        !           209: #define AMQP_CONNECTION_OPEN_METHOD                                           \
        !           210:   ((amqp_method_number_t)0x000A0028) /**< connection.open method id @internal \
        !           211:                                         10, 40; 655400 */
        !           212: /** connection.open method fields */
        !           213: typedef struct amqp_connection_open_t_ {
        !           214:   amqp_bytes_t virtual_host; /**< virtual-host */
        !           215:   amqp_bytes_t capabilities; /**< capabilities */
        !           216:   amqp_boolean_t insist;     /**< insist */
        !           217: } amqp_connection_open_t;
        !           218: 
        !           219: #define AMQP_CONNECTION_OPEN_OK_METHOD                                 \
        !           220:   ((amqp_method_number_t)0x000A0029) /**< connection.open-ok method id \
        !           221:                                         @internal 10, 41; 655401 */
        !           222: /** connection.open-ok method fields */
        !           223: typedef struct amqp_connection_open_ok_t_ {
        !           224:   amqp_bytes_t known_hosts; /**< known-hosts */
        !           225: } amqp_connection_open_ok_t;
        !           226: 
        !           227: #define AMQP_CONNECTION_CLOSE_METHOD                                           \
        !           228:   ((amqp_method_number_t)0x000A0032) /**< connection.close method id @internal \
        !           229:                                         10, 50; 655410 */
        !           230: /** connection.close method fields */
        !           231: typedef struct amqp_connection_close_t_ {
        !           232:   uint16_t reply_code;     /**< reply-code */
        !           233:   amqp_bytes_t reply_text; /**< reply-text */
        !           234:   uint16_t class_id;       /**< class-id */
        !           235:   uint16_t method_id;      /**< method-id */
        !           236: } amqp_connection_close_t;
        !           237: 
        !           238: #define AMQP_CONNECTION_CLOSE_OK_METHOD                                 \
        !           239:   ((amqp_method_number_t)0x000A0033) /**< connection.close-ok method id \
        !           240:                                         @internal 10, 51; 655411 */
        !           241: /** connection.close-ok method fields */
        !           242: typedef struct amqp_connection_close_ok_t_ {
        !           243:   char dummy; /**< Dummy field to avoid empty struct */
        !           244: } amqp_connection_close_ok_t;
        !           245: 
        !           246: #define AMQP_CONNECTION_BLOCKED_METHOD                                 \
        !           247:   ((amqp_method_number_t)0x000A003C) /**< connection.blocked method id \
        !           248:                                         @internal 10, 60; 655420 */
        !           249: /** connection.blocked method fields */
        !           250: typedef struct amqp_connection_blocked_t_ {
        !           251:   amqp_bytes_t reason; /**< reason */
        !           252: } amqp_connection_blocked_t;
        !           253: 
        !           254: #define AMQP_CONNECTION_UNBLOCKED_METHOD                                 \
        !           255:   ((amqp_method_number_t)0x000A003D) /**< connection.unblocked method id \
        !           256:                                         @internal 10, 61; 655421 */
        !           257: /** connection.unblocked method fields */
        !           258: typedef struct amqp_connection_unblocked_t_ {
        !           259:   char dummy; /**< Dummy field to avoid empty struct */
        !           260: } amqp_connection_unblocked_t;
        !           261: 
        !           262: #define AMQP_CONNECTION_UPDATE_SECRET_METHOD                                 \
        !           263:   ((amqp_method_number_t)0x000A0046) /**< connection.update-secret method id \
        !           264:                                         @internal 10, 70; 655430 */
        !           265: /** connection.update-secret method fields */
        !           266: typedef struct amqp_connection_update_secret_t_ {
        !           267:   amqp_bytes_t new_secret; /**< new-secret */
        !           268:   amqp_bytes_t reason;     /**< reason */
        !           269: } amqp_connection_update_secret_t;
        !           270: 
        !           271: #define AMQP_CONNECTION_UPDATE_SECRET_OK_METHOD                              \
        !           272:   ((amqp_method_number_t)0x000A0047) /**< connection.update-secret-ok method \
        !           273:                                         id @internal 10, 71; 655431 */
        !           274: /** connection.update-secret-ok method fields */
        !           275: typedef struct amqp_connection_update_secret_ok_t_ {
        !           276:   char dummy; /**< Dummy field to avoid empty struct */
        !           277: } amqp_connection_update_secret_ok_t;
        !           278: 
        !           279: #define AMQP_CHANNEL_OPEN_METHOD                                               \
        !           280:   ((amqp_method_number_t)0x0014000A) /**< channel.open method id @internal 20, \
        !           281:                                         10; 1310730 */
        !           282: /** channel.open method fields */
        !           283: typedef struct amqp_channel_open_t_ {
        !           284:   amqp_bytes_t out_of_band; /**< out-of-band */
        !           285: } amqp_channel_open_t;
        !           286: 
        !           287: #define AMQP_CHANNEL_OPEN_OK_METHOD                                           \
        !           288:   ((amqp_method_number_t)0x0014000B) /**< channel.open-ok method id @internal \
        !           289:                                         20, 11; 1310731 */
        !           290: /** channel.open-ok method fields */
        !           291: typedef struct amqp_channel_open_ok_t_ {
        !           292:   amqp_bytes_t channel_id; /**< channel-id */
        !           293: } amqp_channel_open_ok_t;
        !           294: 
        !           295: #define AMQP_CHANNEL_FLOW_METHOD                                               \
        !           296:   ((amqp_method_number_t)0x00140014) /**< channel.flow method id @internal 20, \
        !           297:                                         20; 1310740 */
        !           298: /** channel.flow method fields */
        !           299: typedef struct amqp_channel_flow_t_ {
        !           300:   amqp_boolean_t active; /**< active */
        !           301: } amqp_channel_flow_t;
        !           302: 
        !           303: #define AMQP_CHANNEL_FLOW_OK_METHOD                                           \
        !           304:   ((amqp_method_number_t)0x00140015) /**< channel.flow-ok method id @internal \
        !           305:                                         20, 21; 1310741 */
        !           306: /** channel.flow-ok method fields */
        !           307: typedef struct amqp_channel_flow_ok_t_ {
        !           308:   amqp_boolean_t active; /**< active */
        !           309: } amqp_channel_flow_ok_t;
        !           310: 
        !           311: #define AMQP_CHANNEL_CLOSE_METHOD                                           \
        !           312:   ((amqp_method_number_t)0x00140028) /**< channel.close method id @internal \
        !           313:                                         20, 40; 1310760 */
        !           314: /** channel.close method fields */
        !           315: typedef struct amqp_channel_close_t_ {
        !           316:   uint16_t reply_code;     /**< reply-code */
        !           317:   amqp_bytes_t reply_text; /**< reply-text */
        !           318:   uint16_t class_id;       /**< class-id */
        !           319:   uint16_t method_id;      /**< method-id */
        !           320: } amqp_channel_close_t;
        !           321: 
        !           322: #define AMQP_CHANNEL_CLOSE_OK_METHOD                                           \
        !           323:   ((amqp_method_number_t)0x00140029) /**< channel.close-ok method id @internal \
        !           324:                                         20, 41; 1310761 */
        !           325: /** channel.close-ok method fields */
        !           326: typedef struct amqp_channel_close_ok_t_ {
        !           327:   char dummy; /**< Dummy field to avoid empty struct */
        !           328: } amqp_channel_close_ok_t;
        !           329: 
        !           330: #define AMQP_ACCESS_REQUEST_METHOD                                           \
        !           331:   ((amqp_method_number_t)0x001E000A) /**< access.request method id @internal \
        !           332:                                         30, 10; 1966090 */
        !           333: /** access.request method fields */
        !           334: typedef struct amqp_access_request_t_ {
        !           335:   amqp_bytes_t realm;       /**< realm */
        !           336:   amqp_boolean_t exclusive; /**< exclusive */
        !           337:   amqp_boolean_t passive;   /**< passive */
        !           338:   amqp_boolean_t active;    /**< active */
        !           339:   amqp_boolean_t write;     /**< write */
        !           340:   amqp_boolean_t read;      /**< read */
        !           341: } amqp_access_request_t;
        !           342: 
        !           343: #define AMQP_ACCESS_REQUEST_OK_METHOD                                 \
        !           344:   ((amqp_method_number_t)0x001E000B) /**< access.request-ok method id \
        !           345:                                         @internal 30, 11; 1966091 */
        !           346: /** access.request-ok method fields */
        !           347: typedef struct amqp_access_request_ok_t_ {
        !           348:   uint16_t ticket; /**< ticket */
        !           349: } amqp_access_request_ok_t;
        !           350: 
        !           351: #define AMQP_EXCHANGE_DECLARE_METHOD                                           \
        !           352:   ((amqp_method_number_t)0x0028000A) /**< exchange.declare method id @internal \
        !           353:                                         40, 10; 2621450 */
        !           354: /** exchange.declare method fields */
        !           355: typedef struct amqp_exchange_declare_t_ {
        !           356:   uint16_t ticket;            /**< ticket */
        !           357:   amqp_bytes_t exchange;      /**< exchange */
        !           358:   amqp_bytes_t type;          /**< type */
        !           359:   amqp_boolean_t passive;     /**< passive */
        !           360:   amqp_boolean_t durable;     /**< durable */
        !           361:   amqp_boolean_t auto_delete; /**< auto-delete */
        !           362:   amqp_boolean_t internal;    /**< internal */
        !           363:   amqp_boolean_t nowait;      /**< nowait */
        !           364:   amqp_table_t arguments;     /**< arguments */
        !           365: } amqp_exchange_declare_t;
        !           366: 
        !           367: #define AMQP_EXCHANGE_DECLARE_OK_METHOD                                 \
        !           368:   ((amqp_method_number_t)0x0028000B) /**< exchange.declare-ok method id \
        !           369:                                         @internal 40, 11; 2621451 */
        !           370: /** exchange.declare-ok method fields */
        !           371: typedef struct amqp_exchange_declare_ok_t_ {
        !           372:   char dummy; /**< Dummy field to avoid empty struct */
        !           373: } amqp_exchange_declare_ok_t;
        !           374: 
        !           375: #define AMQP_EXCHANGE_DELETE_METHOD                                           \
        !           376:   ((amqp_method_number_t)0x00280014) /**< exchange.delete method id @internal \
        !           377:                                         40, 20; 2621460 */
        !           378: /** exchange.delete method fields */
        !           379: typedef struct amqp_exchange_delete_t_ {
        !           380:   uint16_t ticket;          /**< ticket */
        !           381:   amqp_bytes_t exchange;    /**< exchange */
        !           382:   amqp_boolean_t if_unused; /**< if-unused */
        !           383:   amqp_boolean_t nowait;    /**< nowait */
        !           384: } amqp_exchange_delete_t;
        !           385: 
        !           386: #define AMQP_EXCHANGE_DELETE_OK_METHOD                                 \
        !           387:   ((amqp_method_number_t)0x00280015) /**< exchange.delete-ok method id \
        !           388:                                         @internal 40, 21; 2621461 */
        !           389: /** exchange.delete-ok method fields */
        !           390: typedef struct amqp_exchange_delete_ok_t_ {
        !           391:   char dummy; /**< Dummy field to avoid empty struct */
        !           392: } amqp_exchange_delete_ok_t;
        !           393: 
        !           394: #define AMQP_EXCHANGE_BIND_METHOD                                           \
        !           395:   ((amqp_method_number_t)0x0028001E) /**< exchange.bind method id @internal \
        !           396:                                         40, 30; 2621470 */
        !           397: /** exchange.bind method fields */
        !           398: typedef struct amqp_exchange_bind_t_ {
        !           399:   uint16_t ticket;          /**< ticket */
        !           400:   amqp_bytes_t destination; /**< destination */
        !           401:   amqp_bytes_t source;      /**< source */
        !           402:   amqp_bytes_t routing_key; /**< routing-key */
        !           403:   amqp_boolean_t nowait;    /**< nowait */
        !           404:   amqp_table_t arguments;   /**< arguments */
        !           405: } amqp_exchange_bind_t;
        !           406: 
        !           407: #define AMQP_EXCHANGE_BIND_OK_METHOD                                           \
        !           408:   ((amqp_method_number_t)0x0028001F) /**< exchange.bind-ok method id @internal \
        !           409:                                         40, 31; 2621471 */
        !           410: /** exchange.bind-ok method fields */
        !           411: typedef struct amqp_exchange_bind_ok_t_ {
        !           412:   char dummy; /**< Dummy field to avoid empty struct */
        !           413: } amqp_exchange_bind_ok_t;
        !           414: 
        !           415: #define AMQP_EXCHANGE_UNBIND_METHOD                                           \
        !           416:   ((amqp_method_number_t)0x00280028) /**< exchange.unbind method id @internal \
        !           417:                                         40, 40; 2621480 */
        !           418: /** exchange.unbind method fields */
        !           419: typedef struct amqp_exchange_unbind_t_ {
        !           420:   uint16_t ticket;          /**< ticket */
        !           421:   amqp_bytes_t destination; /**< destination */
        !           422:   amqp_bytes_t source;      /**< source */
        !           423:   amqp_bytes_t routing_key; /**< routing-key */
        !           424:   amqp_boolean_t nowait;    /**< nowait */
        !           425:   amqp_table_t arguments;   /**< arguments */
        !           426: } amqp_exchange_unbind_t;
        !           427: 
        !           428: #define AMQP_EXCHANGE_UNBIND_OK_METHOD                                 \
        !           429:   ((amqp_method_number_t)0x00280033) /**< exchange.unbind-ok method id \
        !           430:                                         @internal 40, 51; 2621491 */
        !           431: /** exchange.unbind-ok method fields */
        !           432: typedef struct amqp_exchange_unbind_ok_t_ {
        !           433:   char dummy; /**< Dummy field to avoid empty struct */
        !           434: } amqp_exchange_unbind_ok_t;
        !           435: 
        !           436: #define AMQP_QUEUE_DECLARE_METHOD                                           \
        !           437:   ((amqp_method_number_t)0x0032000A) /**< queue.declare method id @internal \
        !           438:                                         50, 10; 3276810 */
        !           439: /** queue.declare method fields */
        !           440: typedef struct amqp_queue_declare_t_ {
        !           441:   uint16_t ticket;            /**< ticket */
        !           442:   amqp_bytes_t queue;         /**< queue */
        !           443:   amqp_boolean_t passive;     /**< passive */
        !           444:   amqp_boolean_t durable;     /**< durable */
        !           445:   amqp_boolean_t exclusive;   /**< exclusive */
        !           446:   amqp_boolean_t auto_delete; /**< auto-delete */
        !           447:   amqp_boolean_t nowait;      /**< nowait */
        !           448:   amqp_table_t arguments;     /**< arguments */
        !           449: } amqp_queue_declare_t;
        !           450: 
        !           451: #define AMQP_QUEUE_DECLARE_OK_METHOD                                           \
        !           452:   ((amqp_method_number_t)0x0032000B) /**< queue.declare-ok method id @internal \
        !           453:                                         50, 11; 3276811 */
        !           454: /** queue.declare-ok method fields */
        !           455: typedef struct amqp_queue_declare_ok_t_ {
        !           456:   amqp_bytes_t queue;      /**< queue */
        !           457:   uint32_t message_count;  /**< message-count */
        !           458:   uint32_t consumer_count; /**< consumer-count */
        !           459: } amqp_queue_declare_ok_t;
        !           460: 
        !           461: #define AMQP_QUEUE_BIND_METHOD                                               \
        !           462:   ((amqp_method_number_t)0x00320014) /**< queue.bind method id @internal 50, \
        !           463:                                         20; 3276820 */
        !           464: /** queue.bind method fields */
        !           465: typedef struct amqp_queue_bind_t_ {
        !           466:   uint16_t ticket;          /**< ticket */
        !           467:   amqp_bytes_t queue;       /**< queue */
        !           468:   amqp_bytes_t exchange;    /**< exchange */
        !           469:   amqp_bytes_t routing_key; /**< routing-key */
        !           470:   amqp_boolean_t nowait;    /**< nowait */
        !           471:   amqp_table_t arguments;   /**< arguments */
        !           472: } amqp_queue_bind_t;
        !           473: 
        !           474: #define AMQP_QUEUE_BIND_OK_METHOD                                           \
        !           475:   ((amqp_method_number_t)0x00320015) /**< queue.bind-ok method id @internal \
        !           476:                                         50, 21; 3276821 */
        !           477: /** queue.bind-ok method fields */
        !           478: typedef struct amqp_queue_bind_ok_t_ {
        !           479:   char dummy; /**< Dummy field to avoid empty struct */
        !           480: } amqp_queue_bind_ok_t;
        !           481: 
        !           482: #define AMQP_QUEUE_PURGE_METHOD                                               \
        !           483:   ((amqp_method_number_t)0x0032001E) /**< queue.purge method id @internal 50, \
        !           484:                                         30; 3276830 */
        !           485: /** queue.purge method fields */
        !           486: typedef struct amqp_queue_purge_t_ {
        !           487:   uint16_t ticket;       /**< ticket */
        !           488:   amqp_bytes_t queue;    /**< queue */
        !           489:   amqp_boolean_t nowait; /**< nowait */
        !           490: } amqp_queue_purge_t;
        !           491: 
        !           492: #define AMQP_QUEUE_PURGE_OK_METHOD                                           \
        !           493:   ((amqp_method_number_t)0x0032001F) /**< queue.purge-ok method id @internal \
        !           494:                                         50, 31; 3276831 */
        !           495: /** queue.purge-ok method fields */
        !           496: typedef struct amqp_queue_purge_ok_t_ {
        !           497:   uint32_t message_count; /**< message-count */
        !           498: } amqp_queue_purge_ok_t;
        !           499: 
        !           500: #define AMQP_QUEUE_DELETE_METHOD                                               \
        !           501:   ((amqp_method_number_t)0x00320028) /**< queue.delete method id @internal 50, \
        !           502:                                         40; 3276840 */
        !           503: /** queue.delete method fields */
        !           504: typedef struct amqp_queue_delete_t_ {
        !           505:   uint16_t ticket;          /**< ticket */
        !           506:   amqp_bytes_t queue;       /**< queue */
        !           507:   amqp_boolean_t if_unused; /**< if-unused */
        !           508:   amqp_boolean_t if_empty;  /**< if-empty */
        !           509:   amqp_boolean_t nowait;    /**< nowait */
        !           510: } amqp_queue_delete_t;
        !           511: 
        !           512: #define AMQP_QUEUE_DELETE_OK_METHOD                                           \
        !           513:   ((amqp_method_number_t)0x00320029) /**< queue.delete-ok method id @internal \
        !           514:                                         50, 41; 3276841 */
        !           515: /** queue.delete-ok method fields */
        !           516: typedef struct amqp_queue_delete_ok_t_ {
        !           517:   uint32_t message_count; /**< message-count */
        !           518: } amqp_queue_delete_ok_t;
        !           519: 
        !           520: #define AMQP_QUEUE_UNBIND_METHOD                                               \
        !           521:   ((amqp_method_number_t)0x00320032) /**< queue.unbind method id @internal 50, \
        !           522:                                         50; 3276850 */
        !           523: /** queue.unbind method fields */
        !           524: typedef struct amqp_queue_unbind_t_ {
        !           525:   uint16_t ticket;          /**< ticket */
        !           526:   amqp_bytes_t queue;       /**< queue */
        !           527:   amqp_bytes_t exchange;    /**< exchange */
        !           528:   amqp_bytes_t routing_key; /**< routing-key */
        !           529:   amqp_table_t arguments;   /**< arguments */
        !           530: } amqp_queue_unbind_t;
        !           531: 
        !           532: #define AMQP_QUEUE_UNBIND_OK_METHOD                                           \
        !           533:   ((amqp_method_number_t)0x00320033) /**< queue.unbind-ok method id @internal \
        !           534:                                         50, 51; 3276851 */
        !           535: /** queue.unbind-ok method fields */
        !           536: typedef struct amqp_queue_unbind_ok_t_ {
        !           537:   char dummy; /**< Dummy field to avoid empty struct */
        !           538: } amqp_queue_unbind_ok_t;
        !           539: 
        !           540: #define AMQP_BASIC_QOS_METHOD                                               \
        !           541:   ((amqp_method_number_t)0x003C000A) /**< basic.qos method id @internal 60, \
        !           542:                                         10; 3932170 */
        !           543: /** basic.qos method fields */
        !           544: typedef struct amqp_basic_qos_t_ {
        !           545:   uint32_t prefetch_size;  /**< prefetch-size */
        !           546:   uint16_t prefetch_count; /**< prefetch-count */
        !           547:   amqp_boolean_t global;   /**< global */
        !           548: } amqp_basic_qos_t;
        !           549: 
        !           550: #define AMQP_BASIC_QOS_OK_METHOD                                               \
        !           551:   ((amqp_method_number_t)0x003C000B) /**< basic.qos-ok method id @internal 60, \
        !           552:                                         11; 3932171 */
        !           553: /** basic.qos-ok method fields */
        !           554: typedef struct amqp_basic_qos_ok_t_ {
        !           555:   char dummy; /**< Dummy field to avoid empty struct */
        !           556: } amqp_basic_qos_ok_t;
        !           557: 
        !           558: #define AMQP_BASIC_CONSUME_METHOD                                           \
        !           559:   ((amqp_method_number_t)0x003C0014) /**< basic.consume method id @internal \
        !           560:                                         60, 20; 3932180 */
        !           561: /** basic.consume method fields */
        !           562: typedef struct amqp_basic_consume_t_ {
        !           563:   uint16_t ticket;           /**< ticket */
        !           564:   amqp_bytes_t queue;        /**< queue */
        !           565:   amqp_bytes_t consumer_tag; /**< consumer-tag */
        !           566:   amqp_boolean_t no_local;   /**< no-local */
        !           567:   amqp_boolean_t no_ack;     /**< no-ack */
        !           568:   amqp_boolean_t exclusive;  /**< exclusive */
        !           569:   amqp_boolean_t nowait;     /**< nowait */
        !           570:   amqp_table_t arguments;    /**< arguments */
        !           571: } amqp_basic_consume_t;
        !           572: 
        !           573: #define AMQP_BASIC_CONSUME_OK_METHOD                                           \
        !           574:   ((amqp_method_number_t)0x003C0015) /**< basic.consume-ok method id @internal \
        !           575:                                         60, 21; 3932181 */
        !           576: /** basic.consume-ok method fields */
        !           577: typedef struct amqp_basic_consume_ok_t_ {
        !           578:   amqp_bytes_t consumer_tag; /**< consumer-tag */
        !           579: } amqp_basic_consume_ok_t;
        !           580: 
        !           581: #define AMQP_BASIC_CANCEL_METHOD                                               \
        !           582:   ((amqp_method_number_t)0x003C001E) /**< basic.cancel method id @internal 60, \
        !           583:                                         30; 3932190 */
        !           584: /** basic.cancel method fields */
        !           585: typedef struct amqp_basic_cancel_t_ {
        !           586:   amqp_bytes_t consumer_tag; /**< consumer-tag */
        !           587:   amqp_boolean_t nowait;     /**< nowait */
        !           588: } amqp_basic_cancel_t;
        !           589: 
        !           590: #define AMQP_BASIC_CANCEL_OK_METHOD                                           \
        !           591:   ((amqp_method_number_t)0x003C001F) /**< basic.cancel-ok method id @internal \
        !           592:                                         60, 31; 3932191 */
        !           593: /** basic.cancel-ok method fields */
        !           594: typedef struct amqp_basic_cancel_ok_t_ {
        !           595:   amqp_bytes_t consumer_tag; /**< consumer-tag */
        !           596: } amqp_basic_cancel_ok_t;
        !           597: 
        !           598: #define AMQP_BASIC_PUBLISH_METHOD                                           \
        !           599:   ((amqp_method_number_t)0x003C0028) /**< basic.publish method id @internal \
        !           600:                                         60, 40; 3932200 */
        !           601: /** basic.publish method fields */
        !           602: typedef struct amqp_basic_publish_t_ {
        !           603:   uint16_t ticket;          /**< ticket */
        !           604:   amqp_bytes_t exchange;    /**< exchange */
        !           605:   amqp_bytes_t routing_key; /**< routing-key */
        !           606:   amqp_boolean_t mandatory; /**< mandatory */
        !           607:   amqp_boolean_t immediate; /**< immediate */
        !           608: } amqp_basic_publish_t;
        !           609: 
        !           610: #define AMQP_BASIC_RETURN_METHOD                                               \
        !           611:   ((amqp_method_number_t)0x003C0032) /**< basic.return method id @internal 60, \
        !           612:                                         50; 3932210 */
        !           613: /** basic.return method fields */
        !           614: typedef struct amqp_basic_return_t_ {
        !           615:   uint16_t reply_code;      /**< reply-code */
        !           616:   amqp_bytes_t reply_text;  /**< reply-text */
        !           617:   amqp_bytes_t exchange;    /**< exchange */
        !           618:   amqp_bytes_t routing_key; /**< routing-key */
        !           619: } amqp_basic_return_t;
        !           620: 
        !           621: #define AMQP_BASIC_DELIVER_METHOD                                           \
        !           622:   ((amqp_method_number_t)0x003C003C) /**< basic.deliver method id @internal \
        !           623:                                         60, 60; 3932220 */
        !           624: /** basic.deliver method fields */
        !           625: typedef struct amqp_basic_deliver_t_ {
        !           626:   amqp_bytes_t consumer_tag;  /**< consumer-tag */
        !           627:   uint64_t delivery_tag;      /**< delivery-tag */
        !           628:   amqp_boolean_t redelivered; /**< redelivered */
        !           629:   amqp_bytes_t exchange;      /**< exchange */
        !           630:   amqp_bytes_t routing_key;   /**< routing-key */
        !           631: } amqp_basic_deliver_t;
        !           632: 
        !           633: #define AMQP_BASIC_GET_METHOD                                               \
        !           634:   ((amqp_method_number_t)0x003C0046) /**< basic.get method id @internal 60, \
        !           635:                                         70; 3932230 */
        !           636: /** basic.get method fields */
        !           637: typedef struct amqp_basic_get_t_ {
        !           638:   uint16_t ticket;       /**< ticket */
        !           639:   amqp_bytes_t queue;    /**< queue */
        !           640:   amqp_boolean_t no_ack; /**< no-ack */
        !           641: } amqp_basic_get_t;
        !           642: 
        !           643: #define AMQP_BASIC_GET_OK_METHOD                                               \
        !           644:   ((amqp_method_number_t)0x003C0047) /**< basic.get-ok method id @internal 60, \
        !           645:                                         71; 3932231 */
        !           646: /** basic.get-ok method fields */
        !           647: typedef struct amqp_basic_get_ok_t_ {
        !           648:   uint64_t delivery_tag;      /**< delivery-tag */
        !           649:   amqp_boolean_t redelivered; /**< redelivered */
        !           650:   amqp_bytes_t exchange;      /**< exchange */
        !           651:   amqp_bytes_t routing_key;   /**< routing-key */
        !           652:   uint32_t message_count;     /**< message-count */
        !           653: } amqp_basic_get_ok_t;
        !           654: 
        !           655: #define AMQP_BASIC_GET_EMPTY_METHOD                                           \
        !           656:   ((amqp_method_number_t)0x003C0048) /**< basic.get-empty method id @internal \
        !           657:                                         60, 72; 3932232 */
        !           658: /** basic.get-empty method fields */
        !           659: typedef struct amqp_basic_get_empty_t_ {
        !           660:   amqp_bytes_t cluster_id; /**< cluster-id */
        !           661: } amqp_basic_get_empty_t;
        !           662: 
        !           663: #define AMQP_BASIC_ACK_METHOD                                               \
        !           664:   ((amqp_method_number_t)0x003C0050) /**< basic.ack method id @internal 60, \
        !           665:                                         80; 3932240 */
        !           666: /** basic.ack method fields */
        !           667: typedef struct amqp_basic_ack_t_ {
        !           668:   uint64_t delivery_tag;   /**< delivery-tag */
        !           669:   amqp_boolean_t multiple; /**< multiple */
        !           670: } amqp_basic_ack_t;
        !           671: 
        !           672: #define AMQP_BASIC_REJECT_METHOD                                               \
        !           673:   ((amqp_method_number_t)0x003C005A) /**< basic.reject method id @internal 60, \
        !           674:                                         90; 3932250 */
        !           675: /** basic.reject method fields */
        !           676: typedef struct amqp_basic_reject_t_ {
        !           677:   uint64_t delivery_tag;  /**< delivery-tag */
        !           678:   amqp_boolean_t requeue; /**< requeue */
        !           679: } amqp_basic_reject_t;
        !           680: 
        !           681: #define AMQP_BASIC_RECOVER_ASYNC_METHOD                                 \
        !           682:   ((amqp_method_number_t)0x003C0064) /**< basic.recover-async method id \
        !           683:                                         @internal 60, 100; 3932260 */
        !           684: /** basic.recover-async method fields */
        !           685: typedef struct amqp_basic_recover_async_t_ {
        !           686:   amqp_boolean_t requeue; /**< requeue */
        !           687: } amqp_basic_recover_async_t;
        !           688: 
        !           689: #define AMQP_BASIC_RECOVER_METHOD                                           \
        !           690:   ((amqp_method_number_t)0x003C006E) /**< basic.recover method id @internal \
        !           691:                                         60, 110; 3932270 */
        !           692: /** basic.recover method fields */
        !           693: typedef struct amqp_basic_recover_t_ {
        !           694:   amqp_boolean_t requeue; /**< requeue */
        !           695: } amqp_basic_recover_t;
        !           696: 
        !           697: #define AMQP_BASIC_RECOVER_OK_METHOD                                           \
        !           698:   ((amqp_method_number_t)0x003C006F) /**< basic.recover-ok method id @internal \
        !           699:                                         60, 111; 3932271 */
        !           700: /** basic.recover-ok method fields */
        !           701: typedef struct amqp_basic_recover_ok_t_ {
        !           702:   char dummy; /**< Dummy field to avoid empty struct */
        !           703: } amqp_basic_recover_ok_t;
        !           704: 
        !           705: #define AMQP_BASIC_NACK_METHOD                                               \
        !           706:   ((amqp_method_number_t)0x003C0078) /**< basic.nack method id @internal 60, \
        !           707:                                         120; 3932280 */
        !           708: /** basic.nack method fields */
        !           709: typedef struct amqp_basic_nack_t_ {
        !           710:   uint64_t delivery_tag;   /**< delivery-tag */
        !           711:   amqp_boolean_t multiple; /**< multiple */
        !           712:   amqp_boolean_t requeue;  /**< requeue */
        !           713: } amqp_basic_nack_t;
        !           714: 
        !           715: #define AMQP_TX_SELECT_METHOD                                               \
        !           716:   ((amqp_method_number_t)0x005A000A) /**< tx.select method id @internal 90, \
        !           717:                                         10; 5898250 */
        !           718: /** tx.select method fields */
        !           719: typedef struct amqp_tx_select_t_ {
        !           720:   char dummy; /**< Dummy field to avoid empty struct */
        !           721: } amqp_tx_select_t;
        !           722: 
        !           723: #define AMQP_TX_SELECT_OK_METHOD                                               \
        !           724:   ((amqp_method_number_t)0x005A000B) /**< tx.select-ok method id @internal 90, \
        !           725:                                         11; 5898251 */
        !           726: /** tx.select-ok method fields */
        !           727: typedef struct amqp_tx_select_ok_t_ {
        !           728:   char dummy; /**< Dummy field to avoid empty struct */
        !           729: } amqp_tx_select_ok_t;
        !           730: 
        !           731: #define AMQP_TX_COMMIT_METHOD                                               \
        !           732:   ((amqp_method_number_t)0x005A0014) /**< tx.commit method id @internal 90, \
        !           733:                                         20; 5898260 */
        !           734: /** tx.commit method fields */
        !           735: typedef struct amqp_tx_commit_t_ {
        !           736:   char dummy; /**< Dummy field to avoid empty struct */
        !           737: } amqp_tx_commit_t;
        !           738: 
        !           739: #define AMQP_TX_COMMIT_OK_METHOD                                               \
        !           740:   ((amqp_method_number_t)0x005A0015) /**< tx.commit-ok method id @internal 90, \
        !           741:                                         21; 5898261 */
        !           742: /** tx.commit-ok method fields */
        !           743: typedef struct amqp_tx_commit_ok_t_ {
        !           744:   char dummy; /**< Dummy field to avoid empty struct */
        !           745: } amqp_tx_commit_ok_t;
        !           746: 
        !           747: #define AMQP_TX_ROLLBACK_METHOD                                               \
        !           748:   ((amqp_method_number_t)0x005A001E) /**< tx.rollback method id @internal 90, \
        !           749:                                         30; 5898270 */
        !           750: /** tx.rollback method fields */
        !           751: typedef struct amqp_tx_rollback_t_ {
        !           752:   char dummy; /**< Dummy field to avoid empty struct */
        !           753: } amqp_tx_rollback_t;
        !           754: 
        !           755: #define AMQP_TX_ROLLBACK_OK_METHOD                                           \
        !           756:   ((amqp_method_number_t)0x005A001F) /**< tx.rollback-ok method id @internal \
        !           757:                                         90, 31; 5898271 */
        !           758: /** tx.rollback-ok method fields */
        !           759: typedef struct amqp_tx_rollback_ok_t_ {
        !           760:   char dummy; /**< Dummy field to avoid empty struct */
        !           761: } amqp_tx_rollback_ok_t;
        !           762: 
        !           763: #define AMQP_CONFIRM_SELECT_METHOD                                           \
        !           764:   ((amqp_method_number_t)0x0055000A) /**< confirm.select method id @internal \
        !           765:                                         85, 10; 5570570 */
        !           766: /** confirm.select method fields */
        !           767: typedef struct amqp_confirm_select_t_ {
        !           768:   amqp_boolean_t nowait; /**< nowait */
        !           769: } amqp_confirm_select_t;
        !           770: 
        !           771: #define AMQP_CONFIRM_SELECT_OK_METHOD                                 \
        !           772:   ((amqp_method_number_t)0x0055000B) /**< confirm.select-ok method id \
        !           773:                                         @internal 85, 11; 5570571 */
        !           774: /** confirm.select-ok method fields */
        !           775: typedef struct amqp_confirm_select_ok_t_ {
        !           776:   char dummy; /**< Dummy field to avoid empty struct */
        !           777: } amqp_confirm_select_ok_t;
        !           778: 
        !           779: /* Class property records. */
        !           780: #define AMQP_CONNECTION_CLASS (0x000A) /**< connection class id @internal 10 \
        !           781:                                         */
        !           782: /** connection class properties */
        !           783: typedef struct amqp_connection_properties_t_ {
        !           784:   amqp_flags_t _flags; /**< bit-mask of set fields */
        !           785:   char dummy;          /**< Dummy field to avoid empty struct */
        !           786: } amqp_connection_properties_t;
        !           787: 
        !           788: #define AMQP_CHANNEL_CLASS (0x0014) /**< channel class id @internal 20 */
        !           789: /** channel class properties */
        !           790: typedef struct amqp_channel_properties_t_ {
        !           791:   amqp_flags_t _flags; /**< bit-mask of set fields */
        !           792:   char dummy;          /**< Dummy field to avoid empty struct */
        !           793: } amqp_channel_properties_t;
        !           794: 
        !           795: #define AMQP_ACCESS_CLASS (0x001E) /**< access class id @internal 30 */
        !           796: /** access class properties */
        !           797: typedef struct amqp_access_properties_t_ {
        !           798:   amqp_flags_t _flags; /**< bit-mask of set fields */
        !           799:   char dummy;          /**< Dummy field to avoid empty struct */
        !           800: } amqp_access_properties_t;
        !           801: 
        !           802: #define AMQP_EXCHANGE_CLASS (0x0028) /**< exchange class id @internal 40 */
        !           803: /** exchange class properties */
        !           804: typedef struct amqp_exchange_properties_t_ {
        !           805:   amqp_flags_t _flags; /**< bit-mask of set fields */
        !           806:   char dummy;          /**< Dummy field to avoid empty struct */
        !           807: } amqp_exchange_properties_t;
        !           808: 
        !           809: #define AMQP_QUEUE_CLASS (0x0032) /**< queue class id @internal 50 */
        !           810: /** queue class properties */
        !           811: typedef struct amqp_queue_properties_t_ {
        !           812:   amqp_flags_t _flags; /**< bit-mask of set fields */
        !           813:   char dummy;          /**< Dummy field to avoid empty struct */
        !           814: } amqp_queue_properties_t;
        !           815: 
        !           816: #define AMQP_BASIC_CLASS (0x003C) /**< basic class id @internal 60 */
        !           817: #define AMQP_BASIC_CONTENT_TYPE_FLAG \
        !           818:   (1 << 15) /**< basic.content-type property flag */
        !           819: #define AMQP_BASIC_CONTENT_ENCODING_FLAG \
        !           820:   (1 << 14) /**< basic.content-encoding property flag */
        !           821: #define AMQP_BASIC_HEADERS_FLAG (1 << 13) /**< basic.headers property flag */
        !           822: #define AMQP_BASIC_DELIVERY_MODE_FLAG \
        !           823:   (1 << 12) /**< basic.delivery-mode property flag */
        !           824: #define AMQP_BASIC_PRIORITY_FLAG (1 << 11) /**< basic.priority property flag \
        !           825:                                             */
        !           826: #define AMQP_BASIC_CORRELATION_ID_FLAG \
        !           827:   (1 << 10) /**< basic.correlation-id property flag */
        !           828: #define AMQP_BASIC_REPLY_TO_FLAG (1 << 9) /**< basic.reply-to property flag */
        !           829: #define AMQP_BASIC_EXPIRATION_FLAG \
        !           830:   (1 << 8) /**< basic.expiration property flag */
        !           831: #define AMQP_BASIC_MESSAGE_ID_FLAG \
        !           832:   (1 << 7) /**< basic.message-id property flag */
        !           833: #define AMQP_BASIC_TIMESTAMP_FLAG (1 << 6) /**< basic.timestamp property flag \
        !           834:                                             */
        !           835: #define AMQP_BASIC_TYPE_FLAG (1 << 5)      /**< basic.type property flag */
        !           836: #define AMQP_BASIC_USER_ID_FLAG (1 << 4)   /**< basic.user-id property flag */
        !           837: #define AMQP_BASIC_APP_ID_FLAG (1 << 3)    /**< basic.app-id property flag */
        !           838: #define AMQP_BASIC_CLUSTER_ID_FLAG \
        !           839:   (1 << 2) /**< basic.cluster-id property flag */
        !           840: /** basic class properties */
        !           841: typedef struct amqp_basic_properties_t_ {
        !           842:   amqp_flags_t _flags;           /**< bit-mask of set fields */
        !           843:   amqp_bytes_t content_type;     /**< content-type */
        !           844:   amqp_bytes_t content_encoding; /**< content-encoding */
        !           845:   amqp_table_t headers;          /**< headers */
        !           846:   uint8_t delivery_mode;         /**< delivery-mode */
        !           847:   uint8_t priority;              /**< priority */
        !           848:   amqp_bytes_t correlation_id;   /**< correlation-id */
        !           849:   amqp_bytes_t reply_to;         /**< reply-to */
        !           850:   amqp_bytes_t expiration;       /**< expiration */
        !           851:   amqp_bytes_t message_id;       /**< message-id */
        !           852:   uint64_t timestamp;            /**< timestamp */
        !           853:   amqp_bytes_t type;             /**< type */
        !           854:   amqp_bytes_t user_id;          /**< user-id */
        !           855:   amqp_bytes_t app_id;           /**< app-id */
        !           856:   amqp_bytes_t cluster_id;       /**< cluster-id */
        !           857: } amqp_basic_properties_t;
        !           858: 
        !           859: #define AMQP_TX_CLASS (0x005A) /**< tx class id @internal 90 */
        !           860: /** tx class properties */
        !           861: typedef struct amqp_tx_properties_t_ {
        !           862:   amqp_flags_t _flags; /**< bit-mask of set fields */
        !           863:   char dummy;          /**< Dummy field to avoid empty struct */
        !           864: } amqp_tx_properties_t;
        !           865: 
        !           866: #define AMQP_CONFIRM_CLASS (0x0055) /**< confirm class id @internal 85 */
        !           867: /** confirm class properties */
        !           868: typedef struct amqp_confirm_properties_t_ {
        !           869:   amqp_flags_t _flags; /**< bit-mask of set fields */
        !           870:   char dummy;          /**< Dummy field to avoid empty struct */
        !           871: } amqp_confirm_properties_t;
        !           872: 
        !           873: /* API functions for methods */
        !           874: 
        !           875: /**
        !           876:  * amqp_connection_update_secret
        !           877:  *
        !           878:  * @param [in] state connection state
        !           879:  * @param [in] channel the channel to do the RPC on
        !           880:  * @param [in] new_secret new_secret
        !           881:  * @param [in] reason reason
        !           882:  * @returns amqp_connection_update_secret_ok_t
        !           883:  */
        !           884: AMQP_EXPORT
        !           885: amqp_connection_update_secret_ok_t *AMQP_CALL amqp_connection_update_secret(
        !           886:     amqp_connection_state_t state, amqp_channel_t channel,
        !           887:     amqp_bytes_t new_secret, amqp_bytes_t reason);
        !           888: /**
        !           889:  * amqp_channel_open
        !           890:  *
        !           891:  * @param [in] state connection state
        !           892:  * @param [in] channel the channel to do the RPC on
        !           893:  * @returns amqp_channel_open_ok_t
        !           894:  */
        !           895: AMQP_EXPORT
        !           896: amqp_channel_open_ok_t *AMQP_CALL
        !           897:     amqp_channel_open(amqp_connection_state_t state, amqp_channel_t channel);
        !           898: /**
        !           899:  * amqp_channel_flow
        !           900:  *
        !           901:  * @param [in] state connection state
        !           902:  * @param [in] channel the channel to do the RPC on
        !           903:  * @param [in] active active
        !           904:  * @returns amqp_channel_flow_ok_t
        !           905:  */
        !           906: AMQP_EXPORT
        !           907: amqp_channel_flow_ok_t *AMQP_CALL
        !           908:     amqp_channel_flow(amqp_connection_state_t state, amqp_channel_t channel,
        !           909:                       amqp_boolean_t active);
        !           910: /**
        !           911:  * amqp_exchange_declare
        !           912:  *
        !           913:  * @param [in] state connection state
        !           914:  * @param [in] channel the channel to do the RPC on
        !           915:  * @param [in] exchange exchange
        !           916:  * @param [in] type type
        !           917:  * @param [in] passive passive
        !           918:  * @param [in] durable durable
        !           919:  * @param [in] auto_delete auto_delete
        !           920:  * @param [in] internal internal
        !           921:  * @param [in] arguments arguments
        !           922:  * @returns amqp_exchange_declare_ok_t
        !           923:  */
        !           924: AMQP_EXPORT
        !           925: amqp_exchange_declare_ok_t *AMQP_CALL amqp_exchange_declare(
        !           926:     amqp_connection_state_t state, amqp_channel_t channel,
        !           927:     amqp_bytes_t exchange, amqp_bytes_t type, amqp_boolean_t passive,
        !           928:     amqp_boolean_t durable, amqp_boolean_t auto_delete, amqp_boolean_t internal,
        !           929:     amqp_table_t arguments);
        !           930: /**
        !           931:  * amqp_exchange_delete
        !           932:  *
        !           933:  * @param [in] state connection state
        !           934:  * @param [in] channel the channel to do the RPC on
        !           935:  * @param [in] exchange exchange
        !           936:  * @param [in] if_unused if_unused
        !           937:  * @returns amqp_exchange_delete_ok_t
        !           938:  */
        !           939: AMQP_EXPORT
        !           940: amqp_exchange_delete_ok_t *AMQP_CALL
        !           941:     amqp_exchange_delete(amqp_connection_state_t state, amqp_channel_t channel,
        !           942:                          amqp_bytes_t exchange, amqp_boolean_t if_unused);
        !           943: /**
        !           944:  * amqp_exchange_bind
        !           945:  *
        !           946:  * @param [in] state connection state
        !           947:  * @param [in] channel the channel to do the RPC on
        !           948:  * @param [in] destination destination
        !           949:  * @param [in] source source
        !           950:  * @param [in] routing_key routing_key
        !           951:  * @param [in] arguments arguments
        !           952:  * @returns amqp_exchange_bind_ok_t
        !           953:  */
        !           954: AMQP_EXPORT
        !           955: amqp_exchange_bind_ok_t *AMQP_CALL
        !           956:     amqp_exchange_bind(amqp_connection_state_t state, amqp_channel_t channel,
        !           957:                        amqp_bytes_t destination, amqp_bytes_t source,
        !           958:                        amqp_bytes_t routing_key, amqp_table_t arguments);
        !           959: /**
        !           960:  * amqp_exchange_unbind
        !           961:  *
        !           962:  * @param [in] state connection state
        !           963:  * @param [in] channel the channel to do the RPC on
        !           964:  * @param [in] destination destination
        !           965:  * @param [in] source source
        !           966:  * @param [in] routing_key routing_key
        !           967:  * @param [in] arguments arguments
        !           968:  * @returns amqp_exchange_unbind_ok_t
        !           969:  */
        !           970: AMQP_EXPORT
        !           971: amqp_exchange_unbind_ok_t *AMQP_CALL
        !           972:     amqp_exchange_unbind(amqp_connection_state_t state, amqp_channel_t channel,
        !           973:                          amqp_bytes_t destination, amqp_bytes_t source,
        !           974:                          amqp_bytes_t routing_key, amqp_table_t arguments);
        !           975: /**
        !           976:  * amqp_queue_declare
        !           977:  *
        !           978:  * @param [in] state connection state
        !           979:  * @param [in] channel the channel to do the RPC on
        !           980:  * @param [in] queue queue
        !           981:  * @param [in] passive passive
        !           982:  * @param [in] durable durable
        !           983:  * @param [in] exclusive exclusive
        !           984:  * @param [in] auto_delete auto_delete
        !           985:  * @param [in] arguments arguments
        !           986:  * @returns amqp_queue_declare_ok_t
        !           987:  */
        !           988: AMQP_EXPORT
        !           989: amqp_queue_declare_ok_t *AMQP_CALL amqp_queue_declare(
        !           990:     amqp_connection_state_t state, amqp_channel_t channel, amqp_bytes_t queue,
        !           991:     amqp_boolean_t passive, amqp_boolean_t durable, amqp_boolean_t exclusive,
        !           992:     amqp_boolean_t auto_delete, amqp_table_t arguments);
        !           993: /**
        !           994:  * amqp_queue_bind
        !           995:  *
        !           996:  * @param [in] state connection state
        !           997:  * @param [in] channel the channel to do the RPC on
        !           998:  * @param [in] queue queue
        !           999:  * @param [in] exchange exchange
        !          1000:  * @param [in] routing_key routing_key
        !          1001:  * @param [in] arguments arguments
        !          1002:  * @returns amqp_queue_bind_ok_t
        !          1003:  */
        !          1004: AMQP_EXPORT
        !          1005: amqp_queue_bind_ok_t *AMQP_CALL amqp_queue_bind(
        !          1006:     amqp_connection_state_t state, amqp_channel_t channel, amqp_bytes_t queue,
        !          1007:     amqp_bytes_t exchange, amqp_bytes_t routing_key, amqp_table_t arguments);
        !          1008: /**
        !          1009:  * amqp_queue_purge
        !          1010:  *
        !          1011:  * @param [in] state connection state
        !          1012:  * @param [in] channel the channel to do the RPC on
        !          1013:  * @param [in] queue queue
        !          1014:  * @returns amqp_queue_purge_ok_t
        !          1015:  */
        !          1016: AMQP_EXPORT
        !          1017: amqp_queue_purge_ok_t *AMQP_CALL amqp_queue_purge(amqp_connection_state_t state,
        !          1018:                                                   amqp_channel_t channel,
        !          1019:                                                   amqp_bytes_t queue);
        !          1020: /**
        !          1021:  * amqp_queue_delete
        !          1022:  *
        !          1023:  * @param [in] state connection state
        !          1024:  * @param [in] channel the channel to do the RPC on
        !          1025:  * @param [in] queue queue
        !          1026:  * @param [in] if_unused if_unused
        !          1027:  * @param [in] if_empty if_empty
        !          1028:  * @returns amqp_queue_delete_ok_t
        !          1029:  */
        !          1030: AMQP_EXPORT
        !          1031: amqp_queue_delete_ok_t *AMQP_CALL amqp_queue_delete(
        !          1032:     amqp_connection_state_t state, amqp_channel_t channel, amqp_bytes_t queue,
        !          1033:     amqp_boolean_t if_unused, amqp_boolean_t if_empty);
        !          1034: /**
        !          1035:  * amqp_queue_unbind
        !          1036:  *
        !          1037:  * @param [in] state connection state
        !          1038:  * @param [in] channel the channel to do the RPC on
        !          1039:  * @param [in] queue queue
        !          1040:  * @param [in] exchange exchange
        !          1041:  * @param [in] routing_key routing_key
        !          1042:  * @param [in] arguments arguments
        !          1043:  * @returns amqp_queue_unbind_ok_t
        !          1044:  */
        !          1045: AMQP_EXPORT
        !          1046: amqp_queue_unbind_ok_t *AMQP_CALL amqp_queue_unbind(
        !          1047:     amqp_connection_state_t state, amqp_channel_t channel, amqp_bytes_t queue,
        !          1048:     amqp_bytes_t exchange, amqp_bytes_t routing_key, amqp_table_t arguments);
        !          1049: /**
        !          1050:  * amqp_basic_qos
        !          1051:  *
        !          1052:  * @param [in] state connection state
        !          1053:  * @param [in] channel the channel to do the RPC on
        !          1054:  * @param [in] prefetch_size prefetch_size
        !          1055:  * @param [in] prefetch_count prefetch_count
        !          1056:  * @param [in] global global
        !          1057:  * @returns amqp_basic_qos_ok_t
        !          1058:  */
        !          1059: AMQP_EXPORT
        !          1060: amqp_basic_qos_ok_t *AMQP_CALL amqp_basic_qos(amqp_connection_state_t state,
        !          1061:                                               amqp_channel_t channel,
        !          1062:                                               uint32_t prefetch_size,
        !          1063:                                               uint16_t prefetch_count,
        !          1064:                                               amqp_boolean_t global);
        !          1065: /**
        !          1066:  * amqp_basic_consume
        !          1067:  *
        !          1068:  * @param [in] state connection state
        !          1069:  * @param [in] channel the channel to do the RPC on
        !          1070:  * @param [in] queue queue
        !          1071:  * @param [in] consumer_tag consumer_tag
        !          1072:  * @param [in] no_local no_local
        !          1073:  * @param [in] no_ack no_ack
        !          1074:  * @param [in] exclusive exclusive
        !          1075:  * @param [in] arguments arguments
        !          1076:  * @returns amqp_basic_consume_ok_t
        !          1077:  */
        !          1078: AMQP_EXPORT
        !          1079: amqp_basic_consume_ok_t *AMQP_CALL amqp_basic_consume(
        !          1080:     amqp_connection_state_t state, amqp_channel_t channel, amqp_bytes_t queue,
        !          1081:     amqp_bytes_t consumer_tag, amqp_boolean_t no_local, amqp_boolean_t no_ack,
        !          1082:     amqp_boolean_t exclusive, amqp_table_t arguments);
        !          1083: /**
        !          1084:  * amqp_basic_cancel
        !          1085:  *
        !          1086:  * @param [in] state connection state
        !          1087:  * @param [in] channel the channel to do the RPC on
        !          1088:  * @param [in] consumer_tag consumer_tag
        !          1089:  * @returns amqp_basic_cancel_ok_t
        !          1090:  */
        !          1091: AMQP_EXPORT
        !          1092: amqp_basic_cancel_ok_t *AMQP_CALL
        !          1093:     amqp_basic_cancel(amqp_connection_state_t state, amqp_channel_t channel,
        !          1094:                       amqp_bytes_t consumer_tag);
        !          1095: /**
        !          1096:  * amqp_basic_recover
        !          1097:  *
        !          1098:  * @param [in] state connection state
        !          1099:  * @param [in] channel the channel to do the RPC on
        !          1100:  * @param [in] requeue requeue
        !          1101:  * @returns amqp_basic_recover_ok_t
        !          1102:  */
        !          1103: AMQP_EXPORT
        !          1104: amqp_basic_recover_ok_t *AMQP_CALL
        !          1105:     amqp_basic_recover(amqp_connection_state_t state, amqp_channel_t channel,
        !          1106:                        amqp_boolean_t requeue);
        !          1107: /**
        !          1108:  * amqp_tx_select
        !          1109:  *
        !          1110:  * @param [in] state connection state
        !          1111:  * @param [in] channel the channel to do the RPC on
        !          1112:  * @returns amqp_tx_select_ok_t
        !          1113:  */
        !          1114: AMQP_EXPORT
        !          1115: amqp_tx_select_ok_t *AMQP_CALL amqp_tx_select(amqp_connection_state_t state,
        !          1116:                                               amqp_channel_t channel);
        !          1117: /**
        !          1118:  * amqp_tx_commit
        !          1119:  *
        !          1120:  * @param [in] state connection state
        !          1121:  * @param [in] channel the channel to do the RPC on
        !          1122:  * @returns amqp_tx_commit_ok_t
        !          1123:  */
        !          1124: AMQP_EXPORT
        !          1125: amqp_tx_commit_ok_t *AMQP_CALL amqp_tx_commit(amqp_connection_state_t state,
        !          1126:                                               amqp_channel_t channel);
        !          1127: /**
        !          1128:  * amqp_tx_rollback
        !          1129:  *
        !          1130:  * @param [in] state connection state
        !          1131:  * @param [in] channel the channel to do the RPC on
        !          1132:  * @returns amqp_tx_rollback_ok_t
        !          1133:  */
        !          1134: AMQP_EXPORT
        !          1135: amqp_tx_rollback_ok_t *AMQP_CALL amqp_tx_rollback(amqp_connection_state_t state,
        !          1136:                                                   amqp_channel_t channel);
        !          1137: /**
        !          1138:  * amqp_confirm_select
        !          1139:  *
        !          1140:  * @param [in] state connection state
        !          1141:  * @param [in] channel the channel to do the RPC on
        !          1142:  * @returns amqp_confirm_select_ok_t
        !          1143:  */
        !          1144: AMQP_EXPORT
        !          1145: amqp_confirm_select_ok_t *AMQP_CALL
        !          1146:     amqp_confirm_select(amqp_connection_state_t state, amqp_channel_t channel);
        !          1147: 
        !          1148: AMQP_END_DECLS
        !          1149: 
        !          1150: #endif /* RABBITMQ_C_FRAMING_H */

E-mail: