RTEMS use of Linux specific errno's

Joel Sherrill joel.sherrill at OARcorp.com
Fri Jun 12 14:39:41 UTC 2009


Peter Dufault wrote:
> On Jun 11, 2009, at 2:42 , Joel Sherrill wrote:
>
>   
>> I am pretty happy changing EBADRQC to EINVAL but
>> I don't know what ENOTBLOCK should change to.
>>     
>
> I would use ENOTTY, or maybe ENODEV.  The name might be ENOTTY but the  
> strerror() text is appropriate.
>
>  From http://www.opengroup.org/onlinepubs/009695399/functions/xsh_chap02_03.html#tag_02_03
>
> [ENOTTY] Inappropriate I/O control operation. A control function has  
> been attempted for a file or special file for which the operation is  
> inappropriate.
>
> [ENODEV] No such device. An attempt was made to apply an inappropriate  
> function to a device; for example, trying to read a write-only device  
> such as a printer.
>   
from the ioctl man page

       EINVAL Request or argp is not valid.

So for simple cases of bad ioctl request number, this is the
right error.  I think the others cases fall into the ENODEV sounds
better.  Most of the cases would be doing a block operation
on a character device and getting back ENOTTY would confuse
me.

How does that sound?

--joel
> Peter
>   


-- 
Joel Sherrill, Ph.D.             Director of Research & Development
joel.sherrill at OARcorp.com        On-Line Applications Research
Ask me about RTEMS: a free RTOS  Huntsville AL 35805
   Support Available             (256) 722-9985





More information about the users mailing list