Stay organized with collections Save and categorize content based on your preferences.

Toolchain

This module defines a toolchain abstraction layer through macros.

Summary

Usage:

typedef
OT_TOOL_PACKED_BEGIN
struct
{
    char mField1;
    union
    {
        char mField2;
        long mField3;
    } OT_TOOL_PACKED_FIELD;
} OT_TOOL_PACKED_END packed_struct_t;

Macros

OT_APPLE_IGNORE_GNU_FOLDING_CONSTANT

 OT_APPLE_IGNORE_GNU_FOLDING_CONSTANT __VA_ARGS__

OT_FALL_THROUGH

 OT_FALL_THROUGH do                  \
    {                   \
    } while (false) /* fallthrough */

Suppress fall through warning in specific compiler.

OT_MUST_USE_RESULT

 OT_MUST_USE_RESULT

Compiler-specific indication that a class or enum must be used when it is the return value of a function.

OT_TOOL_PACKED_BEGIN

 OT_TOOL_PACKED_BEGIN

Compiler-specific indication that a class or struct must be byte packed.

OT_TOOL_PACKED_FIELD

 OT_TOOL_PACKED_FIELD

Indicate to the compiler a nested struct or union to be packed within byte packed class or struct.

OT_TOOL_WEAK

 OT_TOOL_WEAK

Compiler-specific weak symbol modifier.

OT_UNREACHABLE_CODE

 OT_UNREACHABLE_CODE CODE

Suppress Unreachable code warning in specific toolchains.

OT_UNUSED_VARIABLE

 OT_UNUSED_VARIABLE do                               \
    {                                \
        (void)(VARIABLE);            \
    } while (false)

Suppress unused variable warning in specific toolchains.

Resources

OpenThread API Reference topics originate from the source code, available on GitHub. For more information, or to contribute to our documentation, refer to Resources.