sACN  2.0.2
Implementation of ANSI E1.31 (Streaming ACN)
View other versions:
receiver.h File Reference

sACN Receiver API definitions More...

Go to the source code of this file.

Data Structures

struct  SacnRecvUniverseSubrange
 
struct  SacnRecvUniverseData
 
struct  SacnRemoteSource
 
struct  SacnLostSource
 
struct  SacnReceiverCallbacks
 
struct  SacnReceiverConfig
 
struct  SacnReceiverNetintList
 

Macros

#define SACN_RECEIVER_INVALID   -1
 
#define SACN_RECEIVER_INFINITE_SOURCES   0
 Constant for "infinite" when listening or merging sACN universes. More...
 
#define SACN_DEFAULT_EXPIRED_WAIT_MS   1000u
 The default expired notification wait time. More...
 
#define SACN_RECEIVER_CONFIG_DEFAULT_INIT
 
sACN receiver flags

Valid values for the flags member in the SacnReceiverConfig struct.

#define SACN_RECEIVER_OPTS_FILTER_PREVIEW_DATA   0x1
 

Typedefs

typedef int sacn_receiver_t
 
typedef struct SacnRecvUniverseSubrange SacnRecvUniverseSubrange
 
typedef struct SacnRecvUniverseData SacnRecvUniverseData
 
typedef struct SacnRemoteSource SacnRemoteSource
 
typedef struct SacnLostSource SacnLostSource
 
typedef void(* SacnUniverseDataCallback) (sacn_receiver_t receiver_handle, const EtcPalSockAddr *source_addr, const SacnRemoteSource *source_info, const SacnRecvUniverseData *universe_data, void *context)
 Notify that new universe data within the configured footprint has been received. More...
 
typedef void(* SacnSourcesLostCallback) (sacn_receiver_t handle, uint16_t universe, const SacnLostSource *lost_sources, size_t num_lost_sources, void *context)
 Notify that one or more sources have entered a source loss state. More...
 
typedef void(* SacnSamplingPeriodStartedCallback) (sacn_receiver_t handle, uint16_t universe, void *context)
 Notify that a receiver's sampling period has begun. More...
 
typedef void(* SacnSamplingPeriodEndedCallback) (sacn_receiver_t handle, uint16_t universe, void *context)
 Notify that a receiver's sampling period has ended. More...
 
typedef void(* SacnSourcePapLostCallback) (sacn_receiver_t handle, uint16_t universe, const SacnRemoteSource *source, void *context)
 Notify that a source has stopped transmission of per-address priority packets. More...
 
typedef void(* SacnSourceLimitExceededCallback) (sacn_receiver_t handle, uint16_t universe, void *context)
 Notify that more than the configured maximum number of sources are currently sending on the universe being listened to. More...
 
typedef struct SacnReceiverCallbacks SacnReceiverCallbacks
 
typedef struct SacnReceiverConfig SacnReceiverConfig
 
typedef struct SacnReceiverNetintList SacnReceiverNetintList
 

Functions

void sacn_receiver_config_init (SacnReceiverConfig *config)
 Initialize an sACN Receiver Config struct to default values. More...
 
etcpal_error_t sacn_receiver_create (const SacnReceiverConfig *config, sacn_receiver_t *handle, const SacnNetintConfig *netint_config)
 Create a new sACN receiver to listen for sACN data on a universe. More...
 
etcpal_error_t sacn_receiver_destroy (sacn_receiver_t handle)
 Destroy a sACN receiver instance. More...
 
etcpal_error_t sacn_receiver_get_universe (sacn_receiver_t handle, uint16_t *universe_id)
 Get the universe on which a sACN receiver is currently listening. More...
 
etcpal_error_t sacn_receiver_get_footprint (sacn_receiver_t handle, SacnRecvUniverseSubrange *footprint)
 Get the footprint within the universe on which a sACN receiver is currently listening. More...
 
etcpal_error_t sacn_receiver_change_universe (sacn_receiver_t handle, uint16_t new_universe_id)
 Change the universe on which an sACN receiver is listening. More...
 
etcpal_error_t sacn_receiver_change_footprint (sacn_receiver_t handle, const SacnRecvUniverseSubrange *new_footprint)
 Change the footprint within the universe on which an sACN receiver is listening. TODO: Not yet implemented. More...
 
etcpal_error_t sacn_receiver_change_universe_and_footprint (sacn_receiver_t handle, uint16_t new_universe_id, const SacnRecvUniverseSubrange *new_footprint)
 Change the universe and footprint on which an sACN receiver is listening. TODO: Not yet implemented. More...
 
etcpal_error_t sacn_receiver_reset_networking (const SacnNetintConfig *sys_netint_config)
 Resets underlying network sockets and packet receipt state, determines network interfaces for all receivers. More...
 
etcpal_error_t sacn_receiver_reset_networking_per_receiver (const SacnNetintConfig *sys_netint_config, const SacnReceiverNetintList *per_receiver_netint_lists, size_t num_per_receiver_netint_lists)
 Resets underlying network sockets and packet receipt state, determines network interfaces for each receiver. More...
 
size_t sacn_receiver_get_network_interfaces (sacn_receiver_t handle, EtcPalMcastNetintId *netints, size_t netints_size)
 Obtain a list of a receiver's network interfaces. More...
 
void sacn_receiver_set_expired_wait (uint32_t wait_ms)
 Set the expired notification wait time. More...
 
uint32_t sacn_receiver_get_expired_wait ()
 Get the current value of the expired notification wait time. More...
 

Detailed Description

sACN Receiver API definitions

Functions and definitions for the sACN Receiver API are contained in this header.