- Main Page
- Modules
- Data Structures
- Files

- File List
- Globals

# lc-switch.h File Reference

## Detailed Description

Implementation of local continuations based on switch() statment.

Author:
  Adam Dunkels <adam@sics.se>

This implementation of local continuations uses the C switch() statement to resume execution of a function somewhere inside the function's body. The implementation is based on the fact that switch() statements are able to jump directly into the bodies of control structures such as if() or while() statmenets.

This implementation borrows heavily from Simon Tatham's coroutines implementation in C: http://www.chiark.greenend.org.uk/~sgtatham/coroutines.html

Definition in file lc-switch.h.

Go to the source code of this file.

## Defines

#define | LC_INIT(s) s = 0;
#define | LC_RESUME(s) switch(s) { case 0:
#define | LC_SET(s) s = __LINE__; case __LINE__:
#define | LC_END(s) }

## Typedefs

typedef unsigned short | lc_t
| The local continuation type.