This commit is contained in:
commit
32b7c9c6dd
11 changed files with 678 additions and 283 deletions
23
libc/kernel/common/asm-generic/swab.h
Normal file
23
libc/kernel/common/asm-generic/swab.h
Normal file
|
@ -0,0 +1,23 @@
|
|||
/****************************************************************************
|
||||
****************************************************************************
|
||||
***
|
||||
*** This header was automatically generated from a Linux kernel header
|
||||
*** of the same name, to make information necessary for userspace to
|
||||
*** call into the kernel available to libc. It contains only constants,
|
||||
*** structures, and macros generated from the original header, and thus,
|
||||
*** contains no copyrightable information.
|
||||
***
|
||||
****************************************************************************
|
||||
****************************************************************************/
|
||||
#ifndef _ASM_GENERIC_SWAB_H
|
||||
#define _ASM_GENERIC_SWAB_H
|
||||
|
||||
#include <asm/bitsperlong.h>
|
||||
|
||||
#if __BITS_PER_LONG == 32
|
||||
#if defined(__GNUC__) && (!defined(__STRICT_ANSI__) || defined(__KERNEL__))
|
||||
#define __SWAB_64_THRU_32__
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#endif
|
64
libc/kernel/common/linux/if_addr.h
Normal file
64
libc/kernel/common/linux/if_addr.h
Normal file
|
@ -0,0 +1,64 @@
|
|||
/****************************************************************************
|
||||
****************************************************************************
|
||||
***
|
||||
*** This header was automatically generated from a Linux kernel header
|
||||
*** of the same name, to make information necessary for userspace to
|
||||
*** call into the kernel available to libc. It contains only constants,
|
||||
*** structures, and macros generated from the original header, and thus,
|
||||
*** contains no copyrightable information.
|
||||
***
|
||||
****************************************************************************
|
||||
****************************************************************************/
|
||||
#ifndef __LINUX_IF_ADDR_H
|
||||
#define __LINUX_IF_ADDR_H
|
||||
|
||||
#include <linux/types.h>
|
||||
#include <linux/netlink.h>
|
||||
|
||||
struct ifaddrmsg
|
||||
{
|
||||
__u8 ifa_family;
|
||||
__u8 ifa_prefixlen;
|
||||
__u8 ifa_flags;
|
||||
__u8 ifa_scope;
|
||||
__u32 ifa_index;
|
||||
};
|
||||
|
||||
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)
|
||||
|
||||
#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_DADFAILED 0x08
|
||||
#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;
|
||||
__u32 tstamp;
|
||||
};
|
||||
|
||||
#define IFA_RTA(r) ((struct rtattr*)(((char*)(r)) + NLMSG_ALIGN(sizeof(struct ifaddrmsg))))
|
||||
#define IFA_PAYLOAD(n) NLMSG_PAYLOAD(n,sizeof(struct ifaddrmsg))
|
||||
|
||||
#endif
|
|
@ -39,6 +39,7 @@
|
|||
#define ARPHRD_ROSE 270
|
||||
#define ARPHRD_X25 271
|
||||
#define ARPHRD_HWX25 272
|
||||
#define ARPHRD_CAN 280
|
||||
#define ARPHRD_PPP 512
|
||||
#define ARPHRD_CISCO 513
|
||||
#define ARPHRD_HDLC ARPHRD_CISCO
|
||||
|
@ -72,6 +73,10 @@
|
|||
#define ARPHRD_IEEE80211 801
|
||||
#define ARPHRD_IEEE80211_PRISM 802
|
||||
#define ARPHRD_IEEE80211_RADIOTAP 803
|
||||
#define ARPHRD_IEEE802154 804
|
||||
|
||||
#define ARPHRD_PHONET 820
|
||||
#define ARPHRD_PHONET_PIPE 821
|
||||
|
||||
#define ARPHRD_VOID 0xFFFF
|
||||
#define ARPHRD_NONE 0xFFFE
|
||||
|
@ -108,11 +113,11 @@ struct arpreq_old {
|
|||
|
||||
struct arphdr
|
||||
{
|
||||
unsigned short ar_hrd;
|
||||
unsigned short ar_pro;
|
||||
__be16 ar_hrd;
|
||||
__be16 ar_pro;
|
||||
unsigned char ar_hln;
|
||||
unsigned char ar_pln;
|
||||
unsigned short ar_op;
|
||||
__be16 ar_op;
|
||||
|
||||
};
|
||||
|
||||
|
|
|
@ -19,6 +19,7 @@
|
|||
#define ETH_ZLEN 60
|
||||
#define ETH_DATA_LEN 1500
|
||||
#define ETH_FRAME_LEN 1514
|
||||
#define ETH_FCS_LEN 4
|
||||
|
||||
#define ETH_P_LOOP 0x0060
|
||||
#define ETH_P_PUP 0x0200
|
||||
|
@ -37,12 +38,14 @@
|
|||
#define ETH_P_DIAG 0x6005
|
||||
#define ETH_P_CUST 0x6006
|
||||
#define ETH_P_SCA 0x6007
|
||||
#define ETH_P_TEB 0x6558
|
||||
#define ETH_P_RARP 0x8035
|
||||
#define ETH_P_ATALK 0x809B
|
||||
#define ETH_P_AARP 0x80F3
|
||||
#define ETH_P_8021Q 0x8100
|
||||
#define ETH_P_IPX 0x8137
|
||||
#define ETH_P_IPV6 0x86DD
|
||||
#define ETH_P_PAUSE 0x8808
|
||||
#define ETH_P_SLOW 0x8809
|
||||
#define ETH_P_WCCP 0x883E
|
||||
#define ETH_P_PPP_DISC 0x8863
|
||||
|
@ -51,8 +54,13 @@
|
|||
#define ETH_P_MPLS_MC 0x8848
|
||||
#define ETH_P_ATMMPOA 0x884c
|
||||
#define ETH_P_ATMFATE 0x8884
|
||||
#define ETH_P_PAE 0x888E
|
||||
#define ETH_P_AOE 0x88A2
|
||||
#define ETH_P_TIPC 0x88CA
|
||||
#define ETH_P_1588 0x88F7
|
||||
#define ETH_P_FCOE 0x8906
|
||||
#define ETH_P_FIP 0x8914
|
||||
#define ETH_P_EDSA 0xDADA
|
||||
|
||||
#define ETH_P_802_3 0x0001
|
||||
#define ETH_P_AX25 0x0002
|
||||
|
@ -63,6 +71,7 @@
|
|||
#define ETH_P_WAN_PPP 0x0007
|
||||
#define ETH_P_PPP_MP 0x0008
|
||||
#define ETH_P_LOCALTALK 0x0009
|
||||
#define ETH_P_CAN 0x000C
|
||||
#define ETH_P_PPPTALK 0x0010
|
||||
#define ETH_P_TR_802_2 0x0011
|
||||
#define ETH_P_MOBITEX 0x0015
|
||||
|
@ -71,6 +80,10 @@
|
|||
#define ETH_P_ECONET 0x0018
|
||||
#define ETH_P_HDLC 0x0019
|
||||
#define ETH_P_ARCNET 0x001A
|
||||
#define ETH_P_DSA 0x001B
|
||||
#define ETH_P_TRAILER 0x001C
|
||||
#define ETH_P_PHONET 0x00F5
|
||||
#define ETH_P_IEEE802154 0x00F6
|
||||
|
||||
struct ethhdr {
|
||||
unsigned char h_dest[ETH_ALEN];
|
||||
|
|
163
libc/kernel/common/linux/if_link.h
Normal file
163
libc/kernel/common/linux/if_link.h
Normal file
|
@ -0,0 +1,163 @@
|
|||
/****************************************************************************
|
||||
****************************************************************************
|
||||
***
|
||||
*** This header was automatically generated from a Linux kernel header
|
||||
*** of the same name, to make information necessary for userspace to
|
||||
*** call into the kernel available to libc. It contains only constants,
|
||||
*** structures, and macros generated from the original header, and thus,
|
||||
*** contains no copyrightable information.
|
||||
***
|
||||
****************************************************************************
|
||||
****************************************************************************/
|
||||
#ifndef _LINUX_IF_LINK_H
|
||||
#define _LINUX_IF_LINK_H
|
||||
|
||||
#include <linux/types.h>
|
||||
#include <linux/netlink.h>
|
||||
|
||||
struct rtnl_link_stats
|
||||
{
|
||||
__u32 rx_packets;
|
||||
__u32 tx_packets;
|
||||
__u32 rx_bytes;
|
||||
__u32 tx_bytes;
|
||||
__u32 rx_errors;
|
||||
__u32 tx_errors;
|
||||
__u32 rx_dropped;
|
||||
__u32 tx_dropped;
|
||||
__u32 multicast;
|
||||
__u32 collisions;
|
||||
|
||||
__u32 rx_length_errors;
|
||||
__u32 rx_over_errors;
|
||||
__u32 rx_crc_errors;
|
||||
__u32 rx_frame_errors;
|
||||
__u32 rx_fifo_errors;
|
||||
__u32 rx_missed_errors;
|
||||
|
||||
__u32 tx_aborted_errors;
|
||||
__u32 tx_carrier_errors;
|
||||
__u32 tx_fifo_errors;
|
||||
__u32 tx_heartbeat_errors;
|
||||
__u32 tx_window_errors;
|
||||
|
||||
__u32 rx_compressed;
|
||||
__u32 tx_compressed;
|
||||
};
|
||||
|
||||
struct rtnl_link_ifmap
|
||||
{
|
||||
__u64 mem_start;
|
||||
__u64 mem_end;
|
||||
__u64 base_addr;
|
||||
__u16 irq;
|
||||
__u8 dma;
|
||||
__u8 port;
|
||||
};
|
||||
|
||||
enum
|
||||
{
|
||||
IFLA_UNSPEC,
|
||||
IFLA_ADDRESS,
|
||||
IFLA_BROADCAST,
|
||||
IFLA_IFNAME,
|
||||
IFLA_MTU,
|
||||
IFLA_LINK,
|
||||
IFLA_QDISC,
|
||||
IFLA_STATS,
|
||||
IFLA_COST,
|
||||
#define IFLA_COST IFLA_COST
|
||||
IFLA_PRIORITY,
|
||||
#define IFLA_PRIORITY IFLA_PRIORITY
|
||||
IFLA_MASTER,
|
||||
#define IFLA_MASTER IFLA_MASTER
|
||||
IFLA_WIRELESS,
|
||||
#define IFLA_WIRELESS IFLA_WIRELESS
|
||||
IFLA_PROTINFO,
|
||||
#define IFLA_PROTINFO IFLA_PROTINFO
|
||||
IFLA_TXQLEN,
|
||||
#define IFLA_TXQLEN IFLA_TXQLEN
|
||||
IFLA_MAP,
|
||||
#define IFLA_MAP IFLA_MAP
|
||||
IFLA_WEIGHT,
|
||||
#define IFLA_WEIGHT IFLA_WEIGHT
|
||||
IFLA_OPERSTATE,
|
||||
IFLA_LINKMODE,
|
||||
IFLA_LINKINFO,
|
||||
#define IFLA_LINKINFO IFLA_LINKINFO
|
||||
IFLA_NET_NS_PID,
|
||||
IFLA_IFALIAS,
|
||||
__IFLA_MAX
|
||||
};
|
||||
|
||||
#define IFLA_MAX (__IFLA_MAX - 1)
|
||||
|
||||
#define IFLA_RTA(r) ((struct rtattr*)(((char*)(r)) + NLMSG_ALIGN(sizeof(struct ifinfomsg))))
|
||||
#define IFLA_PAYLOAD(n) NLMSG_PAYLOAD(n,sizeof(struct ifinfomsg))
|
||||
|
||||
enum
|
||||
{
|
||||
IFLA_INET6_UNSPEC,
|
||||
IFLA_INET6_FLAGS,
|
||||
IFLA_INET6_CONF,
|
||||
IFLA_INET6_STATS,
|
||||
IFLA_INET6_MCAST,
|
||||
IFLA_INET6_CACHEINFO,
|
||||
IFLA_INET6_ICMP6STATS,
|
||||
__IFLA_INET6_MAX
|
||||
};
|
||||
|
||||
#define IFLA_INET6_MAX (__IFLA_INET6_MAX - 1)
|
||||
|
||||
struct ifla_cacheinfo
|
||||
{
|
||||
__u32 max_reasm_len;
|
||||
__u32 tstamp;
|
||||
__u32 reachable_time;
|
||||
__u32 retrans_time;
|
||||
};
|
||||
|
||||
enum
|
||||
{
|
||||
IFLA_INFO_UNSPEC,
|
||||
IFLA_INFO_KIND,
|
||||
IFLA_INFO_DATA,
|
||||
IFLA_INFO_XSTATS,
|
||||
__IFLA_INFO_MAX,
|
||||
};
|
||||
|
||||
#define IFLA_INFO_MAX (__IFLA_INFO_MAX - 1)
|
||||
|
||||
enum
|
||||
{
|
||||
IFLA_VLAN_UNSPEC,
|
||||
IFLA_VLAN_ID,
|
||||
IFLA_VLAN_FLAGS,
|
||||
IFLA_VLAN_EGRESS_QOS,
|
||||
IFLA_VLAN_INGRESS_QOS,
|
||||
__IFLA_VLAN_MAX,
|
||||
};
|
||||
|
||||
#define IFLA_VLAN_MAX (__IFLA_VLAN_MAX - 1)
|
||||
|
||||
struct ifla_vlan_flags {
|
||||
__u32 flags;
|
||||
__u32 mask;
|
||||
};
|
||||
|
||||
enum
|
||||
{
|
||||
IFLA_VLAN_QOS_UNSPEC,
|
||||
IFLA_VLAN_QOS_MAPPING,
|
||||
__IFLA_VLAN_QOS_MAX
|
||||
};
|
||||
|
||||
#define IFLA_VLAN_QOS_MAX (__IFLA_VLAN_QOS_MAX - 1)
|
||||
|
||||
struct ifla_vlan_qos_mapping
|
||||
{
|
||||
__u32 from;
|
||||
__u32 to;
|
||||
};
|
||||
|
||||
#endif
|
133
libc/kernel/common/linux/neighbour.h
Normal file
133
libc/kernel/common/linux/neighbour.h
Normal file
|
@ -0,0 +1,133 @@
|
|||
/****************************************************************************
|
||||
****************************************************************************
|
||||
***
|
||||
*** This header was automatically generated from a Linux kernel header
|
||||
*** of the same name, to make information necessary for userspace to
|
||||
*** call into the kernel available to libc. It contains only constants,
|
||||
*** structures, and macros generated from the original header, and thus,
|
||||
*** contains no copyrightable information.
|
||||
***
|
||||
****************************************************************************
|
||||
****************************************************************************/
|
||||
#ifndef __LINUX_NEIGHBOUR_H
|
||||
#define __LINUX_NEIGHBOUR_H
|
||||
|
||||
#include <linux/types.h>
|
||||
#include <linux/netlink.h>
|
||||
|
||||
struct ndmsg
|
||||
{
|
||||
__u8 ndm_family;
|
||||
__u8 ndm_pad1;
|
||||
__u16 ndm_pad2;
|
||||
__s32 ndm_ifindex;
|
||||
__u16 ndm_state;
|
||||
__u8 ndm_flags;
|
||||
__u8 ndm_type;
|
||||
};
|
||||
|
||||
enum
|
||||
{
|
||||
NDA_UNSPEC,
|
||||
NDA_DST,
|
||||
NDA_LLADDR,
|
||||
NDA_CACHEINFO,
|
||||
NDA_PROBES,
|
||||
__NDA_MAX
|
||||
};
|
||||
|
||||
#define NDA_MAX (__NDA_MAX - 1)
|
||||
|
||||
#define NTF_USE 0x01
|
||||
#define NTF_PROXY 0x08
|
||||
#define NTF_ROUTER 0x80
|
||||
|
||||
#define NUD_INCOMPLETE 0x01
|
||||
#define NUD_REACHABLE 0x02
|
||||
#define NUD_STALE 0x04
|
||||
#define NUD_DELAY 0x08
|
||||
#define NUD_PROBE 0x10
|
||||
#define NUD_FAILED 0x20
|
||||
|
||||
#define NUD_NOARP 0x40
|
||||
#define NUD_PERMANENT 0x80
|
||||
#define NUD_NONE 0x00
|
||||
|
||||
struct nda_cacheinfo
|
||||
{
|
||||
__u32 ndm_confirmed;
|
||||
__u32 ndm_used;
|
||||
__u32 ndm_updated;
|
||||
__u32 ndm_refcnt;
|
||||
};
|
||||
|
||||
struct ndt_stats
|
||||
{
|
||||
__u64 ndts_allocs;
|
||||
__u64 ndts_destroys;
|
||||
__u64 ndts_hash_grows;
|
||||
__u64 ndts_res_failed;
|
||||
__u64 ndts_lookups;
|
||||
__u64 ndts_hits;
|
||||
__u64 ndts_rcv_probes_mcast;
|
||||
__u64 ndts_rcv_probes_ucast;
|
||||
__u64 ndts_periodic_gc_runs;
|
||||
__u64 ndts_forced_gc_runs;
|
||||
};
|
||||
|
||||
enum {
|
||||
NDTPA_UNSPEC,
|
||||
NDTPA_IFINDEX,
|
||||
NDTPA_REFCNT,
|
||||
NDTPA_REACHABLE_TIME,
|
||||
NDTPA_BASE_REACHABLE_TIME,
|
||||
NDTPA_RETRANS_TIME,
|
||||
NDTPA_GC_STALETIME,
|
||||
NDTPA_DELAY_PROBE_TIME,
|
||||
NDTPA_QUEUE_LEN,
|
||||
NDTPA_APP_PROBES,
|
||||
NDTPA_UCAST_PROBES,
|
||||
NDTPA_MCAST_PROBES,
|
||||
NDTPA_ANYCAST_DELAY,
|
||||
NDTPA_PROXY_DELAY,
|
||||
NDTPA_PROXY_QLEN,
|
||||
NDTPA_LOCKTIME,
|
||||
__NDTPA_MAX
|
||||
};
|
||||
#define NDTPA_MAX (__NDTPA_MAX - 1)
|
||||
|
||||
struct ndtmsg
|
||||
{
|
||||
__u8 ndtm_family;
|
||||
__u8 ndtm_pad1;
|
||||
__u16 ndtm_pad2;
|
||||
};
|
||||
|
||||
struct ndt_config
|
||||
{
|
||||
__u16 ndtc_key_len;
|
||||
__u16 ndtc_entry_size;
|
||||
__u32 ndtc_entries;
|
||||
__u32 ndtc_last_flush;
|
||||
__u32 ndtc_last_rand;
|
||||
__u32 ndtc_hash_rnd;
|
||||
__u32 ndtc_hash_mask;
|
||||
__u32 ndtc_hash_chain_gc;
|
||||
__u32 ndtc_proxy_qlen;
|
||||
};
|
||||
|
||||
enum {
|
||||
NDTA_UNSPEC,
|
||||
NDTA_NAME,
|
||||
NDTA_THRESH1,
|
||||
NDTA_THRESH2,
|
||||
NDTA_THRESH3,
|
||||
NDTA_CONFIG,
|
||||
NDTA_PARMS,
|
||||
NDTA_STATS,
|
||||
NDTA_GC_INTERVAL,
|
||||
__NDTA_MAX
|
||||
};
|
||||
#define NDTA_MAX (__NDTA_MAX - 1)
|
||||
|
||||
#endif
|
|
@ -33,8 +33,13 @@
|
|||
#define NETLINK_KOBJECT_UEVENT 15
|
||||
#define NETLINK_GENERIC 16
|
||||
|
||||
#define NETLINK_SCSITRANSPORT 18
|
||||
#define NETLINK_ECRYPTFS 19
|
||||
|
||||
#define MAX_LINKS 32
|
||||
|
||||
struct net;
|
||||
|
||||
struct sockaddr_nl
|
||||
{
|
||||
sa_family_t nl_family;
|
||||
|
@ -93,6 +98,8 @@ struct nlmsgerr
|
|||
#define NETLINK_ADD_MEMBERSHIP 1
|
||||
#define NETLINK_DROP_MEMBERSHIP 2
|
||||
#define NETLINK_PKTINFO 3
|
||||
#define NETLINK_BROADCAST_ERROR 4
|
||||
#define NETLINK_NO_ENOBUFS 5
|
||||
|
||||
struct nl_pktinfo
|
||||
{
|
||||
|
@ -112,6 +119,10 @@ struct nlattr
|
|||
__u16 nla_type;
|
||||
};
|
||||
|
||||
#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)))
|
||||
|
|
|
@ -12,6 +12,7 @@
|
|||
#ifndef __LINUX_PKT_CLS_H
|
||||
#define __LINUX_PKT_CLS_H
|
||||
|
||||
#include <linux/types.h>
|
||||
#include <linux/pkt_sched.h>
|
||||
|
||||
#define _TC_MAKE32(x) ((x))
|
||||
|
@ -179,8 +180,8 @@ enum
|
|||
|
||||
struct tc_u32_key
|
||||
{
|
||||
__u32 mask;
|
||||
__u32 val;
|
||||
__be32 mask;
|
||||
__be32 val;
|
||||
int off;
|
||||
int offmask;
|
||||
};
|
||||
|
@ -191,12 +192,12 @@ struct tc_u32_sel
|
|||
unsigned char offshift;
|
||||
unsigned char nkeys;
|
||||
|
||||
__u16 offmask;
|
||||
__be16 offmask;
|
||||
__u16 off;
|
||||
short offoff;
|
||||
|
||||
short hoff;
|
||||
__u32 hmask;
|
||||
__be32 hmask;
|
||||
struct tc_u32_key keys[0];
|
||||
};
|
||||
|
||||
|
@ -273,6 +274,7 @@ enum
|
|||
TCA_FW_POLICE,
|
||||
TCA_FW_INDEV,
|
||||
TCA_FW_ACT,
|
||||
TCA_FW_MASK,
|
||||
__TCA_FW_MAX
|
||||
};
|
||||
|
||||
|
@ -293,6 +295,56 @@ enum
|
|||
|
||||
#define TCA_TCINDEX_MAX (__TCA_TCINDEX_MAX - 1)
|
||||
|
||||
enum
|
||||
{
|
||||
FLOW_KEY_SRC,
|
||||
FLOW_KEY_DST,
|
||||
FLOW_KEY_PROTO,
|
||||
FLOW_KEY_PROTO_SRC,
|
||||
FLOW_KEY_PROTO_DST,
|
||||
FLOW_KEY_IIF,
|
||||
FLOW_KEY_PRIORITY,
|
||||
FLOW_KEY_MARK,
|
||||
FLOW_KEY_NFCT,
|
||||
FLOW_KEY_NFCT_SRC,
|
||||
FLOW_KEY_NFCT_DST,
|
||||
FLOW_KEY_NFCT_PROTO_SRC,
|
||||
FLOW_KEY_NFCT_PROTO_DST,
|
||||
FLOW_KEY_RTCLASSID,
|
||||
FLOW_KEY_SKUID,
|
||||
FLOW_KEY_SKGID,
|
||||
FLOW_KEY_VLAN_TAG,
|
||||
__FLOW_KEY_MAX,
|
||||
};
|
||||
|
||||
#define FLOW_KEY_MAX (__FLOW_KEY_MAX - 1)
|
||||
|
||||
enum
|
||||
{
|
||||
FLOW_MODE_MAP,
|
||||
FLOW_MODE_HASH,
|
||||
};
|
||||
|
||||
enum
|
||||
{
|
||||
TCA_FLOW_UNSPEC,
|
||||
TCA_FLOW_KEYS,
|
||||
TCA_FLOW_MODE,
|
||||
TCA_FLOW_BASECLASS,
|
||||
TCA_FLOW_RSHIFT,
|
||||
TCA_FLOW_ADDEND,
|
||||
TCA_FLOW_MASK,
|
||||
TCA_FLOW_XOR,
|
||||
TCA_FLOW_DIVISOR,
|
||||
TCA_FLOW_ACT,
|
||||
TCA_FLOW_POLICE,
|
||||
TCA_FLOW_EMATCHES,
|
||||
TCA_FLOW_PERTURB,
|
||||
__TCA_FLOW_MAX
|
||||
};
|
||||
|
||||
#define TCA_FLOW_MAX (__TCA_FLOW_MAX - 1)
|
||||
|
||||
enum
|
||||
{
|
||||
TCA_BASIC_UNSPEC,
|
||||
|
@ -305,6 +357,17 @@ enum
|
|||
|
||||
#define TCA_BASIC_MAX (__TCA_BASIC_MAX - 1)
|
||||
|
||||
enum
|
||||
{
|
||||
TCA_CGROUP_UNSPEC,
|
||||
TCA_CGROUP_ACT,
|
||||
TCA_CGROUP_POLICE,
|
||||
TCA_CGROUP_EMATCHES,
|
||||
__TCA_CGROUP_MAX,
|
||||
};
|
||||
|
||||
#define TCA_CGROUP_MAX (__TCA_CGROUP_MAX - 1)
|
||||
|
||||
struct tcf_ematch_tree_hdr
|
||||
{
|
||||
__u16 nmatches;
|
||||
|
@ -346,16 +409,14 @@ enum
|
|||
};
|
||||
#define TCF_LAYER_MAX (__TCF_LAYER_MAX - 1)
|
||||
|
||||
enum
|
||||
{
|
||||
TCF_EM_CONTAINER,
|
||||
TCF_EM_CMP,
|
||||
TCF_EM_NBYTE,
|
||||
TCF_EM_U32,
|
||||
TCF_EM_META,
|
||||
TCF_EM_TEXT,
|
||||
__TCF_EM_MAX
|
||||
};
|
||||
#define TCF_EM_CONTAINER 0
|
||||
#define TCF_EM_CMP 1
|
||||
#define TCF_EM_NBYTE 2
|
||||
#define TCF_EM_U32 3
|
||||
#define TCF_EM_META 4
|
||||
#define TCF_EM_TEXT 5
|
||||
#define TCF_EM_VLAN 6
|
||||
#define TCF_EM_MAX 6
|
||||
|
||||
enum
|
||||
{
|
||||
|
|
|
@ -12,6 +12,8 @@
|
|||
#ifndef __LINUX_PKT_SCHED_H
|
||||
#define __LINUX_PKT_SCHED_H
|
||||
|
||||
#include <linux/types.h>
|
||||
|
||||
#define TC_PRIO_BESTEFFORT 0
|
||||
#define TC_PRIO_FILLER 1
|
||||
#define TC_PRIO_BULK 2
|
||||
|
@ -53,12 +55,34 @@ struct tc_ratespec
|
|||
{
|
||||
unsigned char cell_log;
|
||||
unsigned char __reserved;
|
||||
unsigned short feature;
|
||||
short addend;
|
||||
unsigned short overhead;
|
||||
short cell_align;
|
||||
unsigned short mpu;
|
||||
__u32 rate;
|
||||
};
|
||||
|
||||
#define TC_RTAB_SIZE 1024
|
||||
|
||||
struct tc_sizespec {
|
||||
unsigned char cell_log;
|
||||
unsigned char size_log;
|
||||
short cell_align;
|
||||
int overhead;
|
||||
unsigned int linklayer;
|
||||
unsigned int mpu;
|
||||
unsigned int mtu;
|
||||
unsigned int tsize;
|
||||
};
|
||||
|
||||
enum {
|
||||
TCA_STAB_UNSPEC,
|
||||
TCA_STAB_BASE,
|
||||
TCA_STAB_DATA,
|
||||
__TCA_STAB_MAX
|
||||
};
|
||||
|
||||
#define TCA_STAB_MAX (__TCA_STAB_MAX - 1)
|
||||
|
||||
struct tc_fifo_qopt
|
||||
{
|
||||
__u32 limit;
|
||||
|
@ -73,6 +97,11 @@ struct tc_prio_qopt
|
|||
__u8 priomap[TC_PRIO_MAX+1];
|
||||
};
|
||||
|
||||
struct tc_multiq_qopt {
|
||||
__u16 bands;
|
||||
__u16 max_bands;
|
||||
};
|
||||
|
||||
struct tc_tbf_qopt
|
||||
{
|
||||
struct tc_ratespec rate;
|
||||
|
@ -102,6 +131,11 @@ struct tc_sfq_qopt
|
|||
unsigned flows;
|
||||
};
|
||||
|
||||
struct tc_sfq_xstats
|
||||
{
|
||||
__s32 allot;
|
||||
};
|
||||
|
||||
enum
|
||||
{
|
||||
TCA_RED_UNSPEC,
|
||||
|
@ -402,4 +436,18 @@ struct tc_netem_corrupt
|
|||
|
||||
#define NETEM_DIST_SCALE 8192
|
||||
|
||||
enum
|
||||
{
|
||||
TCA_DRR_UNSPEC,
|
||||
TCA_DRR_QUANTUM,
|
||||
__TCA_DRR_MAX
|
||||
};
|
||||
|
||||
#define TCA_DRR_MAX (__TCA_DRR_MAX - 1)
|
||||
|
||||
struct tc_drr_stats
|
||||
{
|
||||
__u32 deficit;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
|
|
@ -12,7 +12,11 @@
|
|||
#ifndef __LINUX_RTNETLINK_H
|
||||
#define __LINUX_RTNETLINK_H
|
||||
|
||||
#include <linux/types.h>
|
||||
#include <linux/netlink.h>
|
||||
#include <linux/if_link.h>
|
||||
#include <linux/if_addr.h>
|
||||
#include <linux/neighbour.h>
|
||||
|
||||
enum {
|
||||
RTM_BASE = 16,
|
||||
|
@ -85,8 +89,6 @@ enum {
|
|||
|
||||
RTM_NEWPREFIX = 52,
|
||||
#define RTM_NEWPREFIX RTM_NEWPREFIX
|
||||
RTM_GETPREFIX = 54,
|
||||
#define RTM_GETPREFIX RTM_GETPREFIX
|
||||
|
||||
RTM_GETMULTICAST = 58,
|
||||
#define RTM_GETMULTICAST RTM_GETMULTICAST
|
||||
|
@ -101,6 +103,21 @@ enum {
|
|||
RTM_SETNEIGHTBL,
|
||||
#define RTM_SETNEIGHTBL RTM_SETNEIGHTBL
|
||||
|
||||
RTM_NEWNDUSEROPT = 68,
|
||||
#define RTM_NEWNDUSEROPT RTM_NEWNDUSEROPT
|
||||
|
||||
RTM_NEWADDRLABEL = 72,
|
||||
#define RTM_NEWADDRLABEL RTM_NEWADDRLABEL
|
||||
RTM_DELADDRLABEL,
|
||||
#define RTM_DELADDRLABEL RTM_DELADDRLABEL
|
||||
RTM_GETADDRLABEL,
|
||||
#define RTM_GETADDRLABEL RTM_GETADDRLABEL
|
||||
|
||||
RTM_GETDCB = 78,
|
||||
#define RTM_GETDCB RTM_GETDCB
|
||||
RTM_SETDCB,
|
||||
#define RTM_SETDCB RTM_SETDCB
|
||||
|
||||
__RTM_MAX,
|
||||
#define RTM_MAX (((__RTM_MAX + 3) & ~3) - 1)
|
||||
};
|
||||
|
@ -172,6 +189,7 @@ enum
|
|||
#define RTPROT_DNROUTED 13
|
||||
#define RTPROT_XORP 14
|
||||
#define RTPROT_NTK 15
|
||||
#define RTPROT_DHCP 16
|
||||
|
||||
enum rt_scope_t
|
||||
{
|
||||
|
@ -192,12 +210,12 @@ enum rt_class_t
|
|||
{
|
||||
RT_TABLE_UNSPEC=0,
|
||||
|
||||
RT_TABLE_COMPAT=252,
|
||||
RT_TABLE_DEFAULT=253,
|
||||
RT_TABLE_MAIN=254,
|
||||
RT_TABLE_LOCAL=255,
|
||||
__RT_TABLE_MAX
|
||||
RT_TABLE_MAX=0xFFFFFFFF
|
||||
};
|
||||
#define RT_TABLE_MAX (__RT_TABLE_MAX - 1)
|
||||
|
||||
enum rtattr_type_t
|
||||
{
|
||||
|
@ -216,6 +234,7 @@ enum rtattr_type_t
|
|||
RTA_CACHEINFO,
|
||||
RTA_SESSION,
|
||||
RTA_MP_ALGO,
|
||||
RTA_TABLE,
|
||||
__RTA_MAX
|
||||
};
|
||||
|
||||
|
@ -286,6 +305,8 @@ enum
|
|||
#define RTAX_INITCWND RTAX_INITCWND
|
||||
RTAX_FEATURES,
|
||||
#define RTAX_FEATURES RTAX_FEATURES
|
||||
RTAX_RTO_MIN,
|
||||
#define RTAX_RTO_MIN RTAX_RTO_MIN
|
||||
__RTAX_MAX
|
||||
};
|
||||
|
||||
|
@ -318,168 +339,6 @@ struct rta_session
|
|||
} u;
|
||||
};
|
||||
|
||||
struct ifaddrmsg
|
||||
{
|
||||
unsigned char ifa_family;
|
||||
unsigned char ifa_prefixlen;
|
||||
unsigned char ifa_flags;
|
||||
unsigned char ifa_scope;
|
||||
int ifa_index;
|
||||
};
|
||||
|
||||
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)
|
||||
|
||||
#define IFA_F_SECONDARY 0x01
|
||||
#define IFA_F_TEMPORARY IFA_F_SECONDARY
|
||||
|
||||
#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;
|
||||
__u32 tstamp;
|
||||
};
|
||||
|
||||
#define IFA_RTA(r) ((struct rtattr*)(((char*)(r)) + NLMSG_ALIGN(sizeof(struct ifaddrmsg))))
|
||||
#define IFA_PAYLOAD(n) NLMSG_PAYLOAD(n,sizeof(struct ifaddrmsg))
|
||||
|
||||
struct ndmsg
|
||||
{
|
||||
unsigned char ndm_family;
|
||||
unsigned char ndm_pad1;
|
||||
unsigned short ndm_pad2;
|
||||
int ndm_ifindex;
|
||||
__u16 ndm_state;
|
||||
__u8 ndm_flags;
|
||||
__u8 ndm_type;
|
||||
};
|
||||
|
||||
enum
|
||||
{
|
||||
NDA_UNSPEC,
|
||||
NDA_DST,
|
||||
NDA_LLADDR,
|
||||
NDA_CACHEINFO,
|
||||
NDA_PROBES,
|
||||
__NDA_MAX
|
||||
};
|
||||
|
||||
#define NDA_MAX (__NDA_MAX - 1)
|
||||
|
||||
#define NDA_RTA(r) ((struct rtattr*)(((char*)(r)) + NLMSG_ALIGN(sizeof(struct ndmsg))))
|
||||
#define NDA_PAYLOAD(n) NLMSG_PAYLOAD(n,sizeof(struct ndmsg))
|
||||
|
||||
#define NTF_PROXY 0x08
|
||||
#define NTF_ROUTER 0x80
|
||||
|
||||
#define NUD_INCOMPLETE 0x01
|
||||
#define NUD_REACHABLE 0x02
|
||||
#define NUD_STALE 0x04
|
||||
#define NUD_DELAY 0x08
|
||||
#define NUD_PROBE 0x10
|
||||
#define NUD_FAILED 0x20
|
||||
|
||||
#define NUD_NOARP 0x40
|
||||
#define NUD_PERMANENT 0x80
|
||||
#define NUD_NONE 0x00
|
||||
|
||||
struct nda_cacheinfo
|
||||
{
|
||||
__u32 ndm_confirmed;
|
||||
__u32 ndm_used;
|
||||
__u32 ndm_updated;
|
||||
__u32 ndm_refcnt;
|
||||
};
|
||||
|
||||
struct ndt_stats
|
||||
{
|
||||
__u64 ndts_allocs;
|
||||
__u64 ndts_destroys;
|
||||
__u64 ndts_hash_grows;
|
||||
__u64 ndts_res_failed;
|
||||
__u64 ndts_lookups;
|
||||
__u64 ndts_hits;
|
||||
__u64 ndts_rcv_probes_mcast;
|
||||
__u64 ndts_rcv_probes_ucast;
|
||||
__u64 ndts_periodic_gc_runs;
|
||||
__u64 ndts_forced_gc_runs;
|
||||
};
|
||||
|
||||
enum {
|
||||
NDTPA_UNSPEC,
|
||||
NDTPA_IFINDEX,
|
||||
NDTPA_REFCNT,
|
||||
NDTPA_REACHABLE_TIME,
|
||||
NDTPA_BASE_REACHABLE_TIME,
|
||||
NDTPA_RETRANS_TIME,
|
||||
NDTPA_GC_STALETIME,
|
||||
NDTPA_DELAY_PROBE_TIME,
|
||||
NDTPA_QUEUE_LEN,
|
||||
NDTPA_APP_PROBES,
|
||||
NDTPA_UCAST_PROBES,
|
||||
NDTPA_MCAST_PROBES,
|
||||
NDTPA_ANYCAST_DELAY,
|
||||
NDTPA_PROXY_DELAY,
|
||||
NDTPA_PROXY_QLEN,
|
||||
NDTPA_LOCKTIME,
|
||||
__NDTPA_MAX
|
||||
};
|
||||
#define NDTPA_MAX (__NDTPA_MAX - 1)
|
||||
|
||||
struct ndtmsg
|
||||
{
|
||||
__u8 ndtm_family;
|
||||
__u8 ndtm_pad1;
|
||||
__u16 ndtm_pad2;
|
||||
};
|
||||
|
||||
struct ndt_config
|
||||
{
|
||||
__u16 ndtc_key_len;
|
||||
__u16 ndtc_entry_size;
|
||||
__u32 ndtc_entries;
|
||||
__u32 ndtc_last_flush;
|
||||
__u32 ndtc_last_rand;
|
||||
__u32 ndtc_hash_rnd;
|
||||
__u32 ndtc_hash_mask;
|
||||
__u32 ndtc_hash_chain_gc;
|
||||
__u32 ndtc_proxy_qlen;
|
||||
};
|
||||
|
||||
enum {
|
||||
NDTA_UNSPEC,
|
||||
NDTA_NAME,
|
||||
NDTA_THRESH1,
|
||||
NDTA_THRESH2,
|
||||
NDTA_THRESH3,
|
||||
NDTA_CONFIG,
|
||||
NDTA_PARMS,
|
||||
NDTA_STATS,
|
||||
NDTA_GC_INTERVAL,
|
||||
__NDTA_MAX
|
||||
};
|
||||
#define NDTA_MAX (__NDTA_MAX - 1)
|
||||
|
||||
#define NDTA_RTA(r) ((struct rtattr*)(((char*)(r)) + NLMSG_ALIGN(sizeof(struct ndtmsg))))
|
||||
#define NDTA_PAYLOAD(n) NLMSG_PAYLOAD(n,sizeof(struct ndtmsg))
|
||||
|
||||
struct rtgenmsg
|
||||
{
|
||||
unsigned char rtgen_family;
|
||||
|
@ -523,103 +382,6 @@ struct prefix_cacheinfo
|
|||
__u32 valid_time;
|
||||
};
|
||||
|
||||
struct rtnl_link_stats
|
||||
{
|
||||
__u32 rx_packets;
|
||||
__u32 tx_packets;
|
||||
__u32 rx_bytes;
|
||||
__u32 tx_bytes;
|
||||
__u32 rx_errors;
|
||||
__u32 tx_errors;
|
||||
__u32 rx_dropped;
|
||||
__u32 tx_dropped;
|
||||
__u32 multicast;
|
||||
__u32 collisions;
|
||||
|
||||
__u32 rx_length_errors;
|
||||
__u32 rx_over_errors;
|
||||
__u32 rx_crc_errors;
|
||||
__u32 rx_frame_errors;
|
||||
__u32 rx_fifo_errors;
|
||||
__u32 rx_missed_errors;
|
||||
|
||||
__u32 tx_aborted_errors;
|
||||
__u32 tx_carrier_errors;
|
||||
__u32 tx_fifo_errors;
|
||||
__u32 tx_heartbeat_errors;
|
||||
__u32 tx_window_errors;
|
||||
|
||||
__u32 rx_compressed;
|
||||
__u32 tx_compressed;
|
||||
};
|
||||
|
||||
struct rtnl_link_ifmap
|
||||
{
|
||||
__u64 mem_start;
|
||||
__u64 mem_end;
|
||||
__u64 base_addr;
|
||||
__u16 irq;
|
||||
__u8 dma;
|
||||
__u8 port;
|
||||
};
|
||||
|
||||
enum
|
||||
{
|
||||
IFLA_UNSPEC,
|
||||
IFLA_ADDRESS,
|
||||
IFLA_BROADCAST,
|
||||
IFLA_IFNAME,
|
||||
IFLA_MTU,
|
||||
IFLA_LINK,
|
||||
IFLA_QDISC,
|
||||
IFLA_STATS,
|
||||
IFLA_COST,
|
||||
#define IFLA_COST IFLA_COST
|
||||
IFLA_PRIORITY,
|
||||
#define IFLA_PRIORITY IFLA_PRIORITY
|
||||
IFLA_MASTER,
|
||||
#define IFLA_MASTER IFLA_MASTER
|
||||
IFLA_WIRELESS,
|
||||
#define IFLA_WIRELESS IFLA_WIRELESS
|
||||
IFLA_PROTINFO,
|
||||
#define IFLA_PROTINFO IFLA_PROTINFO
|
||||
IFLA_TXQLEN,
|
||||
#define IFLA_TXQLEN IFLA_TXQLEN
|
||||
IFLA_MAP,
|
||||
#define IFLA_MAP IFLA_MAP
|
||||
IFLA_WEIGHT,
|
||||
#define IFLA_WEIGHT IFLA_WEIGHT
|
||||
IFLA_OPERSTATE,
|
||||
IFLA_LINKMODE,
|
||||
__IFLA_MAX
|
||||
};
|
||||
|
||||
#define IFLA_MAX (__IFLA_MAX - 1)
|
||||
|
||||
#define IFLA_RTA(r) ((struct rtattr*)(((char*)(r)) + NLMSG_ALIGN(sizeof(struct ifinfomsg))))
|
||||
#define IFLA_PAYLOAD(n) NLMSG_PAYLOAD(n,sizeof(struct ifinfomsg))
|
||||
|
||||
enum
|
||||
{
|
||||
IFLA_INET6_UNSPEC,
|
||||
IFLA_INET6_FLAGS,
|
||||
IFLA_INET6_CONF,
|
||||
IFLA_INET6_STATS,
|
||||
IFLA_INET6_MCAST,
|
||||
IFLA_INET6_CACHEINFO,
|
||||
__IFLA_INET6_MAX
|
||||
};
|
||||
|
||||
#define IFLA_INET6_MAX (__IFLA_INET6_MAX - 1)
|
||||
|
||||
struct ifla_cacheinfo
|
||||
{
|
||||
__u32 max_reasm_len;
|
||||
__u32 tstamp;
|
||||
__u32 reachable_time;
|
||||
__u32 retrans_time;
|
||||
};
|
||||
|
||||
struct tcmsg
|
||||
{
|
||||
unsigned char tcm_family;
|
||||
|
@ -641,6 +403,7 @@ enum
|
|||
TCA_RATE,
|
||||
TCA_FCNT,
|
||||
TCA_STATS2,
|
||||
TCA_STAB,
|
||||
__TCA_MAX
|
||||
};
|
||||
|
||||
|
@ -649,6 +412,28 @@ enum
|
|||
#define TCA_RTA(r) ((struct rtattr*)(((char*)(r)) + NLMSG_ALIGN(sizeof(struct tcmsg))))
|
||||
#define TCA_PAYLOAD(n) NLMSG_PAYLOAD(n,sizeof(struct tcmsg))
|
||||
|
||||
struct nduseroptmsg
|
||||
{
|
||||
unsigned char nduseropt_family;
|
||||
unsigned char nduseropt_pad1;
|
||||
unsigned short nduseropt_opts_len;
|
||||
int nduseropt_ifindex;
|
||||
__u8 nduseropt_icmp_type;
|
||||
__u8 nduseropt_icmp_code;
|
||||
unsigned short nduseropt_pad2;
|
||||
unsigned int nduseropt_pad3;
|
||||
|
||||
};
|
||||
|
||||
enum
|
||||
{
|
||||
NDUSEROPT_UNSPEC,
|
||||
NDUSEROPT_SRCADDR,
|
||||
__NDUSEROPT_MAX
|
||||
};
|
||||
|
||||
#define NDUSEROPT_MAX (__NDUSEROPT_MAX - 1)
|
||||
|
||||
#define RTMGRP_LINK 1
|
||||
#define RTMGRP_NOTIFY 2
|
||||
#define RTMGRP_NEIGH 4
|
||||
|
@ -701,10 +486,19 @@ enum rtnetlink_groups {
|
|||
RTNLGRP_NOP2,
|
||||
RTNLGRP_DECnet_ROUTE,
|
||||
#define RTNLGRP_DECnet_ROUTE RTNLGRP_DECnet_ROUTE
|
||||
RTNLGRP_NOP3,
|
||||
RTNLGRP_DECnet_RULE,
|
||||
#define RTNLGRP_DECnet_RULE RTNLGRP_DECnet_RULE
|
||||
RTNLGRP_NOP4,
|
||||
RTNLGRP_IPV6_PREFIX,
|
||||
#define RTNLGRP_IPV6_PREFIX RTNLGRP_IPV6_PREFIX
|
||||
RTNLGRP_IPV6_RULE,
|
||||
#define RTNLGRP_IPV6_RULE RTNLGRP_IPV6_RULE
|
||||
RTNLGRP_ND_USEROPT,
|
||||
#define RTNLGRP_ND_USEROPT RTNLGRP_ND_USEROPT
|
||||
RTNLGRP_PHONET_IFADDR,
|
||||
#define RTNLGRP_PHONET_IFADDR RTNLGRP_PHONET_IFADDR
|
||||
RTNLGRP_PHONET_ROUTE,
|
||||
#define RTNLGRP_PHONET_ROUTE RTNLGRP_PHONET_ROUTE
|
||||
__RTNLGRP_MAX
|
||||
};
|
||||
#define RTNLGRP_MAX (__RTNLGRP_MAX - 1)
|
||||
|
|
80
libc/kernel/common/linux/swab.h
Normal file
80
libc/kernel/common/linux/swab.h
Normal file
|
@ -0,0 +1,80 @@
|
|||
/****************************************************************************
|
||||
****************************************************************************
|
||||
***
|
||||
*** This header was automatically generated from a Linux kernel header
|
||||
*** of the same name, to make information necessary for userspace to
|
||||
*** call into the kernel available to libc. It contains only constants,
|
||||
*** structures, and macros generated from the original header, and thus,
|
||||
*** contains no copyrightable information.
|
||||
***
|
||||
****************************************************************************
|
||||
****************************************************************************/
|
||||
#ifndef _LINUX_SWAB_H
|
||||
#define _LINUX_SWAB_H
|
||||
|
||||
#include <linux/types.h>
|
||||
#include <linux/compiler.h>
|
||||
#include <asm/swab.h>
|
||||
|
||||
#define ___constant_swab16(x) ((__u16)( (((__u16)(x) & (__u16)0x00ffU) << 8) | (((__u16)(x) & (__u16)0xff00U) >> 8)))
|
||||
|
||||
#define ___constant_swab32(x) ((__u32)( (((__u32)(x) & (__u32)0x000000ffUL) << 24) | (((__u32)(x) & (__u32)0x0000ff00UL) << 8) | (((__u32)(x) & (__u32)0x00ff0000UL) >> 8) | (((__u32)(x) & (__u32)0xff000000UL) >> 24)))
|
||||
|
||||
#define ___constant_swab64(x) ((__u64)( (((__u64)(x) & (__u64)0x00000000000000ffULL) << 56) | (((__u64)(x) & (__u64)0x000000000000ff00ULL) << 40) | (((__u64)(x) & (__u64)0x0000000000ff0000ULL) << 24) | (((__u64)(x) & (__u64)0x00000000ff000000ULL) << 8) | (((__u64)(x) & (__u64)0x000000ff00000000ULL) >> 8) | (((__u64)(x) & (__u64)0x0000ff0000000000ULL) >> 24) | (((__u64)(x) & (__u64)0x00ff000000000000ULL) >> 40) | (((__u64)(x) & (__u64)0xff00000000000000ULL) >> 56)))
|
||||
|
||||
#define ___constant_swahw32(x) ((__u32)( (((__u32)(x) & (__u32)0x0000ffffUL) << 16) | (((__u32)(x) & (__u32)0xffff0000UL) >> 16)))
|
||||
|
||||
#define ___constant_swahb32(x) ((__u32)( (((__u32)(x) & (__u32)0x00ff00ffUL) << 8) | (((__u32)(x) & (__u32)0xff00ff00UL) >> 8)))
|
||||
|
||||
#ifdef __arch_swab16
|
||||
#else
|
||||
#endif
|
||||
#ifdef __arch_swab32
|
||||
#else
|
||||
#endif
|
||||
#ifdef __arch_swab64
|
||||
#elif defined(__SWAB_64_THRU_32__)
|
||||
#else
|
||||
#endif
|
||||
#ifdef __arch_swahw32
|
||||
#else
|
||||
#endif
|
||||
#ifdef __arch_swahb32
|
||||
#else
|
||||
#endif
|
||||
#define __swab16(x) (__builtin_constant_p((__u16)(x)) ? ___constant_swab16(x) : __fswab16(x))
|
||||
#define __swab32(x) (__builtin_constant_p((__u32)(x)) ? ___constant_swab32(x) : __fswab32(x))
|
||||
#define __swab64(x) (__builtin_constant_p((__u64)(x)) ? ___constant_swab64(x) : __fswab64(x))
|
||||
#define __swahw32(x) (__builtin_constant_p((__u32)(x)) ? ___constant_swahw32(x) : __fswahw32(x))
|
||||
#define __swahb32(x) (__builtin_constant_p((__u32)(x)) ? ___constant_swahb32(x) : __fswahb32(x))
|
||||
#ifdef __arch_swab16p
|
||||
#else
|
||||
#endif
|
||||
#ifdef __arch_swab32p
|
||||
#else
|
||||
#endif
|
||||
#ifdef __arch_swab64p
|
||||
#else
|
||||
#endif
|
||||
#ifdef __arch_swahw32p
|
||||
#else
|
||||
#endif
|
||||
#ifdef __arch_swahb32p
|
||||
#else
|
||||
#endif
|
||||
#ifdef __arch_swab16s
|
||||
#else
|
||||
#endif
|
||||
#ifdef __arch_swab32s
|
||||
#else
|
||||
#endif
|
||||
#ifdef __arch_swab64s
|
||||
#else
|
||||
#endif
|
||||
#ifdef __arch_swahw32s
|
||||
#else
|
||||
#endif
|
||||
#ifdef __arch_swahb32s
|
||||
#else
|
||||
#endif
|
||||
#endif
|
Loading…
Reference in a new issue