-
trcv_dtq
-
Receive from data queue (with timeout).
ER trcv_dtq ( ID dtqid, VP_INT *p_data, TMO tmout );
|
MOVW AX, #tmout_hi
PUSH AX
MOVW AX, #tmout_lo
PUSH AX
MOVW BC, #LOWW(_data)
MOV A, #dtqid
CALL !!_trcv_dtq
|
|
|
|
|
ID dtqid;
|
ID number of the data queue from which a data element is received.
|
|
VP_INT *p_data;
|
Data element received from the data queue.
|
|
TMO tmout;
|
Specified timeout (in tick).
TMO_FEVR: Waiting forever.
Value: Specified timeout.
|
This service call reads data in the data queue area of the data queue specified by parameter
dtqid and stores it to the area specified by parameter
p_data.
If no data could be read from the data queue area of the target data queue (no data has been written to the data queue area) when this service call is issued, the service call does not read data but queues the invoking task to the reception wait queue of the target data queue and moves it from the RUNNING state to the WAITING state with time out (data reception wait state).
The receiving WAITING state for a data queue is cancelled in the following cases, and then moved to the READY state.
Receiving WAITING State for a Data Queue Cancel Operation
|
|
Data was written to the data queue area of the target data queue as a result of issuing snd_dtq.
|
|
Data was written to the data queue area of the target data queue as a result of issuing psnd_dtq.
|
|
Data was written to the data queue area of the target data queue as a result of issuing ipsnd_dtq.
|
|
Data was written to the data queue area of the target data queue as a result of issuing tsnd_dtq.
|
|
Data was written to the data queue area of the target data queue as a result of issuing fsnd_dtq.
|
|
Data was written to the data queue area of the target data queue as a result of issuing ifsnd_dtq.
|
|
Forced release from waiting (accept rel_wai while waiting).
|
|
Forced release from waiting (accept irel_wai while waiting).
|
|
Polling failure or timeout.
|
|
Note 1 Invoking tasks are queued to the reception wait queue of the target data queue in the order of the data reception request.
Note 2 If the data reception wait state is cancelled because
irel_wai or
irel_wai was issued or the wait time elapsed, the contents in the area specified by parameter
p_data become undefined.
Note 3 TMO_FEVR is specified for wait time
tmout, processing equivalent to
rcv_dtq will be executed. When TMO_POL is specified, processing equivalent to
prcv_dtq will be executed.
|
|
|
|
|
|
|
|
Forced release from the WAITING state.
|
|
|
- Polling failure or timeout.
|