diff options
author | Takashi Sakamoto <o-takashi@sakamocchi.jp> | 2022-05-25 16:29:36 +0900 |
---|---|---|
committer | Takashi Sakamoto <o-takashi@sakamocchi.jp> | 2022-05-25 16:29:36 +0900 |
commit | bc39183432b529f98616e2f6490dcc8d67e6bc2a (patch) | |
tree | b3e214d272548f8d30d2eb54c3c5eabdcd456e71 | |
parent | 286bc02d622658f98251f16f64f4910ed8b77826 (diff) | |
download | libhinoko-bc39183432b529f98616e2f6490dcc8d67e6bc2a.tar.gz |
fw_iso_ctx_private: code refactoring for ioctl error generator
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 | 5 | ||||
-rw-r--r-- | src/fw_iso_rx_multiple.c | 2 |
3 files changed, 10 insertions, 9 deletions
diff --git a/src/fw_iso_ctx_private.c b/src/fw_iso_ctx_private.c index ddbe0d0..ce51f6d 100644 --- a/src/fw_iso_ctx_private.c +++ b/src/fw_iso_ctx_private.c @@ -126,7 +126,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_ioctl_error(error, errno, FW_CDEV_IOC_GET_INFO); + generate_fw_iso_ctx_error_ioctl(error, errno, FW_CDEV_IOC_GET_INFO); fw_iso_ctx_state_release(state); return FALSE; } @@ -137,7 +137,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_ioctl_error(error, errno, FW_CDEV_IOC_CREATE_ISO_CONTEXT); + generate_fw_iso_ctx_error_ioctl(error, errno, FW_CDEV_IOC_CREATE_ISO_CONTEXT); fw_iso_ctx_state_release(state); return FALSE; } @@ -412,7 +412,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_ioctl_error(error, errno, FW_CDEV_IOC_QUEUE_ISO); + generate_fw_iso_ctx_error_ioctl(error, errno, FW_CDEV_IOC_QUEUE_ISO); return FALSE; } @@ -518,7 +518,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_ioctl_error(error, errno, FW_CDEV_IOC_START_ISO); + generate_fw_iso_ctx_error_ioctl(error, errno, FW_CDEV_IOC_START_ISO); return FALSE; } @@ -594,7 +594,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_ioctl_error(error, errno, FW_CDEV_IOC_FLUSH_ISO); + generate_fw_iso_ctx_error_ioctl(error, errno, FW_CDEV_IOC_FLUSH_ISO); return FALSE; } @@ -627,7 +627,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_ioctl_error(error, errno, FW_CDEV_IOC_GET_CYCLE_TIMER2); + generate_fw_iso_ctx_error_ioctl(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 09a3f40..f9d7bdc 100644 --- a/src/fw_iso_ctx_private.h +++ b/src/fw_iso_ctx_private.h @@ -24,8 +24,9 @@ static inline void generate_fw_iso_ctx_error_coded(GError **error, HinokoFwIsoCt 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_fw_iso_ctx_error_ioctl(error, errno, request) \ + g_set_error(error, HINOKO_FW_ISO_CTX_ERROR, HINOKO_FW_ISO_CTX_ERROR_FAILED, \ + "ioctl(" #request ") %d (%s)", errno, strerror(errno)) #define IEEE1394_MAX_CHANNEL 63 #define IEEE1394_MAX_SYNC_CODE 15 diff --git a/src/fw_iso_rx_multiple.c b/src/fw_iso_rx_multiple.c index b023adb..ad36136 100644 --- a/src/fw_iso_rx_multiple.c +++ b/src/fw_iso_rx_multiple.c @@ -381,7 +381,7 @@ gboolean hinoko_fw_iso_rx_multiple_allocate(HinokoFwIsoRxMultiple *self, const c set.handle = priv->state.handle; if (ioctl(priv->state.fd, FW_CDEV_IOC_SET_ISO_CHANNELS, &set) < 0) { - generate_ioctl_error(error, errno, FW_CDEV_IOC_SET_ISO_CHANNELS); + generate_fw_iso_ctx_error_ioctl(error, errno, FW_CDEV_IOC_SET_ISO_CHANNELS); hinoko_fw_iso_ctx_release(HINOKO_FW_ISO_CTX(self)); return FALSE; } else if (set.channels == 0) { |