Everything

fsnd_dtq

ifsnd_dtq

Outline
Forced send to data queue.
C format
 ER      fsnd_dtq (ID dtqid, VP_INT data);
 ER      ifsnd_dtq (ID dtqid, VP_INT data);
Parameter(s)
I/O
Parameter
Description
I
 ID      dtqid;
ID number of the data queue to which the data element is sent.
I
 VP_INT  data;
Data element to be sent to the data queue.

Explanation
These service calls write data specified by parameter data to the data queue area of the data queue specified by parameter dtqid.
If there is no available space for writing data in the data queue area of the target data queue when either of these service calls is issued, the service call overwrites data to the area with the oldest data that was written.
If a task has been queued to the reception wait queue of the target data queue when this service call is issued, this service call does not write data but transfers the data to the task. 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.
Return value
Macro
Value
Description
E_OK
0
Normal completion.
E_ID
-18
Invalid ID number.
- dtqid < 0x0
- dtqid > Maximum ID number
E_CTX
-25
Context error.
- This service call was issued in the CPU locked state.
E_ILUSE
-28
Illegal service call use.
- The capacity of the data queue area is 0.
E_NOEXS
-42
Non-existent object.
- Specified data queue is not registered.