Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ x25applicationd(8X25) — DECnet WAN Support 3.1

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

syslogd(8)

x29logind(8X25)

X25AcceptCall(3X25)

X25ReadCallDetails(3X25)

X25ReadData(3X25)

X25SendData(3X25)

x25applicationd(8X25)  —  Maintenance

Digital

NAME

x25applicationd − X.25/X.29 application control program

SYNOPSIS

/usr/sbin/x25applicationd

DESCRIPTION

The X.25 Application Daemon (x25applicationd) controls the activation of X.25 applications, X.29 applications, and X.29 logins in response to incoming X.25 calls.  The applications to be controlled are defined as X25 Access Application entities.  For details on defining an application, refer to the X.25 for Digital UNIX − Management Guide. 

When an application entity is enabled by ncl(8dn), the X.25 Application Daemon creates a listener process to listen for calls arriving on the filters specified in the entity.  Disabling an application entity causes the X.25 Application Daemon to kill the corresponding listener process.  This prevents any new activations of the application being started.  However, existing activations of the application execute to completion. 

Upon receiving an incoming call, the listener process first verifies that the new call would not cause the number of activations to exceed that specified in the Maximum Activations attribute of the application entity.  If the maximum number of activations would be exceeded, then the call is cleared with the X.25 diagnostic code 163 (DTE resource constraint).  Otherwise, an activation process is created to handle the new activation of the application. 

The actions that the activation process performs depend on the value of the Type attribute of the application entity (X25, X29, or X29 Login).  The actions for each type of application are described in the following sections. 

X25

When an activation of an X.25 application is created, an environment is established in which to execute the file specified in the application entity.  The details of the password entry for the user specified in the application entity are retrieved, and based on these details the following actions are performed:

       •The environment variables HOME, SHELL, and USER are set. 

       •The user ID, group ID, and group access list are set. 

       •The current working directory is set to the HOME directory of the user specified. 

The activation process then executes the X.25 application, supplying the specified activation data as arguments.  When the X.25 application starts execution, file descriptor 0 (stdin) corresponds to the X.25 port descriptor of the incoming call.  All other file descriptors are closed. 

If required, the X.25 application can obtain details of the incoming call using X25ReadCallDetails(3X25).  The X.25 application should then either

       •Accept the call using X25AcceptCall(3X25) or

       •Clear the call using X25ClearCall(3X25). 

If the call is accepted, the X.25 application can then transfer data across the network using X25ReadData(3X25) and X25SendData(3X25).  For further information on writing an X.25 application to handle incoming calls, refer to the X.25 for Digital UNIX − Programmer’s Reference Manual. 

X29

When an activation of an X.29 application is created, the activation process first accepts the call using X25AcceptCall(3X25).  Control is then passed to the X.29 Server (x29logind), which creates the necessary environment for the X.29 application defined in the File attribute of the application entity.  The X.29 Server then executes the X.29 application, supplying the specified activation data as arguments. 

The X.29 application should read from stdin and write to stdout and stderr as it would for a user working at a local terminal.  The tasks of packet assembly and disassembly are performed transparently for the X.29 application by the X.29 Server. 

X29 Login

When an activation of an X.29 login is created, the activation process first accepts the call using X25AcceptCall(3X25).  Control is then passed to the X.29 Server (x29logind), which creates the necessary environment for the X.29 login.  The X.29 Server then executes the usual login process for the system. 

NOTES

The X.25 Application Daemon must be running before applications can be enabled.  Normally, the X.25 Application Daemon is started by the X.25 startup script /sbin/init.d/x25.  Superuser privilege is required to start it manually. 

Fast-select, restricted response calls are not permitted for X.29 applications or X.29 logins.  If an X.29 listener process receives a fast-select, restricted response call the call is automatically cleared. 

FILES

/sbin/init.d/x25X.25 startup script

DIAGNOSTICS

One of the following diagnostic messages is displayed if there is a problem starting the X.25 Application Daemon:

Usage: x25applicationd
Do not supply any arguments to the x25applicationd command. 

x25applicationd: X.25 is not installed
The X.25 Application Daemon could not be started because the running kernel has not been configured to support X.25.

x25applicationd: System error opening X.25 Management socket
The X.25 Application Daemon could not open a socket to X.25 Management due to a system error.  A further message explaining the system error is given with this error.

x25applicationd: The X.25 Application Daemon is already running
Only one copy of the X.25 Application Daemon can be running at any one time.

x25applicationd: Unable to allocate enough memory
The X.25 Application Daemon could not be started due to memory constraints.

x25applicationd: You must be superuser to run the X.25 Application Daemon
You cannot start the X.25 Application Daemon unless you have superuser privileges.

Once the X.25 Application Daemon has successfully started, diagnostic messages are logged using syslogd(8).  Diagnostic messages from the X.25 Application Daemon are distinguishable by the "x25applicationd[pid]:" prefix.  Diagnostic messages from the listener process for a particular application are prefixed by "x25applicationd(application-name)[pid]:". 

The listener process for an application may clear an incoming call with one of the following X.25 diagnostic codes.  If this happens, examine the syslog file to determine the exact reason the call was cleared. 

64 (Call setup problems)
An incoming call is cleared with this diagnostic code under the following circumstances:

       •There was an error accepting the incoming call. 

       •There was an error in initializing the user’s environment. 

       •The file specified for this application could not be executed. 

163 (DTE resource constraint)
An incoming call is cleared with this diagnostic code under the following circumstances:

       •The maximum number of activations for this application has been reached. 

       •The listener process was unable to create a new activation process for the incoming call. 

EXIT VALUES

The exit value can be one of the following:

0Daemon successfully started. 

1Syntax error in command. 

2Unable to start daemon. 

3Daemon is already running. 

RELATED INFORMATION

Commands: syslogd(8), x29logind(8X25). 
Functions: X25AcceptCall(3X25), X25ReadCallDetails(3X25), X25ReadData(3X25), X25SendData(3X25). 

DECnet/OSI − Network Control Language Reference,
X.25 for Digital UNIX − Management Guide,
X.25 for Digital UNIX − Programmer’s Reference Manual. 

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026