diff options
Diffstat (limited to 'include/uapi/linux/netlink.h')
| -rw-r--r-- | include/uapi/linux/netlink.h | 34 | 
1 files changed, 33 insertions, 1 deletions
diff --git a/include/uapi/linux/netlink.h b/include/uapi/linux/netlink.h index 78d5b8a546d..1a85940f8ab 100644 --- a/include/uapi/linux/netlink.h +++ b/include/uapi/linux/netlink.h @@ -1,6 +1,7 @@  #ifndef _UAPI__LINUX_NETLINK_H  #define _UAPI__LINUX_NETLINK_H +#include <linux/kernel.h>  #include <linux/socket.h> /* for __kernel_sa_family_t */  #include <linux/types.h> @@ -78,7 +79,7 @@ struct nlmsghdr {  #define NLMSG_ALIGNTO	4U  #define NLMSG_ALIGN(len) ( ((len)+NLMSG_ALIGNTO-1) & ~(NLMSG_ALIGNTO-1) )  #define NLMSG_HDRLEN	 ((int) NLMSG_ALIGN(sizeof(struct nlmsghdr))) -#define NLMSG_LENGTH(len) ((len)+NLMSG_ALIGN(NLMSG_HDRLEN)) +#define NLMSG_LENGTH(len) ((len) + NLMSG_HDRLEN)  #define NLMSG_SPACE(len) NLMSG_ALIGN(NLMSG_LENGTH(len))  #define NLMSG_DATA(nlh)  ((void*)(((char*)nlh) + NLMSG_LENGTH(0)))  #define NLMSG_NEXT(nlh,len)	 ((len) -= NLMSG_ALIGN((nlh)->nlmsg_len), \ @@ -105,11 +106,42 @@ struct nlmsgerr {  #define NETLINK_PKTINFO		3  #define NETLINK_BROADCAST_ERROR	4  #define NETLINK_NO_ENOBUFS	5 +#define NETLINK_RX_RING		6 +#define NETLINK_TX_RING		7  struct nl_pktinfo {  	__u32	group;  }; +struct nl_mmap_req { +	unsigned int	nm_block_size; +	unsigned int	nm_block_nr; +	unsigned int	nm_frame_size; +	unsigned int	nm_frame_nr; +}; + +struct nl_mmap_hdr { +	unsigned int	nm_status; +	unsigned int	nm_len; +	__u32		nm_group; +	/* credentials */ +	__u32		nm_pid; +	__u32		nm_uid; +	__u32		nm_gid; +}; + +enum nl_mmap_status { +	NL_MMAP_STATUS_UNUSED, +	NL_MMAP_STATUS_RESERVED, +	NL_MMAP_STATUS_VALID, +	NL_MMAP_STATUS_COPY, +	NL_MMAP_STATUS_SKIP, +}; + +#define NL_MMAP_MSG_ALIGNMENT		NLMSG_ALIGNTO +#define NL_MMAP_MSG_ALIGN(sz)		__ALIGN_KERNEL(sz, NL_MMAP_MSG_ALIGNMENT) +#define NL_MMAP_HDRLEN			NL_MMAP_MSG_ALIGN(sizeof(struct nl_mmap_hdr)) +  #define NET_MAJOR 36		/* Major 36 is reserved for networking 						*/  enum {  |