Ancillary
control process (ACP) functions can be expressed using
seven function codes and four function modifiers. The function codes
are:
IO$_CREATE--Creates a directory
entry or file
IO$_ACCESS--Searches a directory for a specified
file and accesses the file, if found
IO$_DEACCESS--Deaccesses a file and, if
specified, writes the final attributes in the file header
IO$_MODIFY--Modifies the file attributes
and file allocation
IO$_DELETE--Deletes a directory entry and
file header
IO$_MOUNT--Informs the ACP when a volume
is mounted; requires MOUNT privilege
IO$_ACPCONTROL--Performs miscellaneous control
functions
The function modifiers are:
IO$M_ACCESS--Opens a file
on the user's channel
IO$M_CREATE--Creates a file
IO$M_DELETE--Deletes a file or marks it
for deletion
IO$M_DMOUNT--Dismounts a volume
In addition to the function codes and modifiers, ACPs take
five device- or function-dependent arguments, as shown in
ACP Device- or Function-Dependent Arguments. The
first argument, P1, is the address of the file information block
(FIB) descriptor.
File Information Block (FIB) describes
the FIB in detail.
The second argument, P2, is an optional argument used in directory
operations. It specifies the address of the descriptor for the file
name string to be entered in the directory.
Argument P3 is the address of a word to receive the resultant
file name string length. The resultant string is not padded. The
actual length is returned in P3. Argument P4 is the address of a
descriptor for a buffer to receive the resultant file name string.
Both of these arguments are optional.
Figure 1 ACP Device- or Function-Dependent Arguments
The fifth argument, P5, is an optional argument containing
the address of the attribute control block.
Read/Write Attributes describes the attribute control block in
detail.
All areas of memory specified by the descriptors must be capable
of being read or written to.