PPS objects support an extended syntax on the pathnames used to open them. Open options
are added as suffixes to the pathname, following a question mark ("?"). That is,
the PPS service uses any data that follows a question mark in a pathname to apply open
options on the file descriptor used to access the object. Multiple options are separated
by commas. For example:
- "/pps/media/PlayList" — open the
PlayList file with no options
- "/pps/media/PlayList?wait" — open the
PlayList file with the wait option
- "/pps/media/Playlist?wait,delta" — open
PlayList file with the wait and delta options
- "/pps/media/.all?wait" — open the media
directory with the wait option
- "/pps/fish?notify=345:water" — open fish
and associate it with .notify group 345
Note: The syntax used for specifying PPS pathname open query options will be easily
recognizable to anyone familiar with the getsubopt() library routine.
Supported pathname open options include:
- cred
- Output the credentials for this object.
- critical
- Designate the publisher as critical to the object. See Critical option.
- crypt
- Set the crypto domain for this object.
- delta
- Open the object in delta mode. See Subscription Modes.
- deltadir
-
Return the names of all objects (files) in the directory—valid only
on the special .all object in a directory.
If any objects in the directory are created or deleted, these changes are
indicated by a "+" (created) or a "-" (deleted) sign prefixed to
their names. This behavior allows you to effectively perform a
readdir() within PPS and to monitor filesystem changes
without having to also monitor attribute changes.
See Subscribing to multiple objects.
- f=filter ...
-
Place a filter on notifications based on changes to the listed attributes.
See Filtering notifications.
- nopersist
- Make the object nonpersistent. When the system restarts, the object won't
exist. The default setting is for all objects to be persistent and reloaded on
restart. See Object and attribute qualifiers.
- notify=id:value
-
Associate the opened file descriptor with the notification group specified by
id. This id is returned on the first read
from an open() on the ".notify" file in the root of the PPS mount
point.
Reads of the ".notify" file will return the string:
id:value whenever data is available on the file descriptor
opened with the notify= query.
See Subscribing to multiple objects.
- opens
- Update an _opens::rd,wr attribute when the open count changes.
- reflect
- Reflect attribute changes made on this object back to itself.
- server
- Designate the publisher as a "server" for the object. See Server objects for more information.
- wait
- Open the file with the O_NONBLOCK flag clear so that read()
calls wait until the object changes or a delta appears. See Subscribing for more information.