Skip to content
Snippets Groups Projects
user avatar
clohr authored
git-svn-id: https://redmine.imt-atlantique.fr/svn/xaal/code/C/branches/version-0.7@3147 b32b6428-25c9-4566-ad07-03861ab6144f
7ee30366
History
user avatar 7ee30366
# libxaal
A minimal xAAL library in C
Conforms to xAAL specification v0.7
Based on libcbor (0.5.0), libuuid (2.34), libsodium (1.0.18)
(e.g. use debian packages: libcbor-dev uuid-dev libsodium-dev)


## Content
The xAAL library is composed of  xaal.h  and  libxaal.c
It provides a minimal set of helpers for developping xAAL applications:

- xAAL_join_bus(): Join the multicast (IPv4 or IPv6) xAAL bus.

- xAAL_pass2key(): Build a ciffering key from a passphrase.

- xAAL_add_wanted_target() / xAAL_del_wanted_target(): Manage the list of
  wanted targets.

- xAAL_read_bus(): Receive a message matching wanted targets, parses the
  header, and gives data to the application.

- xAAL_free_msg(): Free data allocated by xAAL_read_bus() in case of
  success.

- xAAL_write_bus() / xAAL_write_busv() / xAAL_write_busl(): Send a message on
  the bus (targets provided as a cbor array / as a vector  / as a (va_)list)

- xAAL_notify_alive() xAAL_reply_get_description()
  Helpers to send usual replies.

- xAAL_targets_match(): Test if an address belongs to the list of targets of
  a message


Note: the xAAL library uses the prefix 'xAAL_' as namesapce.


## Copyright
- Christophe Lohr - IMT Atlantique - 2019
- The library is provided according to the termes of the
  GNU Lesser General Public License v3.0 and following
- Dual-licenses are accepted, contact us.