Index
$#! · 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
$#!
 _finduuid
 _flushWrapper
 ‘Bargraph’variables
0-9
 20060000
 20100000
 31, E1
A
 Acacian Application Architecture
 Acacian License
 acn.h
 ACN_FCTN_SIZE
 ACN_UACN_SIZE
 acnalloc(size)
 acncfg.h
 acncommon.h
 acnfree(ptr)
 acnip.h
 acnlists.h
 acnlog
 acnlog.h
 ACNLOG_OFF
 ACNLOG_STDERR
 ACNLOG_STDOUT
 ACNLOG_SYSLOG
 acnlogerror
 acnlogmark
 acnmem.h
 acnNew(type)
 acnopenlog(),acncloselog
 acnstd.h
 acnstdtypes.h
 acntestlog
 Ad hoc Join handlers
 AD_HOC_RETRIES
 AD_HOC_TIMEOUT_ms
 add_devtask
 adding tasks for subsequent actions
 addLcomponent
 addMember
 addProtoMsg
 ADDR_SIZE(hdr)
 addr_to_map
 addr_to_prop
 addr2ofs
 addRcomponent
 address map memory blocks
 Address map structures
 Address map type selection
 Address search structures
 Address sizes(combined from individual bits)
 Address specification bits-in header field
 Address specification types
 Address types(combined from individual bits)
 addrfind_s
 addrmap_u
 adduuid
 ADHOCJOIN_ANY
 ADHOCJOIN_NONE
 AFMAPINC
 AFMAPISIZE
 AFTESTBLKINC
 Algorithm for address search
 ALL_MEMBERS
 am_indx
 am_none
 am_srch
 any_amap_s
 ARRAYSIZE(array)
 Avoiding compiler warnings
B
 behaviors.c
 behaviorsetID_bva
 binObject_bva
 BSD Sockets interface IPv4(including Windows)
 bset_start
 Building
 BV_NEW
 BV_NULL
static struct uuidtrk_s * _finduuid(struct uuidset_s *set,
const uint8_t *uuid)
Find the tree entry where uuid should go.
int _flushWrapper(struct txwrap_s *txwrap,
int32_t *Rseqp)
Each property in the “bar graph” is printed as a BAR_PLACES wide integer with a select indicator string either side.
the original ANSI ESTA E1.17-2006 version
the revised version ANSI ESTA E1.17-2010
This document outlines the top-level approach to application architecture in Acacian and says what the Acacian implementation handles and what is left to the application.
Acacian and the Source Code herein is subject to the terms of the Mozilla Public License, v.
#include “acn.h”
Length (in bytes) assigned for FCTN
Length (in bytes) assigned for UACN
a wrapper for malloc which allows overriding with custom functions.
Macros like ARRAYSIZE() and container_of() adhere to syntax and definitions encountered in many systems and are only defined here if there is not a definition already in force.
a wrapper for free which allows overriding with custom functions.
Miscellaneous routines and macros for IPv4 – and soon IPv6 – protocols
Generic handling for single and double linked lists.
generate an arbitrary message (depending on priority)
These macros loosely follow syslog syntax but the loglevel is tested at compile time and outputs compile to nothing if the loglevel is not high enough.
All logging is compiled out
Log to standard error
Log to standard output (default)
Log using POSIX Syslog
roughly equivalent to perror() library function
generate a “function, file, line” message before the log message
All code uses functions or macros defined here to allocate memory.
create a new variable of the given type, zero it and return a pointer to it.
call at start and end of program
These constants represent requirements defined in standard documents of ANSI E1.17
#include acnstdtypes.h
use to test whether a particular loglevel would generate code which is useful where logging requires aditional code or variable definitions.
These are special values for the joinRx argument to sdt_register.
both ACN-2006 and ACN-2010
both ACN-2006 and ACN-2010
void * add_devtask(struct dcxt_s *dcxp,
devtask_fn *task,
size_t size)
Add a task (during parsing) for execution once the entire tree has been constructed but before returning it to the caller.
Most behaviors can be processed immediately they are encountered in the parse.
static inline int addLcomponent(struct Lcomponent_s *Lcomp)
Add a local component to Lcomponents.
int addMember(struct Lchannel_s *Lchan,
struct Rcomponent_s *Rcomp)
Create a new member and add it to a channel and send a cold Join.
int addProtoMsg(struct txwrap_s **txwrapp,
struct member_s *memb,
protocolID_t proto,
uint16_t wflags,
const uint8_t *data,
int size)
Extract the address size (1,2 or 4) from the header field
static struct addrfind_s * addr_to_map(union addrmap_u *amap,
uint32_t addr)
Given an address, search the map for a property which might match.
const struct dmpprop_s * addr_to_prop(union addrmap_u *amap,
uint32_t addr)
Find a property given an address.
int addr2ofs(const struct dmpprop_s *dprop,
struct adspec_s *dmpads,
struct adspec_s *ofsads)
Convert a DMP address specifier to a property array offset.
static inline int addRcomponent(struct Rcomponent_s *Rcomp)
Add a remote component to Rcomponents.
An index map is a single linear array with one entry per address.
Address search maps may be of different types.
Individual bit-field definitions DMPAD_A0 - A1 A0 specify the address size DMPAD_A1 - A1 A0 specify the address size DMPAD_X0 - Must be zero DMPAD_X1 - Must be zero DMPAD_D0 - D1 D0 give the address format DMPAD_D1 - D1 D0 give the address format DMPAD_R - Address is relative to previous property DMPAD_Z - Must be zero DMPAD_ZMASK - Combined mask of bits which must be zero
From SDT spec Table 7
a single element of the srch_amap_s search table.
an address map, type specified by maptype_e.
extern int adduuid(struct uuidset_s *set,
const uint8_t *uuid)
Adds uuid to the set (storing the pointer uuid).
Accept all ‘cold’ Join requests.
Refuse all ‘cold’ Join requests.
increment to grow map when required
initial size of address map
increment used to grow addrfind.p when ntests > 1
The parser builds a single table (a 1 dimensional array) in which each each entry E defines a region within the space by a low address and a high address E_lo and E_hi (inclusive values).
MID value for PDUs addressed to all members
a direct lookup map; fast but only suitable for certain devices
no map or unspecified map.
a map optimized for binary search
dummy structure defining the fields common to all address map types.
The number of elements in array.
Functions to handle specific DDL behaviors.
void behaviorsetID_bva(struct dcxt_s *dcxp,
const struct bv_s *bv)
void binObject_bva(struct dcxt_s *dcxp,
const struct bv_s *bv)
Unfortunately the behavior of the sockets interface, particularly with regard to multicast reception is very inconsistent across implementations and it is very hard to find in documentation what a particular implementation does.
static void bset_start(struct dcxt_s *dcxp,
const ddlchar_t **atta)
Process a behaviorset.
Behavior has been created because it was referenced but has not yet been parsed.
No refinements and no action.
Close