DESCRIPTION

nlsadmin is the administrative command for the network listener process(es) on a machine. Each network has at least one instance of the network listener process associated with
it; each instance (and thus, each network) is configured separately. The listener process ``listens'' to the network for service requests, accepts requests when they arrive, and invokes servers in response
to those service requests. The network listener process may be used with any network (more precisely, with any connection-oriented transport provider) that conforms to the transport provider specification.

nlsadmin can establish a listener process for a given network, configure the specific attributes of that listener, and start and kill the listener process for that network. nlsadmin can also report on the listener processes on a machine, either individually (per network) or collectively.

net_spec represents a particular listener process. Specifically, net_spec is the relative path name of the entry under /dev
for a given network (that is, a transport provider). address is a transport address on which to listen and is interpreted using a syntax that allows for a variety of address formats.
By default, address is interpreted as the symbolic ASCII representation of the transport address. An address preceded by \x
will let you enter an address in hexadecimal notation. Note that address must appear as a single word to the shell, thus it must be quoted if it contains any blanks.

Changes to the list of services provided by the listener or the addresses of those services are put into effect immediately.

OPTIONS

nlsadmin may be used with the following combinations of options and arguments:

-x

Report the status of all of the listener processes installed on this machine.

net_spec

Print the status of the listener process for net_spec.

-q net_spec

Query the status of the listener process for the specified network, and reflects the result of that query
in its exit code. If a listener process is active, nlsadmin will exit with a status of 0; if no process is active, the exit code will be 1; the exit
code will be greater than 1 in case of error.

-v net_spec

Print a verbose report on the servers associated with net_spec, giving the service
code, status, command, and comment for each. It also specifies the uid the server will run as and the list of modules to be pushed, if any, before the server is started.

-z service_code net_spec

Print a report on the server associated with net_spec that has service
code service_code, giving the same information as in the -v option.

-q-zservice_code net_spec

Query the status of the service with service code service_code on network net_spec, and exits with a status of 0 if that service is enabled, 1 if that service is disabled, and
greater than 1 in case of error.

-laddress net_spec

Change or set the transport address on which the listener listens (the general
listener service). This address can be used by remote processes to access the servers available through this listener (see the -a option, below).

If address is just a dash (" - "), nlsadmin reports the address currently configured, instead of changing it.

A change of address takes effect immediately.

-t address net_spec

Change or set the address on which the listener listens for requests for terminal service but is
otherwise similar to the -l option above. A terminal service address should not be defined unless the appropriate remote login software is available; if such software is available, it must
be configured as service code 1 (see the -a option, below).

-i net_spec

Initialize an instance of the listener for the network specified by net_spec;
that is, create and initialize the files required by the listener as well as starting that instance of the listener. Note that a particular instance of the listener should be initialized only once. The
listener must be initialized before assigning addresses or services.

-a service_code

[ -p modules ] [ -w name
] -c cmd-y comment net_spec

Add a new service to the list of services available through the indicated listener. service_code is the code for the service, cmd is the command
to be invoked in response to that service code, comprised of the full path name of the server and its arguments, and comment is a brief (free-form) description of the service
for use in various reports. Note that cmd must appear as a single word to the shell; if arguments are required, the cmd and its arguments must be enclosed
in quotation marks. The comment must also appear as a single word to the shell. When a service is added, it is initially enabled (see the -e and -d
options, below).

Service codes are alphanumeric strings, and are administered by AT&T. The numeric service codes 0 through 100 are reserved for internal use by the listener. Service code 0 is assigned to the nlps
server, which is the service invoked on the general listening address. In particular, code 1 is assigned to the remote login service, which is the service automatically invoked for connections to the terminal
login address.

If the -p option is specified, then modules will be interpreted as a list of STREAMS modules for the listener to push before
starting the service being added. The modules are pushed in the order they are specified. modules should be a comma-separated list of modules, with no white space included.

If the -w option is specified, then name is interpreted as the user name from /etc/passwd that the listener should look up. From the user
name, the listener obtains the user ID, the group ID(s), and the home directory for use by the server. If -w is not specified, the default is to use the user name listen.

A service must explicitly be added to the listener for each network on which that service is to be available. This operation will normally be performed only when the service is installed on a machine,
or when populating the list of services for a new network.

-rservice_code net_spec

Remove the entry for the service_code from that
listener's list of services. This is normally done only in conjunction with the de-installation of a service from a machine.

-eservice_code net_spec-dservice_code net_spec

Enable or disable (respectively) the service indicated by service_code for the specified network. The service must previously have been added to the listener for
that network (see the -a option, above). Disabling a service will cause subsequent service requests for that service to be denied, but the processes from any prior service requests that
are still running will continue unaffected.

-snet_spec-knet_spec

Start and kill (respectively) the listener process for the indicated network. These operations are normally performed as part of the system startup and shutdown procedures. Before a listener can be started
for a particular network, it must first have been initialized (see the -i option, above). When a listener is killed, processes that are still running as a result of prior service requests
will continue unaffected.

Under the Service Access Facility, it is possible to have multiple instances of the listener on a single net_spec. In any of the above commands, the option -Nport_monitor_tag may be used in place of the net_spec argument. This argument specifies the tag by which an instance of the listener
is identified by the Service Access Facility. If the -N option is not specified (that is, the net_spec is specified in the invocation), then it will be assumed
that the last component of the net_spec represents the tag of the listener for which the operation is destined. In other words, it is assumed that there is at least one listener
on a designated net_spec, and that its tag is identical to the last component of the net_spec. This listener may be thought of as the primary, or default,
listener for a particular net_spec .

nlsadmin is also used in conjunction with the Service Access Facility commands. In that capacity, the following combinations of options can be used:

-V

Write the current version number of the listener's administrative file to the standard output.
It is used as part of the sacadm command line when sacadm adds a port monitor to the system.

Format the port monitor-specific information
to be used as an argument to pmadm(1M)

The -c option specifies the full path name of the server and its arguments. cmd must appear as a single word to the shell, and its arguments must therefore
be surrounded by quotes.

The -o option specifies the full path name of a FIFO or named STREAM through which a standing server is actually receiving
the connection.

If the -p option is specified, then modules will be interpreted as a list of STREAMS modules for the listener to push before
starting the service being added. The modules are pushed in the order in which they are specified. modules must be a comma-separated list, with no white space included.

If the -A option is specified, then address will be interpreted as the server's private address. The listener will monitor this address on behalf of the
service and will dispatch all calls arriving on this address directly to the designated service. This option may not be used in conjunction with the -D option.

If the -D option is specified, then the service is assigned a private address dynamically, that is, the listener will have the transport provider select the address each time the listener
begins listening on behalf of this service. For RPC services, this option will be often be used in conjunction with the -R option to register the dynamically assigned address with the rpcbinder.
This option may not be used in conjunction with the -A option.

When the -R option is specified, the service is an RPC service whose address, program number, and version number should be registered with the rpcbinder for this transport provider.
This registration is performed each time the listener begins listening on behalf of the service. prognum and versnum are the program number and version
number, respectively, of the RPC service.

nlsadmin may be invoked by any user to generate reports; all operations that affect a listener's status or configuration may only be run by a super-user.

The options specific to the Service Access Facility may not be used together with any other options.

ERRORS

If successful, nlsadmin exits with a status of 0. If nlsadmin fails for any reason, it exits with a status greater than or equal to 2. See -q
option for a return status of 1.