Port Monitor Service Administration (pmadm)
The pmadm command enables you to administer port monitors' services. In particular, you
use the pmadm command to add or remove a service and to enable or
disable a service. You can also install or replace per-service configuration scripts, or
print information about a service.
Each instance of a service must be uniquely identified by a port
monitor and a port. When you use the pmadm command to administer a service,
you specify a particular port monitor with the pmtag argument, and a particular
port with the svctag argument.
For each port monitor type, the SAF requires a specialized command to format
port monitor-specific configuration data. This data is used by the pmadm command.
For ttymon and listen type port monitors, these specialized commands are ttyadm and
nlsadmin, respectively.
ttymon Port Monitor
Whenever you attempt to log in by using a directly connected modem
or alphanumeric terminal, ttymon goes to work. First, the SAC process is started by
SMF. Then, the SAC automatically starts the port monitors that are designated in
its administrative file, /etc/saf/_sactab. After the ttymon port monitor has been started, it
monitors the serial port lines for service requests.
When someone attempts to log in by using an alphanumeric terminal or a
modem, the serial port driver passes the activity to the operating system. The
ttymon port monitor notes the serial port activity, and attempts to establish a
communications link. The ttymon port monitor determines which data transfer rate, line discipline, and
handshaking protocol are required to communicate with the device.
After the proper parameters for communication with the modem or terminal are established,
the ttymon port monitor passes these parameters to the login program and transfers
control to it.
Port Initialization Process
When an instance of the ttymon port monitor is invoked by the SAC,
ttymon starts to monitor its ports. For each port, the ttymon port monitor
first initializes the line disciplines, if they are specified, and the speed and
terminal settings. The values used for initialization are taken from the appropriate entry
in the /etc/ttydefs file.
The ttymon port monitor then writes the prompt and waits for user input.
If the user indicates that the speed is inappropriate by pressing the Break
key, the ttymon port monitor tries the next speed and writes the prompt
again.
If autobaud is enabled for a port, the ttymon port monitor tries
to determine the baud rate on the port automatically. Users must press Return
before the ttymon port monitor can recognize the baud rate and print the
prompt.
When valid input is received, the ttymon port monitor does the following tasks:
Interprets the per-service configuration file for the port
Creates an /etc/utmpx entry, if required
Establishes the service environment
Invokes the service associated with the port
After the service terminates, the ttymon port monitor cleans up the /etc/utmpx entry,
if this entry exists, and returns the port to its initial state.
Bidirectional Service
If a port is configured for bidirectional service, the ttymon port monitor does
the following:
Allows users to connect to a service
Allows the uucico, cu, or ct commands to use the port for dialing out, if the port is free
Waits to read a character before printing a prompt
Invokes the port's associated service, without sending the prompt message, when a connection is requested, if the connect-on-carrier flag is set