Anet ==== Anet is a networking library for the Ada programming language. Features -------- The Anet networking library has the following features: * BSD socket implementation * High abstraction level * Extendable socket type hierarchy * Socket receiver tasks (Stream and Datagram) * Ada type serialisation/deserialisation over sockets * Supported socket families - IPv4 (AF_INET) - IPv6 (AF_INET6) - Packet (AF_PACKET) - UNIX domain (AF_UNIX) - Netlink (AF_NETLINK) * Supported socket modes - Stream (TCP) - Datagram (UDP) - RAW * Support for IPv4/IPv6 multicast * Support for non-blocking operation * ARP packet serialization/deserialization * UDP/IPv4 packet creation and validation * Binding to the Linux Packet Filter (LPF) system Download -------- Release version ~~~~~~~~~~~~~~~ The current release version of Anet is available at http://www.codelabs.ch/download/. Verify a Release ~~~~~~~~~~~~~~~~ To verify the integrity and authenticity of the distribution tarball type the following commands: $ wget -q https://www.codelabs.ch/keys/0xBB793815pub.asc -O - | gpg --import $ gpg --verify libanet-{version}.tar.bz2.sig The key fingerprint of the public key ('0xBB793815') is: Key fingerprint = A2FB FF56 83FB 67D8 017B C50C F8C5 F8B5 BB79 3815 Development version ~~~~~~~~~~~~~~~~~~~ The current development version of Anet is available through its git repository: $ git clone http://git.codelabs.ch/git/anet.git A browsable version of the repository is also available here: http://git.codelabs.ch/?p=anet.git Installation ------------ To compile and install Anet on your system, you need to have the following software installed: * GNAT Ada compiler: http://www.gnu.org/software/gnat If you want to run the unit tests before installation of Anet (which is recommended) you furthermore need to have the following installed: * Ahven (Test-Framework): http://ahven.stronglytyped.org/ Anet supports BSD and Linux operating systems. To build for BSD, append `OS=bsd` to the `make` commands below. The building and installation process of Anet is straightforward. Just type in the following commands. $ make $ make PREFIX=/usr/local install If neither `PREFIX` nor `OS` are specified, `$(HOME)/libraries` is used as installation directory and the library is built for Linux. Testing ------- Anet contains a comprehensive unit test suite which can be run by entering the following command: $ make tests All tests should be marked with *PASS* behind the test name. To run the tests on BSD, type: $ make tests OS=bsd Licence ------- -------------------------------------------------------------------------------- Copyright (C) 2011-2018 secunet Security Networks AG Copyright (C) 2011-2018 Reto Buerki <reet@codelabs.ch> Copyright (C) 2011-2018 Adrian-Ken Rueegsegger <ken@codelabs.ch> Free use of this software is granted under the terms of the GNAT Modified General Public License (GMGPL). --------------------------------------------------------------------------------