diff options
author | Takashi Sakamoto <o-takashi@sakamocchi.jp> | 2022-05-05 11:37:24 +0900 |
---|---|---|
committer | 坂本 貴史 <o-takashi@sakamocchi.jp> | 2022-05-05 16:09:50 +0900 |
commit | 8b81fc53002805815f0872dc2f35789196b06443 (patch) | |
tree | 9e5685dd5e96cd9890a4a14a977514a827c8364d | |
parent | 677906b75b3dac3480058209909873789787201e (diff) | |
download | libhinoko-8b81fc53002805815f0872dc2f35789196b06443.tar.gz |
fw_iso_ctx_private: add utility macro to generate error for ioctl
For my convenience.
Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
-rw-r--r-- | src/fw_iso_ctx_private.c | 12 | ||||
-rw-r--r-- | src/fw_iso_ctx_private.h | 3 | ||||
-rw-r--r-- | src/fw_iso_rx_multiple.c | 2 |
3 files changed, 10 insertions, 7 deletions
diff --git a/src/fw_iso_ctx_private.c b/src/fw_iso_ctx_private.c index b0d133e..0840c83 100644 --- a/src/fw_iso_ctx_private.c +++ b/src/fw_iso_ctx_private.c @@ -124,7 +124,7 @@ gboolean fw_iso_ctx_state_allocate(struct fw_iso_ctx_state *state, const char *p // Support FW_CDEV_VERSION_AUTO_FLUSH_ISO_OVERFLOW. info.version = 5; if (ioctl(state->fd, FW_CDEV_IOC_GET_INFO, &info) < 0) { - generate_syscall_error(error, errno, "ioctl(%s)", "FW_CDEV_IOC_GET_INFO"); + generate_ioctl_error(error, errno, FW_CDEV_IOC_GET_INFO); fw_iso_ctx_state_release(state); return FALSE; } @@ -135,7 +135,7 @@ gboolean fw_iso_ctx_state_allocate(struct fw_iso_ctx_state *state, const char *p create.header_size = header_size; if (ioctl(state->fd, FW_CDEV_IOC_CREATE_ISO_CONTEXT, &create) < 0) { - generate_syscall_error(error, errno, "ioctl(%s)", "FW_CDEV_IOC_CREATE_ISO_CONTEXT"); + generate_ioctl_error(error, errno, FW_CDEV_IOC_CREATE_ISO_CONTEXT); fw_iso_ctx_state_release(state); return FALSE; } @@ -395,7 +395,7 @@ gboolean fw_iso_ctx_state_queue_chunks(struct fw_iso_ctx_state *state, GError ** arg.data = (__u64)(state->addr + buf_offset); arg.handle = state->handle; if (ioctl(state->fd, FW_CDEV_IOC_QUEUE_ISO, &arg) < 0) { - generate_syscall_error(error, errno, "ioctl(%s)", "FW_CDEV_IOC_QUEUE_ISO"); + generate_ioctl_error(error, errno, FW_CDEV_IOC_QUEUE_ISO); return FALSE; } @@ -487,7 +487,7 @@ gboolean fw_iso_ctx_state_start(struct fw_iso_ctx_state *state, const guint16 *c arg.tags = tags; arg.handle = state->handle; if (ioctl(state->fd, FW_CDEV_IOC_START_ISO, &arg) < 0) { - generate_syscall_error(error, errno, "ioctl(%s)", "FW_CDEV_IOC_START_ISO"); + generate_ioctl_error(error, errno, FW_CDEV_IOC_START_ISO); return FALSE; } @@ -561,7 +561,7 @@ void fw_iso_ctx_state_read_frame(struct fw_iso_ctx_state *state, guint offset, g gboolean fw_iso_ctx_state_flush_completions(struct fw_iso_ctx_state *state, GError **error) { if (ioctl(state->fd, FW_CDEV_IOC_FLUSH_ISO) < 0) { - generate_syscall_error(error, errno, "ioctl(%s)", "FW_CDEV_IOC_FLUSH_ISO"); + generate_ioctl_error(error, errno, FW_CDEV_IOC_FLUSH_ISO); return FALSE; } @@ -592,7 +592,7 @@ gboolean fw_iso_ctx_state_get_cycle_timer(struct fw_iso_ctx_state *state, gint c (*cycle_timer)->clk_id = clock_id; if (ioctl(state->fd, FW_CDEV_IOC_GET_CYCLE_TIMER2, *cycle_timer) < 0) { - generate_syscall_error(error, errno, "ioctl(%s)", "FW_CDEV_IOC_GET_CYCLE_TIMER2"); + generate_ioctl_error(error, errno, FW_CDEV_IOC_GET_CYCLE_TIMER2); return FALSE; } diff --git a/src/fw_iso_ctx_private.h b/src/fw_iso_ctx_private.h index 3ca144c..e25648d 100644 --- a/src/fw_iso_ctx_private.h +++ b/src/fw_iso_ctx_private.h @@ -18,6 +18,9 @@ extern const char *const fw_iso_ctx_err_msgs[7]; HINOKO_FW_ISO_CTX_ERROR_FAILED, \ format " %d(%s)", arg, errno, strerror(errno)) +#define generate_ioctl_error(error, errno, request) \ + generate_syscall_error(error, errno, "ioctl(%s)", #request) + #define generate_file_error(error, code, format, arg) \ g_set_error(error, G_FILE_ERROR, code, format, arg) diff --git a/src/fw_iso_rx_multiple.c b/src/fw_iso_rx_multiple.c index 8c10d1c..91e1a4e 100644 --- a/src/fw_iso_rx_multiple.c +++ b/src/fw_iso_rx_multiple.c @@ -378,7 +378,7 @@ void hinoko_fw_iso_rx_multiple_allocate(HinokoFwIsoRxMultiple *self, set.handle = priv->state.handle; if (ioctl(priv->state.fd, FW_CDEV_IOC_SET_ISO_CHANNELS, &set) < 0) { - generate_syscall_error(error, errno, "ioctl(%s)", "FW_CDEV_IOC_SET_ISO_CHANNELS"); + generate_ioctl_error(error, errno, FW_CDEV_IOC_SET_ISO_CHANNELS); hinoko_fw_iso_ctx_release(HINOKO_FW_ISO_CTX(self)); return; } else if (set.channels == 0) { |