Signed-off-by: Felix Fietkau <nbd@nbd.name>master
parent
3d680c5728
commit
d723f2573a
@ -1,79 +0,0 @@ |
||||
#ifndef __LINUX_GEN_STATS_H |
||||
#define __LINUX_GEN_STATS_H |
||||
|
||||
#include <linux/types.h> |
||||
|
||||
enum { |
||||
TCA_STATS_UNSPEC, |
||||
TCA_STATS_BASIC, |
||||
TCA_STATS_RATE_EST, |
||||
TCA_STATS_QUEUE, |
||||
TCA_STATS_APP, |
||||
TCA_STATS_RATE_EST64, |
||||
__TCA_STATS_MAX, |
||||
}; |
||||
#define TCA_STATS_MAX (__TCA_STATS_MAX - 1) |
||||
|
||||
/**
|
||||
* struct gnet_stats_basic - byte/packet throughput statistics |
||||
* @bytes: number of seen bytes |
||||
* @packets: number of seen packets |
||||
*/ |
||||
struct gnet_stats_basic |
||||
{ |
||||
__u64 bytes; |
||||
__u32 packets; |
||||
}; |
||||
|
||||
/**
|
||||
* struct gnet_stats_rate_est - rate estimator |
||||
* @bps: current byte rate |
||||
* @pps: current packet rate |
||||
*/ |
||||
struct gnet_stats_rate_est |
||||
{ |
||||
__u32 bps; |
||||
__u32 pps; |
||||
}; |
||||
|
||||
/**
|
||||
* struct gnet_stats_rate_est64 - rate estimator |
||||
* @bps: current byte rate |
||||
* @pps: current packet rate |
||||
*/ |
||||
struct gnet_stats_rate_est64 |
||||
{ |
||||
__u64 bps; |
||||
__u64 pps; |
||||
}; |
||||
|
||||
/**
|
||||
* struct gnet_stats_queue - queuing statistics |
||||
* @qlen: queue length |
||||
* @backlog: backlog size of queue |
||||
* @drops: number of dropped packets |
||||
* @requeues: number of requeues |
||||
* @overlimits: number of enqueues over the limit |
||||
*/ |
||||
struct gnet_stats_queue |
||||
{ |
||||
__u32 qlen; |
||||
__u32 backlog; |
||||
__u32 drops; |
||||
__u32 requeues; |
||||
__u32 overlimits; |
||||
}; |
||||
|
||||
/**
|
||||
* struct gnet_estimator - rate estimator configuration |
||||
* @interval: sampling period |
||||
* @ewma_log: the log of measurement window weight |
||||
*/ |
||||
struct gnet_estimator |
||||
{ |
||||
signed char interval; |
||||
unsigned char ewma_log; |
||||
}; |
||||
|
||||
|
||||
#endif /* __LINUX_GEN_STATS_H */ |
@ -1,83 +0,0 @@ |
||||
#ifndef __LINUX_GENERIC_NETLINK_H |
||||
#define __LINUX_GENERIC_NETLINK_H |
||||
|
||||
#include <linux/types.h> |
||||
#include <linux/netlink.h> |
||||
|
||||
#define GENL_NAMSIZ 16 /* length of family name */ |
||||
|
||||
#define GENL_MIN_ID NLMSG_MIN_TYPE |
||||
#define GENL_MAX_ID 1023 |
||||
|
||||
struct genlmsghdr { |
||||
__u8 cmd; |
||||
__u8 version; |
||||
__u16 reserved; |
||||
}; |
||||
|
||||
#define GENL_HDRLEN NLMSG_ALIGN(sizeof(struct genlmsghdr)) |
||||
|
||||
#define GENL_ADMIN_PERM 0x01 |
||||
#define GENL_CMD_CAP_DO 0x02 |
||||
#define GENL_CMD_CAP_DUMP 0x04 |
||||
#define GENL_CMD_CAP_HASPOL 0x08 |
||||
|
||||
/*
|
||||
* List of reserved static generic netlink identifiers: |
||||
*/ |
||||
#define GENL_ID_GENERATE 0 |
||||
#define GENL_ID_CTRL NLMSG_MIN_TYPE |
||||
|
||||
/**************************************************************************
|
||||
* Controller |
||||
**************************************************************************/ |
||||
|
||||
enum { |
||||
CTRL_CMD_UNSPEC, |
||||
CTRL_CMD_NEWFAMILY, |
||||
CTRL_CMD_DELFAMILY, |
||||
CTRL_CMD_GETFAMILY, |
||||
CTRL_CMD_NEWOPS, |
||||
CTRL_CMD_DELOPS, |
||||
CTRL_CMD_GETOPS, |
||||
CTRL_CMD_NEWMCAST_GRP, |
||||
CTRL_CMD_DELMCAST_GRP, |
||||
CTRL_CMD_GETMCAST_GRP, /* unused */ |
||||
__CTRL_CMD_MAX, |
||||
}; |
||||
|
||||
#define CTRL_CMD_MAX (__CTRL_CMD_MAX - 1) |
||||
|
||||
enum { |
||||
CTRL_ATTR_UNSPEC, |
||||
CTRL_ATTR_FAMILY_ID, |
||||
CTRL_ATTR_FAMILY_NAME, |
||||
CTRL_ATTR_VERSION, |
||||
CTRL_ATTR_HDRSIZE, |
||||
CTRL_ATTR_MAXATTR, |
||||
CTRL_ATTR_OPS, |
||||
CTRL_ATTR_MCAST_GROUPS, |
||||
__CTRL_ATTR_MAX, |
||||
}; |
||||
|
||||
#define CTRL_ATTR_MAX (__CTRL_ATTR_MAX - 1) |
||||
|
||||
enum { |
||||
CTRL_ATTR_OP_UNSPEC, |
||||
CTRL_ATTR_OP_ID, |
||||
CTRL_ATTR_OP_FLAGS, |
||||
__CTRL_ATTR_OP_MAX, |
||||
}; |
||||
|
||||
#define CTRL_ATTR_OP_MAX (__CTRL_ATTR_OP_MAX - 1) |
||||
|
||||
enum { |
||||
CTRL_ATTR_MCAST_GRP_UNSPEC, |
||||
CTRL_ATTR_MCAST_GRP_NAME, |
||||
CTRL_ATTR_MCAST_GRP_ID, |
||||
__CTRL_ATTR_MCAST_GRP_MAX, |
||||
}; |
||||
|
||||
#define CTRL_ATTR_MCAST_GRP_MAX (__CTRL_ATTR_MCAST_GRP_MAX - 1) |
||||
|
||||
#endif /* __LINUX_GENERIC_NETLINK_H */ |
@ -1,131 +0,0 @@ |
||||
/*
|
||||
* INET An implementation of the TCP/IP protocol suite for the LINUX |
||||
* operating system. INET is implemented using the BSD Socket |
||||
* interface as the means of communication with the user level. |
||||
* |
||||
* Global definitions for the INET interface module. |
||||
* |
||||
* Version: @(#)if.h 1.0.2 04/18/93 |
||||
* |
||||
* Authors: Original taken from Berkeley UNIX 4.3, (c) UCB 1982-1988 |
||||
* Ross Biro |
||||
* Fred N. van Kempen, <waltje@uWalt.NL.Mugnet.ORG> |
||||
* |
||||
* This program is free software; you can redistribute it and/or |
||||
* modify it under the terms of the GNU General Public License |
||||
* as published by the Free Software Foundation; either version |
||||
* 2 of the License, or (at your option) any later version. |
||||
*/ |
||||
#ifndef _LINUX_IF_H |
||||
#define _LINUX_IF_H |
||||
|
||||
#include <linux/types.h> /* for "__kernel_caddr_t" et al */ |
||||
|
||||
#define IFNAMSIZ 16 |
||||
|
||||
/* Standard interface flags (netdevice->flags). */ |
||||
#define IFF_UP 0x1 /* interface is up */ |
||||
#define IFF_BROADCAST 0x2 /* broadcast address valid */ |
||||
#define IFF_DEBUG 0x4 /* turn on debugging */ |
||||
#define IFF_LOOPBACK 0x8 /* is a loopback net */ |
||||
#define IFF_POINTOPOINT 0x10 /* interface is has p-p link */ |
||||
#define IFF_NOTRAILERS 0x20 /* avoid use of trailers */ |
||||
#define IFF_RUNNING 0x40 /* interface RFC2863 OPER_UP */ |
||||
#define IFF_NOARP 0x80 /* no ARP protocol */ |
||||
#define IFF_PROMISC 0x100 /* receive all packets */ |
||||
#define IFF_ALLMULTI 0x200 /* receive all multicast packets*/ |
||||
|
||||
#define IFF_MASTER 0x400 /* master of a load balancer */ |
||||
#define IFF_SLAVE 0x800 /* slave of a load balancer */ |
||||
|
||||
#define IFF_MULTICAST 0x1000 /* Supports multicast */ |
||||
|
||||
#define IFF_PORTSEL 0x2000 /* can set media type */ |
||||
#define IFF_AUTOMEDIA 0x4000 /* auto media select active */ |
||||
#define IFF_DYNAMIC 0x8000 /* dialup device with changing addresses*/ |
||||
|
||||
#define IFF_LOWER_UP 0x10000 /* driver signals L1 up */ |
||||
#define IFF_DORMANT 0x20000 /* driver signals dormant */ |
||||
|
||||
#define IFF_ECHO 0x40000 /* echo sent packets */ |
||||
|
||||
#define IFF_VOLATILE (IFF_LOOPBACK|IFF_POINTOPOINT|IFF_BROADCAST|IFF_ECHO|\ |
||||
IFF_MASTER|IFF_SLAVE|IFF_RUNNING|IFF_LOWER_UP|IFF_DORMANT) |
||||
|
||||
/* Private (from user) interface flags (netdevice->priv_flags). */ |
||||
#define IFF_802_1Q_VLAN 0x1 /* 802.1Q VLAN device. */ |
||||
#define IFF_EBRIDGE 0x2 /* Ethernet bridging device. */ |
||||
#define IFF_SLAVE_INACTIVE 0x4 /* bonding slave not the curr. active */ |
||||
#define IFF_MASTER_8023AD 0x8 /* bonding master, 802.3ad. */ |
||||
#define IFF_MASTER_ALB 0x10 /* bonding master, balance-alb. */ |
||||
#define IFF_BONDING 0x20 /* bonding master or slave */ |
||||
#define IFF_SLAVE_NEEDARP 0x40 /* need ARPs for validation */ |
||||
#define IFF_ISATAP 0x80 /* ISATAP interface (RFC4214) */ |
||||
|
||||
#define IF_GET_IFACE 0x0001 /* for querying only */ |
||||
#define IF_GET_PROTO 0x0002 |
||||
|
||||
/* For definitions see hdlc.h */ |
||||
#define IF_IFACE_V35 0x1000 /* V.35 serial interface */ |
||||
#define IF_IFACE_V24 0x1001 /* V.24 serial interface */ |
||||
#define IF_IFACE_X21 0x1002 /* X.21 serial interface */ |
||||
#define IF_IFACE_T1 0x1003 /* T1 telco serial interface */ |
||||
#define IF_IFACE_E1 0x1004 /* E1 telco serial interface */ |
||||
#define IF_IFACE_SYNC_SERIAL 0x1005 /* can't be set by software */ |
||||
#define IF_IFACE_X21D 0x1006 /* X.21 Dual Clocking (FarSite) */ |
||||
|
||||
/* For definitions see hdlc.h */ |
||||
#define IF_PROTO_HDLC 0x2000 /* raw HDLC protocol */ |
||||
#define IF_PROTO_PPP 0x2001 /* PPP protocol */ |
||||
#define IF_PROTO_CISCO 0x2002 /* Cisco HDLC protocol */ |
||||
#define IF_PROTO_FR 0x2003 /* Frame Relay protocol */ |
||||
#define IF_PROTO_FR_ADD_PVC 0x2004 /* Create FR PVC */ |
||||
#define IF_PROTO_FR_DEL_PVC 0x2005 /* Delete FR PVC */ |
||||
#define IF_PROTO_X25 0x2006 /* X.25 */ |
||||
#define IF_PROTO_HDLC_ETH 0x2007 /* raw HDLC, Ethernet emulation */ |
||||
#define IF_PROTO_FR_ADD_ETH_PVC 0x2008 /* Create FR Ethernet-bridged PVC */ |
||||
#define IF_PROTO_FR_DEL_ETH_PVC 0x2009 /* Delete FR Ethernet-bridged PVC */ |
||||
#define IF_PROTO_FR_PVC 0x200A /* for reading PVC status */ |
||||
#define IF_PROTO_FR_ETH_PVC 0x200B |
||||
#define IF_PROTO_RAW 0x200C /* RAW Socket */ |
||||
|
||||
/* RFC 2863 operational status */ |
||||
enum { |
||||
IF_OPER_UNKNOWN, |
||||
IF_OPER_NOTPRESENT, |
||||
IF_OPER_DOWN, |
||||
IF_OPER_LOWERLAYERDOWN, |
||||
IF_OPER_TESTING, |
||||
IF_OPER_DORMANT, |
||||
IF_OPER_UP, |
||||
}; |
||||
|
||||
/* link modes */ |
||||
enum { |
||||
IF_LINK_MODE_DEFAULT, |
||||
IF_LINK_MODE_DORMANT, /* limit upward transition to dormant */ |
||||
}; |
||||
|
||||
/*
|
||||
* Device mapping structure. I'd just gone off and designed a
|
||||
* beautiful scheme using only loadable modules with arguments |
||||
* for driver options and along come the PCMCIA people 8) |
||||
* |
||||
* Ah well. The get() side of this is good for WDSETUP, and it'll |
||||
* be handy for debugging things. The set side is fine for now and |
||||
* being very small might be worth keeping for clean configuration. |
||||
*/ |
||||
|
||||
struct ifmap
|
||||
{ |
||||
unsigned long mem_start; |
||||
unsigned long mem_end; |
||||
unsigned short base_addr;
|
||||
unsigned char irq; |
||||
unsigned char dma; |
||||
unsigned char port; |
||||
/* 3 bytes spare */ |
||||
}; |
||||
|
||||
|
||||
#endif /* _LINUX_IF_H */ |
@ -1,62 +0,0 @@ |
||||
#ifndef __LINUX_IF_ADDR_H |
||||
#define __LINUX_IF_ADDR_H |
||||
|
||||
#include <linux/netlink.h> |
||||
|
||||
struct ifaddrmsg |
||||
{ |
||||
__u8 ifa_family; |
||||
__u8 ifa_prefixlen; /* The prefix length */ |
||||
__u8 ifa_flags; /* Flags */ |
||||
__u8 ifa_scope; /* Address scope */ |
||||
__u32 ifa_index; /* Link index */ |
||||
}; |
||||
|
||||
/*
|
||||
* Important comment: |
||||
* IFA_ADDRESS is prefix address, rather than local interface address. |
||||
* It makes no difference for normally configured broadcast interfaces, |
||||
* but for point-to-point IFA_ADDRESS is DESTINATION address, |
||||
* local address is supplied in IFA_LOCAL attribute. |
||||
*/ |
||||
enum |
||||
{ |
||||
IFA_UNSPEC, |
||||
IFA_ADDRESS, |
||||
IFA_LOCAL, |
||||
IFA_LABEL, |
||||
IFA_BROADCAST, |
||||
IFA_ANYCAST, |
||||
IFA_CACHEINFO, |
||||
IFA_MULTICAST, |
||||
__IFA_MAX, |
||||
}; |
||||
|
||||
#define IFA_MAX (__IFA_MAX - 1) |
||||
|
||||
/* ifa_flags */ |
||||
#define IFA_F_SECONDARY 0x01 |
||||
#define IFA_F_TEMPORARY IFA_F_SECONDARY |
||||
|
||||
#define IFA_F_NODAD 0x02 |
||||
#define IFA_F_OPTIMISTIC 0x04 |
||||
#define IFA_F_HOMEADDRESS 0x10 |
||||
#define IFA_F_DEPRECATED 0x20 |
||||
#define IFA_F_TENTATIVE 0x40 |
||||
#define IFA_F_PERMANENT 0x80 |
||||
|
||||
struct ifa_cacheinfo |
||||
{ |
||||
__u32 ifa_prefered; |
||||
__u32 ifa_valid; |
||||
__u32 cstamp; /* created timestamp, hundredths of seconds */ |
||||
__u32 tstamp; /* updated timestamp, hundredths of seconds */ |
||||
}; |
||||
|
||||
/* backwards compatibility for userspace */ |
||||
#ifndef __KERNEL__ |
||||
#define IFA_RTA(r) ((struct rtattr*)(((char*)(r)) + NLMSG_ALIGN(sizeof(struct ifaddrmsg)))) |
||||
#define IFA_PAYLOAD(n) NLMSG_PAYLOAD(n,sizeof(struct ifaddrmsg)) |
||||
#endif |
||||
|
||||
#endif |
@ -1,151 +0,0 @@ |
||||
#ifndef __LINUX_NETLINK_H |
||||
#define __LINUX_NETLINK_H |
||||
|
||||
#include <linux/socket.h> /* for sa_family_t */ |
||||
#include <linux/types.h> |
||||
#include <sys/socket.h> /* for sa_family_t */ |
||||
|
||||
#define NETLINK_ROUTE 0 /* Routing/device hook */ |
||||
#define NETLINK_UNUSED 1 /* Unused number */ |
||||
#define NETLINK_USERSOCK 2 /* Reserved for user mode socket protocols */ |
||||
#define NETLINK_FIREWALL 3 /* Firewalling hook */ |
||||
#define NETLINK_INET_DIAG 4 /* INET socket monitoring */ |
||||
#define NETLINK_NFLOG 5 /* netfilter/iptables ULOG */ |
||||
#define NETLINK_XFRM 6 /* ipsec */ |
||||
#define NETLINK_SELINUX 7 /* SELinux event notifications */ |
||||
#define NETLINK_ISCSI 8 /* Open-iSCSI */ |
||||
#define NETLINK_AUDIT 9 /* auditing */ |
||||
#define NETLINK_FIB_LOOKUP 10 |
||||
#define NETLINK_CONNECTOR 11 |
||||
#define NETLINK_NETFILTER 12 /* netfilter subsystem */ |
||||
#define NETLINK_IP6_FW 13 |
||||
#define NETLINK_DNRTMSG 14 /* DECnet routing messages */ |
||||
#define NETLINK_KOBJECT_UEVENT 15 /* Kernel messages to userspace */ |
||||
#define NETLINK_GENERIC 16 |
||||
/* leave room for NETLINK_DM (DM Events) */ |
||||
#define NETLINK_SCSITRANSPORT 18 /* SCSI Transports */ |
||||
#define NETLINK_ECRYPTFS 19 |
||||
|
||||
#define MAX_LINKS 32 |
||||
|
||||
struct sockaddr_nl |
||||
{ |
||||
sa_family_t nl_family; /* AF_NETLINK */ |
||||
unsigned short nl_pad; /* zero */ |
||||
__u32 nl_pid; /* port ID */ |
||||
__u32 nl_groups; /* multicast groups mask */ |
||||
}; |
||||
|
||||
struct nlmsghdr |
||||
{ |
||||
__u32 nlmsg_len; /* Length of message including header */ |
||||
__u16 nlmsg_type; /* Message content */ |
||||
__u16 nlmsg_flags; /* Additional flags */ |
||||
__u32 nlmsg_seq; /* Sequence number */ |
||||
__u32 nlmsg_pid; /* Sending process port ID */ |
||||
}; |
||||
|
||||
/* Flags values */ |
||||
|
||||
#define NLM_F_REQUEST 1 /* It is request message. */ |
||||
#define NLM_F_MULTI 2 /* Multipart message, terminated by NLMSG_DONE */ |
||||
#define NLM_F_ACK 4 /* Reply with ack, with zero or error code */ |
||||
#define NLM_F_ECHO 8 /* Echo this request */ |
||||
|
||||
/* Modifiers to GET request */ |
||||
#define NLM_F_ROOT 0x100 /* specify tree root */ |
||||
#define NLM_F_MATCH 0x200 /* return all matching */ |
||||
#define NLM_F_ATOMIC 0x400 /* atomic GET */ |
||||
#define NLM_F_DUMP (NLM_F_ROOT|NLM_F_MATCH) |
||||
|
||||
/* Modifiers to NEW request */ |
||||
#define NLM_F_REPLACE 0x100 /* Override existing */ |
||||
#define NLM_F_EXCL 0x200 /* Do not touch, if it exists */ |
||||
#define NLM_F_CREATE 0x400 /* Create, if it does not exist */ |
||||
#define NLM_F_APPEND 0x800 /* Add to end of list */ |
||||
|
||||
/*
|
||||
4.4BSD ADD NLM_F_CREATE|NLM_F_EXCL |
||||
4.4BSD CHANGE NLM_F_REPLACE |
||||
|
||||
True CHANGE NLM_F_CREATE|NLM_F_REPLACE |
||||
Append NLM_F_CREATE |
||||
Check NLM_F_EXCL |
||||
*/ |
||||
|
||||
#define NLMSG_ALIGNTO 4 |
||||
#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_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), \ |
||||
(struct nlmsghdr*)(((char*)(nlh)) + NLMSG_ALIGN((nlh)->nlmsg_len))) |
||||
#define NLMSG_OK(nlh,len) ((len) >= (int)sizeof(struct nlmsghdr) && \ |
||||
(nlh)->nlmsg_len >= sizeof(struct nlmsghdr) && \
|
||||
(nlh)->nlmsg_len <= (len)) |
||||
#define NLMSG_PAYLOAD(nlh,len) ((nlh)->nlmsg_len - NLMSG_SPACE((len))) |
||||
|
||||
#define NLMSG_NOOP 0x1 /* Nothing. */ |
||||
#define NLMSG_ERROR 0x2 /* Error */ |
||||
#define NLMSG_DONE 0x3 /* End of a dump */ |
||||
#define NLMSG_OVERRUN 0x4 /* Data lost */ |
||||
|
||||
#define NLMSG_MIN_TYPE 0x10 /* < 0x10: reserved control messages */ |
||||
|
||||
struct nlmsgerr |
||||
{ |
||||
int error; |
||||
struct nlmsghdr msg; |
||||
}; |
||||
|
||||
#define NETLINK_ADD_MEMBERSHIP 1 |
||||
#define NETLINK_DROP_MEMBERSHIP 2 |
||||
#define NETLINK_PKTINFO 3 |
||||
|
||||
struct nl_pktinfo |
||||
{ |
||||
__u32 group; |
||||
}; |
||||
|
||||
#define NET_MAJOR 36 /* Major 36 is reserved for networking */ |
||||
|
||||
enum { |
||||
NETLINK_UNCONNECTED = 0, |
||||
NETLINK_CONNECTED, |
||||
}; |
||||
|
||||
/*
|
||||
* <------- NLA_HDRLEN ------> <-- NLA_ALIGN(payload)--> |
||||
* +---------------------+- - -+- - - - - - - - - -+- - -+ |
||||
* | Header | Pad | Payload | Pad | |
||||
* | (struct nlattr) | ing | | ing | |
||||
* +---------------------+- - -+- - - - - - - - - -+- - -+ |
||||
* <-------------- nlattr->nla_len --------------> |
||||
*/ |
||||
|
||||
struct nlattr |
||||
{ |
||||
__u16 nla_len; |
||||
__u16 nla_type; |
||||
}; |
||||
|
||||
/*
|
||||
* nla_type (16 bits) |
||||
* +---+---+-------------------------------+ |
||||
* | N | O | Attribute Type | |
||||
* +---+---+-------------------------------+ |
||||
* N := Carries nested attributes |
||||
* O := Payload stored in network byte order |
||||
* |
||||
* Note: The N and O flag are mutually exclusive. |
||||
*/ |
||||
#define NLA_F_NESTED (1 << 15) |
||||
#define NLA_F_NET_BYTEORDER (1 << 14) |
||||
#define NLA_TYPE_MASK ~(NLA_F_NESTED | NLA_F_NET_BYTEORDER) |
||||
|
||||
#define NLA_ALIGNTO 4 |
||||
#define NLA_ALIGN(len) (((len) + NLA_ALIGNTO - 1) & ~(NLA_ALIGNTO - 1)) |
||||
#define NLA_HDRLEN ((int) NLA_ALIGN(sizeof(struct nlattr))) |
||||
|
||||
#endif /* __LINUX_NETLINK_H */ |
Loading…
Reference in new issue