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.