Go to the documentation of this file.
157 #ifndef _CR_CONTEXT_H_
158 #define _CR_CONTEXT_H_ 1
160 #ifdef _CR_CONTEXT_H_SCHEME
161 #include _CR_CONTEXT_H_SCHEME
164 #define CR_CONTEXT_INIT_VALUE 0
166 #define CR_EXECUTING(context) (context > 0)
167 #define CR_EXITED(context) (context == 0)
168 #define CR_ERROR(context) (context < 0)
206 #define CR_CONTEXT_RESTORE(cntx) switch(cntx) { case 0:
207 #define CR_CONTEXT_SAVE_AND_RETURN(cntx) do {\
208 return (cntx = (cr_cntx_t)__LINE__);\
211 #define CR_CONTEXT_RESET_AND_RETURN(cntx) do {\
212 return (cntx = (cr_cntx_t)CR_CONTEXT_INIT_VALUE);\
215 #define CR_CONTEXT_ERROR(cr,error) do {\
216 cr = (cr_cntx_t)CR_CONTEXT_INIT_VALUE; \
219 #define CR_CONTEXT_END(cntx) }
223 #define CR_WAIT(cr,condition) do { \
225 if (!(condition)) { \