The Service Access Facility (SAF) provides a generic interface to which all port monitors must conform. listen is a port monitor under the SAF's controller, the Service Access Controller (SAC). (See ``The Service Access Facility'', ``Administering port monitors'', and ``Administering port services'' for a description of the SAF, the administrative files it maintains, and the commands used for port monitor and service administration.)
There can be multiple invocations of listen port monitors, each identified by a unique pmtag. Each of these port monitors can monitor multiple ports for incoming connection requests.
A port has only one service associated with it. Each port, and its associated service, is identified by a service tag, svctag. Service tags for any given port monitor are unique.
When the SAC daemon starts a port monitor, the port monitor reads its administrative file, which contains information about which ports to monitor and what service (that is, process) is associated with each port.
The SAF requires each type of port monitor to provide an administrative command. This command must format information derived from command-line options so that it is suitable for inclusion in the administrative files for that port monitor type. The command may also perform other port monitor-specific functions.
nlsadmin is the listener's administrative command. The nlsadmin command formats information based on the options with which it is invoked and writes this information to the standard output.
nlsadmin is one of the arguments used by pmadm -a to format information in a way suitable for inclusion in a listen administrative file. nlsadmin presents this information (as standard output) to pmadm, which places it in the file. This use of nlsadmin is described under ``Adding a listen port monitor''. pmspecific information in a port monitor administrative file will be different for different port monitor types.
nlsadmin is also included on the sacadm command line when a port monitor is added to the system. It supplies the listen version number for inclusion in a port monitor's administrative file.
The sacadm command line uses nlsadmin only with the -V option. nlsadmin -V returns the version number of the listen command being used.
Earlier versions of nlsadmin allowed you to add and delete services, start and stop the listener, and query the status of services using the nlsadmin command directly. Although this use of nlsadmin is retained for compatibility, these functions are now provided by the SAF administrative commands. This use of the SAF commands is described in the sections that follow. All uses of nlsadmin, including its use with the SAF administrative commands, are described on the nlsadmin(1M) manual page.
Under the SAF, it is possible to have multiple listen processes for a single transport provider; each is identified by a unique pmtag. Before UNIX System V Release 4, only one listen process could be associated with a transport provider. This unique listen process was identified by its net_spec (see nlsadmin(1M)). If a listen process is added using the nlsadmin command, then its pmtag and net_spec will be identical. It is suggested that the SAF commands, sacadm and pmadm, instead of the nlsadmin command, be used to administer listen processes and the services managed by them.