# modules/uip/uip/lc-addrlabels.h File Reference

## 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)
## Typedefs
typedef void * | lc_t

## Detailed Description

Implementation of local continuations based on the "Labels as values" feature of gcc

Author:
  Adam Dunkels <adam@sics.se>

This implementation of local continuations is based on a special feature of the GCC C compiler called "labels as values". This feature allows assigning pointers with the address of the code corresponding to a particular C label.

For more information, see the GCC documentation: http://gcc.gnu.org/onlinedocs/gcc/Labels-as-Values.html

Thanks to dividuum for finding the nice local scope label implementation.