tsclose Multiprotocol (PCI MPQP) Device Handler Entry Point

Purpose

Resets the IBM® ARTIC960Hx adapter (PCI MPQP) and device handler to a known state and returns system resources back to the system on the last close for that adapter.

Syntax

int tsclose (devno, chan, ext)
dev_t devno;
int chan, ext;

Description

The tsclose entry point routine resets the PCI MPQP adapter to a known state and returns system resources to the system on the last close for that adapter. The port no longer accepts tsread, tswrite, or tsioctl operation requests. The tsclose entry point is called in user mode by issuing a close system call. The tsclose entry point is invoked in response to an fp_close kernel service.

On an tsclose entry point, the PCI MPQP device handler does the following:

On the last tsclose entry point for a particular adapter, the PCI MPQP device handler also does the following:

The tsclose entry point closes the device. For each tsopen entry point issued, there must be a corresponding tsclose entry point.

Before issuing the tsclose entry point, the caller should issue a CIO_HALT operation for each CIO_START operation issued during that particular instance of open. If a close request is received without a preceding CIO_HALT operation, the functions of the halt are performed. A close request without a preceding CIO_HALT operation occurs only during abnormal termination of the port.

The tsclose entry point functions with a 4-port Multiprotocol Interface adapter that has been correctly configured for use on a qualified network. Consult the adapter specifications for more information on configuring the adapter and network qualifications.

Parameters

Item Description
devno Specifies major and minor device numbers.
chan Specifies the channel number assigned by the tsmpx entry point.
ext Ignored by the PCI MPQP device handler.

Execution Environment

The tsclose entry point can be called from the process environment only.

Return Values

The common return codes for the tsclose entry point are:

Item Description
ECHRNG Indicates the channel number is too large.
ENXIO Indicates the port initialization was unsuccessful. This code could also indicate that the registration of the interrupt was unsuccessful.
ECHRNG Indicates the channel number is out of range (too high).