RDMnet  HEAD (unstable)
Implementation of ANSI E1.33 (RDMnet)
View other versions:

Overview

Global or library-wide configuration options. Any options with *_MAX_* in the name are applicable only to compilations with dynamic memory disabled (RDMNET_DYNAMIC_MEM = 0, most common in embedded toolchains).

Macros

#define RDMNET_DYNAMIC_MEM   RDMNET_FULL_OS_AVAILABLE_HINT
 Use dynamic memory allocation. More...
 
#define RDMNET_LOG_MSG_PREFIX   "RDMnet: "
 A string which will be prepended to all log messages from the RDMnet library.
 
#define RDMNET_ASSERT_VERIFY(exp)   ((exp) ? true : rdmnet_assert_verify_fail(#exp, __FILE__, __func__, __LINE__))
 The assertion handler used by the RDMnet library. More...
 
#define RDMNET_ASSERT(expr)   assert(expr)
 The lower-level debug assert used by the RDMnet library. More...
 

Functions

bool rdmnet_assert_verify_fail (const char *exp, const char *file, const char *func, const int line)
 The handler for all assertion failures from the RDMnet library.
 

Macro Definition Documentation

◆ RDMNET_ASSERT

#define RDMNET_ASSERT (   expr)    assert(expr)

The lower-level debug assert used by the RDMnet library.

This is the assertion that gets called by RDMNET_ASSERT_VERIFY on failure. Redefine this to retain the logging done by the default RDMNET_ASSERT_VERIFY macro.

By default, just uses the C library assert. If redefining this, it must be redefined as a macro taking a single argument (the assertion expression).

◆ RDMNET_ASSERT_VERIFY

#define RDMNET_ASSERT_VERIFY (   exp)    ((exp) ? true : rdmnet_assert_verify_fail(#exp, __FILE__, __func__, __LINE__))

The assertion handler used by the RDMnet library.

By default, evaluates to true on success, or false on failure (additionally asserting and logging). If redefining this, it must be redefined as a macro taking a single argument (the assertion expression).

◆ RDMNET_DYNAMIC_MEM

#define RDMNET_DYNAMIC_MEM   RDMNET_FULL_OS_AVAILABLE_HINT

Use dynamic memory allocation.

If defined nonzero, RDMnet manages memory dynamically using malloc() and free() from stdlib.h. Otherwise, RDMnet uses static arrays and fixed-size pools through EtcPal's mempool (Memory Pools). The size of the pools and arrays is controlled with other config options starting with RDMNET_MAX_.

If not defined in rdmnet_config.h, the library attempts to guess using standard OS predefined macros whether it is being compiled for a full-featured OS, in which case this option is defined to 1 (otherwise an embedded application is assumed and it is defined to 0).