AWS IoT Device SDK C: Main
Return to main page ↑
Global Library Configuration

Configuration settings that affect all libraries.

Configuration settings are C pre-processor constants. They can be set with a #define in the config file (iot_config.h) or by using a compiler option such as -D in gcc. If a configuration setting is not defined, the library will use a "sensible" default value (unless otherwise noted). Because they are compile-time constants, a library must be rebuilt if a configuration setting is changed.

configpagemarker

IOT_LOG_LEVEL_GLOBAL

Set a default log level.

Any libraries that do not define a log level will use this setting. If a both a global log level and a library log level are defined, the library log level overrides the global one.

Possible values: One of the Log levels.
Default value (if undefined): IOT_LOG_NONE

IOT_STATIC_MEMORY_ONLY

Set this to 1 to disable the usage of dynamic memory allocation (malloc and free) throughout the libraries in this SDK.

When dynamic memory allocation is disabled, all of the memory allocation functions used in the libraries must be re-implemented. See each library's Configuration/Memory allocation section for a list of functions that must be re-implemented for that library.

Possible values: 0 (dynamic memory allocation enabled) or 1 (dynamic memory allocation disabled)
Recommended values: 0
Default value (if undefined): 0

Attention
This settings has no effect on system calls or third-party libraries; it may also have no effect on platform layer implementations.

IotDefault_Malloc and Iot_DefaultFree

Set these to the names of the default memory allocation functions to use across all libraries.

No default value is provided for this setting. If these functions are not set, libraries will fail to build.

All libraries allow each memory allocation function to be overridden with a custom implementation. If a function does not have a custom implementation set, then these functions will be used.

Possible values: Functions that match the signatures of malloc and free.

Iot_DefaultAssert

Set this to the name of the default assert function to use across all libraries.

No default value is provided for this setting. If this function is not set, libraries will fail to build when asserts are enabled.

All libraries allow the assert function to be overridden with a custom implementation. If a custom implementation assert function is not set, then this functions will be used.

Possible values: A function that matches the signature of assert.