]> granicus.if.org Git - libnl/commit
add support functions for attributes and callback handlers
authorArend van Spriel <arend@broadcom.com>
Mon, 15 Jul 2013 10:09:11 +0000 (12:09 +0200)
committerThomas Graf <tgraf@suug.ch>
Thu, 18 Jul 2013 21:22:18 +0000 (23:22 +0200)
commite77ea939c44b9d7241d00f8324f63294cc0279c0
tree732ae216ba7880806939ecc4a024139cb7d76d3f
parentc08aacc2e8b79d6eb644ae59bb4dc3c6287b8a6b
add support functions for attributes and callback handlers

added support functions to access the netlink attributes and use
custom callback handlers. Most is wrapped as is, but there are
a couple of special cases handled.

1) void *nla_data(struct nlattr *);
The return value is changed to a Python byte array so it includes
the lenght of the data stream.

2) int nla_parse_nested(...);
This returns a tuple (err, dict). 'err' is the error code and 'dict'
is a dictionary with attribute identifier as key and value represents
a struct nlattr object.

3) macro nla_for_each_nested()
Provide nla_get_nested() which returns a Python list of struct nlattr
objects that is iterable.

4) allocate struct nla_policy array
Provide nla_policy_array() function that allocates consecutive space
in memory for struct nla_policy array entries. Each entry is put in
a Python list so the entry fields can be modified in Python. This
array object can be passed to the nla_parse_nested() function.

Signed-off-by: Arend van Spriel <arend@broadcom.com>
Signed-off-by: Thomas Graf <tgraf@suug.ch>
python/netlink/capi.i