cmd = malloc(sizeof(*cmd) + size);
- fio_init_net_cmd(cmd);
- cmd->opcode = cpu_to_le16(FIO_NET_CMD_JOB_END);
- cmd->pdu_len = cpu_to_le32(size);
-
- memcpy(&cmd->payload, buf, size);
-
+ fio_init_net_cmd(cmd, FIO_NET_CMD_JOB_END, buf, size);
fio_net_cmd_crc(cmd);
ret = fio_send_data(fio_client_fd, cmd, sizeof(*cmd) + size);
int size = sizeof(*cmd) + len;
cmd = malloc(size);
- fio_init_net_cmd(cmd);
- cmd->opcode = cpu_to_le16(FIO_NET_CMD_TEXT);
- cmd->pdu_len = cpu_to_le32(len);
- memcpy(&cmd->payload, buf, len);
-
+ fio_init_net_cmd(cmd, FIO_NET_CMD_TEXT, buf, len);
fio_net_cmd_crc(cmd);
fio_send_data(server_fd, cmd, size);
#error "Endianness not detected"
#endif
-static inline void fio_init_net_cmd(struct fio_net_cmd *cmd)
+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_VER1);
+ cmd->opcode = cpu_to_le16(FIO_NET_CMD_TEXT);
+
+ if (pdu) {
+ cmd->pdu_len = cpu_to_le32(pdu_len);
+ memcpy(&cmd->payload, pdu, pdu_len);
+ }
}
#endif