X-Git-Url: https://git.kernel.dk/?p=fio.git;a=blobdiff_plain;f=server.h;h=e9a6a37fa14d3f126762542a7f8c34e0e61a9bf2;hp=3bb96a2777021b64c31ace58bfb652ff41687412;hb=c524ef72414f227ae4fcbfc95b832b3e6a95ae51;hpb=610a730c79c90298d41cb3138041e83ba9cdb1d2 diff --git a/server.h b/server.h index 3bb96a27..e9a6a37f 100644 --- a/server.h +++ b/server.h @@ -26,10 +26,10 @@ struct fio_net_cmd { }; enum { - FIO_SERVER_VER = 1, - FIO_SERVER_VER1 = 1, + FIO_SERVER_VER = 3, + FIO_SERVER_VER3 = 3, - FIO_SERVER_MAX_PDU = 64, + FIO_SERVER_MAX_PDU = 1024, FIO_NET_CMD_QUIT = 1, FIO_NET_CMD_EXIT = 2, @@ -59,6 +59,7 @@ struct cmd_ts_pdu { struct cmd_probe_pdu { uint8_t hostname[64]; + uint8_t bigendian; uint8_t fio_major; uint8_t fio_minor; uint8_t fio_patch; @@ -74,6 +75,8 @@ extern int fio_server_text_output(const char *, unsigned int len); extern int fio_server_log(const char *format, ...); extern int fio_net_send_cmd(int, uint16_t, const void *, off_t); extern int fio_net_send_simple_cmd(int sk, uint16_t opcode, uint64_t serial); +extern void fio_server_set_arg(const char *); +extern int fio_server_parse_string(const char *, char **, int *, int *, struct in_addr *); struct thread_stat; struct group_run_stats; @@ -85,64 +88,23 @@ extern void fio_server_idle_loop(void); extern int fio_clients_connect(void); extern int fio_clients_send_ini(const char *); extern int fio_handle_clients(void); -extern void fio_client_add(const char *); -extern void fio_client_add_cmd_option(const char *, const char *); +extern int fio_client_add(const char *, void **); +extern int fio_client_add_cmd_option(void *, const char *); extern int fio_recv_data(int sk, void *p, unsigned int len); extern int fio_send_data(int sk, const void *p, unsigned int len); extern void fio_net_cmd_crc(struct fio_net_cmd *); -extern struct fio_net_cmd *fio_net_recv_cmd(int sk, int block); +extern struct fio_net_cmd *fio_net_recv_cmd(int sk); extern int exit_backend; extern int fio_net_port; -#ifdef FIO_LITTLE_ENDIAN -#define __le16_to_cpu(x) (x) -#define __le32_to_cpu(x) (x) -#define __le64_to_cpu(x) (x) -#define __cpu_to_le16(x) (x) -#define __cpu_to_le32(x) (x) -#define __cpu_to_le64(x) (x) -#else -#define __le16_to_cpu(x) __bswap_16(x) -#define __le32_to_cpu(x) __bswap_32(x) -#define __le64_to_cpu(x) __bswap_64(x) -#define __cpu_to_le16(x) __bswap_16(x) -#define __cpu_to_le32(x) __bswap_32(x) -#define __cpu_to_le64(x) __bswap_64(x) -#endif - -#define le16_to_cpu(val) ({ \ - uint16_t *__val = &(val); \ - __le16_to_cpu(*__val); \ -}) -#define le32_to_cpu(val) ({ \ - uint32_t *__val = &(val); \ - __le32_to_cpu(*__val); \ -}) -#define le64_to_cpu(val) ({ \ - uint64_t *__val = &(val); \ - __le64_to_cpu(*__val); \ -}) -#define cpu_to_le16(val) ({ \ - uint16_t *__val = &(val); \ - __cpu_to_le16(*__val); \ -}) -#define cpu_to_le32(val) ({ \ - uint32_t *__val = &(val); \ - __cpu_to_le32(*__val); \ -}) -#define cpu_to_le64(val) ({ \ - uint64_t *__val = &(val); \ - __cpu_to_le64(*__val); \ -}) - static inline void fio_init_net_cmd(struct fio_net_cmd *cmd, uint16_t opcode, const void *pdu, uint32_t pdu_len) { memset(cmd, 0, sizeof(*cmd)); - cmd->version = __cpu_to_le16(FIO_SERVER_VER1); + cmd->version = __cpu_to_le16(FIO_SERVER_VER3); cmd->opcode = cpu_to_le16(opcode); if (pdu) {