System Administration Commands listen(1M)
NAME
listen - network listener daemon
SYNOPSIS
/usr/lib/saf/listen [-m devstem] net_spec
DESCRIPTION
The listen process ``listens'' to a network for service
requests, accepts requests when they arrive, and invokes servers in response to those service requests. The networklistener process may be used with any connection-oriented
network (more precisely, with any connection-oriented tran-
sport provider) that conforms to the Transport Layer Inter-
face (TLI) Specification.The listener internally generates a pathname for the minor
device for each connection; it is this pathname that is used in the utmpx entry for a service, if one is created. By default, this pathname is the concatenation of the prefix /dev/netspec with the decimal representation of the minor device number. In either case, the representation of theminor device number will be at least two digits (for exam-
ple, 05 or 27), or longer when it is necessary to accommo-
date minor device numbers larger than 99. SERVER INVOCATIONWhen a connection indication is received, the listener
creates a new transport endpoint and accepts the connection on that endpoint. Before giving the file descriptor for this new connection to the server, any designated STREAMS modules are pushed and the configuration script is executed, (if one exists). This file descriptor is appropriate for use witheither TLI (see t_sync(3NSL) ) or the sockets interface
library. By default, a new instance of the server is invoked for each connection. When the server is invoked, file descriptor 0 refers to the transport endpoint, and is open for reading and writing. File descriptors 1 and 2 are copies of filedescriptor 0; no other file descriptors are open. The ser-
vice is invoked with the user and group IDs of the user nameunder which the service was registered with the listener,
and with the current directory set to the HOME directory of that user. Alternatively, a service may be registered so that thelistener will pass connections to a standing server process
through a FIFO or a named stream, instead of invoking theSunOS 5.11 Last change: 3 Apr 1997 1
System Administration Commands listen(1M)
server anew for each connection. In this case, the connec-
tion is passed in the form of a file descriptor that refers to the new transport endpoint. Before the file descriptor issent to the server, the listener interprets any configura-
tion script registered for that service using doconfig(3NSL), although doconfig is invoked with both the NORUN and NOASSIGN flags. The server receives the file descriptor for the connection in a strrecvfd structure usingan I_RECVFD ioctl(2).
For more details about the listener and its administration,
see nlsadmin(1M). OPTIONS-mdevstem The listener will use devstem as the prefix for
the pathname. FILES /etc/saf/pmtag/*ATTRIBUTES
See attributes(5) for descriptions of the following attri-
butes:____________________________________________________________
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
|_____________________________|_____________________________|
| Availability | SUNWcs ||_____________________________|_____________________________|
SEE ALSO
nlsadmin(1M), pmadm(1M), sac(1M), sacadm(1M), ioctl(2), doconfig(3NSL), nlsgetcall(3NSL), nlsprovider(3NSL),t_sync(3NSL), attributes(5), streamio(7I)
NOTES When passing a connection to a standing server, the user and group IDs contained in the strrecvfd structure will be thosefor the listener (that is, they will both be 0); the user
name under which the service was registered with thelistener is not reflected in these IDs.
When operating multiple instances of the listener on a sin-
gle transport provider, there is a potential race condition in the binding of addresses during initialization of theSunOS 5.11 Last change: 3 Apr 1997 2
System Administration Commands listen(1M)
listeners, if any of their services have dynamically
assigned addresses. This condition would appear as an ina-
bility of the listener to bind a static-address service to
its otherwise valid address, and would result from adynamic-address service having been bound to that address by
a different instance of the listener.
SunOS 5.11 Last change: 3 Apr 1997 3