QIO - QIO Arguments in VMS

QIO Arguments in VMS

Under VMS, the arguments to the QIO call are:

  • The event flag to set when the operation completes. It isn't possible to not specify an event flag; flag 0 is valid. It is perfectly permissible to have multiple simultaneous operations which set the same event flag on completion; it is then up to the application to sort out any confusion this might cause, or just ignore that event flag.
  • The channel, a small integer previously associated with the device. At this level, all operations on disk files and directories (filename parsing, directory lookup, file opening/closing) are done by appropriate QIO requests.
  • The function code to be performed. 6 bits are assigned to the basic code (such as read, write), with a further 10 bits for "modifiers" whose meaning depend on the basic code.
  • The optional I/O status block (IOSB) which is cleared by the QIO call, and filled in on completion of the I/O operation. The first two bytes hold the completion status (success, end of file reached, timeout, I/O error, etc.), while the next two bytes normally return the number of bytes read or written in the operation. The meaning, if any, of the last four bytes is operation-dependent.
  • The optional AST routine to invoke when the operation completes.
  • An additional parameter (whose meaning is up to the caller) to be passed to the AST routine.
  • A partially standardized list of up to six parameters known as P1 through P6. The first two parameters typically specify the I/O buffer starting address (P1), and the I/O byte count (P2). The remaining parameters vary with the operation, and the particular device. For example, for a computer terminal, P3 might be the time to allow for the read to complete whereas, for a disk drive, it might be the starting block number of the transfer.

Read more about this topic:  QIO

Famous quotes containing the word arguments:

    The second [of Zeno’s arguments about motion] is the one called “Achilles.” This is to the effect that the slowest as it runs will never be caught by the quickest. For the pursuer must first reach the point from which the pursued departed, so that the slower must always be some distance in front.
    Zeno Of Elea (c. 490–430 B.C.)