add libnl-tiny as a small replacement for libnl with only genl support included
[openwrt/svn-archive/archive.git] / package / libnl-tiny / src / include / netlink-types.h
diff --git a/package/libnl-tiny/src/include/netlink-types.h b/package/libnl-tiny/src/include/netlink-types.h
new file mode 100644 (file)
index 0000000..0d00593
--- /dev/null
@@ -0,0 +1,81 @@
+/*
+ * netlink-types.h     Netlink Types (Private)
+ *
+ *     This library is free software; you can redistribute it and/or
+ *     modify it under the terms of the GNU Lesser General Public
+ *     License as published by the Free Software Foundation version 2.1
+ *     of the License.
+ *
+ * Copyright (c) 2003-2008 Thomas Graf <tgraf@suug.ch>
+ */
+
+#ifndef NETLINK_LOCAL_TYPES_H_
+#define NETLINK_LOCAL_TYPES_H_
+
+#include <netlink/list.h>
+
+struct nl_cache_ops;
+struct nl_sock;
+struct nl_object;
+
+struct nl_cache
+{
+       struct nl_list_head     c_items;
+       int                     c_nitems;
+       int                     c_iarg1;
+       int                     c_iarg2;
+       struct nl_cache_ops *   c_ops;
+};
+
+struct nl_cache_assoc
+{
+       struct nl_cache *       ca_cache;
+       change_func_t           ca_change;
+};
+
+struct nl_cache_mngr
+{
+       int                     cm_protocol;
+       int                     cm_flags;
+       int                     cm_nassocs;
+       struct nl_sock *        cm_handle;
+       struct nl_cache_assoc * cm_assocs;
+};
+
+struct nl_parser_param;
+
+#define LOOSE_COMPARISON       1
+
+
+struct nl_data
+{
+       size_t                  d_size;
+       void *                  d_data;
+};
+
+struct nl_addr
+{
+       int                     a_family;
+       unsigned int            a_maxsize;
+       unsigned int            a_len;
+       int                     a_prefixlen;
+       int                     a_refcnt;
+       char                    a_addr[0];
+};
+
+#define IFQDISCSIZ     32
+
+#define GENL_OP_HAS_POLICY     1
+#define GENL_OP_HAS_DOIT       2
+#define GENL_OP_HAS_DUMPIT     4
+
+struct genl_family_op
+{
+       uint32_t                o_id;
+       uint32_t                o_flags;
+
+       struct nl_list_head     o_list;
+};
+
+
+#endif