sACN  3.0.0
Implementation of ANSI E1.31 (Streaming ACN)
View other versions:
Loading...
Searching...
No Matches

Macros

#define SACN_DYNAMIC_MEM   SACN_FULL_OS_AVAILABLE_HINT
 Use dynamic memory allocation.
 
#define SACN_LOGGING_ENABLED   1
 Enable message logging from the sACN library.
 
#define SACN_LOG_MSG_PREFIX   "sACN: "
 A string which will be prepended to all log messages from the sACN library.
 
#define SACN_ASSERT_VERIFY(exp)   ((exp) ? true : sacn_assert_verify_fail(#exp, __FILE__, __func__, __LINE__))
 The assertion handler used by the sACN library.
 
#define SACN_ASSERT(expr)   assert(expr)
 The lower-level debug assert used by the sACN library.
 
#define SACN_ETC_PRIORITY_EXTENSION   1
 Enable ETC's per-address priority extension to sACN.
 
#define SACN_LOOPBACK   1
 Allow loopback of sACN to the local host (by setting the relevant socket option).
 
#define SACN_MAX_NETINTS   2
 The maximum number of network interfaces that can used by the sACN library.
 

Functions

bool sacn_assert_verify_fail (const char *exp, const char *file, const char *func, const int line)
 

Detailed Description

Options that apply to both sACN Source and sACN Receiver.

Macro Definition Documentation

◆ SACN_ASSERT

#define SACN_ASSERT ( expr)    assert(expr)

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

This is the assertion that gets called by SACN_ASSERT_VERIFY on failure. Redefine this to retain the logging done by the default SACN_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).

◆ SACN_ASSERT_VERIFY

#define SACN_ASSERT_VERIFY ( exp)    ((exp) ? true : sacn_assert_verify_fail(#exp, __FILE__, __func__, __LINE__))

The assertion handler used by the sACN 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).

◆ SACN_DYNAMIC_MEM

#define SACN_DYNAMIC_MEM   SACN_FULL_OS_AVAILABLE_HINT

Use dynamic memory allocation.

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

◆ SACN_ETC_PRIORITY_EXTENSION

#define SACN_ETC_PRIORITY_EXTENSION   1

Enable ETC's per-address priority extension to sACN.

If defined nonzero, the logic of sACN Receiver changes to handle ETC's per-address priority sACN extension. An additional callback function is also enabled to be notified that a source has stopped sending per-address priority.

◆ SACN_LOGGING_ENABLED

#define SACN_LOGGING_ENABLED   1

Enable message logging from the sACN library.

If defined nonzero, the log function pointer parameter taken by sACN init functions is used to log messages from the library.

◆ SACN_LOOPBACK

#define SACN_LOOPBACK   1

Allow loopback of sACN to the local host (by setting the relevant socket option).

Most, but not all, platforms have this option enabled by default. This is necessary if a host wants to receive the same sACN it is sending.

◆ SACN_MAX_NETINTS

#define SACN_MAX_NETINTS   2

The maximum number of network interfaces that can used by the sACN library.

Meaningful only if SACN_DYNAMIC_MEM is defined to 0.