ioctl_return and ioctl handler type
Joel Sherrill
joel.sherrill at OARcorp.com
Tue Apr 3 11:44:00 UTC 2012
Tradition?
There was a heavy use of unsigned 32 bit integers and as we have moved more and more to POSIX, some are left.
This makes sense to change but the ripple will be tedious.
--joel
Sebastian Huber <sebastian.huber at embedded-brains.de> wrote:
>Hello,
>
>why is the ioctl_return type uint32_t and not int?
>
>/**
> * @brief Parameter block for ioctl.
> */
>typedef struct {
> rtems_libio_t *iop;
> uint32_t command;
> void *buffer;
> uint32_t ioctl_return;
>} rtems_libio_ioctl_args_t;
>
>It is used here:
>
>static int
>rtems_rfs_rtems_device_ioctl (rtems_libio_t* iop,
> uint32_t command,
> void* buffer)
>{
>[...]
> status = rtems_io_control (major, minor, (void *) &args);
> if (status)
> return rtems_deviceio_errno (status);
>
> return args.ioctl_return;
>}
>
>int device_ioctl(
> rtems_libio_t *iop,
> uint32_t command,
> void *buffer
>)
>{
>[...]
> status = rtems_io_control(
> the_jnode->info.device.major,
> the_jnode->info.device.minor,
> (void *) &args
> );
>
> if ( status )
> return rtems_deviceio_errno(status);
>
> return args.ioctl_return;
>}
>
>int devFS_ioctl(
> rtems_libio_t *iop,
> uint32_t command,
> void *buffer
>)
>{
>[...]
> status = rtems_io_control(
> np->major,
> np->minor,
> (void *) &args
> );
>
> if ( status )
> return rtems_deviceio_errno(status);
>
> return args.ioctl_return;
>}
>
>We always have an uint32_t to int conversion, since the function type is
>
>typedef int (*rtems_filesystem_ioctl_t)(
> rtems_libio_t *iop,
> uint32_t request,
> void *buffer
>);
>
>--
>Sebastian Huber, embedded brains GmbH
>
>Address : Obere Lagerstr. 30, D-82178 Puchheim, Germany
>Phone : +49 89 18 90 80 79-6
>Fax : +49 89 18 90 80 79-9
>E-Mail : sebastian.huber at embedded-brains.de
>PGP : Public key available on request.
>
>Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.
>_______________________________________________
>rtems-devel mailing list
>rtems-devel at rtems.org
>http://www.rtems.org/mailman/listinfo/rtems-devel
More information about the devel
mailing list