use `int` as return type for ecrt_sdo_request_*

See #101
This commit is contained in:
Bjarne von Horn 2024-02-09 11:23:35 +01:00
parent 5248b967d2
commit 885b8717e1
4 changed files with 32 additions and 28 deletions

View File

@ -1974,8 +1974,9 @@ EC_PUBLIC_API int ecrt_domain_state(
* set via ecrt_slave_config_create_sdo_request(). * set via ecrt_slave_config_create_sdo_request().
* *
* \ingroup ApplicationInterfaceRT * \ingroup ApplicationInterfaceRT
* \return 0 on success, otherwise negative error code.
*/ */
EC_PUBLIC_API void ecrt_sdo_request_index( EC_PUBLIC_API int ecrt_sdo_request_index(
ec_sdo_request_t *req, /**< SDO request. */ ec_sdo_request_t *req, /**< SDO request. */
uint16_t index, /**< SDO index. */ uint16_t index, /**< SDO index. */
uint8_t subindex /**< SDO subindex. */ uint8_t subindex /**< SDO subindex. */
@ -1991,8 +1992,9 @@ EC_PUBLIC_API void ecrt_sdo_request_index(
* *
* The timeout should be defined in non-realtime context, but can also be * The timeout should be defined in non-realtime context, but can also be
* changed afterwards. * changed afterwards.
* \return 0 on success, otherwise negative error code.
*/ */
EC_PUBLIC_API void ecrt_sdo_request_timeout( EC_PUBLIC_API int ecrt_sdo_request_timeout(
ec_sdo_request_t *req, /**< SDO request. */ ec_sdo_request_t *req, /**< SDO request. */
uint32_t timeout /**< Timeout in milliseconds. Zero means no uint32_t timeout /**< Timeout in milliseconds. Zero means no
timeout. */ timeout. */
@ -2075,8 +2077,9 @@ ec_request_state_t ecrt_sdo_request_state(
* activation). * activation).
* *
* \ingroup ApplicationInterfaceRT * \ingroup ApplicationInterfaceRT
* \return 0 on success, otherwise negative error code.
*/ */
EC_PUBLIC_API void ecrt_sdo_request_write( EC_PUBLIC_API int ecrt_sdo_request_write(
ec_sdo_request_t *req /**< SDO request. */ ec_sdo_request_t *req /**< SDO request. */
); );
@ -2093,8 +2096,9 @@ EC_PUBLIC_API void ecrt_sdo_request_write(
* activation). * activation).
* *
* \ingroup ApplicationInterfaceRT * \ingroup ApplicationInterfaceRT
* \return 0 on success, otherwise negative error code.
*/ */
EC_PUBLIC_API void ecrt_sdo_request_read( EC_PUBLIC_API int ecrt_sdo_request_read(
ec_sdo_request_t *req /**< SDO request. */ ec_sdo_request_t *req /**< SDO request. */
); );

View File

@ -48,7 +48,7 @@ void ec_sdo_request_clear(ec_sdo_request_t *req)
* Application interface. * Application interface.
****************************************************************************/ ****************************************************************************/
void ecrt_sdo_request_index(ec_sdo_request_t *req, uint16_t index, int ecrt_sdo_request_index(ec_sdo_request_t *req, uint16_t index,
uint8_t subindex) uint8_t subindex)
{ {
ec_ioctl_sdo_request_t data; ec_ioctl_sdo_request_t data;
@ -61,14 +61,14 @@ void ecrt_sdo_request_index(ec_sdo_request_t *req, uint16_t index,
ret = ioctl(req->config->master->fd, EC_IOCTL_SDO_REQUEST_INDEX, &data); ret = ioctl(req->config->master->fd, EC_IOCTL_SDO_REQUEST_INDEX, &data);
if (EC_IOCTL_IS_ERROR(ret)) { if (EC_IOCTL_IS_ERROR(ret)) {
fprintf(stderr, "Failed to set SDO request index/subindex: %s\n", return -EC_IOCTL_ERRNO(ret);
strerror(EC_IOCTL_ERRNO(ret)));
} }
return 0;
} }
/****************************************************************************/ /****************************************************************************/
void ecrt_sdo_request_timeout(ec_sdo_request_t *req, uint32_t timeout) int ecrt_sdo_request_timeout(ec_sdo_request_t *req, uint32_t timeout)
{ {
ec_ioctl_sdo_request_t data; ec_ioctl_sdo_request_t data;
int ret; int ret;
@ -79,9 +79,9 @@ void ecrt_sdo_request_timeout(ec_sdo_request_t *req, uint32_t timeout)
ret = ioctl(req->config->master->fd, EC_IOCTL_SDO_REQUEST_TIMEOUT, &data); ret = ioctl(req->config->master->fd, EC_IOCTL_SDO_REQUEST_TIMEOUT, &data);
if (EC_IOCTL_IS_ERROR(ret)) { if (EC_IOCTL_IS_ERROR(ret)) {
fprintf(stderr, "Failed to set SDO request timeout: %s\n", return -EC_IOCTL_ERRNO(ret);
strerror(EC_IOCTL_ERRNO(ret)));
} }
return 0;
} }
/****************************************************************************/ /****************************************************************************/
@ -139,7 +139,7 @@ ec_request_state_t ecrt_sdo_request_state(ec_sdo_request_t *req)
/****************************************************************************/ /****************************************************************************/
void ecrt_sdo_request_read(ec_sdo_request_t *req) int ecrt_sdo_request_read(ec_sdo_request_t *req)
{ {
ec_ioctl_sdo_request_t data; ec_ioctl_sdo_request_t data;
int ret; int ret;
@ -149,14 +149,14 @@ void ecrt_sdo_request_read(ec_sdo_request_t *req)
ret = ioctl(req->config->master->fd, EC_IOCTL_SDO_REQUEST_READ, &data); ret = ioctl(req->config->master->fd, EC_IOCTL_SDO_REQUEST_READ, &data);
if (EC_IOCTL_IS_ERROR(ret)) { if (EC_IOCTL_IS_ERROR(ret)) {
fprintf(stderr, "Failed to command an SDO read operation : %s\n", return -EC_IOCTL_ERRNO(ret);
strerror(EC_IOCTL_ERRNO(ret)));
} }
return 0;
} }
/****************************************************************************/ /****************************************************************************/
void ecrt_sdo_request_write(ec_sdo_request_t *req) int ecrt_sdo_request_write(ec_sdo_request_t *req)
{ {
ec_ioctl_sdo_request_t data; ec_ioctl_sdo_request_t data;
int ret; int ret;
@ -168,9 +168,9 @@ void ecrt_sdo_request_write(ec_sdo_request_t *req)
ret = ioctl(req->config->master->fd, EC_IOCTL_SDO_REQUEST_WRITE, &data); ret = ioctl(req->config->master->fd, EC_IOCTL_SDO_REQUEST_WRITE, &data);
if (EC_IOCTL_IS_ERROR(ret)) { if (EC_IOCTL_IS_ERROR(ret)) {
fprintf(stderr, "Failed to command an SDO write operation : %s\n", return -EC_IOCTL_ERRNO(ret);
strerror(EC_IOCTL_ERRNO(ret)));
} }
return 0;
} }
/****************************************************************************/ /****************************************************************************/

View File

@ -3459,8 +3459,7 @@ static ATTRIBUTES int ec_ioctl_sdo_request_index(
return -ENOENT; return -ENOENT;
} }
ecrt_sdo_request_index(req, data.sdo_index, data.sdo_subindex); return ecrt_sdo_request_index(req, data.sdo_index, data.sdo_subindex);
return 0;
} }
/****************************************************************************/ /****************************************************************************/
@ -3496,8 +3495,7 @@ static ATTRIBUTES int ec_ioctl_sdo_request_timeout(
return -ENOENT; return -ENOENT;
} }
ecrt_sdo_request_timeout(req, data.timeout); return ecrt_sdo_request_timeout(req, data.timeout);
return 0;
} }
/****************************************************************************/ /****************************************************************************/
@ -3580,8 +3578,7 @@ static ATTRIBUTES int ec_ioctl_sdo_request_read(
return -ENOENT; return -ENOENT;
} }
ecrt_sdo_request_read(req); return ecrt_sdo_request_read(req);
return 0;
} }
/****************************************************************************/ /****************************************************************************/
@ -3630,8 +3627,7 @@ static ATTRIBUTES int ec_ioctl_sdo_request_write(
return -EFAULT; return -EFAULT;
req->data_size = data.size; req->data_size = data.size;
ecrt_sdo_request_write(req); return ecrt_sdo_request_write(req);
return 0;
} }
/****************************************************************************/ /****************************************************************************/

View File

@ -178,18 +178,20 @@ int ec_sdo_request_timed_out(const ec_sdo_request_t *req /**< SDO request. */)
* Application interface. * Application interface.
****************************************************************************/ ****************************************************************************/
void ecrt_sdo_request_index(ec_sdo_request_t *req, uint16_t index, int ecrt_sdo_request_index(ec_sdo_request_t *req, uint16_t index,
uint8_t subindex) uint8_t subindex)
{ {
req->index = index; req->index = index;
req->subindex = subindex; req->subindex = subindex;
return 0;
} }
/****************************************************************************/ /****************************************************************************/
void ecrt_sdo_request_timeout(ec_sdo_request_t *req, uint32_t timeout) int ecrt_sdo_request_timeout(ec_sdo_request_t *req, uint32_t timeout)
{ {
req->issue_timeout = timeout; req->issue_timeout = timeout;
return 0;
} }
/****************************************************************************/ /****************************************************************************/
@ -215,24 +217,26 @@ ec_request_state_t ecrt_sdo_request_state(const ec_sdo_request_t *req)
/****************************************************************************/ /****************************************************************************/
void ecrt_sdo_request_read(ec_sdo_request_t *req) int ecrt_sdo_request_read(ec_sdo_request_t *req)
{ {
req->dir = EC_DIR_INPUT; req->dir = EC_DIR_INPUT;
req->state = EC_INT_REQUEST_QUEUED; req->state = EC_INT_REQUEST_QUEUED;
req->errno = 0; req->errno = 0;
req->abort_code = 0x00000000; req->abort_code = 0x00000000;
req->jiffies_start = jiffies; req->jiffies_start = jiffies;
return 0;
} }
/****************************************************************************/ /****************************************************************************/
void ecrt_sdo_request_write(ec_sdo_request_t *req) int ecrt_sdo_request_write(ec_sdo_request_t *req)
{ {
req->dir = EC_DIR_OUTPUT; req->dir = EC_DIR_OUTPUT;
req->state = EC_INT_REQUEST_QUEUED; req->state = EC_INT_REQUEST_QUEUED;
req->errno = 0; req->errno = 0;
req->abort_code = 0x00000000; req->abort_code = 0x00000000;
req->jiffies_start = jiffies; req->jiffies_start = jiffies;
return 0;
} }
/****************************************************************************/ /****************************************************************************/