Pt

Collaboration diagram for Pt:

Data Structures

struct  pt

Modules

 Local continuations

Files

file  pt.h

Defines

#define PT_WAITING   0
#define PT_EXITED   1
#define PT_ENDED   2
#define PT_YIELDED   3

Initialization



#define PT_INIT(pt)

Declaration and definition



#define PT_THREAD(name_args)
#define PT_BEGIN(pt)
#define PT_END(pt)

Blocked wait



#define PT_WAIT_UNTIL(pt, condition)
#define PT_WAIT_WHILE(pt, cond)

Hierarchical protothreads



#define PT_WAIT_THREAD(pt, thread)
#define PT_SPAWN(pt, child, thread)

Exiting and restarting



#define PT_RESTART(pt)
#define PT_EXIT(pt)

Calling a protothread



#define PT_SCHEDULE(f)

Yielding from a protothread



#define PT_YIELD(pt)
#define PT_YIELD_UNTIL(pt, cond)
 Yield from the protothread until a condition occurs.

Define Documentation

#define PT_BEGIN ( pt   ) 

Declare the start of a protothread inside the C function implementing the protothread.

This macro is used to declare the starting point of a protothread. It should be placed at the start of the function in which the protothread runs. All C statements above the PT_BEGIN() invokation will be executed each time the protothread is scheduled.

Parameters:
pt A pointer to the protothread control structure.
#define PT_END ( pt   ) 

Declare the end of a protothread.

This macro is used for declaring that a protothread ends. It must always be used together with a matching PT_BEGIN() macro.

Parameters:
pt A pointer to the protothread control structure.
#define PT_ENDED   2
#define PT_EXIT ( pt   ) 

Exit the protothread.

This macro causes the protothread to exit. If the protothread was spawned by another protothread, the parent protothread will become unblocked and can continue to run.

Parameters:
pt A pointer to the protothread control structure.
#define PT_EXITED   1
#define PT_INIT ( pt   ) 

Initialize a protothread.

Initializes a protothread. Initialization must be done prior to starting to execute the protothread.

Parameters:
pt A pointer to the protothread control structure.
See also:
PT_SPAWN()
#define PT_RESTART ( pt   ) 

Restart the protothread.

This macro will block and cause the running protothread to restart its execution at the place of the PT_BEGIN() call.

Parameters:
pt A pointer to the protothread control structure.
#define PT_SCHEDULE (  ) 

Schedule a protothread.

This function shedules a protothread. The return value of the function is non-zero if the protothread is running or zero if the protothread has exited.

Parameters:
f The call to the C function implementing the protothread to be scheduled
#define PT_SPAWN ( pt,
child,
thread   ) 

Spawn a child protothread and wait until it exits.

This macro spawns a child protothread and waits until it exits. The macro can only be used within a protothread.

Parameters:
pt A pointer to the protothread control structure.
child A pointer to the child protothread's control structure.
thread The child protothread with arguments
#define PT_THREAD ( name_args   ) 

Declaration of a protothread.

This macro is used to declare a protothread. All protothreads must be declared with this macro.

Parameters:
name_args The name and arguments of the C function implementing the protothread.
#define PT_WAIT_THREAD ( pt,
thread   ) 

Block and wait until a child protothread completes.

This macro schedules a child protothread. The current protothread will block until the child protothread completes.

Note:
The child protothread must be manually initialized with the PT_INIT() function before this function is used.
Parameters:
pt A pointer to the protothread control structure.
thread The child protothread with arguments
See also:
PT_SPAWN()
#define PT_WAIT_UNTIL ( pt,
condition   ) 

Block and wait until condition is true.

This macro blocks the protothread until the specified condition is true.

Parameters:
pt A pointer to the protothread control structure.
condition The condition.
#define PT_WAIT_WHILE ( pt,
cond   ) 

Block and wait while condition is true.

This function blocks and waits while condition is true. See PT_WAIT_UNTIL().

Parameters:
pt A pointer to the protothread control structure.
cond The condition.
#define PT_WAITING   0
#define PT_YIELD ( pt   ) 

Yield from the current protothread.

This function will yield the protothread, thereby allowing other processing to take place in the system.

Parameters:
pt A pointer to the protothread control structure.
#define PT_YIELD_UNTIL ( pt,
cond   ) 

Yield from the protothread until a condition occurs.

Parameters:
pt A pointer to the protothread control structure.
cond The condition.

This function will yield the protothread, until the specified condition evaluates to true.

#define PT_YIELDED   3

Generated on 22 Jan 2016 for MIDIboxNG by  doxygen 1.6.1