Files |
| file | lc-addrlabels.h |
| file | lc-switch.h |
| file | lc.h |
Defines |
|
#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) |
|
#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_H__ |
Typedefs |
|
typedef void * | lc_t |
|
typedef unsigned short | lc_t |
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.
Define Documentation
Value:do { \
if(s != NULL) { \
goto *s; \
} \
} while(0)
Definition at line 69 of file lc-addrlabels.h.