Local continuations
[Protothreads]


Detailed Description

Local continuations form the basis for implementing protothreads.

A local continuation can be set in a specific function to capture the state of the function. After a local continuation has been set can be resumed in order to restore the state of the function at the point where the local continuation was set.


Files

file  lc.h
 Local continuations.
file  lc-switch.h
 Implementation of local continuations based on switch() statment.
file  lc-addrlabels.h
 Implementation of local continuations based on the "Labels as values" feature of gcc.

Defines

#define __LC_SWTICH_H__
#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)   }
#define LC_INIT(s)   s = NULL
#define LC_RESUME(s)
#define LC_SET(s)   do { ({ __label__ resume; resume: (s) = &&resume; }); }while(0)
#define LC_END(s)

Typedefs

typedef unsigned short lc_t
typedef void * lc_t


Generated on Mon Jun 12 10:23:02 2006 for uIP 1.0 by  doxygen 1.4.6