About This Guide

Updated: April 19, 2023

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 “meat” to 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.