psnd_dtq

ipsnd_dtq

Outline

Send to data queue (polling).

C format

 ER      psnd_dtq (ID dtqid, VP_INT data);
 ER      ipsnd_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, data is not written but E_TMOUT is returned.

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.

Note Data is written to the data queue area of the target data queue in the order of the data transmission request.

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_NOEXS

-42

Non-existent object.

- Specified data queue is not registered.

E_TMOUT

-50

Polling failure.

- There is no space in the target data queue.