- Main Page
- Modules
- Data Structures
- Files
- Examples

- File List
- Globals

# uip/pt.h File Reference

## Detailed Description

Protothreads implementation.

Author:
  Adam Dunkels <adam@sics.se>

Definition in file pt.h.

`#include "lc.h"`

Go to the source code of this file.

## Data Structures
struct | pt
## Initialization
#define | PT_INIT(pt)
| Initialize a protothread.
## Declaration and definition
#define | PT_THREAD(name_args)
| Declaration of a protothread.
#define | PT_BEGIN(pt)
| Declare the start of a protothread inside the C function implementing the protothread.
#define | PT_END(pt)
| Declare the end of a protothread.
## Blocked wait
#define | PT_WAIT_UNTIL(pt, condition)
| Block and wait until condition is true.
#define | PT_WAIT_WHILE(pt, cond)
| Block and wait while condition is true.
## Hierarchical protothreads
#define | PT_WAIT_THREAD(pt, thread)
| Block and wait until a child protothread completes.
#define | PT_SPAWN(pt, child, thread)
| Spawn a child protothread and wait until it exits.
## Exiting and restarting
#define | PT_RESTART(pt)
| Restart the protothread.
#define | PT_EXIT(pt)
| Exit the protothread.
## Calling a protothread
#define | PT_SCHEDULE(f)
| Schedule a protothread.
## Yielding from a protothread
#define | PT_YIELD(pt)
| Yield from the current protothread.
#define | PT_YIELD_UNTIL(pt, cond)
| Yield from the protothread until a condition occurs.
## Defines
#define | PT_WAITING 0
#define | PT_EXITED 1
#define | PT_ENDED 2
#define | PT_YIELDED 3