I am porting an I/O Manager from QnX 4 to a resource manager on 6.2. I want
to be able to assign a major (the same number) and minor (different for each
device) to the devices (maximum serviced by the RM. These devices are
character special devices (c).
QnX 4 provided qnx_device_attach to allow assignment of a major device
number to the manager. Minor numbers could be selectively assigned to each
device using qnx_prefix_attach ()
I want to be able to configure my devices in the same manner using 6.2.
After resmgr_attach is run for each device, the major and minor numbers for
each device assinged to the RM are all 0 (ls -l /dev/xxx)
I have used rsrcdbmgr_devno_attach (). This function will not allow the ‘/’
character in the path, so I can’t present /dev/xxx to this function.
I have used resmgr_devino with similar results.
The Rob Krten book (ppgs 289 and 291) describes the rdev member of the
iofunc_attr_t structure as containing a major and minor device number.
After my RM runs, this member is 0. I have also assigned (the optional)
iofunc_mount_t structure to each device. The dev member of this structure
for each device also contains 0. For now, I am stuffing the correct minor
number in the ‘dev’ member of the iofunc_mount_t structure. Not an
When I list other ‘c’ type devices (such as /dev/ser*) I see a proper major,
minor number set displayed.
What is the proper method to assign a major number to my RM. The
porting document says that qnx_device_attach () is replaced in 6.2 by
What function can be used to assign the minor number I want assigned
to each device serviced by the RM.