The header requires struct sockaddr declared. So, otherwise, we need to
include sys/socket.h earlier than linux/vm_sockets.h.
Let's make the header includable at any place.
# add casts in ethtool_cmd_speed()
sed -r -i '/return (ep->speed_hi << 16) | ep->speed;/ s/return .*;/return ((__u32) ep->speed_hi << 16) | (__u32) ep->speed;/' "$i"
;;
+ vm_sockets.h)
+ # the header requires struct sockaddr declared
+ sed -r -i '/#define _VM_SOCKETS_H/a \\n#include <sys/socket.h>' "$i"
+ ;;
esac
done
#ifndef _VM_SOCKETS_H
#define _VM_SOCKETS_H
+#include <sys/socket.h>
+
#include <linux/socket.h>
#include <linux/types.h>
#include <linux/if_infiniband.h>
#include <linux/if_packet.h>
#include <linux/netlink.h>
-#include <sys/socket.h> /* linux/vms_sockets.h requires 'struct sockaddr' */
#include <linux/vm_sockets.h>
#include <netinet/in.h>
#include <stdbool.h>
#include <stddef.h>
#include <string.h>
+#include <sys/socket.h>
#include <sys/types.h>
#include <sys/un.h>