extern RT_TASK* rt_rpc
(RT_TASK* task, unsigned int to_do,
unsigned int * result);
  
return to index
  

SYNOPSIS

#include "rtl_sched.h"

DESCRIPTION

Makes a Remote Procedure Call, i.e. sends the message to_do to the task task and blocks itself until a return
message result is received.

RETURN VALUE

On success, the pointer to the task that received message is returned. On failure, a negative value is returned. Zero is returned if the task is unblocked but no valid message has been sent (e.g. the task task has been killed before receiving message)

ERRORS

task does not refer to a valid task


extern RT_TASK* rt_rpc_if

(RT_TASK* task, unsigned int to_do,
unsigned int* result);
  
return to index
  

SYNOPSIS

#include "rtl_sched.h"

DESCRIPTION

Makes a Remote Procedure Call, i.e. sends a message to_do to the task task only if the latter is ready to receive:in this case the sender task blocks itself until a return message result is received, else returns immediately.

RETURN VALUE

On success, the pointer to the task that received message is returned. On failure, a negative value is returned. Zero is returned if the task is unblocked but no valid message has been sent (e.g. the task task has been killed before receiving message)

ERRORS

task does not refer to a valid task


extern RT_TASK* rt_rpc_until

(RT_TASK* task,  unsigned int to_do,
unsigned int* result,  RTIME time);
  
return to index
  

SYNOPSIS

#include "rtl_sched.h"

DESCRIPTION

Makes a Remote Procedure Call, i.e. sends a message to_do to the task task. If task is not ready to receive queues up in priority order till a return message result is received or time is reached, whichever happens first.

RETURN VALUE

On success, the pointer to the task that received message is returned. On failure, a negative value is returned. Zero is returned if the task is unblocked but no valid message has been sent (e.g. the task task has been killed before receiving message)

ERRORS

task does not refer to a valid task


extern RT_TASK* rt_rpc_timed

( RT_TASK* task,  unsigned int  to_do,
unsigned int* result,  RTIME  delay );
  
return to index
  

SYNOPSIS

#include "rtl_sched.h"

DESCRIPTION

Makes a Remote Procedure Call, i.e. sends a message to_do to the task task. If task is not ready to receive queues up in priority order till a return message result is received or a period delay is passed, whichever happens first.

RETURN VALUE

On success, the pointer to the task that received message is returned. On failure, a negative value is returned. Zero is returned if the task is unblocked but no valid message has been sent (e.g. the task task has been killed before receiving message)

ERRORS

task does not refer to a valid task


extern int  rt_isrpc

(RT_TASK* task);
  
return to index
  

SYNOPSIS

#include "rtl_sched.h"

DESCRIPTION

Used to ascertain if the sending task requires an rt_return.

RETURN VALUE

Returns 0 if task has made a rt_send call,  non zero if task has made an rt_rpc call.
On failure, a negative value is returned.

ERRORS

task does not refer to a valid task


extern RT_TASK* rt_return

(RT_TASK* task, unsigned int result);
  
return to index
  

SYNOPSIS

#include "rtl_sched.h"

DESCRIPTION

Send the return message result to the task task that made a rt_rpc.

RETURN VALUE

On success, the pointer to the task that received result is returned. On failure, a negative value is returned. Zero is returned if the task is unblocked but no valid message has been sent (e.g. the task task has been killed before receiving result)

ERRORS

task does not refer to a valid task