Soletta™ Framework
Framework for making IoT devices

Full online documentation | C API Index
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros
Compiler Macros

Macros

#define SOL_API
 Used to export functions on the final binaries. More...
 
#define SOL_ATTR_CONST
 Used to enforce that the function is not allowed to read global memory. More...
 
#define SOL_ATTR_NO_INSTRUMENT
 Used to tell that this functions shouldn't be instrumented. More...
 
#define SOL_ATTR_NO_RETURN
 Used to tell that a function never return. More...
 
#define SOL_ATTR_NON_NULL(...)
 Specifies that some function parameters should be non-null pointers. More...
 
#define SOL_ATTR_PRINTF(fmt, arg)
 Specifies that a function takes printf style arguments which should be type-checked against a format string. More...
 
#define SOL_ATTR_PURE
 Used to tell that this functions has no effects except the return value and their return value depends only on the parameters and/or global variables. More...
 
#define SOL_ATTR_SCANF(fmt, arg)
 Specifies that a function takes scanf style arguments which should be type-checked against a format string. More...
 
#define SOL_ATTR_SECTION(secname)
 Used to tell that a function should be placed in the section secname. More...
 
#define SOL_ATTR_SENTINEL
 Used to ensure that the last parameter in a function call is an explicit NULL. More...
 
#define SOL_ATTR_STRFTIME(fmt)
 Specifies that a function takes strftime style arguments which should be type-checked against a format string. More...
 
#define SOL_ATTR_UNUSED
 Used to tell that the function is meant to be possibly unused. More...
 
#define SOL_ATTR_USED
 Used to tell that code must be emitted for the function even if it appears that the function is not referenced. More...
 
#define SOL_ATTR_WARN_UNUSED_RESULT
 Causes a warning to be emitted if a caller of the function with this attribute does not use its return value. More...
 
#define SOL_LIKELY(x)
 Convenience macro for likely branch annotation. More...
 
#define SOL_STATIC_ARRAY_SIZE(n)   static n
 Convenience macro to declare the size of a static array that will handle differences between C and C++. More...
 
#define SOL_UNLIKELY(x)
 Convenience macro for unlikely branch annotation. More...
 
#define SOL_UNREACHABLE()   ((void)0)
 Macro to mark a location of code that is unreachable, usually after calling a SOL_ATTR_NO_RETURN function. More...
 

Detailed Description

Macro Definition Documentation

#define SOL_API

Used to export functions on the final binaries.

#define SOL_ATTR_CONST

Used to enforce that the function is not allowed to read global memory.

#define SOL_ATTR_NO_INSTRUMENT

Used to tell that this functions shouldn't be instrumented.

If -finstrument-functions is used, it won't be applied in functions with this attribute.

#define SOL_ATTR_NO_RETURN

Used to tell that a function never return.

#define SOL_ATTR_NON_NULL (   ...)

Specifies that some function parameters should be non-null pointers.

Parameters
...Indexes of the arguments to check for non-nullity
#define SOL_ATTR_PRINTF (   fmt,
  arg 
)

Specifies that a function takes printf style arguments which should be type-checked against a format string.

Parameters
fmtIndex of the format string
argIndex of the format string arguments
#define SOL_ATTR_PURE

Used to tell that this functions has no effects except the return value and their return value depends only on the parameters and/or global variables.

#define SOL_ATTR_SCANF (   fmt,
  arg 
)

Specifies that a function takes scanf style arguments which should be type-checked against a format string.

Parameters
fmtIndex of the format string
argIndex of the format string arguments
#define SOL_ATTR_SECTION (   secname)

Used to tell that a function should be placed in the section secname.

Parameters
secnameSection's name
#define SOL_ATTR_SENTINEL

Used to ensure that the last parameter in a function call is an explicit NULL.

#define SOL_ATTR_STRFTIME (   fmt)

Specifies that a function takes strftime style arguments which should be type-checked against a format string.

Parameters
fmtIndex of the format string
#define SOL_ATTR_UNUSED

Used to tell that the function is meant to be possibly unused.

#define SOL_ATTR_USED

Used to tell that code must be emitted for the function even if it appears that the function is not referenced.

#define SOL_ATTR_WARN_UNUSED_RESULT

Causes a warning to be emitted if a caller of the function with this attribute does not use its return value.

#define SOL_LIKELY (   x)

Convenience macro for likely branch annotation.

Provide the compiler with branch prediction information.

#define SOL_STATIC_ARRAY_SIZE (   n)    static n

Convenience macro to declare the size of a static array that will handle differences between C and C++.

Parameters
nSize of the array
#define SOL_UNLIKELY (   x)

Convenience macro for unlikely branch annotation.

Provide the compiler with branch prediction information.

#define SOL_UNREACHABLE ( )    ((void)0)

Macro to mark a location of code that is unreachable, usually after calling a SOL_ATTR_NO_RETURN function.