-
psnd_dtq
ipsnd_dtq
-
Send to data queue (polling).
ER psnd_dtq (ID dtqid, VP_INT data);
ER ipsnd_dtq (ID dtqid, VP_INT data);
|
|
|
|
ID dtqid;
|
ID number of the data queue.
|
|
VP_INT data;
|
Data element to be sent to the data queue.
|
These service calls process as follows according to the situation of the data queue specified by the parameter
dtqid.
- There is a task in the reception wait queue.
These service calls transfer the data specified by parameter
data to the task in the top of the reception wait queue. As a result, the task is unlinked from the reception wait queue and moves from the WAITING state (data reception wait state) to the READY state, or from the WAITING-SUSPENDED state to the SUSPENDED state.
- There is no task neither in the reception wait queue and transmission wait queue and there is available space in the data queue.
These service calls store the data specified by parameter
data to the data queue.
- There is no task neither in the reception wait queue and transmission wait queue and there is no available space in the data queue, or there is a task in the transmission wait queue.
These service calls return "E_TMOUT".
Note Data is written to the data queue area of the target data queue in the order of the data transmission request.
|
|
|
|
|
|
|
|
|
|
|
- This service call was issued in the CPU locked state.
- The ipsnd_dtq was issued from task.
- The psnd_dtq was issued from non-task.
- This service call was issued in the status "PSW.IPL > kernel interrupt mask level".
|
|
|
Memory access violation. (only for psnd_dtq)
- Stack pointer points out of user stack for invoking task.
|
|
|
- The data queue specified by dtqid does not exist.
|
|
|
|