$#! · 0-9 · A · B · C · D · E · F · G · H · I · J · K · L · M · N · O · P · Q · R · S · T · U · V · W · X · Y · Z
 EPI-10 Constants
 EPI-18 Constants
 EPI-19 Constants
 EPI-20 Constants
 Error Checking
 Event loop and timing
 field lengths
 Finding the Array Member
 Format and Strategy for finding properties
 General sequence to receive multicast
 Getting Property Values
 Getting Started
 Identity strings
 Integer constants used for pass-by-reference values
 ip4addr_t and groupaddr_t
 IPv6 specific macros and types
E1.31 sACN (streaming ACN) macros and functions
sACN and DMX512 (EPI-26)
E1.31 “Streaming ACN” or “sACN” (E1.31 section 5.5)
E1.31 “Streaming ACN” or “sACN” (E1.31 section 5.5)
Maximum number of universes to track
Implementation of E1.31 treaming protocol (sACN)
int endProtoMsg(struct txwrap_s *txwrap,
uint8_t *endp)
Close a message after adding data
These constants represent requirements defined in standard document ANSI E1.17-2010 Architecture for Control Networks EPI 10.
These constants represent requirements defined in standard document ANSI E1.17-2010, Architecture for Control Networks EPI 18.
These constants represent requirements defined in standard document ANSI E1.17 - 2010 Architecture for Control Networks – EPI 19.
These constants represent requirements defined in standard document ANSI E1.17 - 2010 Architecture for Control Networks – EPI 20.
Default scope defined in EPI 19.
Conformance to specific EPIs.
unspecified or no protocol
Simple event loop and timer inplementation
Basic event and timing loop for Acacian
Acacian configuration for expat when it is built-in.
static int findaddr(union addrmap_u *amap,
uint32_t addr)
search the map for our insertion point
const struct bv_s * findbv(const uint8_t *uuid,
const ddlchar_t *name,
struct bvset_s **bvset)
Find the struct bv_s corresponding to a behavior in a set.
Having established that an address matches an array property the application will usually want to identify the individual element.
static inline struct Lcomponent_s * findLcomp(const uint8_t *uuid)
Find a local component by its CID.
static inline struct Rcomponent_s * findRcomp(const uint8_t *uuid)
Find a remote component by its CID.
extern const uint8_t *finduuid(struct uuidset_s *set,
const uint8_t *uuid)
Find the record in the set whose uuid matches the one passed.
get the first member of a remote channel
8-bit equivalent of FLAG_MASK
mask off length leaving flags
char * flagnames(uint32_t flags,
const char **names,
char *buf,
const char *format)
Utility function that prints the names of those flags which are set in a word into a string.
static inline int flushWrapper(struct txwrap_s **txwrapp)
Acacian is not a stand-alone program, but a suite of routines for developers implementing networked devices, controllers and infrastructure.
The structure of the tree allows us to iterate over all properties without recursion or using a stack.
start iteration
iterate over the members of a remote channel
On receipt of a property message (and this means most DMP messages), the property address must be mapped onto the internal functionality for that property.
void freeamap(union addrmap_u *amap)
void freerootdev(struct rootdev_s *dev)
Free all the resources used by a rootdev_s.
sock = socket(AF_INET, SOCK_DGRAM, 0);
get the remote channel from a member
char * gethomedir(void)
Returns a pointer to the current user’s home directory.
Utilities to find our own IP addresses
Header for getip.c
Flags for filtering ip address search GIPF_UP - self explanatory GIPF_BROADCAST - self explanatory GIPF_LOOPBACK - self explanatory GIPF_POINTOPOINT - self explanatory GIPF_PROMISC - self explanatory GIPF_ALLMULTI - self explanatory GIPF_MULTICAST - self explanatory GIPF_IPv4 - self explanatory GIPF_IPv6 - self explanatory
static void getprop(char **bpp)
Construct and send a get-property message.
If you want to build an E1.17 application uisng DMP on top of SDT using IP version 4 then your best place to start is with the sample applications in the demo directory.
static void h_putfooter(void)
Print the closing text of the generated .h file
static void h_putheader(const char *dcidstr,
const char *hfilename)
Print the opening text of the generated .h file
Hardware version string
8-bit equivalent of HEADER_FLAG
if set header is present
linear vector address map for direct property lookup.
static void init_behaviors(struct dcxt_s *dcxp)
Add our defined behaviorsets to the kbehaviors structure where we can find them quickly.
extern int rlp_init(void);
explicitly mark a variable to avoid “may be used un-initialized” compiler warnings.
integer with value 1
integer with value 0
Architecture for Control Networks, ‘ACN’ is a suite of network protocols designed for control of entertainment technology equipment of the kind used in theatre, live events or large scale installations.
IPv4 address, group and mask variables are usually kept and stored in network byte order.
Not yet complete
test whether addr is a multicast group address
test whether the address pointed to by addrp is multicast
void ISOdate_bva(struct dcxt_s *dcxp,
const struct bv_s *bv)
String pool and hash table utilities adapted from those in expat XML parser.