X25SendReset(3X25) — Subroutines
Digital
NAME
X25SendReset − Transmits an X.25 reset or confirms receipt of an X.25 reset
LIBRARY
X.25 Library (libx25.a)
SYNOPSIS
#include <netx25/x25.h>
int X25SendReset(
int pd ,
unsigned char cause ,
unsigned char diagnostic );
PARAMETERS
pdIdentifies the port to which the reset or reset confirmation is to be sent.
causeSpecifies the reset cause code.
diagnosticSpecifies the reset diagnostic code.
DESCRIPTION
The X25SendReset routine resets the X.25 virtual circuit identified by the port descriptor pd or sends a reset confirmation to acknowledge a previously received reset. The reset confirmation is automatically sent if X25SendReset is called while the port specified is in the X25S_UNSYNC state. Because resets are transmitted as out-of-band data, the effect as perceived by the user is as follows:
•Some normal, qualified, or interrupt data previously transmitted successfully via the X25SendData, X25SendDataQM, or X25SendInterrupt routines may be discarded by one of the modules before being sent to the network.
•Normal, qualified, or interrupt data received correctly by the X.25 Protocol module at some point in the past, but currently queued in one of the modules, may be discarded.
•All previously transmitted interrupts are treated as acknowledged.
•Knowledge of previously received but unconfirmed interrupts is lost. An attempt to use the X25SendInterruptConf routine results in an error until a new interrupt is received.
RETURN VALUES
Upon successful completion, the X25SendReset routine returns a value of 0. Otherwise, a (negative) error code is returned.
ERRORS
If the X25SendReset routine fails, one of the following error codes is returned:
[X25RC_BADPD]
Invalid port descriptor specified.
[X25RC_INVALCAUSE]
The cause code specified is not a valid cause code for an X.25 reset.
[X25RC_INVALSTATE]
The port is not in a valid state to perform the requested operation. There is no connection established 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_OUTRESET]
The request to send a reset was ignored, as the previous reset has not yet been confirmed by the remote DTE.
[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_PORTCLR]
The operation could not be performed because the X.25 call has been cleared. Clear information can be obtained using the X25ReadClear routine.
[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.
RELATED INFORMATION
Functions: X25SendData(3X25), X25SendDataQM(3X25), X25SendInterrupt(3X25), X25SendInterruptConf(3X25).
CTF for Digital UNIX − CTF User’s Guide,
X.25 for Digital UNIX − Programmer’s Reference Manual.