X25AcceptCall(3X25) — Subroutines
Digital
NAME
X25AcceptCall − Accepts an incoming X.25 call
LIBRARY
X.25 Library (libx25.a)
SYNOPSIS
#include <netx25/x25.h>
int X25AcceptCall(
int pd ,
int manualMode ,
unsigned char ∗ epl ,
int eplLength );
PARAMETERS
pdIdentifies the port on which the incoming call was received.
manualMode
Specifies the data-transfer mode in which the port is to operate. A value of 1 sets the port to Manual Mode. A value of 0 sets the port to Automatic Mode.
eplPoints to an Encoded Parameter List containing the X.25 facilities to request when accepting the call.
eplLengthSpecifies the length of the Encoded Parameter List epl.
DESCRIPTION
The X25AcceptCall routine accepts an incoming X.25 call. The call parameters requested by the caller are returned by the X25Listen routine. The call can be accepted with no changes to the requested parameters by returning an encoded parameter list containing only the name of a template with no characteristic attributes set. Encoded parameter lists are generated using the X25Encode routine and are described in the X.25 for Digital UNIX − Programmer’s Reference Manual.
If facility negotiation is required, the encoded parameter list passed in epl specifies the conditions under which the incoming call will be accepted. The encoded parameter list can optionally include an X25I_TEMPLATE item. This identifies the X25 Access Template entity which defines default facility values with respect to which the call is being accepted. When omitted, the values of the Default template are used. Only a subset of the template characteristics are valid; these are defined by the accept facilities listed below.
The manualMode parameter controls the data transfer mode of the connection. To operate in Manual Mode, where the user controls the more data and qualified data bits and the packetization of the data packets, the manualMode parameter must be set to a non-zero value. To operate in Automatic Mode, where all packet fragmentation and re-assembly are handled by the system, the manualMode parameter must be set to zero.
The encoded parameter list can optionally contain accept parameter values that override those specified in the template. The valid accept parameters are network dependent, but may include the following:
| Item Code | Description |
| X25I_CALLEDEXTISO | Called Address Extension |
| X25I_CALLEDEXTNONISO | Called Address Extension |
| X25I_CHARGEINFO | Charging Information - requesting service |
| X25I_ETEDELAY | End-to-End Transit Delay Negotiation |
| X25I_EXPEDITE | Expedited Data Negotiation |
| X25I_NOEXPEDITE | Expedited Data Negotiation |
| X25I_NETUSERID | Network User Identification (NUI) |
| X25I_NONX25FACILITIES | Non-X.25 facilities provided by the local or remote network (only in the case of an internetwork virtual call) |
| X25I_PKTSIZEIN | Flow Control - Packet Size |
| X25I_PKTSIZEOUT | Flow Control - Packet Size |
| X25I_PRIORITY | Quality of Service - Priority |
| X25I_PROTECTION | Quality of Service - Protection |
| X25I_TEMPLATE | Template Entity Name |
| X25I_THRUCLSIN | Throughput Class Negotiation |
| X25I_THRUCLSOUT | Throughput Class Negotiation |
| X25I_USERDATA | User Data |
| X25I_WINSIZEIN | Flow Control - Window Size |
| X25I_WINSIZEOUT | Flow Control - Window Size |
RETURN VALUES
Upon successful completion, the X25AcceptCall routine returns a value of 0. Otherwise, a (negative) error code is returned.
ERRORS
If the X25AcceptCall routine fails, one of the following error codes is returned:
[X25RC_BADPD]
Invalid port descriptor specified
[X25RC_CALLABORT]
An X.25 call arrived at the Digital UNIX host, but was cleared by the network or the remote DTE before the call was accepted with the X25AcceptCall routine. You may need to increase the Call Timer at the remote DTE if the transit delay through the network is greater than or comparable to the current setting of the timer.
[X25RC_CALLPARAM]
One of the call parameters specified in the EPL or the template is not valid. Either the EPL contains an item that is not a valid call parameter, or one of the X.25 facilities requested was rejected by the network.
[X25RC_INVALFAC]
The X.25 facilities specified in the EPL and/or the template are too long for the network to which the DTE is connected.
[X25RC_INVALSTATE]
The port is not in a valid state to perform the requested operation. Either there is a connection already established on the specified port, or there is no call waiting on the specified port.
[X25RC_LINKDOWN]
The X.25 call was aborted due to a LAPB or LLC2 link failure. Before attempting another call, ensure that the Link Service Provider of the DTE used to make the call is enabled and running.
[X25RC_NETABORT]
The X.25 call was aborted due to a network-initiated restart of the DTE on which the call was established. Wait for the X25 Protocol DTE entity to return to the running state before making the call again.
[X25RC_NETMANCLR]
The call has been cleared by a network management command.
[X25RC_NOMEM]
There were insufficient system resources to perform the requested operation. The call was not accepted.
[X25RC_PORTABORT]
The X.25 call was aborted due to a failure in a module below X25 Access. Before attempting another call, ensure that the X25 Protocol DTE entity and its Link Service Provider are enabled and in the running state.
[X25RC_PROTOCOL]
The X.25 call was aborted due to an invalid packet received from the network. To further isolate this problem, use CTF to determine the packet in error.
[X25RC_SERVICEDOWN]
The X.25 service is not available because an entity is not in the correct state. Either the X25 Access entity is disabled, or the X25 Protocol entity does not exist.
[X25RC_SYSERR]
An operating system error occurred. The external variable errno is set to indicate the error.
[X25RC_TEMPLATE]
The specified template does not exist.
RELATED INFORMATION
Functions: X25Encode(3X25), X25Listen(3X25).
CTF for Digital UNIX − CTF User’s Guide,
X.25 for Digital UNIX − Programmer’s Reference Manual.