--- a/include/netlink/genl/mngt.h
+++ b/include/netlink/genl/mngt.h
@@ -22,6 +22,15 @@ extern "C" {
 
 struct nl_cache_ops;
 
+struct genl_info
+{
+        struct sockaddr_nl *    who;
+        struct nlmsghdr *       nlh;
+	struct genlmsghdr *     genlhdr;
+	void *                  userhdr;
+	struct nlattr **        attrs;
+};
+
 /**
  * @ingroup genl_mngt
  * Generic Netlink Command
--- a/include/netlink-types.h
+++ b/include/netlink-types.h
@@ -95,15 +95,6 @@ struct nl_cache_mngr
 
 struct nl_parser_param;
 
-struct genl_info
-{
-	struct sockaddr_nl *	who;
-	struct nlmsghdr *	nlh;
-	struct genlmsghdr *	genlhdr;
-	void *			userhdr;
-	struct nlattr **	attrs;
-};
-
 #define LOOSE_FLAG_COMPARISON	1
 
 #define NL_OBJ_MARK		1
--- a/src/nl-list-caches.c
+++ b/src/nl-list-caches.c
@@ -10,6 +10,7 @@
  */
 
 #include "utils.h"
+#include <netlink-local.h>
 
 static void print_usage(void)
 {
--- a/src/utils.c
+++ b/src/utils.c
@@ -12,6 +12,7 @@
 #include "utils.h"
 
 #include <stdlib.h>
+#include <stdarg.h>
 
 int nltool_init(int argc, char *argv[])
 {
--- a/src/utils.h
+++ b/src/utils.h
@@ -22,7 +22,6 @@
 #include <sys/types.h>
 #include <sys/socket.h>
 
-#include <netlink-local.h>
 #include <netlink/netlink.h>
 #include <netlink/utils.h>
 #include <netlink/addr.h>
