devctl

ioctl() isn’t really standard and devctl() was deprecated for POSIX Approved
standard. Does POSIX provides an equivalent function?

-Mario

Mario Charest <mcharest@clipzinformatic.com> wrote:


ioctl() isn’t really standard and devctl() was deprecated for POSIX Approved
standard. Does POSIX provides an equivalent function?

ioctrl() is POSIX. (at least in the version marked year 2000)

-Adam

“Operating System for Tech Supp” <os@qnx.com> wrote in message
news:9pf5f4$785$1@nntp.qnx.com

Mario Charest <> mcharest@clipzinformatic.com> > wrote:


ioctl() isn’t really standard and devctl() was deprecated for POSIX
Approved
standard. Does POSIX provides an equivalent function?

ioctrl() is POSIX. (at least in the version marked year 2000)

ioctRl() ?? Is that a typo?

if not the QNX doc says ioctl is a Unix Standard not a POSIX one.

Thanks.

-Adam

“Mario Charest” <mcharest@clipzinformatic.com> wrote in message
news:9pf5ku$am4$1@inn.qnx.com

ioctrl() is POSIX. (at least in the version marked year 2000)

ioctRl() ?? Is that a typo?

if not the QNX doc says ioctl is a Unix Standard not a POSIX one.

Sorry Mario, a typo it was… ioctl() is in the POSIX standard now. I’ll
mention it to the documentation group. Again, sorry for the typo.

-Adam

Hi,

Does it mean QNXRTP will provide ioctl() instead devctl()? I have found QNX’s devctl() has many
differences from Linux’s ioctl(). The CD-ROM control calls are major functions what I’m wondering
(I have not found at all many of them in QNXRTP).

Thanks,
Eduard.

Operating System for Tech Supp <os@qnx.com> wrote in article <9pf5f4$785$1@nntp.qnx.com>…

Mario Charest <> mcharest@clipzinformatic.com> > wrote:


ioctl() isn’t really standard and devctl() was deprecated for POSIX Approved
standard. Does POSIX provides an equivalent function?

ioctrl() is POSIX. (at least in the version marked year 2000)

-Adam

ed1k <ed1k@yahoo.com> wrote:

Does it mean QNXRTP will provide ioctl() instead devctl()? I have found QNX’s devctl() has many
differences from Linux’s ioctl(). The CD-ROM control calls are major functions what I’m wondering
(I have not found at all many of them in QNXRTP).

ioctl() is provided (check in sys/ioctl.h for details) . ioctl is commonly used for terminal
control; much of the commands you send to hardware such as a cdrom is very driver
specific and thus will probably be different from Linux.

-Adam

Hi Adam,
Thank you for your interest.

Operating System for Tech Supp <os@qnx.com> wrote in article <9pv70j$6fo$1@nntp.qnx.com>…

ed1k <> ed1k@yahoo.com> > wrote:
Does it mean QNXRTP will provide ioctl() instead devctl()? I have found QNX’s devctl() has many
differences from Linux’s ioctl(). The CD-ROM control calls are major functions what I’m
wondering
(I have not found at all many of them in QNXRTP).

ioctl() is provided (check in sys/ioctl.h for details) .

Ok, I see my question was wrong. Once more :wink:
Are there any requirements in POSIX that current ioctl() does not meet them? Or am I wrong in
fundamentals? I’ve never read POSIX standards…

ioctl is commonly used for terminal
control; much of the commands you send to hardware such as a cdrom is very driver
specific and thus will probably be different from Linux.

I think ioctl() is common interface for control of ALL i/o devices. It hides driver specific. Am I

wrong somewhere? Of course, any command of ioctl(fd, cmd,…) refers to appropriate function of
appropriate driver. Yes, Linux’s driver (ide-cd.c) seems to full support ATAPI. But driver details
are not interesting for me. The list of CD-ROM functions in cdrom.h is more important for me. I
wish to write in my code
ioctl(fd, CDROM_SELECT_SPEED, speed); //for example
But currently there is not this command (and many other) in cdrom.h, and, apparently, ioctl() does
not support this command :frowning:

Thanks again,
Best regards,
Eduard.

ed1k <ed1k@yahoo.com> wrote:

Are there any requirements in POSIX that current ioctl() does not meet them? Or am I wrong in
fundamentals? I’ve never read POSIX standards…

POSIX talks only about streams interface for ioctl(). We support the POSIX interface to ioctl(),
but not it’s complete implementation.

I think ioctl() is common interface for control of ALL i/o devices. It hides driver specific. Am I
wrong somewhere? Of course, any command of ioctl(fd, cmd,…) refers to appropriate function of
appropriate driver. Yes, Linux’s driver (ide-cd.c) seems to full support ATAPI. But driver details
are not interesting for me.

There is nothing stoping a driver from not responding or implementing ioctl (or devctl)
messages. Thus I wouldn’t say that ioctl() is the common interface for ALL i/o devices.

The list of CD-ROM functions in cdrom.h is more important for me. I
wish to write in my code
ioctl(fd, CDROM_SELECT_SPEED, speed); //for example
But currently there is not this command (and many other) in cdrom.h, and, apparently, ioctl() does
not support this command > :frowning:

Check out sys/cdrom.h and devctl()

-Adam

Hi Adam,

Operating System for Tech Supp <os@qnx.com> wrote in article <9q742j$6qj$1@nntp.qnx.com>…

ed1k <> ed1k@yahoo.com> > wrote:
[x]

The list of CD-ROM functions in cdrom.h is more important for me. I
wish to write in my code
ioctl(fd, CDROM_SELECT_SPEED, speed); //for example
But currently there is not this command (and many other) in cdrom.h, and, apparently, ioctl()
does
not support this command > :frowning:

Check out sys/cdrom.h and devctl()

It sounds like I miss something. I have seen devctl.h (and I’ve read the appropriate article on the
web), sys/cdrom.h and ???-cam.h (I’m sorry for my unconsciousness). I have found the definition
for CDROM_SET_VOLUME (or something like, I’m sorry again, but it’s just an example ) command, but
not for SET_SPEED… BTW, SET MEDIUM SPEED command (BBh) is included in “Reduced MultiMedia
Commands (RMC)” working draft NCITS T10 1364-D. There is SET CD SPEED command (BBh) in MMC-3. Also
I’ve read “devb-eide driver supports ATA/ATAPI devices” in help. I think set of supported commands
(or definition set which I’ve seen) is weak. How to write the program for reading/writing CD-R/RW?
I want to control read/write speed at least. Or simply how to reduce CD-SPEED in multi-media player
for decreasing the noise of drive? BTW, it may be an interesting idea for Chris McKillop :wink: I
prefer to use the devctl() or ioctl(), but I can not see the way now…

Thank you very much,
Eduard.