[RTEMS Project] #2836: Add posix_devctl()

RTEMS trac trac at rtems.org
Fri Dec 9 16:39:09 UTC 2016


#2836: Add posix_devctl()
---------------------------+----------------------------
 Reporter:  joel.sherrill  |       Owner:  joel.sherrill
     Type:  enhancement    |      Status:  new
 Priority:  normal         |   Milestone:  4.12
Component:  cpukit         |     Version:  4.12
 Severity:  normal         |  Resolution:
 Keywords:                 |
---------------------------+----------------------------
Description changed by joel.sherrill:

Old description:

> The posix_devctl() method is defined in POSIX 1003.26 and required by the
> FACE POSIX profiles. The only use case that needs to be supported is
> FIONBIO on sockets per the FACE Technical Standard.
>
> ioctl() is not a standardized method per POSIX and is not included in the
> FACE Profiles.
>
> Making operations non-blocking can also be done with fcntl() but due to
> RTOS qualification concerns, fcntl() is not included in the more
> stringent FACE profiles. Specifically, it is not in the Safety Base
> profile which matches the RTEMS POSIX capabilities.

New description:

 The posix_devctl() method is defined in POSIX 1003.26 and required by the
 FACE POSIX profiles. The only use case that needs to be supported is
 FIONBIO on sockets per the FACE Technical Standard.

 ioctl() is not a standardized method per POSIX and is not included in the
 FACE Profiles.

 Making operations non-blocking can also be done with fcntl() but due to
 RTOS qualification concerns, fcntl() is not included in the more stringent
 FACE profiles. Specifically, it is not in the Safety Base profile which
 matches the RTEMS POSIX capabilities.

 This requires adding the <devctl.h> file to newlib. That has been done. I
 am testing my implementation but a tool update will be needed before this
 can be pushed to the community. This is OK because we have other reasons
 to move to a new gcc and newlib version soon.

--

--
Ticket URL: <http://devel.rtems.org/ticket/2836#comment:1>
RTEMS Project <http://www.rtems.org/>
RTEMS Project


More information about the bugs mailing list