Where to find documentation

Hi,

I am trying to write a simple driver. My operations are what is known in
other
Operating Systems as ioctl’s (application sends some data and receives some
data and the
driver takes some action).

I saw that there is an “io_func_devctrl”. Is this the one? Where do I find
info on
how to write an ioctl?

Also, I am looking for documentation which describes:

  • what is iov (I know what it is, by know, but I am looking for a doc,
    which explains other things as well.)

  • where are data structures and their uses explained for: io_devctl_t?
    what is msg->o.ret_val, msg->i.nbytes, etc. (agian, I have guesses
    about them, but I would like to have documents so that I do not miss
    anything)


    Thanks,

This info is in the online documentation under “writing a resource manager”
Robert Kertn’s book is also a good introduction to writing driver (resource
manager)

“Berkeley Process Control” <bpc@berkeleyprocess.com> wrote in message
news:9goobr$j5m$1@inn.qnx.com

Hi,

I am trying to write a simple driver. My operations are what is known in
other
Operating Systems as ioctl’s (application sends some data and receives
some
data and the
driver takes some action).

I saw that there is an “io_func_devctrl”. Is this the one? Where do I find
info on
how to write an ioctl?

Also, I am looking for documentation which describes:

  • what is iov (I know what it is, by know, but I am looking for a doc,
    which explains other things as well.)

  • where are data structures and their uses explained for: io_devctl_t?
    what is msg->o.ret_val, msg->i.nbytes, etc. (agian, I have guesses
    about them, but I would like to have documents so that I do not miss
    anything)


    Thanks,

Thanks for the info on Robert Kertn’s book. I ’ ll try to get it today.

I have read the “writing a resource manager” doc. It touches on the
subject of my questions but does not answer them:


Is “io_func_devctrl” for generic IOCTL calls? Where do I find
info on how to write an ioctl?

\

  • what is iov (I know what it is, by now, but I am looking for a doc,
    which explains other things as well.)

  • where are data structures and their uses explained for: io_devctl_t?
    what is msg->o.ret_val, msg->i.nbytes, etc. (agian, I have guesses
    about them, but I would like to have documents so that I do not miss
    anything)

Please let me know if I am missing someething, or if I am not reading the
correct version of the document, or…

regards,


Mario Charest <mcharest@deletezinformatic.com> wrote in message
news:9gp03d$nao$1@inn.qnx.com

This info is in the online documentation under “writing a resource
manager”
Robert Kertn’s book is also a good introduction to writing driver
(resource
manager)

“Berkeley Process Control” <> bpc@berkeleyprocess.com> > wrote in message
news:9goobr$j5m$> 1@inn.qnx.com> …
Hi,

I am trying to write a simple driver. My operations are what is known in
other
Operating Systems as ioctl’s (application sends some data and receives
some
data and the
driver takes some action).

I saw that there is an “io_func_devctrl”. Is this the one? Where do I
find
info on
how to write an ioctl?

Also, I am looking for documentation which describes:

  • what is iov (I know what it is, by know, but I am looking for a doc,
    which explains other things as well.)

  • where are data structures and their uses explained for: io_devctl_t?
    what is msg->o.ret_val, msg->i.nbytes, etc. (agian, I have guesses
    about them, but I would like to have documents so that I do not miss
    anything)


    Thanks,
    \

Go in the CVS repository (cvs.qnx.com ) grab the file
nto/io-char/io_devctl.c.
Inside look for the function call io_devctl. That what you function should
look like.

Is that what you are looking for?


“Berkeley Process Control” <bpc@berkeleyprocess.com> wrote in message
news:9gqpue$rjf$1@inn.qnx.com

Thanks for the info on Robert Kertn’s book. I ’ ll try to get it today.

I have read the “writing a resource manager” doc. It touches on the
subject of my questions but does not answer them:


Is “io_func_devctrl” for generic IOCTL calls? Where do I find
info on how to write an ioctl?

\

  • what is iov (I know what it is, by now, but I am looking for a doc,
    which explains other things as well.)

  • where are data structures and their uses explained for:
    io_devctl_t?
    what is msg->o.ret_val, msg->i.nbytes, etc. (agian, I have guesses
    about them, but I would like to have documents so that I do not
    miss
    anything)

Please let me know if I am missing someething, or if I am not reading the
correct version of the document, or…

regards,


Mario Charest <> mcharest@deletezinformatic.com> > wrote in message
news:9gp03d$nao$> 1@inn.qnx.com> …

This info is in the online documentation under “writing a resource
manager”
Robert Kertn’s book is also a good introduction to writing driver
(resource
manager)

“Berkeley Process Control” <> bpc@berkeleyprocess.com> > wrote in message
news:9goobr$j5m$> 1@inn.qnx.com> …
Hi,

I am trying to write a simple driver. My operations are what is known
in
other
Operating Systems as ioctl’s (application sends some data and receives
some
data and the
driver takes some action).

I saw that there is an “io_func_devctrl”. Is this the one? Where do I
find
info on
how to write an ioctl?

Also, I am looking for documentation which describes:

  • what is iov (I know what it is, by know, but I am looking for a doc,
    which explains other things as well.)

  • where are data structures and their uses explained for:
    io_devctl_t?
    what is msg->o.ret_val, msg->i.nbytes, etc. (agian, I have guesses
    about them, but I would like to have documents so that I do not
    miss
    anything)


    Thanks,


    \

Mario Charest <mcharest@deletezinformatic.com> wrote in message
news:9gqv0q$1ae$1@inn.qnx.com

Go in the CVS repository (cvs.qnx.com ) grab the file
nto/io-char/io_devctl.c.
Inside look for the function call io_devctl. That what you function
should
look like.

Is that what you are looking for?

Thanks… That coule for sure help. The problem is that the download
instructions are for a QNX machine. I only have Windows Machine on the net.
How can I download most of these packages (in *iso format, for example??).

I have already downloaded gddk_v1.00, isdk, nddk, psdk, uddk packages
but they seem to be too complicated for what I need.

Grazie,

“Berkeley Process Control” <bpc@berkeleyprocess.com> wrote in message
news:9gta1u$eok$1@inn.qnx.com

Mario Charest <> mcharest@deletezinformatic.com> > wrote in message
news:9gqv0q$1ae$> 1@inn.qnx.com> …

Go in the CVS repository (cvs.qnx.com ) grab the file
nto/io-char/io_devctl.c.

Inside look for the function call io_devctl. That what you function
should look like.

Is that what you are looking for?


Thanks… That coule for sure help. The problem is that the download
instructions are for a QNX machine. I only have Windows Machine on the
net.
How can I download most of these packages (in *iso format, for example??).

If you use a browser to

I have already downloaded gddk_v1.00, isdk, nddk, psdk, uddk packages
but they seem to be too complicated for what I need.

These are meant to build specific type of driver.

Grazie,

Woops wrong key:

“Berkeley Process Control” <bpc@berkeleyprocess.com> wrote in message
news:9gta1u$eok$1@inn.qnx.com

Mario Charest <> mcharest@deletezinformatic.com> > wrote in message
news:9gqv0q$1ae$> 1@inn.qnx.com> …

Go in the CVS repository (cvs.qnx.com ) grab the file
nto/io-char/io_devctl.c.
Inside look for the function call io_devctl. That what you function
should
look like.

Is that what you are looking for?


Thanks… That coule for sure help. The problem is that the download
instructions are for a QNX machine. I only have Windows Machine on the
net.
How can I download most of these packages (in *iso format, for example??).

These are not packages per say, the are under CVS control. You could try
installing CVS for Windows, but that could be ugly.

http://cvs.qnx.com/cgi-bin/cvsweb.cgi/nto/io-char/io_devctl.c

And press on the download link. You need to do this for every file you
need.

Note these are not source to build driver, these are the source to QNX
own drivers :wink:


I have already downloaded gddk_v1.00, isdk, nddk, psdk, uddk packages
but they seem to be too complicated for what I need.

Grazie,

I did get that file and I think I can get a lot of info from it. Am I right
if
I assume there is no “Resource Manager Manual” which would go thru
every single io function, and we need to rely on reading example source
codes? << I hope Krten’s book will help, when we get it here.>>


Mario Charest <mcharest@deletezinformatic.com> wrote in message
news:9gtcc3$g1j$1@inn.qnx.com

Woops wrong key:

http://cvs.qnx.com/cgi-bin/cvsweb.cgi/nto/io-char/io_devctl.c

And press on the download link. You need to do this for every file you
need.

Note these are not source to build driver, these are the source to QNX
own drivers > :wink:

So, what is the differece between these drivers (io-char) and nddk_V.00,
etc?
Why are they kept separately?

Thank you so much for your help.

“Berkeley Process Control” <bpc@berkeleyprocess.com> wrote in message
news:9gtt4u$paa$1@inn.qnx.com

I did get that file and I think I can get a lot of info from it. Am I
right
if
I assume there is no “Resource Manager Manual” which would go thru
every single io function, and we need to rely on reading example source
codes?

To some degree yes. QNX is working hard at improving doc though

<< I hope Krten’s book will help, when we get it here.>>

Yes it will, but it’s by no mean complete.

Mario Charest <> mcharest@deletezinformatic.com> > wrote in message
news:9gtcc3$g1j$> 1@inn.qnx.com> …

Woops wrong key:

http://cvs.qnx.com/cgi-bin/cvsweb.cgi/nto/io-char/io_devctl.c

And press on the download link. You need to do this for every file you
need.

Note these are not source to build driver, these are the source to QNX
own drivers > :wink:

So, what is the differece between these drivers (io-char) and nddk_V.00,
etc?
Why are they kept separately?

Thank you so much for your help.