It is intended that portreserve runs from an initscript of its own, and services wishing to interact with it should use portrelease.
When the portreserve daemon is started, it examines the /etc/portreserve/ directory. Each file not containing lq.rq or lq~rq in its name is considered to be a service configuration file, and must contain a service name (as listed in /etc/services) or a port number. UDP services may be specified by appending "/udp" to the service name, and TCP services by "/tcp". Several services may be specified, one per line.
For example, /etc/portreserve/cups might contain the string lqipprq or, equivalently, lqipp/tcprq and lqipp/udprq on separate lines.
For each service configuration file, a socket is created and bound to the appropriate port. A service wishing to bind to its port must first run portrelease, which instructs portreserve to release the port associated with the service.
Once all the reserved ports have been released, the daemon exits.
/etc/portreserve/*
/var/run/portreserve/socket
portrelease(1)
Tim Waugh <twaugh@redhat.com>