PPS devices information object

The PPS devices information object (/pps/qnx/mount/.all) contains information on all the devices currently attached to the car infotainment system.

Each attached device has its own PPS object, stored in the device listings directory. The .all object in this same directory concatenates the contents of all other PPS objects and therefore contains a separate section describing each device. Each of these sections begins with a line in the form: [n]@<PPS_object_name>. The [n] token means the information doesn't persist across reboots, so when the system shuts down, the device's information isn't written to permanent storage by PPS.

Following the section identifier, the device parameters are specified, one per line, in lines of the form: key::value. The device parameters store the hardware type, device mountpoint, volume name, database storage path, and filesystem information.

The full contents of this PPS object look like this:

[n]@mme
device_type::hdd
fs_type::qnx
id::mme
mount::/accounts/1000/shared/
name::Juke Box
[n]@umass0
PPS_DRIVER_ID::/pps/qnx/driver/3678286
blocks_size::512
blocks_total::15240576
partition_count::1
raw::/dev/umass0
[n]@umass0.0
PPS_DRIVER_ID::/pps/qnx/driver/3678286
PPS_RAWMOUNT_ID::/pps/qnx/mount/umass0
blocks_size::512
blocks_total::15240574
fs_type::dos (fat32)
id::4f587192-d2fe-4efb-9fec-cd35531cfa45
label::UNTITLED
mount::/fs/usb0
name::UNTITLED
partition::/dev/umass0t11
partition_order::0
plugin_name::generic
raw::/dev/umass0
read_only::false

The mm-detect process looks for the at sign (@) to mark a new section and reads the string immediately following that symbol as the name of the PPS object (and hence, the name of the QDB database) representing the attached device.

When a device is removed, the delta mode reading of the .all object done by mm-detect means that PPS sends mm-detect a string containing a minus sign (-) followed by the PPS object (and QDB database) name. At this point, the device's PPS object and the corresponding section in the .all object have been deleted.