About This Guide
This guide will help you create a resource manager, a process that registers a name in the filesystem name space, which other processes then use to communicate with the resource manager.
The following table may help you find information quickly:
| For information about: | Go to: |
|---|---|
| What a resource manager is, and when you would—and wouldn't—use one | What Is a Resource Manager? |
| The overall structure of a resource manager | The Bones of a Resource Manager |
Adding some meatto the basic structure |
Fleshing Out the Skeleton |
| Data structures that the POSIX-layer routines use, and how to add your own data to them | POSIX-Layer Data Structures |
| Reading and writing data | Handling Read and Write Messages |
| Atomic operations | Combine Messages |
| Handling other types of messages | Handling Other Messages |
| Unblocking clients because of signals, timeouts, and closed file descriptors, and handling interrupts | Unblocking Clients and Handling Interrupts |
| Handling more than one message at once | Multithreaded Resource Managers |
| Taking over a directory | Filesystem Resource Managers |
| Terms used in QNX Neutrino docs | Glossary |
For another perspective on resource managers, see the
Resource Managers
chapter of Getting Started with QNX Neutrino.
In particular, this chapter includes a summary
of the handlers for the connect and I/O messages that a resource manager
will receive; see
Alphabetical listing of connect and I/O functions
in it.
Note:
This book assumes that you're familiar with message passing.
If you're not, see the
Interprocess Communication (IPC)
chapter in the System Architecture guide as well as the
MsgSend(),
MsgReceivev(), and
MsgReply()
series of calls in the QNX Neutrino C Library Reference.
For information about programming in the QNX Neutrino RTOS, see Getting Started with QNX Neutrino and the QNX Neutrino Programmer's Guide.
Page updated:
