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 |
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 __LC_SWTICH_H__ |
Definition at line 58 of file lc-switch.h.
#define LC_END | ( | s | ) | } |
Definition at line 72 of file lc-switch.h.
#define LC_END | ( | s | ) |
Definition at line 79 of file lc-addrlabels.h.
#define LC_INIT | ( | s | ) | s = NULL |
Definition at line 66 of file lc-addrlabels.h.
#define LC_INIT | ( | s | ) | s = 0; |
Definition at line 66 of file lc-switch.h.
#define LC_RESUME | ( | s | ) |
do { \ if(s != NULL) { \ goto *s; \ } \ } while(0)
Definition at line 69 of file lc-addrlabels.h.
#define LC_RESUME | ( | s | ) | switch(s) { case 0: |
Definition at line 68 of file lc-switch.h.
#define LC_SET | ( | s | ) | do { ({ __label__ resume; resume: (s) = &&resume; }); }while(0) |
Definition at line 76 of file lc-addrlabels.h.
#define LC_SET | ( | s | ) | s = __LINE__; case __LINE__: |
Definition at line 70 of file lc-switch.h.
typedef void* lc_t |
Definition at line 64 of file lc-addrlabels.h.
typedef unsigned short lc_t |
Definition at line 64 of file lc-switch.h.