|author||Pablo Neira Ayuso <email@example.com>||2010-04-08 23:16:26 +0200|
|committer||Pablo Neira Ayuso <firstname.lastname@example.org>||2010-04-08 23:16:26 +0200|
add new README file
Signed-off-by: Pablo Neira Ayuso <email@example.com>
Diffstat (limited to 'README')
1 files changed, 22 insertions, 8 deletions
@@ -1,9 +1,23 @@
+= What is libmnl? =
-- Minimalistic Netlink library
-- Low-level: you have to know how Netlink works.
-- Simplicity: as opposed to complexity.
-- Very low abstraction: try to leak as less Netlink details as possible.
-- Decoupling: the main bricks are decoupled to avoid inter-dependencies
-(eg. socket handling and callbacks are not attached).
+libmnl is a minimalistic user-space library oriented to Netlink developers.
+There are a lot of common tasks in parsing, validating, constructing of
+both the Netlink header and TLVs that are repetitive and easy to get wrong.
+This library aims to provide simple helpers that allows you to re-use code
+and to avoid re-inventing the wheel. The main features of this library are:
+* Small: the shared library requires around 20KB in a x86-based computer.
+* Simple: this library avoids complexity and elaborated abstractions that
+tend to hide Netlink details.
+* Easy to use: the library simplifies the work for Netlink-wise developers.
+It provides functions to make socket handling, message building, validating,
+parsing, and sequence tracking, easier.
+* Easy to re-use: you can use the library to build your own abstraction layer
+on top of this library.
+* Decoupling: the interdependency of the main bricks that compose the library
+is reduced, eg. the library provides many helpers but the programmer is not
+forced to use them.
+Pablo Neira Ayuso <firstname.lastname@example.org>