[an error occurred while processing this directive]

HP OpenVMS Systems Documentation

Content starts here Chapter 1 ACP-QIO Interface
HP OpenVMS I/O User’s Reference Manual: OpenVMS Version 8.4

Chapter 1 ACP-QIO Interface

An ancillary control process (ACP) is a process that interfaces between the user process and the driver, and performs functions that supplement the driver's functions. Virtual I/O operations involving file-structured devices (disks and magnetic tapes) often require ACP intervention. In most cases, ACP intervention is requested by OpenVMS Record Management Services (RMS) and is transparent to the user process; however, user processes can request ACP functions directly by issuing a Queue I/O (QIO) request and specifying an ACP function code.

Executing physical and logical input/output (I/O) operations on a device that is managed by a file ACP interferes with the operation of the ACP, and can result in unpredictable consequences such as system failure.

In addition to the ACP, the XQP (extended QIO processor) facility supplements the QIO driver's functions when performing virtual I/O operations on file-structured devices; however, rather than being a separate process, the XQP executes as a kernel-mode thread in the process of its caller.

An XQP is provided to support Files-11 ODS-2 and ODS-5 (On-Disk Structure Level 2 and 5) disks as the base file system, and an ACP is provided for ANSI standard X3.27 magnetic tapes.

There are also ACPs to support the ISO 9660 CD-ROM disk structure (Files-11 C) and High Sierra CD-ROM disk structure (Files-11 D). Collectively, these ACPs are called Files-11 C/D.

This chapter describes the QIO interface to ACPs for disk and magnetic tape devices (file system ACPs). The sample program in Chapter 10 performs QIO operations to the magnetic tape ACP.

This chapter also describes a number of structures and field names of the form xxx$name. A MACRO program can define symbols of this form by invoking the $xxxDEF macro.

The following macros are available in SYS$LIBRARY:STARLET.MLB:

  • $IODEF

  • $FIBDEF

  • $ATRDEF

  • $SBKDEF

The following macros are available in SYS$LIBRARY:LIB.MLB:

  • $FATDEF

  • $DQFDEF

  • $FCHDEF

Programs written in BLISS-32 can use these symbols by referencing them and including the correct library, SYS$LIBRARY:STARLET.L32 (for the macros listed under SYS$LIBRARY:STARLET.MLB), and SYS$LIBRARY:LIB.L32 (for the macros listed under SYS$LIBRARY:LIB.MLB).

References to ANSI see the American National Standard Magnetic Tape Labels and File Structures for Information Interchange, ANSI X3.27-1978.