26.02.2014 Views

Getting Started with QNX Neutrino - QNX Software Systems

Getting Started with QNX Neutrino - QNX Software Systems

Getting Started with QNX Neutrino - QNX Software Systems

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

© 2009, <strong>QNX</strong> <strong>Software</strong> <strong>Systems</strong> GmbH & Co. KG.<br />

io_openfd() 243<br />

io_pathconf() 243<br />

io_read() 244<br />

io_readlink() 245<br />

io_rename() 246<br />

io_shutdown() 247<br />

io_space() 247<br />

io_stat() 248<br />

io_sync() 248<br />

io_unblock() [CONNECT] 249<br />

io_unblock() [I/O] 249<br />

io_unlink() 250<br />

io_unlock_ocb() 251<br />

io_utime() 251<br />

io_write() 252<br />

Examples 252<br />

The basic skeleton of a resource manager 253<br />

A simple io_read() example 255<br />

A simple io_write() example 259<br />

A simple io_devctl() example 263<br />

An io_devctl() example that deals <strong>with</strong> data 266<br />

Advanced topics 269<br />

Extending the OCB 269<br />

Extending the attributes structure 271<br />

Blocking <strong>with</strong>in the resource manager 272<br />

Returning directory entries 273<br />

Summary 283<br />

A<br />

B<br />

<strong>QNX</strong> 4 to <strong>Neutrino</strong> 285<br />

<strong>QNX</strong> 4 and <strong>Neutrino</strong> 287<br />

Similarities 287<br />

Improvements 287<br />

Porting philosophy 291<br />

Message passing considerations 291<br />

Interrupt service routines 301<br />

Summary 302<br />

Calling 911 303<br />

Seeking professional help 305<br />

So you’ve got a problem. . . 305<br />

Training 309<br />

April 30, 2009 Contents vii

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!