_CALLIO - issue a PMME CALLIO.

(GCOS-8 Only)

Usage:

#include <callio.h>
#include <climb.h>
_callio(iocb, options [, buf1, buf2]);

Where:

struct _iocb *iocb
points to an IOCB structure. For more information, see the lay-out in <callio.h>.
int options
is a word of option bits for _callio(). Possible values are:
_callio_no_wait
do not wait for the I/O to complete. If this is not specified, _callio will enter a GERELC loop waiting for the I/O to finish.
_callio_wired_iocb, _callio_wired_data1, _callio_wired_data2
These option bits indicate that the corresponding memory (iocb or buffer) has already been wired, and _callio() does not need to do wire and unwire calls. If _callio_no_wait is specified, _callio will not unwire anything.
struct _vector buf1, struct _vector buf2
These are optional arguments that describe the buffer areas (if any).

Description:

"_callio" invokes the CALLIO PMME. This function is mostly intended for very specialized purposes; most users will find the "_rblock" and "_wblock" functions more appropriate for block read and write operations.

For further information, see the <callio.h> include file (which contains comments about using the function).

Examples:

/*
 * Wait for the I/O to complete.  The IOCB was
 * previously wired as was the console output buffer,
 * but not the input one.
 */
iocb.logical_command = _IO_Command_Write_Read;
_callio(&iocb,
        _callio_wired_iocb | _callio_wired_data1,
        _avector(out_words * 4, out_buf),
        _AVECTOR(in_buf));

See Also:

expl nsc lib _rblock

expl nsc lib _wblock

Copyright © 1996, Thinkage Ltd.