mirror of https://github.com/xemu-project/xemu.git
nbd: Consistent typedef usage in header
We had a mix of struct declarations followed by typedefs, and direct struct definitions as part of a typedef. Pick a single style. Also float forward declarations of opaque types to the top of the file, rather than interspersed with function declarations, which will help a future patch that wants to expose yet another opaque type that will be referenced in NBDRequest. No semantic impact. Signed-off-by: Eric Blake <eblake@redhat.com> Message-ID: <20230608135653.2918540-3-eblake@redhat.com> Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru> [eblake: alter patch per mailing list feedback] Signed-off-by: Eric Blake <eblake@redhat.com>
This commit is contained in:
parent
f47b6eab83
commit
8d2931dc85
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2016-2022 Red Hat, Inc.
|
* Copyright Red Hat
|
||||||
* Copyright (C) 2005 Anthony Liguori <anthony@codemonkey.ws>
|
* Copyright (C) 2005 Anthony Liguori <anthony@codemonkey.ws>
|
||||||
*
|
*
|
||||||
* Network Block Device
|
* Network Block Device
|
||||||
|
@ -26,24 +26,26 @@
|
||||||
#include "qapi/error.h"
|
#include "qapi/error.h"
|
||||||
#include "qemu/bswap.h"
|
#include "qemu/bswap.h"
|
||||||
|
|
||||||
|
typedef struct NBDExport NBDExport;
|
||||||
|
typedef struct NBDClient NBDClient;
|
||||||
|
typedef struct NBDClientConnection NBDClientConnection;
|
||||||
|
|
||||||
extern const BlockExportDriver blk_exp_nbd;
|
extern const BlockExportDriver blk_exp_nbd;
|
||||||
|
|
||||||
/* Handshake phase structs - this struct is passed on the wire */
|
/* Handshake phase structs - this struct is passed on the wire */
|
||||||
|
|
||||||
struct NBDOption {
|
typedef struct NBDOption {
|
||||||
uint64_t magic; /* NBD_OPTS_MAGIC */
|
uint64_t magic; /* NBD_OPTS_MAGIC */
|
||||||
uint32_t option; /* NBD_OPT_* */
|
uint32_t option; /* NBD_OPT_* */
|
||||||
uint32_t length;
|
uint32_t length;
|
||||||
} QEMU_PACKED;
|
} QEMU_PACKED NBDOption;
|
||||||
typedef struct NBDOption NBDOption;
|
|
||||||
|
|
||||||
struct NBDOptionReply {
|
typedef struct NBDOptionReply {
|
||||||
uint64_t magic; /* NBD_REP_MAGIC */
|
uint64_t magic; /* NBD_REP_MAGIC */
|
||||||
uint32_t option; /* NBD_OPT_* */
|
uint32_t option; /* NBD_OPT_* */
|
||||||
uint32_t type; /* NBD_REP_* */
|
uint32_t type; /* NBD_REP_* */
|
||||||
uint32_t length;
|
uint32_t length;
|
||||||
} QEMU_PACKED;
|
} QEMU_PACKED NBDOptionReply;
|
||||||
typedef struct NBDOptionReply NBDOptionReply;
|
|
||||||
|
|
||||||
typedef struct NBDOptionReplyMetaContext {
|
typedef struct NBDOptionReplyMetaContext {
|
||||||
NBDOptionReply h; /* h.type = NBD_REP_META_CONTEXT, h.length > 4 */
|
NBDOptionReply h; /* h.type = NBD_REP_META_CONTEXT, h.length > 4 */
|
||||||
|
@ -56,14 +58,13 @@ typedef struct NBDOptionReplyMetaContext {
|
||||||
* Note: these are _NOT_ the same as the network representation of an NBD
|
* Note: these are _NOT_ the same as the network representation of an NBD
|
||||||
* request and reply!
|
* request and reply!
|
||||||
*/
|
*/
|
||||||
struct NBDRequest {
|
typedef struct NBDRequest {
|
||||||
uint64_t handle;
|
uint64_t handle;
|
||||||
uint64_t from;
|
uint64_t from;
|
||||||
uint32_t len;
|
uint32_t len;
|
||||||
uint16_t flags; /* NBD_CMD_FLAG_* */
|
uint16_t flags; /* NBD_CMD_FLAG_* */
|
||||||
uint16_t type; /* NBD_CMD_* */
|
uint16_t type; /* NBD_CMD_* */
|
||||||
};
|
} NBDRequest;
|
||||||
typedef struct NBDRequest NBDRequest;
|
|
||||||
|
|
||||||
typedef struct NBDSimpleReply {
|
typedef struct NBDSimpleReply {
|
||||||
uint32_t magic; /* NBD_SIMPLE_REPLY_MAGIC */
|
uint32_t magic; /* NBD_SIMPLE_REPLY_MAGIC */
|
||||||
|
@ -282,7 +283,7 @@ static inline bool nbd_reply_type_is_error(int type)
|
||||||
#define NBD_ESHUTDOWN 108
|
#define NBD_ESHUTDOWN 108
|
||||||
|
|
||||||
/* Details collected by NBD_OPT_EXPORT_NAME and NBD_OPT_GO */
|
/* Details collected by NBD_OPT_EXPORT_NAME and NBD_OPT_GO */
|
||||||
struct NBDExportInfo {
|
typedef struct NBDExportInfo {
|
||||||
/* Set by client before nbd_receive_negotiate() */
|
/* Set by client before nbd_receive_negotiate() */
|
||||||
bool request_sizes;
|
bool request_sizes;
|
||||||
char *x_dirty_bitmap;
|
char *x_dirty_bitmap;
|
||||||
|
@ -310,8 +311,7 @@ struct NBDExportInfo {
|
||||||
char *description;
|
char *description;
|
||||||
int n_contexts;
|
int n_contexts;
|
||||||
char **contexts;
|
char **contexts;
|
||||||
};
|
} NBDExportInfo;
|
||||||
typedef struct NBDExportInfo NBDExportInfo;
|
|
||||||
|
|
||||||
int nbd_receive_negotiate(AioContext *aio_context, QIOChannel *ioc,
|
int nbd_receive_negotiate(AioContext *aio_context, QIOChannel *ioc,
|
||||||
QCryptoTLSCreds *tlscreds,
|
QCryptoTLSCreds *tlscreds,
|
||||||
|
@ -330,9 +330,6 @@ int nbd_client(int fd);
|
||||||
int nbd_disconnect(int fd);
|
int nbd_disconnect(int fd);
|
||||||
int nbd_errno_to_system_errno(int err);
|
int nbd_errno_to_system_errno(int err);
|
||||||
|
|
||||||
typedef struct NBDExport NBDExport;
|
|
||||||
typedef struct NBDClient NBDClient;
|
|
||||||
|
|
||||||
void nbd_export_set_on_eject_blk(BlockExport *exp, BlockBackend *blk);
|
void nbd_export_set_on_eject_blk(BlockExport *exp, BlockBackend *blk);
|
||||||
|
|
||||||
AioContext *nbd_export_aio_context(NBDExport *exp);
|
AioContext *nbd_export_aio_context(NBDExport *exp);
|
||||||
|
@ -409,8 +406,6 @@ const char *nbd_cmd_lookup(uint16_t info);
|
||||||
const char *nbd_err_lookup(int err);
|
const char *nbd_err_lookup(int err);
|
||||||
|
|
||||||
/* nbd/client-connection.c */
|
/* nbd/client-connection.c */
|
||||||
typedef struct NBDClientConnection NBDClientConnection;
|
|
||||||
|
|
||||||
void nbd_client_connection_enable_retry(NBDClientConnection *conn);
|
void nbd_client_connection_enable_retry(NBDClientConnection *conn);
|
||||||
|
|
||||||
NBDClientConnection *nbd_client_connection_new(const SocketAddress *saddr,
|
NBDClientConnection *nbd_client_connection_new(const SocketAddress *saddr,
|
||||||
|
|
Loading…
Reference in New Issue