nesC elements can be contained in nothing (global scope), a component, or a function Attribute list. Argument list Parameter list variables are regular function arguments, constants and typedefs are used for generic component arguments. Parameters of parameterised functions (void foo[...](...))