AWS IoT Device Defender  v1.0.0
AWS IoT Device Defender Client Library
defender_config_defaults.h File Reference

Default config values for the AWS IoT Device Defender Client Library. More...

Go to the source code of this file.

Macros

#define DEFENDER_DO_NOT_USE_CUSTOM_CONFIG
 Define this macro to build the AWS IoT Device Defender Client Library without the custom config file defender_config.h. More...
 
#define DEFENDER_USE_LONG_KEYS   0
 Set it to 1 to enable use of long key names in the defender report. More...
 
#define LogError(message)
 Macro used in the Device Defender client library to log error messages. More...
 
#define LogWarn(message)
 Macro used in the Device Defender client library to log warning messages. More...
 
#define LogInfo(message)
 Macro used in the Device Defender client library to log info messages. More...
 
#define LogDebug(message)
 Macro used in the Device Defender client library to log debug messages. More...
 

Detailed Description

Default config values for the AWS IoT Device Defender Client Library.

Macro Definition Documentation

◆ DEFENDER_DO_NOT_USE_CUSTOM_CONFIG

#define DEFENDER_DO_NOT_USE_CUSTOM_CONFIG

Define this macro to build the AWS IoT Device Defender Client Library without the custom config file defender_config.h.

Without the custom config, the the AWS IoT Device Defender Client Library builds with default values of config macros defined in the defender_config_defaults.h file.

If a custom config file is provided, then DEFENDER_DO_NOT_USE_CUSTOM_CONFIG must not be defined.

Default value: DEFENDER_DO_NOT_USE_CUSTOM_CONFIG is not defined by default and the library expects a defender_config.h file.

◆ DEFENDER_USE_LONG_KEYS

#define DEFENDER_USE_LONG_KEYS   0

Set it to 1 to enable use of long key names in the defender report.

AWS IoT Device Defender Service supports both long and short names for keys in the report sent by a device. For example,

A device defender report using long key names:

{
"header": {
"report_id": 1530304554,
"version": "1.0"
},
"metrics": {
"network_stats": {
"bytes_in": 29358693495,
"bytes_out": 26485035,
"packets_in": 10013573555,
"packets_out": 11382615
}
}
}

An equivalent report using short key names:

{
"hed": {
"rid": 1530304554,
"v": "1.0"
},
"met": {
"ns": {
"bi": 29358693495,
"bo": 26485035,
"pi": 10013573555,
"po": 11382615
}
}
}

Default value: 0 as short key names are preferred option for resource constrained devices because they result in smaller report size. If you want to use long key names instead, set DEFENDER_USE_LONG_KEYS to 1 in the defender_config.h file.

◆ LogError

#define LogError (   message)

Macro used in the Device Defender client library to log error messages.

To enable error logging, this macro should be mapped to an application-specific logging implementation.

Note
This logging macro is called in the Device Defender client library with parameters wrapped in double parentheses to be ISO C89/C90 standard compliant. For a reference POSIX implementation of the logging macros, refer to the defender_config.h file, and the logging-stack in demos folder of the AWS IoT Embedded C SDK repository.

Default value: Error logs are turned off, and no code is generated for calls to the macro in the Device Defender client library on compilation.

◆ LogWarn

#define LogWarn (   message)

Macro used in the Device Defender client library to log warning messages.

To enable warning logging, this macro should be mapped to an application-specific logging implementation.

Note
This logging macro is called in the Device Defender client library with parameters wrapped in double parentheses to be ISO C89/C90 standard compliant. For a reference POSIX implementation of the logging macros, refer to the defender_config.h file, and the logging-stack in demos folder of the AWS IoT Embedded C SDK repository.

Default value: Warning logs are turned off, and no code is generated for calls to the macro in the Device Defender client library on compilation.

◆ LogInfo

#define LogInfo (   message)

Macro used in the Device Defender client library to log info messages.

To enable info logging, this macro should be mapped to an application-specific logging implementation.

Note
This logging macro is called in the Device Defender client library with parameters wrapped in double parentheses to be ISO C89/C90 standard compliant. For a reference POSIX implementation of the logging macros, refer to the defender_config.h file, and the logging-stack in demos folder of the AWS IoT Embedded C SDK repository.

Default value: Info logs are turned off, and no code is generated for calls to the macro in the Device Defender client library on compilation.

◆ LogDebug

#define LogDebug (   message)

Macro used in the Device Defender client library to log debug messages.

To enable debug logging, this macro should be mapped to an application-specific logging implementation.

Note
This logging macro is called in the Device Defender client library with parameters wrapped in double parentheses to be ISO C89/C90 standard compliant. For a reference POSIX implementation of the logging macros, refer to the defender_config.h file, and the logging-stack in demos folder of the AWS IoT Embedded C SDK repository.

Default value: Debug logs are turned off, and no code is generated for calls to the macro in the Device Defender client library on compilation.