libcortex
Event loop library following a "batteries included" approach
Loading...
Searching...
No Matches
netlink_ge.h
1#ifndef _CRTX_NETLINK_GE_H
2#define _CRTX_NETLINK_GE_H
3
4#ifdef __cplusplus
5extern "C" {
6#endif
7
8/*
9 * Mario Kicherer (dev@kicherer.org) 2016
10 *
11 */
12
13#include <netlink/genl/genl.h>
14#include <netlink/genl/family.h>
15#include <netlink/genl/ctrl.h>
16
17typedef void (*crtx_genl_parse_cb)(struct nlattr * attr, struct crtx_dict *dict);
18
20 char *family;
21 char *group;
22
23 unsigned int gid;
24
25
26 unsigned int n_attrs;
27 struct nlattr **attrs;
28 // char *attr_signature;
29 struct crtx_dict *attrs_template;
30 crtx_genl_parse_cb *parse_callbacks;
31};
32
34 enum nl_cb_type type;
35 enum nl_cb_kind kind;
36 nl_recvmsg_msg_cb_t func;
37 void * arg;
38};
39
41 struct crtx_listener_base base;
42
43 struct nl_sock *sock;
44
45 struct crtx_genl_callback *callbacks;
46 struct crtx_genl_group *groups;
47};
48
49struct crtx_listener_base *crtx_setup_genl_listener(void *options);
50CRTX_DECLARE_ALLOC_FUNCTION(genl)
51
52void crtx_netlink_ge_init();
53void crtx_netlink_ge_finish();
54
55#ifdef __cplusplus
56}
57#endif
58
59#endif
Definition dict.h:61
Definition netlink_ge.h:33
Definition netlink_ge.h:19
Definition netlink_ge.h:40
base structure of a listener
Definition core.h:186