GDSX (Extended General Device Support) Manual

Service Routines
Extended General Device Support (GDSX) Manual529931-001
8-9
ADD^TRACE^DATA^INT
CALL PUTLOCALPOOL (0, MBUF);
END;
END;
If the global sr^misc^trace flag (which is the same as trace^control^flags[1].<9>, as
defined in the common^data section of DCCBDECS), is set to 1 before the preceding
code is executed, in addition to the preceding user-defined entries, TSCODE
generates a standard trace entry with a type of sr^misc^req whenever a user exit is
called. For more information on these globals, see the tables in Tracing GDSX on
page 2-80.
ADD^TRACE^DATA^INT
This procedure is exactly like ADD^TRACE^DATA, except that the datai parameter
is an INT:value, containing the address where data copying should begin.
ALLOCATEIOCB
This procedure allocates an I/O control block (IOCB) for an I/O request. Either an
IOCB address or 0 is returned to the calling task. You must deallocate the IOCB after
the I/O is completed. If IOCBs are not deallocated after use, they are inaccessible for
the remainder of the life of the GDSX process.
A task that allocates IOCBs should manage them with a linked list in global memory,
so that if the task is stopped unexpectedly, code in the USER^STOP user exit can
deallocate the IOCBs.
iocb-address returned value
INT(32):value
is an IOCB address if an IOCB was allocated; otherwise this variable is set to zero.
time-out input
INT(32):value
is the number of ticks (10 ms) to wait for an IOCB to become available. If no
time-out parameter is supplied, the value of the IOCBWAITTIME configuration
parameter is used. IOCBWAITTIME has a default of 1,000 ticks.
Consideration
This procedure may cause the calling task to be suspended.
iocb-address := ALLOCATEIOCB ( [ time-out ] ); !
i