use `int` as return type for ecrt_soe_request_*

See #101
This commit is contained in:
Bjarne von Horn 2024-02-09 11:39:48 +01:00
parent 885b8717e1
commit 8c30331e6e
5 changed files with 44 additions and 34 deletions

View File

@ -2078,6 +2078,9 @@ ec_request_state_t ecrt_sdo_request_state(
*
* \ingroup ApplicationInterfaceRT
* \return 0 on success, otherwise negative error code.
* \retval -EINVAL Invalid input data, e.g. data size == 0.
* \retval -ENOMEM Reserved memory in ecrt_slave_config_create_sdo_request()
* too small.
*/
EC_PUBLIC_API int ecrt_sdo_request_write(
ec_sdo_request_t *req /**< SDO request. */
@ -2117,8 +2120,9 @@ EC_PUBLIC_API int ecrt_sdo_request_read(
* set via ecrt_slave_config_create_soe_request().
*
* \ingroup ApplicationInterfaceRT
* \return 0 on success, otherwise negative error code.
*/
EC_PUBLIC_API void ecrt_soe_request_idn(
EC_PUBLIC_API int ecrt_soe_request_idn(
ec_soe_request_t *req, /**< IDN request. */
uint8_t drive_no, /**< SDO index. */
uint16_t idn /**< SoE IDN. */
@ -2134,8 +2138,9 @@ EC_PUBLIC_API void ecrt_soe_request_idn(
*
* The timeout should be defined in non-realtime context, but can also be
* changed afterwards.
* \return 0 on success, otherwise negative error code.
*/
EC_PUBLIC_API void ecrt_soe_request_timeout(
EC_PUBLIC_API int ecrt_soe_request_timeout(
ec_soe_request_t *req, /**< SoE request. */
uint32_t timeout /**< Timeout in milliseconds. Zero means no
timeout. */
@ -2213,8 +2218,12 @@ EC_PUBLIC_API ec_request_state_t ecrt_soe_request_state(
* activation).
*
* \ingroup ApplicationInterfaceRT
* \return 0 on success, otherwise negative error code.
* \retval -EINVAL Invalid input data, e.g. data size == 0.
* \retval -ENOMEM Reserved memory in ecrt_slave_config_create_soe_request()
* too small.
*/
EC_PUBLIC_API void ecrt_soe_request_write(
EC_PUBLIC_API int ecrt_soe_request_write(
ec_soe_request_t *req /**< SoE request. */
);
@ -2231,8 +2240,9 @@ EC_PUBLIC_API void ecrt_soe_request_write(
* activation).
*
* \ingroup ApplicationInterfaceRT
* \return 0 on success, otherwise negative error code.
*/
EC_PUBLIC_API void ecrt_soe_request_read(
EC_PUBLIC_API int ecrt_soe_request_read(
ec_soe_request_t *req /**< SoE request. */
);

View File

@ -48,7 +48,7 @@ void ec_soe_request_clear(ec_soe_request_t *req)
* Application interface.
****************************************************************************/
void ecrt_soe_request_idn(ec_soe_request_t *req, uint8_t drive_no,
int ecrt_soe_request_idn(ec_soe_request_t *req, uint8_t drive_no,
uint16_t idn)
{
ec_ioctl_soe_request_t data;
@ -61,14 +61,14 @@ void ecrt_soe_request_idn(ec_soe_request_t *req, uint8_t drive_no,
ret = ioctl(req->config->master->fd, EC_IOCTL_SOE_REQUEST_IDN, &data);
if (EC_IOCTL_IS_ERROR(ret)) {
fprintf(stderr, "Failed to set SoE request IDN: %s\n",
strerror(EC_IOCTL_ERRNO(ret)));
return -EC_IOCTL_ERRNO(ret);
}
return 0;
}
/****************************************************************************/
void ecrt_soe_request_timeout(ec_soe_request_t *req, uint32_t timeout)
int ecrt_soe_request_timeout(ec_soe_request_t *req, uint32_t timeout)
{
ec_ioctl_soe_request_t data;
int ret;
@ -79,9 +79,9 @@ void ecrt_soe_request_timeout(ec_soe_request_t *req, uint32_t timeout)
ret = ioctl(req->config->master->fd, EC_IOCTL_SOE_REQUEST_TIMEOUT, &data);
if (EC_IOCTL_IS_ERROR(ret)) {
fprintf(stderr, "Failed to set SoE request timeout: %s\n",
strerror(EC_IOCTL_ERRNO(ret)));
return -EC_IOCTL_ERRNO(ret);
}
return 0;
}
/****************************************************************************/
@ -139,7 +139,7 @@ ec_request_state_t ecrt_soe_request_state(ec_soe_request_t *req)
/****************************************************************************/
void ecrt_soe_request_read(ec_soe_request_t *req)
int ecrt_soe_request_read(ec_soe_request_t *req)
{
ec_ioctl_soe_request_t data;
int ret;
@ -149,14 +149,14 @@ void ecrt_soe_request_read(ec_soe_request_t *req)
ret = ioctl(req->config->master->fd, EC_IOCTL_SOE_REQUEST_READ, &data);
if (EC_IOCTL_IS_ERROR(ret)) {
fprintf(stderr, "Failed to command an SoE read operation : %s\n",
strerror(EC_IOCTL_ERRNO(ret)));
return -EC_IOCTL_ERRNO(ret);
}
return 0;
}
/****************************************************************************/
void ecrt_soe_request_write(ec_soe_request_t *req)
int ecrt_soe_request_write(ec_soe_request_t *req)
{
ec_ioctl_soe_request_t data;
int ret;
@ -168,9 +168,9 @@ void ecrt_soe_request_write(ec_soe_request_t *req)
ret = ioctl(req->config->master->fd, EC_IOCTL_SOE_REQUEST_WRITE, &data);
if (EC_IOCTL_IS_ERROR(ret)) {
fprintf(stderr, "Failed to command an SDO write operation : %s\n",
strerror(EC_IOCTL_ERRNO(ret)));
return -EC_IOCTL_ERRNO(ret);
}
return 0;
}
/****************************************************************************/

View File

@ -3703,8 +3703,7 @@ static ATTRIBUTES int ec_ioctl_soe_request_index(
return -ENOENT;
}
ecrt_soe_request_idn(req, data.drive_no, data.idn);
return 0;
return ecrt_soe_request_idn(req, data.drive_no, data.idn);
}
/****************************************************************************/
@ -3740,8 +3739,7 @@ static ATTRIBUTES int ec_ioctl_soe_request_timeout(
return -ENOENT;
}
ecrt_soe_request_timeout(req, data.timeout);
return 0;
return ecrt_soe_request_timeout(req, data.timeout);
}
/****************************************************************************/
@ -3824,8 +3822,7 @@ static ATTRIBUTES int ec_ioctl_soe_request_read(
return -ENOENT;
}
ecrt_soe_request_read(req);
return 0;
return ecrt_soe_request_read(req);
}
/****************************************************************************/
@ -3874,8 +3871,7 @@ static ATTRIBUTES int ec_ioctl_soe_request_write(
return -EFAULT;
req->data_size = data.size;
ecrt_soe_request_write(req);
return 0;
return ecrt_soe_request_write(req);
}
/****************************************************************************/

View File

@ -223,7 +223,7 @@ int ec_soe_request_append_data(
/** Request a read operation.
*/
void ec_soe_request_read(
int ec_soe_request_read(
ec_soe_request_t *req /**< SoE request. */
)
{
@ -231,13 +231,14 @@ void ec_soe_request_read(
req->state = EC_INT_REQUEST_QUEUED;
req->error_code = 0x0000;
req->jiffies_start = jiffies;
return 0;
}
/****************************************************************************/
/** Request a write operation.
*/
void ec_soe_request_write(
int ec_soe_request_write(
ec_soe_request_t *req /**< SoE request. */
)
{
@ -245,6 +246,7 @@ void ec_soe_request_write(
req->state = EC_INT_REQUEST_QUEUED;
req->error_code = 0x0000;
req->jiffies_start = jiffies;
return 0;
}
/****************************************************************************/
@ -263,18 +265,20 @@ int ec_soe_request_timed_out(const ec_soe_request_t *req /**< SDO request. */)
* Application interface.
****************************************************************************/
void ecrt_soe_request_idn(ec_soe_request_t *req, uint8_t drive_no,
int ecrt_soe_request_idn(ec_soe_request_t *req, uint8_t drive_no,
uint16_t idn)
{
req->drive_no = drive_no;
req->idn = idn;
return 0;
}
/****************************************************************************/
void ecrt_soe_request_timeout(ec_soe_request_t *req, uint32_t timeout)
int ecrt_soe_request_timeout(ec_soe_request_t *req, uint32_t timeout)
{
req->issue_timeout = timeout;
return 0;
}
/****************************************************************************/
@ -300,16 +304,16 @@ ec_request_state_t ecrt_soe_request_state(const ec_soe_request_t *req)
/****************************************************************************/
void ecrt_soe_request_read(ec_soe_request_t *req)
int ecrt_soe_request_read(ec_soe_request_t *req)
{
ec_soe_request_read(req);
return ec_soe_request_read(req);
}
/****************************************************************************/
void ecrt_soe_request_write(ec_soe_request_t *req)
int ecrt_soe_request_write(ec_soe_request_t *req)
{
ec_soe_request_write(req);
return ec_soe_request_write(req);
}
/****************************************************************************/

View File

@ -67,8 +67,8 @@ void ec_soe_request_set_idn(ec_soe_request_t *, uint16_t);
int ec_soe_request_alloc(ec_soe_request_t *, size_t);
int ec_soe_request_copy_data(ec_soe_request_t *, const uint8_t *, size_t);
int ec_soe_request_append_data(ec_soe_request_t *, const uint8_t *, size_t);
void ec_soe_request_read(ec_soe_request_t *);
void ec_soe_request_write(ec_soe_request_t *);
int ec_soe_request_read(ec_soe_request_t *);
int ec_soe_request_write(ec_soe_request_t *);
int ec_soe_request_timed_out(const ec_soe_request_t *);
/****************************************************************************/