GDSX (Extended General Device Support) Manual
Service Routines
Extended General Device Support (GDSX) Manual—529931-001
8-85
WAITED^IO[X]
semaphore input
is a pointer to the semaphore to be released.
WAITED^IO[X]
The WAITED^IO and WAITED^IOX procedures perform a waited I/O, even if there are
other I/O operations outstanding.
WAITED^IO[X] performs a WRITE, READ, or WRITEREAD depending on the values
of writecount and readcount. If writecount is 0 and the file is not a process file, a
READ is done. If readcount is 0 a WRITE is done, otherwise a WRITEREAD is
performed.
file
input
INT:value
specifies the file number for the operation.
buffer input
is a pointer to the buffer to be transferred.
writecount input
INT:value
INT:ref (Semaphore in global memory)
INT(32) .EXT:ref (Pointer to semaphore in extended memory)
Note. This operation is waited only from the perspective of the calling task—it is not a waited
I/O from the perspective of the GDSX process. In other words, calling this procedure causes
the calling task to be suspended, but other tasks are not suspended as a result of such a call.
CALL WAITED^IO[X] ( file !
i
,buffer !
i
,writecount !
i
,readcount !
i
,countxfered !
i
,timeout ); !
i
INT:ref (use with WAITED^IO.)
INT .EXT:ref (use with WAITED^IOX.)