-   
 
   rcv_dtq
  
    -   
  
 
 Receive from data queue (waiting forever).
 
 	
  
  
    
 ER      rcv_dtq ( ID dtqid, VP_INT *p_data );
 
 | 
  
 
 	
  
  
    
 MOVW    BC, #LOWW(_data)
 
 MOV     A,  #dtqid
 
 CALL    !!_rcv_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.
  
 | 
  
 
 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 (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  tsnd_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).
  
 | 
    
 | 
  
 
 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 receiving for a data queue is forcibly released by issuing 
rel_wai or 
irel_wai, the contents of the area specified by parameter 
p_data will be undefined.
 
 
  
  
    | 
 | 
    
 | 
    
 | 
  
  
    | 
 | 
    
 | 
    
 | 
  
  
    | 
 | 
    
 | 
    
 Forced release from the WAITING state.
  
 |