Server IP : 104.21.87.198 / Your IP : 172.69.176.59 Web Server : Apache/2.2.15 (CentOS) System : Linux GA 2.6.32-431.1.2.0.1.el6.x86_64 #1 SMP Fri Dec 13 13:06:13 UTC 2013 x86_64 User : apache ( 48) PHP Version : 5.6.38 Disable Function : NONE MySQL : ON | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : OFF Directory : /lib/modules/2.6.32-504.16.2.el6.x86_64/source/include/linux/ |
Upload File : |
| Current File : /lib/modules/2.6.32-504.16.2.el6.x86_64/source/include/linux/netdevice.h |
/*
* 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.
*
* Definitions for the Interfaces handler.
*
* Version: @(#)dev.h 1.0.10 08/12/93
*
* Authors: Ross Biro
* Fred N. van Kempen, <waltje@uWalt.NL.Mugnet.ORG>
* Corey Minyard <wf-rch!minyard@relay.EU.net>
* Donald J. Becker, <becker@cesdis.gsfc.nasa.gov>
* Alan Cox, <alan@lxorguk.ukuu.org.uk>
* Bjorn Ekwall. <bj0rn@blox.se>
* Pekka Riikonen <priikone@poseidon.pspt.fi>
*
* 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.
*
* Moved to /usr/include/linux for NET3
*/
#ifndef _LINUX_NETDEVICE_H
#define _LINUX_NETDEVICE_H
#include <linux/if.h>
#include <linux/if_ether.h>
#include <linux/if_packet.h>
#include <linux/if_link.h>
#ifdef __KERNEL__
#include <linux/timer.h>
#include <linux/delay.h>
#include <linux/mm.h>
#include <asm/atomic.h>
#include <asm/cache.h>
#include <asm/byteorder.h>
#include <linux/device.h>
#include <linux/percpu.h>
#include <linux/rculist.h>
#include <linux/dmaengine.h>
#include <linux/workqueue.h>
#include <linux/ethtool.h>
#include <net/net_namespace.h>
#include <net/dsa.h>
#ifdef CONFIG_DCB
#include <net/dcbnl.h>
#endif
#ifndef __GENKSYMS__
#include <net/netprio_cgroup.h>
#include <linux/neighbour.h>
#endif
struct vlan_group;
struct netpoll_info;
/* 802.11 specific */
struct wireless_dev;
/* source back-compat hooks */
#define SET_ETHTOOL_OPS(netdev,ops) \
( (netdev)->ethtool_ops = (ops) )
#define HAVE_ALLOC_NETDEV /* feature macro: alloc_xxxdev
functions are available. */
#define HAVE_FREE_NETDEV /* free_netdev() */
#define HAVE_NETDEV_PRIV /* netdev_priv() */
#define NET_XMIT_SUCCESS 0
#define NET_XMIT_DROP 1 /* skb dropped */
#define NET_XMIT_CN 2 /* congestion notification */
#define NET_XMIT_POLICED 3 /* skb is shot by police */
#define NET_XMIT_MASK 0xFFFF /* qdisc flags in net/sch_generic.h */
/* hardware address assignment types */
#define NET_ADDR_PERM 0 /* address is permanent (default) */
#define NET_ADDR_RANDOM 1 /* address is generated randomly */
#define NET_ADDR_STOLEN 2 /* address is stolen from other device */
/* Backlog congestion levels */
#define NET_RX_SUCCESS 0 /* keep 'em coming, baby */
#define NET_RX_DROP 1 /* packet dropped */
/* NET_XMIT_CN is special. It does not guarantee that this packet is lost. It
* indicates that the device will soon be dropping packets, or already drops
* some packets of the same priority; prompting us to send less aggressively. */
#define net_xmit_eval(e) ((e) == NET_XMIT_CN? 0 : (e))
#define net_xmit_errno(e) ((e) != NET_XMIT_CN ? -ENOBUFS : 0)
/* Driver transmit return codes */
enum netdev_tx {
NETDEV_TX_OK = 0, /* driver took care of packet */
NETDEV_TX_BUSY, /* driver tx path was busy*/
NETDEV_TX_LOCKED = -1, /* driver tx lock was already taken */
};
typedef enum netdev_tx netdev_tx_t;
#endif
#define MAX_ADDR_LEN 32 /* Largest hardware address length */
#ifdef __KERNEL__
/*
* Compute the worst case header length according to the protocols
* used.
*/
#if defined(CONFIG_WLAN_80211) || defined(CONFIG_AX25) || defined(CONFIG_AX25_MODULE)
# if defined(CONFIG_MAC80211_MESH)
# define LL_MAX_HEADER 128
# else
# define LL_MAX_HEADER 96
# endif
#elif defined(CONFIG_TR) || defined(CONFIG_TR_MODULE)
# define LL_MAX_HEADER 48
#else
# define LL_MAX_HEADER 32
#endif
#if !defined(CONFIG_NET_IPIP) && !defined(CONFIG_NET_IPIP_MODULE) && \
!defined(CONFIG_NET_IPGRE) && !defined(CONFIG_NET_IPGRE_MODULE) && \
!defined(CONFIG_IPV6_SIT) && !defined(CONFIG_IPV6_SIT_MODULE) && \
!defined(CONFIG_IPV6_TUNNEL) && !defined(CONFIG_IPV6_TUNNEL_MODULE)
#define MAX_HEADER LL_MAX_HEADER
#else
#define MAX_HEADER (LL_MAX_HEADER + 48)
#endif
/*
* Old network device statistics. Fields are native words
* (unsigned long) so they can be read and written atomically.
*/
struct net_device_stats {
unsigned long rx_packets;
unsigned long tx_packets;
unsigned long rx_bytes;
unsigned long tx_bytes;
unsigned long rx_errors;
unsigned long tx_errors;
unsigned long rx_dropped;
unsigned long tx_dropped;
unsigned long multicast;
unsigned long collisions;
unsigned long rx_length_errors;
unsigned long rx_over_errors;
unsigned long rx_crc_errors;
unsigned long rx_frame_errors;
unsigned long rx_fifo_errors;
unsigned long rx_missed_errors;
unsigned long tx_aborted_errors;
unsigned long tx_carrier_errors;
unsigned long tx_fifo_errors;
unsigned long tx_heartbeat_errors;
unsigned long tx_window_errors;
unsigned long rx_compressed;
unsigned long tx_compressed;
};
#endif /* __KERNEL__ */
/* Media selection options. */
enum {
IF_PORT_UNKNOWN = 0,
IF_PORT_10BASE2,
IF_PORT_10BASET,
IF_PORT_AUI,
IF_PORT_100BASET,
IF_PORT_100BASETX,
IF_PORT_100BASEFX
};
#ifdef __KERNEL__
#include <linux/cache.h>
#include <linux/skbuff.h>
struct neighbour;
struct neigh_parms;
struct sk_buff;
struct netif_rx_stats
{
unsigned total;
unsigned dropped;
unsigned time_squeeze;
unsigned cpu_collision;
unsigned received_rps;
};
DECLARE_PER_CPU(struct netif_rx_stats, netdev_rx_stat);
struct dev_addr_list
{
struct dev_addr_list *next;
u8 da_addr[MAX_ADDR_LEN];
u8 da_addrlen;
u8 da_synced;
int da_users;
int da_gusers;
};
/*
* We tag multicasts with these structures.
*/
#define dev_mc_list dev_addr_list
#define dmi_addr da_addr
#define dmi_addrlen da_addrlen
#define dmi_users da_users
#define dmi_gusers da_gusers
struct netdev_hw_addr {
struct list_head list;
unsigned char addr[MAX_ADDR_LEN];
unsigned char type;
#define NETDEV_HW_ADDR_T_LAN 1
#define NETDEV_HW_ADDR_T_SAN 2
#define NETDEV_HW_ADDR_T_SLAVE 3
#define NETDEV_HW_ADDR_T_UNICAST 4
int refcount;
bool synced;
struct rcu_head rcu_head;
};
struct netdev_hw_addr_list {
struct list_head list;
int count;
};
#define netdev_uc_count(dev) ((dev)->uc.count)
#define netdev_uc_empty(dev) ((dev)->uc.count == 0)
#define netdev_for_each_uc_addr(ha, dev) \
list_for_each_entry(ha, &dev->uc.list, list)
#define netdev_mc_count(dev) ((dev)->mc_count)
#define netdev_mc_empty(dev) (netdev_mc_count(dev) == 0)
#define netdev_for_each_mc_addr(mclist, dev) \
for (mclist = dev->mc_list; mclist; mclist = mclist->next)
struct hh_cache {
struct hh_cache *hh_next; /* Next entry */
atomic_t hh_refcnt; /* number of users */
/*
* We want hh_output, hh_len, hh_lock and hh_data be a in a separate
* cache line on SMP.
* They are mostly read, but hh_refcnt may be changed quite frequently,
* incurring cache line ping pongs.
*/
__be16 hh_type ____cacheline_aligned_in_smp;
/* protocol identifier, f.e ETH_P_IP
* NOTE: For VLANs, this will be the
* encapuslated type. --BLG
*/
u16 hh_len; /* length of header */
int (*hh_output)(struct sk_buff *skb);
seqlock_t hh_lock;
/* cached hardware header; allow for machine alignment needs. */
#define HH_DATA_MOD 16
#define HH_DATA_OFF(__len) \
(HH_DATA_MOD - (((__len - 1) & (HH_DATA_MOD - 1)) + 1))
#define HH_DATA_ALIGN(__len) \
(((__len)+(HH_DATA_MOD-1))&~(HH_DATA_MOD - 1))
unsigned long hh_data[HH_DATA_ALIGN(LL_MAX_HEADER) / sizeof(long)];
};
/* Reserve HH_DATA_MOD byte aligned hard_header_len, but at least that much.
* Alternative is:
* dev->hard_header_len ? (dev->hard_header_len +
* (HH_DATA_MOD - 1)) & ~(HH_DATA_MOD - 1) : 0
*
* We could use other alignment values, but we must maintain the
* relationship HH alignment <= LL alignment.
*
* LL_ALLOCATED_SPACE also takes into account the tailroom the device
* may need.
*/
#define LL_RESERVED_SPACE(dev) \
((((dev)->hard_header_len+(dev)->needed_headroom)&~(HH_DATA_MOD - 1)) + HH_DATA_MOD)
#define LL_RESERVED_SPACE_EXTRA(dev,extra) \
((((dev)->hard_header_len+(dev)->needed_headroom+(extra))&~(HH_DATA_MOD - 1)) + HH_DATA_MOD)
#define LL_ALLOCATED_SPACE(dev) \
((((dev)->hard_header_len+(dev)->needed_headroom+(dev)->needed_tailroom)&~(HH_DATA_MOD - 1)) + HH_DATA_MOD)
struct header_ops {
int (*create) (struct sk_buff *skb, struct net_device *dev,
unsigned short type, const void *daddr,
const void *saddr, unsigned len);
int (*parse)(const struct sk_buff *skb, unsigned char *haddr);
int (*rebuild)(struct sk_buff *skb);
#define HAVE_HEADER_CACHE
int (*cache)(const struct neighbour *neigh, struct hh_cache *hh);
void (*cache_update)(struct hh_cache *hh,
const struct net_device *dev,
const unsigned char *haddr);
};
/* These flag bits are private to the generic network queueing
* layer, they may not be explicitly referenced by any other
* code.
*/
enum netdev_state_t
{
__LINK_STATE_START,
__LINK_STATE_PRESENT,
__LINK_STATE_NOCARRIER,
__LINK_STATE_LINKWATCH_PENDING,
__LINK_STATE_DORMANT,
};
/*
* This structure holds at boot time configured netdevice settings. They
* are then used in the device probing.
*/
struct netdev_boot_setup {
char name[IFNAMSIZ];
struct ifmap map;
};
#define NETDEV_BOOT_SETUP_MAX 8
extern int __init netdev_boot_setup(char *str);
/*
* Structure for NAPI scheduling similar to tasklet but with weighting
*/
struct napi_struct {
/* The poll_list must only be managed by the entity which
* changes the state of the NAPI_STATE_SCHED bit. This means
* whoever atomically sets that bit can add this napi_struct
* to the per-cpu poll_list, and whoever clears that bit
* can remove from the list right before clearing the bit.
*/
struct list_head poll_list;
unsigned long state;
int weight;
int (*poll)(struct napi_struct *, int);
#ifdef CONFIG_NETPOLL
spinlock_t poll_lock;
int poll_owner;
#endif
unsigned int gro_count;
struct net_device *dev;
struct list_head dev_list;
struct sk_buff *gro_list;
struct sk_buff *skb;
#ifndef __GENKSYMS__
struct hlist_node napi_hash_node;
unsigned int napi_id;
#endif
};
enum
{
NAPI_STATE_SCHED, /* Poll is scheduled */
NAPI_STATE_DISABLE, /* Disable pending */
NAPI_STATE_NPSVC, /* Netpoll - don't dequeue from poll_list */
NAPI_STATE_HASHED, /* In NAPI hash */
};
enum gro_result {
GRO_MERGED,
GRO_MERGED_FREE,
GRO_HELD,
GRO_NORMAL,
GRO_DROP,
};
/*
* Make gro_result_t a separate type for the sparse checker.
* This helps avoid confusion between napi_gro_frags{,_gr}
* and similar function pairs we have in RHEL.
*/
typedef enum gro_result __bitwise__ gro_result_t;
#define GRO_MERGED ((__force gro_result_t) GRO_MERGED)
#define GRO_MERGED_FREE ((__force gro_result_t) GRO_MERGED_FREE)
#define GRO_HELD ((__force gro_result_t) GRO_HELD)
#define GRO_NORMAL ((__force gro_result_t) GRO_NORMAL)
#define GRO_DROP ((__force gro_result_t) GRO_DROP)
extern void __napi_schedule(struct napi_struct *n);
static inline int napi_disable_pending(struct napi_struct *n)
{
return test_bit(NAPI_STATE_DISABLE, &n->state);
}
/**
* napi_schedule_prep - check if napi can be scheduled
* @n: napi context
*
* Test if NAPI routine is already running, and if not mark
* it as running. This is used as a condition variable
* insure only one NAPI poll instance runs. We also make
* sure there is no pending NAPI disable.
*/
static inline int napi_schedule_prep(struct napi_struct *n)
{
return !napi_disable_pending(n) &&
!test_and_set_bit(NAPI_STATE_SCHED, &n->state);
}
/**
* napi_schedule - schedule NAPI poll
* @n: napi context
*
* Schedule NAPI poll routine to be called if it is not already
* running.
*/
static inline void napi_schedule(struct napi_struct *n)
{
if (napi_schedule_prep(n))
__napi_schedule(n);
}
/* Try to reschedule poll. Called by dev->poll() after napi_complete(). */
static inline int napi_reschedule(struct napi_struct *napi)
{
if (napi_schedule_prep(napi)) {
__napi_schedule(napi);
return 1;
}
return 0;
}
/**
* napi_complete - NAPI processing complete
* @n: napi context
*
* Mark NAPI processing as complete.
*/
extern void __napi_complete(struct napi_struct *n);
extern void napi_complete(struct napi_struct *n);
/**
* napi_by_id - lookup a NAPI by napi_id
* @napi_id: hashed napi_id
*
* lookup @napi_id in napi_hash table
* must be called under rcu_read_lock()
*/
extern struct napi_struct *napi_by_id(unsigned int napi_id);
/**
* napi_hash_add - add a NAPI to global hashtable
* @napi: napi context
*
* generate a new napi_id and store a @napi under it in napi_hash
*/
extern void napi_hash_add(struct napi_struct *napi);
/**
* napi_hash_del - remove a NAPI from global table
* @napi: napi context
*
* Warning: caller must observe rcu grace period
* before freeing memory containing @napi
*/
extern void napi_hash_del(struct napi_struct *napi);
/**
* napi_disable - prevent NAPI from scheduling
* @n: napi context
*
* Stop NAPI from being scheduled on this context.
* Waits till any outstanding processing completes.
*/
static inline void napi_disable(struct napi_struct *n)
{
set_bit(NAPI_STATE_DISABLE, &n->state);
while (test_and_set_bit(NAPI_STATE_SCHED, &n->state))
msleep(1);
clear_bit(NAPI_STATE_DISABLE, &n->state);
}
/**
* napi_enable - enable NAPI scheduling
* @n: napi context
*
* Resume NAPI from being scheduled on this context.
* Must be paired with napi_disable.
*/
static inline void napi_enable(struct napi_struct *n)
{
BUG_ON(!test_bit(NAPI_STATE_SCHED, &n->state));
smp_mb__before_clear_bit();
clear_bit(NAPI_STATE_SCHED, &n->state);
}
#ifdef CONFIG_SMP
/**
* napi_synchronize - wait until NAPI is not running
* @n: napi context
*
* Wait until NAPI is done being scheduled on this context.
* Waits till any outstanding processing completes but
* does not disable future activations.
*/
static inline void napi_synchronize(const struct napi_struct *n)
{
while (test_bit(NAPI_STATE_SCHED, &n->state))
msleep(1);
}
#else
# define napi_synchronize(n) barrier()
#endif
enum netdev_queue_state_t
{
__QUEUE_STATE_XOFF,
__QUEUE_STATE_FROZEN,
};
struct netdev_queue {
/*
* read mostly part
*/
struct net_device *dev;
struct Qdisc *qdisc;
unsigned long state;
struct Qdisc *qdisc_sleeping;
/*
* write mostly part
*/
spinlock_t _xmit_lock ____cacheline_aligned_in_smp;
int xmit_lock_owner;
/*
* please use this field instead of dev->trans_start
*/
unsigned long trans_start;
unsigned long tx_bytes;
unsigned long tx_packets;
unsigned long tx_dropped;
} ____cacheline_aligned_in_smp;
/*
* This structure holds an RPS map which can be of variable length. The
* map is an array of CPUs.
*/
struct rps_map {
unsigned int len;
struct rcu_head rcu;
u16 cpus[0];
};
#define RPS_MAP_SIZE(_num) (sizeof(struct rps_map) + ((_num) * sizeof(u16)))
/*
* This structure holds an XPS map which can be of variable length. The
* map is an array of queues.
*/
struct xps_map {
unsigned int len;
unsigned int alloc_len;
struct rcu_head rcu;
u16 queues[0];
};
#define XPS_MAP_SIZE(_num) (sizeof(struct xps_map) + ((_num) * sizeof(u16)))
#define XPS_MIN_MAP_ALLOC ((L1_CACHE_BYTES - sizeof(struct xps_map)) \
/ sizeof(u16))
/*
* This structure holds all XPS maps for device. Maps are indexed by CPU.
*/
struct xps_dev_maps {
struct rcu_head rcu;
struct xps_map *cpu_map[0];
};
#define XPS_DEV_MAPS_SIZE (sizeof(struct xps_dev_maps) + \
(nr_cpu_ids * sizeof(struct xps_map *)))
/*
* The rps_dev_flow structure contains the mapping of a flow to a CPU, the
* tail pointer for that CPU's input queue at the time of last enqueue, and
* a hardware filter index.
*/
struct rps_dev_flow {
u16 cpu;
u16 filter;
unsigned int last_qtail;
};
#define RPS_NO_FILTER 0xffff
/*
* The rps_dev_flow_table structure contains a table of flow mappings.
*/
struct rps_dev_flow_table {
unsigned int mask;
struct rcu_head rcu;
struct work_struct free_work;
struct rps_dev_flow flows[0];
};
#define RPS_DEV_FLOW_TABLE_SIZE(_num) (sizeof(struct rps_dev_flow_table) + \
((_num) * sizeof(struct rps_dev_flow)))
/*
* The rps_sock_flow_table contains mappings of flows to the last CPU
* on which they were processed by the application (set in recvmsg).
*/
struct rps_sock_flow_table {
unsigned int mask;
u16 ents[0];
};
#define RPS_SOCK_FLOW_TABLE_SIZE(_num) (sizeof(struct rps_sock_flow_table) + \
((_num) * sizeof(u16)))
#define RPS_NO_CPU 0xffff
static inline void rps_record_sock_flow(struct rps_sock_flow_table *table,
u32 hash)
{
if (table && hash) {
unsigned int cpu, index = hash & table->mask;
/* We only give a hint, preemption can change cpu under us */
cpu = raw_smp_processor_id();
if (table->ents[index] != cpu)
table->ents[index] = cpu;
}
}
static inline void rps_reset_sock_flow(struct rps_sock_flow_table *table,
u32 hash)
{
if (table && hash)
table->ents[hash & table->mask] = RPS_NO_CPU;
}
extern struct rps_sock_flow_table *rps_sock_flow_table;
#ifdef CONFIG_RFS_ACCEL
extern bool rps_may_expire_flow(struct net_device *dev, u16 rxq_index,
u32 flow_id, u16 filter_id);
#endif
/* This structure contains an instance of an RX queue. */
struct netdev_rx_queue {
struct rps_map *rps_map;
struct rps_dev_flow_table *rps_flow_table;
struct kobject kobj;
struct net_device *dev;
} ____cacheline_aligned_in_smp;
#define TC_MAX_QUEUE 16
#define TC_BITMASK 15
/* HW offloaded queuing disciplines txq count and offset maps */
struct netdev_tc_txq {
u16 count;
u16 offset;
};
#if defined(CONFIG_FCOE) || defined(CONFIG_FCOE_MODULE)
/*
* This structure is to hold information about the device
* configured to run FCoE protocol stack.
*/
struct netdev_fcoe_hbainfo {
char manufacturer[64];
char serial_number[64];
char hardware_version[64];
char driver_version[64];
char optionrom_version[64];
char firmware_version[64];
char model[256];
char model_description[256];
};
#endif
#define MAX_PHYS_PORT_ID_LEN 32
/* This structure holds a unique identifier to identify the
* physical port used by a netdevice.
*/
struct netdev_phys_port_id {
unsigned char id[MAX_PHYS_PORT_ID_LEN];
unsigned char id_len;
};
/*
* This structure defines the management hooks for network devices.
* The following hooks can be defined; unless noted otherwise, they are
* optional and can be filled with a null pointer.
*
* int (*ndo_init)(struct net_device *dev);
* This function is called once when network device is registered.
* The network device can use this to any late stage initializaton
* or semantic validattion. It can fail with an error code which will
* be propogated back to register_netdev
*
* void (*ndo_uninit)(struct net_device *dev);
* This function is called when device is unregistered or when registration
* fails. It is not called if init fails.
*
* int (*ndo_open)(struct net_device *dev);
* This function is called when network device transistions to the up
* state.
*
* int (*ndo_stop)(struct net_device *dev);
* This function is called when network device transistions to the down
* state.
*
* netdev_tx_t (*ndo_start_xmit)(struct sk_buff *skb,
* struct net_device *dev);
* Called when a packet needs to be transmitted.
* Must return NETDEV_TX_OK , NETDEV_TX_BUSY.
* (can also return NETDEV_TX_LOCKED iff NETIF_F_LLTX)
* Required can not be NULL.
*
* u16 (*ndo_select_queue)(struct net_device *dev, struct sk_buff *skb);
* Called to decide which queue to when device supports multiple
* transmit queues.
*
* void (*ndo_change_rx_flags)(struct net_device *dev, int flags);
* This function is called to allow device receiver to make
* changes to configuration when multicast or promiscious is enabled.
*
* void (*ndo_set_rx_mode)(struct net_device *dev);
* This function is called when the device changes either the unicast or
* multicast address filter lists.
* If the device defines this entry point, but can't enable reception
* of more than it's own unicast MAC address, then it should also set
* netdev_extended(dev)->ext_priv_flags |= IFF_NO_UNICAST_FLT to signal
* that we should enable promisc mode on this interface when we need
* to receive more than just our own MAC's Unicast address.
*
* void (*ndo_set_multicast_list)(struct net_device *dev);
* This function is called when the multicast address list changes.
*
* int (*ndo_set_mac_address)(struct net_device *dev, void *addr);
* This function is called when the Media Access Control address
* needs to be changed. If this interface is not defined, the
* mac address can not be changed.
*
* int (*ndo_validate_addr)(struct net_device *dev);
* Test if Media Access Control address is valid for the device.
*
* int (*ndo_do_ioctl)(struct net_device *dev, struct ifreq *ifr, int cmd);
* Called when a user request an ioctl which can't be handled by
* the generic interface code. If not defined ioctl's return
* not supported error code.
*
* int (*ndo_set_config)(struct net_device *dev, struct ifmap *map);
* Used to set network devices bus interface parameters. This interface
* is retained for legacy reason, new devices should use the bus
* interface (PCI) for low level management.
*
* int (*ndo_change_mtu)(struct net_device *dev, int new_mtu);
* Called when a user wants to change the Maximum Transfer Unit
* of a device. If not defined, any request to change MTU will
* will return an error.
*
* void (*ndo_tx_timeout)(struct net_device *dev);
* Callback uses when the transmitter has not made any progress
* for dev->watchdog ticks.
*
* struct rtnl_link_stats64* (*ndo_get_stats64)(struct net_device *dev,
* struct rtnl_link_stats64 *storage);
* struct net_device_stats* (*ndo_get_stats)(struct net_device *dev);
* Called when a user wants to get the network device usage
* statistics. Drivers must do one of the following:
* 1. Define @ndo_get_stats64 to fill in a zero-initialised
* rtnl_link_stats64 structure passed by the caller.
* 2. Define @ndo_get_stats to update a net_device_stats64 structure
* (which should normally be dev->stats) and return a pointer to
* it. The structure may be changed asynchronously only if each
* field is written atomically.
* 3. Update dev->stats asynchronously and atomically, and define
* neither operation.
*
* void (*ndo_vlan_rx_register)(struct net_device *dev, struct vlan_group *grp);
* If device support VLAN receive accleration
* (ie. dev->features & NETIF_F_HW_VLAN_RX), then this function is called
* when vlan groups for the device changes. Note: grp is NULL
* if no vlan's groups are being used.
*
* void (*ndo_vlan_rx_add_vid)(struct net_device *dev, unsigned short vid);
* If device support VLAN filtering (dev->features & NETIF_F_HW_VLAN_FILTER)
* this function is called when a VLAN id is registered.
*
* void (*ndo_vlan_rx_kill_vid)(struct net_device *dev, unsigned short vid);
* If device support VLAN filtering (dev->features & NETIF_F_HW_VLAN_FILTER)
* this function is called when a VLAN id is unregistered.
*
* void (*ndo_poll_controller)(struct net_device *dev);
*
* SR-IOV management functions.
* int (*ndo_set_vf_mac)(struct net_device *dev, int vf, u8* mac);
* int (*ndo_set_vf_vlan)(struct net_device *dev, int vf, u16 vlan, u8 qos);
* int (*ndo_set_vf_tx_rate)(struct net_device *dev, int vf, int rate);
* int (*ndo_set_vf_spoofchk)(struct net_device *dev, int vf, bool setting);
* int (*ndo_get_vf_config)(struct net_device *dev,
* int vf, struct ifla_vf_info *ivf);
* int (*ndo_set_vf_link_state)(struct net_device *dev, int vf, int link_state);
* int (*ndo_set_vf_port)(struct net_device *dev, int vf,
* struct nlattr *port[]);
* int (*ndo_get_vf_port)(struct net_device *dev, int vf, struct sk_buff *skb);
*
* int (*ndo_fdb_add)(struct ndmsg *ndm, struct nlattr *tb[],
* struct net_device *dev,
* const unsigned char *addr, u16 flags)
* Adds an FDB entry to dev for addr.
* int (*ndo_fdb_del)(struct ndmsg *ndm, struct nlattr *tb[],
* struct net_device *dev,
* const unsigned char *addr)
* Deletes the FDB entry from dev coresponding to addr.
* int (*ndo_fdb_dump)(struct sk_buff *skb, struct netlink_callback *cb,
* struct net_device *dev, int idx)
* Used to add FDB entries to dump requests. Implementers should add
* entries to skb and update idx with the number of entries.
*
* Feature/offload setting functions.
* u32 (*ndo_fix_features)(struct net_device *dev, u32 features);
* Adjusts the requested feature flags according to device-specific
* constraints, and returns the resulting flags. Must not modify
* the device state.
*
* int (*ndo_set_features)(struct net_device *dev, u32 features);
* Called to update device configuration to new features. Passed
* feature set might be less than what was returned by ndo_fix_features()).
* Must return >0 or -errno if it changed dev->features itself.
*
* int (*ndo_get_phys_port_id)(struct net_device *dev,
* struct netdev_phys_port_id *ppid);
* Called to get ID of physical port of this device. If driver does
* not implement this, it is assumed that the hw is not able to have
* multiple net devices on single physical port.
*/
#define HAVE_NET_DEVICE_OPS
struct net_device_ops {
int (*ndo_init)(struct net_device *dev);
void (*ndo_uninit)(struct net_device *dev);
int (*ndo_open)(struct net_device *dev);
int (*ndo_stop)(struct net_device *dev);
netdev_tx_t (*ndo_start_xmit) (struct sk_buff *skb,
struct net_device *dev);
u16 (*ndo_select_queue)(struct net_device *dev,
struct sk_buff *skb);
#define HAVE_CHANGE_RX_FLAGS
void (*ndo_change_rx_flags)(struct net_device *dev,
int flags);
#define HAVE_SET_RX_MODE
void (*ndo_set_rx_mode)(struct net_device *dev);
#define HAVE_MULTICAST
void (*ndo_set_multicast_list)(struct net_device *dev);
#define HAVE_SET_MAC_ADDR
int (*ndo_set_mac_address)(struct net_device *dev,
void *addr);
#define HAVE_VALIDATE_ADDR
int (*ndo_validate_addr)(struct net_device *dev);
#define HAVE_PRIVATE_IOCTL
int (*ndo_do_ioctl)(struct net_device *dev,
struct ifreq *ifr, int cmd);
#define HAVE_SET_CONFIG
int (*ndo_set_config)(struct net_device *dev,
struct ifmap *map);
#define HAVE_CHANGE_MTU
int (*ndo_change_mtu)(struct net_device *dev,
int new_mtu);
int (*ndo_neigh_setup)(struct net_device *dev,
struct neigh_parms *);
#define HAVE_TX_TIMEOUT
void (*ndo_tx_timeout) (struct net_device *dev);
struct net_device_stats* (*ndo_get_stats)(struct net_device *dev);
void (*ndo_vlan_rx_register)(struct net_device *dev,
struct vlan_group *grp);
void (*ndo_vlan_rx_add_vid)(struct net_device *dev,
unsigned short vid);
void (*ndo_vlan_rx_kill_vid)(struct net_device *dev,
unsigned short vid);
#ifdef CONFIG_NET_POLL_CONTROLLER
#define HAVE_NETDEV_POLL
void (*ndo_poll_controller)(struct net_device *dev);
void (*ndo_netpoll_cleanup)(struct net_device *dev);
#endif
int (*ndo_set_vf_mac)(struct net_device *dev,
int queue, u8 *mac);
int (*ndo_set_vf_vlan)(struct net_device *dev,
int queue, u16 vlan, u8 qos);
int (*ndo_set_vf_tx_rate)(struct net_device *dev,
int vf, int rate);
int (*ndo_get_vf_config)(struct net_device *dev,
int vf,
struct ifla_vf_info *ivf);
int (*ndo_set_vf_port)(struct net_device *dev,
int vf,
struct nlattr *port[]);
int (*ndo_get_vf_port)(struct net_device *dev,
int vf, struct sk_buff *skb);
#if defined(CONFIG_FCOE) || defined(CONFIG_FCOE_MODULE)
int (*ndo_fcoe_enable)(struct net_device *dev);
int (*ndo_fcoe_disable)(struct net_device *dev);
int (*ndo_fcoe_ddp_setup)(struct net_device *dev,
u16 xid,
struct scatterlist *sgl,
unsigned int sgc);
int (*ndo_fcoe_ddp_done)(struct net_device *dev,
u16 xid);
#define NETDEV_FCOE_WWNN 0
#define NETDEV_FCOE_WWPN 1
int (*ndo_fcoe_get_wwn)(struct net_device *dev,
u64 *wwn, int type);
#endif
};
/**
* struct net_device_ops_ext - structure for extending net_device_ops in RHEL
*
* New methods can be added at the end. Do not change existing ones.
*
* @size: This field should be initialized to the size of the structure
* by the drivers.
*/
struct net_device_ops_ext {
size_t size;
u32 (*ndo_fix_features)(struct net_device *dev,
u32 features);
int (*ndo_set_features)(struct net_device *dev,
u32 features);
int (*ndo_get_phys_port_id)(struct net_device *dev,
struct netdev_phys_port_id *ppid);
struct rtnl_link_stats64* (*ndo_get_stats64)(struct net_device *dev,
struct rtnl_link_stats64 *storage);
int (*ndo_set_vf_spoofchk)(struct net_device *dev,
int vf, bool setting);
int (*ndo_set_vf_link_state)(struct net_device *dev,
int vf, int link_state);
};
typedef u64 netdev_features_t;
/*
* The DEVICE structure.
* Actually, this whole structure is a big mistake. It mixes I/O
* data with strictly "high-level" data, and it has to know about
* almost every data structure used in the INET module.
*
* FIXME: cleanup struct net_device such that network protocol info
* moves out.
*/
struct net_device
{
/*
* This is the first field of the "visible" part of this structure
* (i.e. as seen by users in the "Space.c" file). It is the name
* the interface.
*/
char name[IFNAMSIZ];
/* device name hash chain */
struct hlist_node name_hlist;
/* snmp alias */
char *ifalias;
/*
* I/O specific fields
* FIXME: Merge these and struct ifmap into one
*/
unsigned long mem_end; /* shared mem end */
unsigned long mem_start; /* shared mem start */
unsigned long base_addr; /* device I/O address */
unsigned int irq; /* device IRQ number */
/*
* Some hardware also needs these fields, but they are not
* part of the usual set specified in Space.c.
*/
unsigned char if_port; /* Selectable AUI, TP,..*/
unsigned char dma; /* DMA channel */
unsigned long state;
struct list_head dev_list;
struct list_head napi_list;
/* currently active device features */
unsigned long features;
/* Net device feature bits; if you change something,
* also update netdev_features_strings[] in ethtool.c */
#define NETIF_F_SG 1 /* Scatter/gather IO. */
#define NETIF_F_IP_CSUM 2 /* Can checksum TCP/UDP over IPv4. */
#define NETIF_F_NO_CSUM 4 /* Does not require checksum. F.e. loopack. */
#define NETIF_F_HW_CSUM 8 /* Can checksum all the packets. */
#define NETIF_F_IPV6_CSUM 16 /* Can checksum TCP/UDP over IPV6 */
#define NETIF_F_HIGHDMA 32 /* Can DMA to high memory. */
#define NETIF_F_FRAGLIST 64 /* Scatter/gather IO. */
#define NETIF_F_HW_VLAN_TX 128 /* Transmit VLAN hw acceleration */
#define NETIF_F_HW_VLAN_RX 256 /* Receive VLAN hw acceleration */
#define NETIF_F_HW_VLAN_FILTER 512 /* Receive filtering on VLAN */
#define NETIF_F_VLAN_CHALLENGED 1024 /* Device cannot handle VLAN packets */
#define NETIF_F_GSO 2048 /* Enable software GSO. */
#define NETIF_F_LLTX 4096 /* LockLess TX - deprecated. Please */
/* do not use LLTX in new drivers */
#define NETIF_F_NETNS_LOCAL 8192 /* Does not change network namespaces */
#define NETIF_F_GRO 16384 /* Generic receive offload */
#define NETIF_F_LRO 32768 /* large receive offload */
/* the GSO_MASK reserves bits 16 through 23 */
#define NETIF_F_FCOE_CRC (1 << 24) /* FCoE CRC32 */
#define NETIF_F_SCTP_CSUM (1 << 25) /* SCTP checksum offload */
#define NETIF_F_FCOE_MTU (1 << 26) /* Supports max FCoE MTU, 2158 bytes*/
#define NETIF_F_NTUPLE (1 << 27) /* N-tuple filters supported */
#define NETIF_F_RXHASH (1 << 28) /* Receive hashing offload */
#define NETIF_F_RXCSUM (1 << 29) /* Receive checksumming offload */
#define NETIF_F_LOOPBACK (1 << 31) /* Enable loopback */
/* Segmentation offload features */
#define NETIF_F_GSO_SHIFT 16
#define NETIF_F_GSO_MASK 0x00ff0000
#define NETIF_F_TSO (SKB_GSO_TCPV4 << NETIF_F_GSO_SHIFT)
#define NETIF_F_UFO (SKB_GSO_UDP << NETIF_F_GSO_SHIFT)
#define NETIF_F_GSO_ROBUST (SKB_GSO_DODGY << NETIF_F_GSO_SHIFT)
#define NETIF_F_TSO_ECN (SKB_GSO_TCP_ECN << NETIF_F_GSO_SHIFT)
#define NETIF_F_TSO6 (SKB_GSO_TCPV6 << NETIF_F_GSO_SHIFT)
#define NETIF_F_FSO (SKB_GSO_FCOE << NETIF_F_GSO_SHIFT)
#define NETIF_F_GSO_GRE (SKB_GSO_GRE << NETIF_F_GSO_SHIFT)
#define NETIF_F_GSO_UDP_TUNNEL (SKB_GSO_UDP_TUNNEL << NETIF_F_GSO_SHIFT)
/* Features valid for ethtool to change */
/* = all defined minus driver/device-class-related */
#define NETIF_F_NEVER_CHANGE (NETIF_F_VLAN_CHALLENGED | \
NETIF_F_LLTX | NETIF_F_NETNS_LOCAL)
#define NETIF_F_ETHTOOL_BITS (0xbf3fffff & ~NETIF_F_NEVER_CHANGE)
/* List of features with software fallbacks. */
#define NETIF_F_GSO_SOFTWARE (NETIF_F_TSO | NETIF_F_TSO_ECN | \
NETIF_F_TSO6 | NETIF_F_UFO)
#define NETIF_F_GEN_CSUM (NETIF_F_NO_CSUM | NETIF_F_HW_CSUM)
#define NETIF_F_V4_CSUM (NETIF_F_GEN_CSUM | NETIF_F_IP_CSUM)
#define NETIF_F_V6_CSUM (NETIF_F_GEN_CSUM | NETIF_F_IPV6_CSUM)
#define NETIF_F_ALL_CSUM (NETIF_F_V4_CSUM | NETIF_F_V6_CSUM)
#define NETIF_F_ALL_TSO (NETIF_F_TSO | NETIF_F_TSO6 | NETIF_F_TSO_ECN)
/*
* If one device supports one of these features, then enable them
* for all in netdev_increment_features.
*/
#define NETIF_F_ONE_FOR_ALL (NETIF_F_GSO_SOFTWARE | NETIF_F_GSO_ROBUST | \
NETIF_F_SG | NETIF_F_HIGHDMA | \
NETIF_F_FRAGLIST | NETIF_F_VLAN_CHALLENGED)
/*
* If one device doesn't support one of these features, then disable it
* for all in netdev_increment_features.
*/
#define NETIF_F_ALL_FOR_ALL (NETIF_F_FSO)
/* changeable features with no special hardware requirements */
#define NETIF_F_SOFT_FEATURES (NETIF_F_GSO | NETIF_F_GRO)
/* Interface index. Unique device identifier */
int ifindex;
int iflink;
struct net_device_stats stats;
#ifdef CONFIG_WIRELESS_EXT
/* List of functions to handle Wireless Extensions (instead of ioctl).
* See <net/iw_handler.h> for details. Jean II */
const struct iw_handler_def * wireless_handlers;
/* Instance data managed by the core of Wireless Extensions. */
struct iw_public_data * wireless_data;
#endif
/* Management operations */
const struct net_device_ops *netdev_ops;
const struct ethtool_ops *ethtool_ops;
/* Hardware header description */
const struct header_ops *header_ops;
unsigned int flags; /* interface flags (a la BSD) */
unsigned short gflags;
unsigned short priv_flags; /* Like 'flags' but invisible to userspace. */
unsigned short padded; /* How much padding added by alloc_netdev() */
unsigned char operstate; /* RFC2863 operstate */
unsigned char link_mode; /* mapping policy to operstate */
unsigned mtu; /* interface MTU value */
unsigned short type; /* interface hardware type */
unsigned short hard_header_len; /* hardware hdr length */
/* extra head- and tailroom the hardware may need, but not in all cases
* can this be guaranteed, especially tailroom. Some cases also use
* LL_MAX_HEADER instead to allocate the skb.
*/
unsigned short needed_headroom;
unsigned short needed_tailroom;
struct net_device *master; /* Pointer to master device of a group,
* which this device is member of.
*/
/* Interface address info. */
unsigned char perm_addr[MAX_ADDR_LEN]; /* permanent hw address */
unsigned char addr_assign_type; /* hw address assignment type */
unsigned char addr_len; /* hardware address length */
unsigned short dev_id; /* for shared network cards */
struct netdev_hw_addr_list uc; /* Secondary unicast
mac addresses */
int uc_promisc;
spinlock_t addr_list_lock;
struct dev_addr_list *mc_list; /* Multicast mac addresses */
int mc_count; /* Number of installed mcasts */
unsigned int promiscuity;
unsigned int allmulti;
/* Protocol specific pointers */
#ifdef CONFIG_NET_DSA
void *dsa_ptr; /* dsa specific data */
#endif
void *atalk_ptr; /* AppleTalk link */
void *ip_ptr; /* IPv4 specific data */
void *dn_ptr; /* DECnet specific data */
void *ip6_ptr; /* IPv6 specific data */
void *ec_ptr; /* Econet specific data */
void *ax25_ptr; /* AX.25 specific data
also used by openvswitch */
struct wireless_dev *ieee80211_ptr; /* IEEE 802.11 specific data,
assign before registering */
/*
* Cache line mostly used on receive path (including eth_type_trans())
*/
unsigned long last_rx; /* Time of last Rx */
/* Interface address info used in eth_type_trans() */
unsigned char *dev_addr; /* hw address, (before bcast
because most packets are
unicast) */
struct netdev_hw_addr_list dev_addrs; /* list of device
hw addresses */
unsigned char broadcast[MAX_ADDR_LEN]; /* hw bcast add */
struct netdev_queue rx_queue;
struct netdev_queue *_tx ____cacheline_aligned_in_smp;
/* Number of TX queues allocated at alloc_netdev_mq() time */
unsigned int num_tx_queues;
/* Number of TX queues currently active in device */
unsigned int real_num_tx_queues;
/* root qdisc from userspace point of view */
struct Qdisc *qdisc;
unsigned long tx_queue_len; /* Max frames per queue allowed */
spinlock_t tx_global_lock;
/*
* One part is mostly used on xmit path (device)
*/
/* These may be needed for future network-power-down code. */
/*
* trans_start here is expensive for high speed devices on SMP,
* please use netdev_queue->trans_start instead.
*/
unsigned long trans_start; /* Time (in jiffies) of last Tx */
int watchdog_timeo; /* used by dev_watchdog() */
struct timer_list watchdog_timer;
/* Number of references to this device */
atomic_t refcnt ____cacheline_aligned_in_smp;
/* delayed register/unregister */
struct list_head todo_list;
/* device index hash chain */
struct hlist_node index_hlist;
struct net_device *link_watch_next;
/* register/unregister state machine */
enum { NETREG_UNINITIALIZED=0,
NETREG_REGISTERED, /* completed register_netdevice */
NETREG_UNREGISTERING, /* called unregister_netdevice */
NETREG_UNREGISTERED, /* completed unregister todo */
NETREG_RELEASED, /* called free_netdev */
NETREG_DUMMY, /* dummy device for NAPI poll */
} reg_state;
/* Called from unregister, can be used to call free_netdev */
void (*destructor)(struct net_device *dev);
#ifdef CONFIG_NETPOLL
struct netpoll_info *npinfo;
#endif
#ifdef CONFIG_NET_NS
/* Network namespace this network device is inside */
struct net *nd_net;
#endif
/* mid-layer private */
void *ml_priv;
/* bridge stuff */
struct net_bridge_port *br_port;
/* macvlan */
struct macvlan_port *macvlan_port;
/* GARP */
struct garp_port *garp_port;
/* class/net/name entry */
struct device dev;
/* space for optional statistics and wireless sysfs groups */
const struct attribute_group *sysfs_groups[3];
/* rtnetlink link ops */
const struct rtnl_link_ops *rtnl_link_ops;
/* VLAN feature mask */
unsigned long vlan_features;
/* for setting kernel sock attribute on TCP connection setup */
#define GSO_MAX_SIZE 65536
unsigned int gso_max_size;
#ifdef CONFIG_DCB
/* Data Center Bridging netlink ops */
const struct dcbnl_rtnl_ops *dcbnl_ops;
#endif
#if defined(CONFIG_FCOE) || defined(CONFIG_FCOE_MODULE)
/* max exchange id for FCoE LRO by ddp */
unsigned int fcoe_ddp_xid;
#endif
};
#define to_net_dev(d) container_of(d, struct net_device, dev)
#define NETDEV_ALIGN 32
#define NET_DEVICE_SIZE \
ALIGN(sizeof(struct net_device), NETDEV_ALIGN)
/*
* To prevent KABI-breakage, few structs are added to extend the original
* struct net_device. Also few helpers are added:
* netdev_extended_frozen_get_dev
* - used to get pointer to net_device from frozen extend pointer
* netdev_extended_frozen-
* - should be used to access items in struct net_device_extended_frozen
* netdev_extended
* - should be used to access items in struct net_device_extended
*
* Structures are supposed to be located in memory in following way:
* struct net_device_extended_frozen - for storing pointer to extension
* struct net_device - original struct
* driver priv
* struct net_device_extended - extend to store additional values.
*/
struct netdev_tx_queue_extended {
struct netdev_queue *q;
struct kobject kobj;
};
struct netdev_rps_info {
struct kset *queues_kset;
struct netdev_rx_queue *_rx;
/* Number of RX queues allocated at alloc_netdev_mq() time */
unsigned int num_rx_queues;
};
struct netdev_rfs_info {
#ifdef CONFIG_RFS_ACCEL
/* CPU reverse-mapping for RX completion interrupts, indexed
* by RX queue number. Assigned by driver. This must only be
* set if the ndo_rx_flow_steer operation is defined.
*/
struct cpu_rmap *rx_cpu_rmap;
/* RFS acceleration.
* int (*ndo_rx_flow_steer)(struct net_device *dev,
* const struct sk_buff *skb,
* u16 rxq_index, u32 flow_id);
* Set hardware filter for RFS. rxq_index is the target queue index;
* flow_id is a flow ID to be passed to rps_may_expire_flow() later.
* Return the filter ID on success, or a negative error code.
*/
int (*ndo_rx_flow_steer)(struct net_device *dev,
const struct sk_buff *skb,
u16 rxq_index,
u32 flow_id);
#endif
};
struct netdev_qos_info {
u8 num_tc;
struct netdev_tc_txq tc_to_txq[TC_MAX_QUEUE];
u8 prio_tc_map[TC_BITMASK + 1];
};
struct netdev_netpoll_ext_info {
int (*ndo_netpoll_setup)(struct net_device *dev,
struct netpoll_info *info);
};
struct netdev_priomap_info {
#ifdef CONFIG_NETPRIO_CGROUP
struct netprio_map *priomap;
#endif
};
/* Only append, do not change existing! */
struct net_device_extended {
struct xps_dev_maps *xps_maps;
struct netdev_tx_queue_extended *_tx_ext;
struct netdev_rps_info rps_data;
struct netdev_qos_info qos_data;
unsigned long ext_priv_flags;
struct netdev_priomap_info priomap_data;
#if defined(CONFIG_FCOE) || defined(CONFIG_FCOE_MODULE)
int (*ndo_fcoe_get_hbainfo)(struct net_device *dev,
struct netdev_fcoe_hbainfo *hbainfo);
#endif
struct netdev_netpoll_ext_info netpoll_data;
unsigned int real_num_rx_queues;
const struct ethtool_ops_ext *ethtool_ops_ext;
#if defined(CONFIG_FCOE) || defined(CONFIG_FCOE_MODULE)
int (*ndo_fcoe_ddp_target)(struct net_device *dev,
u16 xid,
struct scatterlist *sgl,
unsigned int sgc);
#endif
int (*ndo_fdb_add)(struct ndmsg *ndm,
struct nlattr *tb[],
struct net_device *dev,
const unsigned char *addr,
u16 flags);
int (*ndo_fdb_del)(struct ndmsg *ndm,
struct nlattr *tb[],
struct net_device *dev,
const unsigned char *addr);
int (*ndo_fdb_dump)(struct sk_buff *skb,
struct netlink_callback *cb,
struct net_device *dev,
int idx);
struct list_head unreg_list;
struct net_device *dev;
struct net *src_net;
struct netdev_rfs_info rfs_data;
#define GSO_MAX_SEGS 65535
u16 gso_max_segs;
#ifdef CONFIG_NET_RX_BUSY_POLL
int (*ndo_busy_poll)(struct napi_struct *dev);
#endif
const struct net_device_ops_ext *netdev_ops_ext;
/* user-changeable features */
u32 hw_features;
/* user-requested features */
u32 wanted_features;
};
#define NET_DEVICE_EXTENDED_SIZE \
ALIGN(sizeof(struct net_device_extended), NETDEV_ALIGN)
/* Do not add anything here! */
struct net_device_extended_frozen {
struct net_device_extended *dev_ext; /* Pointer to net_device extension */
};
#define NET_DEVICE_EXTENDED_FROZEN_SIZE \
ALIGN(sizeof(struct net_device_extended_frozen), NETDEV_ALIGN)
static inline struct net_device *
netdev_extended_frozen_get_dev(const struct net_device_extended_frozen *dev_ext_frozen)
{
return (struct net_device *)
(((char *) dev_ext_frozen) +
NET_DEVICE_EXTENDED_FROZEN_SIZE);
}
static inline struct net_device_extended_frozen *
netdev_extended_frozen(const struct net_device *dev)
{
return (struct net_device_extended_frozen *)
(((char *) dev) - NET_DEVICE_EXTENDED_FROZEN_SIZE);
}
static inline struct net_device_extended *
netdev_extended(const struct net_device *dev)
{
return netdev_extended_frozen(dev)->dev_ext;
}
extern void set_netdev_hw_features(struct net_device *, u32);
extern u32 get_netdev_hw_features(struct net_device *);
extern void set_netdev_ops_ext(struct net_device *, const struct net_device_ops_ext *);
extern const struct net_device_ops_ext *get_netdev_ops_ext(const struct net_device *);
#define GET_NETDEV_OP_EXT(dev, op) \
({ const struct net_device_ops_ext *ops = get_netdev_ops_ext(dev); \
ops && (offsetof(struct net_device_ops_ext, op) < ops->size) ? \
ops->op : NULL; })
extern void set_ethtool_ops_ext(struct net_device *, const struct ethtool_ops_ext *);
extern const struct ethtool_ops_ext *get_ethtool_ops_ext(const struct net_device *);
#define GET_ETHTOOL_OP_EXT(net, op) \
({ const struct ethtool_ops_ext *ops = get_ethtool_ops_ext(net); \
ops && (offsetof(struct ethtool_ops_ext, op) < ops->size) ? \
ops->op : NULL; })
static inline
int netdev_get_prio_tc_map(const struct net_device *dev, u32 prio)
{
return netdev_extended(dev)->qos_data.prio_tc_map[prio & TC_BITMASK];
}
static inline
int netdev_set_prio_tc_map(struct net_device *dev, u8 prio, u8 tc)
{
struct netdev_qos_info *qos = &netdev_extended(dev)->qos_data;
if (tc >= qos->num_tc)
return -EINVAL;
qos->prio_tc_map[prio & TC_BITMASK] = tc & TC_BITMASK;
return 0;
}
static inline
void netdev_reset_tc(struct net_device *dev)
{
struct netdev_qos_info *qos = &netdev_extended(dev)->qos_data;
qos->num_tc = 0;
memset(qos->tc_to_txq, 0, sizeof(qos->tc_to_txq));
memset(qos->prio_tc_map, 0, sizeof(qos->prio_tc_map));
}
static inline
int netdev_set_tc_queue(struct net_device *dev, u8 tc, u16 count, u16 offset)
{
struct netdev_qos_info *qos = &netdev_extended(dev)->qos_data;
if (tc >= qos->num_tc)
return -EINVAL;
qos->tc_to_txq[tc].count = count;
qos->tc_to_txq[tc].offset = offset;
return 0;
}
static inline
int netdev_set_num_tc(struct net_device *dev, u8 num_tc)
{
if (num_tc > TC_MAX_QUEUE)
return -EINVAL;
netdev_extended(dev)->qos_data.num_tc = num_tc;
return 0;
}
static inline
int netdev_get_num_tc(struct net_device *dev)
{
return netdev_extended(dev)->qos_data.num_tc;
}
static inline
struct netdev_queue *netdev_get_tx_queue(const struct net_device *dev,
unsigned int index)
{
return &dev->_tx[index];
}
static inline void netdev_for_each_tx_queue(struct net_device *dev,
void (*f)(struct net_device *,
struct netdev_queue *,
void *),
void *arg)
{
unsigned int i;
for (i = 0; i < dev->num_tx_queues; i++)
f(dev, &dev->_tx[i], arg);
}
extern struct netdev_queue *netdev_pick_tx(struct net_device *dev,
struct sk_buff *skb);
extern u16 __netdev_pick_tx(struct net_device *dev, struct sk_buff *skb);
/*
* Net namespace inlines
*/
static inline
struct net *dev_net(const struct net_device *dev)
{
#ifdef CONFIG_NET_NS
return dev->nd_net;
#else
return &init_net;
#endif
}
static inline
void dev_net_set(struct net_device *dev, struct net *net)
{
#ifdef CONFIG_NET_NS
release_net(dev->nd_net);
dev->nd_net = hold_net(net);
#endif
}
static inline bool netdev_uses_dsa_tags(struct net_device *dev)
{
#ifdef CONFIG_NET_DSA_TAG_DSA
if (dev->dsa_ptr != NULL)
return dsa_uses_dsa_tags(dev->dsa_ptr);
#endif
return 0;
}
static inline bool netdev_uses_trailer_tags(struct net_device *dev)
{
#ifdef CONFIG_NET_DSA_TAG_TRAILER
if (dev->dsa_ptr != NULL)
return dsa_uses_trailer_tags(dev->dsa_ptr);
#endif
return 0;
}
/**
* netdev_priv - access network device private data
* @dev: network device
*
* Get network device private data
*/
static inline void *netdev_priv(const struct net_device *dev)
{
return (char *)dev + ALIGN(sizeof(struct net_device), NETDEV_ALIGN);
}
/* Set the sysfs physical device reference for the network logical device
* if set prior to registration will cause a symlink during initialization.
*/
#define SET_NETDEV_DEV(net, pdev) ((net)->dev.parent = (pdev))
/* Set the sysfs device type for the network logical device to allow
* fin grained indentification of different network device types. For
* example Ethernet, Wirelss LAN, Bluetooth, WiMAX etc.
*/
#define SET_NETDEV_DEVTYPE(net, devtype) ((net)->dev.type = (devtype))
/* Default NAPI poll() weight
* Device drivers are strongly advised to not use bigger value
*/
#define NAPI_POLL_WEIGHT 64
/**
* netif_napi_add - initialize a napi context
* @dev: network device
* @napi: napi context
* @poll: polling function
* @weight: default weight
*
* netif_napi_add() must be used to initialize a napi context prior to calling
* *any* of the other napi related functions.
*/
void netif_napi_add(struct net_device *dev, struct napi_struct *napi,
int (*poll)(struct napi_struct *, int), int weight);
/**
* netif_napi_del - remove a napi context
* @napi: napi context
*
* netif_napi_del() removes a napi context from the network device napi list
*/
void netif_napi_del(struct napi_struct *napi);
struct napi_gro_cb {
/* Virtual address of skb_shinfo(skb)->frags[0].page + offset. */
void *frag0;
/* Length of frag0. */
unsigned int frag0_len;
/* This indicates where we are processing relative to skb->data. */
int data_offset;
/* This is non-zero if the packet may be of the same flow. */
int same_flow;
/* This is non-zero if the packet cannot be merged with the new skb. */
int flush;
/* Number of segments aggregated. */
int count;
/* Free the skb? */
int free;
};
#define NAPI_GRO_CB(skb) ((struct napi_gro_cb *)(skb)->cb)
struct packet_type {
__be16 type; /* This is really htons(ether_type). */
struct net_device *dev; /* NULL is wildcarded here */
int (*func) (struct sk_buff *,
struct net_device *,
struct packet_type *,
struct net_device *);
struct sk_buff *(*gso_segment)(struct sk_buff *skb,
int features);
int (*gso_send_check)(struct sk_buff *skb);
struct sk_buff **(*gro_receive)(struct sk_buff **head,
struct sk_buff *skb);
int (*gro_complete)(struct sk_buff *skb);
void *af_packet_priv;
struct list_head list;
};
struct packet_offload {
__be16 type; /* This is really htons(ether_type). */
struct sk_buff *(*gso_segment)(struct sk_buff *skb,
int features);
int (*gso_send_check)(struct sk_buff *skb);
struct sk_buff **(*gro_receive)(struct sk_buff **head,
struct sk_buff *skb);
int (*gro_complete)(struct sk_buff *skb);
struct list_head list;
};
#include <linux/interrupt.h>
#include <linux/notifier.h>
extern rwlock_t dev_base_lock; /* Device list lock */
#define for_each_netdev(net, d) \
list_for_each_entry(d, &(net)->dev_base_head, dev_list)
#define for_each_netdev_safe(net, d, n) \
list_for_each_entry_safe(d, n, &(net)->dev_base_head, dev_list)
#define for_each_netdev_continue(net, d) \
list_for_each_entry_continue(d, &(net)->dev_base_head, dev_list)
#define for_each_netdev_continue_rcu(net, d) \
list_for_each_entry_continue_rcu(d, &(net)->dev_base_head, dev_list)
#define for_each_netdev_in_bond(bond, slave) \
for_each_netdev(&init_net, slave) \
if (slave->master == bond)
#define net_device_entry(lh) list_entry(lh, struct net_device, dev_list)
static inline struct net_device *next_net_device(struct net_device *dev)
{
struct list_head *lh;
struct net *net;
net = dev_net(dev);
lh = dev->dev_list.next;
return lh == &net->dev_base_head ? NULL : net_device_entry(lh);
}
static inline struct net_device *first_net_device(struct net *net)
{
return list_empty(&net->dev_base_head) ? NULL :
net_device_entry(net->dev_base_head.next);
}
extern int netdev_boot_setup_check(struct net_device *dev);
extern unsigned long netdev_boot_base(const char *prefix, int unit);
extern struct net_device *dev_getbyhwaddr(struct net *net, unsigned short type, char *hwaddr);
extern struct net_device *dev_getfirstbyhwtype(struct net *net, unsigned short type);
extern struct net_device *__dev_getfirstbyhwtype(struct net *net, unsigned short type);
extern void dev_add_pack(struct packet_type *pt);
extern void dev_remove_pack(struct packet_type *pt);
extern void __dev_remove_pack(struct packet_type *pt);
extern void dev_add_offload(struct packet_offload *po);
extern void dev_remove_offload(struct packet_offload *po);
extern void __dev_remove_offload(struct packet_offload *po);
extern struct net_device *dev_get_by_flags(struct net *net, unsigned short flags,
unsigned short mask);
extern struct net_device *dev_get_by_name(struct net *net, const char *name);
extern struct net_device *__dev_get_by_name(struct net *net, const char *name);
extern int dev_alloc_name(struct net_device *dev, const char *name);
extern int dev_open(struct net_device *dev);
extern int dev_close(struct net_device *dev);
extern void dev_disable_lro(struct net_device *dev);
extern int dev_queue_xmit(struct sk_buff *skb);
extern int register_netdevice(struct net_device *dev);
extern void unregister_netdevice(struct net_device *dev);
extern void unregister_netdevice_queue(struct net_device *dev,
struct list_head *head);
extern void unregister_netdevice_many(struct list_head *head);
extern void free_netdev(struct net_device *dev);
extern void synchronize_net(void);
extern int register_netdevice_notifier(struct notifier_block *nb);
extern int unregister_netdevice_notifier(struct notifier_block *nb);
extern int init_dummy_netdev(struct net_device *dev);
extern void netdev_resync_ops(struct net_device *dev);
extern int call_netdevice_notifiers(unsigned long val, struct net_device *dev);
extern struct net_device *dev_get_by_index(struct net *net, int ifindex);
extern struct net_device *__dev_get_by_index(struct net *net, int ifindex);
extern int dev_restart(struct net_device *dev);
#ifdef CONFIG_NETPOLL_TRAP
extern int netpoll_trap(void);
#endif
extern int skb_gro_receive(struct sk_buff **head,
struct sk_buff *skb);
extern void skb_gro_reset_offset(struct sk_buff *skb);
static inline unsigned int skb_gro_offset(const struct sk_buff *skb)
{
return NAPI_GRO_CB(skb)->data_offset;
}
static inline unsigned int skb_gro_len(const struct sk_buff *skb)
{
return skb->len - NAPI_GRO_CB(skb)->data_offset;
}
static inline void skb_gro_pull(struct sk_buff *skb, unsigned int len)
{
NAPI_GRO_CB(skb)->data_offset += len;
}
static inline void *skb_gro_header_fast(struct sk_buff *skb,
unsigned int offset)
{
return NAPI_GRO_CB(skb)->frag0 + offset;
}
static inline int skb_gro_header_hard(struct sk_buff *skb, unsigned int hlen)
{
return NAPI_GRO_CB(skb)->frag0_len < hlen;
}
static inline void *skb_gro_header_slow(struct sk_buff *skb, unsigned int hlen,
unsigned int offset)
{
if (!pskb_may_pull(skb, hlen))
return NULL;
NAPI_GRO_CB(skb)->frag0 = NULL;
NAPI_GRO_CB(skb)->frag0_len = 0;
return skb->data + offset;
}
static inline void *skb_gro_mac_header(struct sk_buff *skb)
{
return NAPI_GRO_CB(skb)->frag0 ?: skb_mac_header(skb);
}
static inline void *skb_gro_network_header(struct sk_buff *skb)
{
return (NAPI_GRO_CB(skb)->frag0 ?: skb->data) +
skb_network_offset(skb);
}
static inline int dev_hard_header(struct sk_buff *skb, struct net_device *dev,
unsigned short type,
const void *daddr, const void *saddr,
unsigned len)
{
if (!dev->header_ops || !dev->header_ops->create)
return 0;
return dev->header_ops->create(skb, dev, type, daddr, saddr, len);
}
static inline int dev_parse_header(const struct sk_buff *skb,
unsigned char *haddr)
{
const struct net_device *dev = skb->dev;
if (!dev->header_ops || !dev->header_ops->parse)
return 0;
return dev->header_ops->parse(skb, haddr);
}
typedef int gifconf_func_t(struct net_device * dev, char __user * bufptr, int len);
extern int register_gifconf(unsigned int family, gifconf_func_t * gifconf);
static inline int unregister_gifconf(unsigned int family)
{
return register_gifconf(family, NULL);
}
/*
* Incoming packets are placed on per-cpu queues so that
* no locking is needed.
*/
struct softnet_data
{
struct Qdisc *output_queue;
struct list_head poll_list;
struct sk_buff *completion_queue;
/* Elements below can be accessed between CPUs for RPS */
struct call_single_data csd ____cacheline_aligned_in_smp;
unsigned int input_queue_head;
struct sk_buff_head input_pkt_queue;
struct napi_struct backlog;
};
static inline void incr_input_queue_head(struct softnet_data *queue)
{
queue->input_queue_head++;
}
DECLARE_PER_CPU_ALIGNED(struct softnet_data, softnet_data);
#define HAVE_NETIF_QUEUE
extern void __netif_schedule(struct Qdisc *q);
static inline void netif_schedule_queue(struct netdev_queue *txq)
{
if (!test_bit(__QUEUE_STATE_XOFF, &txq->state))
__netif_schedule(txq->qdisc);
}
static inline void netif_tx_schedule_all(struct net_device *dev)
{
unsigned int i;
for (i = 0; i < dev->num_tx_queues; i++)
netif_schedule_queue(netdev_get_tx_queue(dev, i));
}
static inline void netif_tx_start_queue(struct netdev_queue *dev_queue)
{
clear_bit(__QUEUE_STATE_XOFF, &dev_queue->state);
}
/**
* netif_start_queue - allow transmit
* @dev: network device
*
* Allow upper layers to call the device hard_start_xmit routine.
*/
static inline void netif_start_queue(struct net_device *dev)
{
netif_tx_start_queue(netdev_get_tx_queue(dev, 0));
}
static inline void netif_tx_start_all_queues(struct net_device *dev)
{
unsigned int i;
for (i = 0; i < dev->num_tx_queues; i++) {
struct netdev_queue *txq = netdev_get_tx_queue(dev, i);
netif_tx_start_queue(txq);
}
}
static inline void netif_tx_wake_queue(struct netdev_queue *dev_queue)
{
#ifdef CONFIG_NETPOLL_TRAP
if (netpoll_trap()) {
netif_tx_start_queue(dev_queue);
return;
}
#endif
if (test_and_clear_bit(__QUEUE_STATE_XOFF, &dev_queue->state))
__netif_schedule(dev_queue->qdisc);
}
/**
* netif_wake_queue - restart transmit
* @dev: network device
*
* Allow upper layers to call the device hard_start_xmit routine.
* Used for flow control when transmit resources are available.
*/
static inline void netif_wake_queue(struct net_device *dev)
{
netif_tx_wake_queue(netdev_get_tx_queue(dev, 0));
}
static inline void netif_tx_wake_all_queues(struct net_device *dev)
{
unsigned int i;
for (i = 0; i < dev->num_tx_queues; i++) {
struct netdev_queue *txq = netdev_get_tx_queue(dev, i);
netif_tx_wake_queue(txq);
}
}
static inline void netif_tx_stop_queue(struct netdev_queue *dev_queue)
{
set_bit(__QUEUE_STATE_XOFF, &dev_queue->state);
}
/**
* netif_stop_queue - stop transmitted packets
* @dev: network device
*
* Stop upper layers calling the device hard_start_xmit routine.
* Used for flow control when transmit resources are unavailable.
*/
static inline void netif_stop_queue(struct net_device *dev)
{
netif_tx_stop_queue(netdev_get_tx_queue(dev, 0));
}
static inline void netif_tx_stop_all_queues(struct net_device *dev)
{
unsigned int i;
for (i = 0; i < dev->num_tx_queues; i++) {
struct netdev_queue *txq = netdev_get_tx_queue(dev, i);
netif_tx_stop_queue(txq);
}
}
static inline int netif_tx_queue_stopped(const struct netdev_queue *dev_queue)
{
return test_bit(__QUEUE_STATE_XOFF, &dev_queue->state);
}
/**
* netif_queue_stopped - test if transmit queue is flowblocked
* @dev: network device
*
* Test if transmit queue on device is currently unable to send.
*/
static inline int netif_queue_stopped(const struct net_device *dev)
{
return netif_tx_queue_stopped(netdev_get_tx_queue(dev, 0));
}
static inline int netif_tx_queue_frozen(const struct netdev_queue *dev_queue)
{
return test_bit(__QUEUE_STATE_FROZEN, &dev_queue->state);
}
static inline void netdev_tx_sent_queue(struct netdev_queue *dev_queue,
unsigned int bytes)
{
}
static inline void netdev_sent_queue(struct net_device *dev, unsigned int bytes)
{
netdev_tx_sent_queue(netdev_get_tx_queue(dev, 0), bytes);
}
static inline void netdev_tx_completed_queue(struct netdev_queue *dev_queue,
unsigned pkts, unsigned bytes)
{
}
static inline void netdev_completed_queue(struct net_device *dev,
unsigned pkts, unsigned bytes)
{
netdev_tx_completed_queue(netdev_get_tx_queue(dev, 0), pkts, bytes);
}
static inline void netdev_tx_reset_queue(struct netdev_queue *q)
{
}
static inline void netdev_reset_queue(struct net_device *dev_queue)
{
netdev_tx_reset_queue(netdev_get_tx_queue(dev_queue, 0));
}
/**
* netif_running - test if up
* @dev: network device
*
* Test if the device has been brought up.
*/
static inline int netif_running(const struct net_device *dev)
{
return test_bit(__LINK_STATE_START, &dev->state);
}
/*
* Routines to manage the subqueues on a device. We only need start
* stop, and a check if it's stopped. All other device management is
* done at the overall netdevice level.
* Also test the device if we're multiqueue.
*/
/**
* netif_start_subqueue - allow sending packets on subqueue
* @dev: network device
* @queue_index: sub queue index
*
* Start individual transmit queue of a device with multiple transmit queues.
*/
static inline void netif_start_subqueue(struct net_device *dev, u16 queue_index)
{
struct netdev_queue *txq = netdev_get_tx_queue(dev, queue_index);
netif_tx_start_queue(txq);
}
/**
* netif_stop_subqueue - stop sending packets on subqueue
* @dev: network device
* @queue_index: sub queue index
*
* Stop individual transmit queue of a device with multiple transmit queues.
*/
static inline void netif_stop_subqueue(struct net_device *dev, u16 queue_index)
{
struct netdev_queue *txq = netdev_get_tx_queue(dev, queue_index);
#ifdef CONFIG_NETPOLL_TRAP
if (netpoll_trap())
return;
#endif
netif_tx_stop_queue(txq);
}
/**
* netif_subqueue_stopped - test status of subqueue
* @dev: network device
* @queue_index: sub queue index
*
* Check individual transmit queue of a device with multiple transmit queues.
*/
static inline int __netif_subqueue_stopped(const struct net_device *dev,
u16 queue_index)
{
struct netdev_queue *txq = netdev_get_tx_queue(dev, queue_index);
return netif_tx_queue_stopped(txq);
}
static inline int netif_subqueue_stopped(const struct net_device *dev,
struct sk_buff *skb)
{
return __netif_subqueue_stopped(dev, skb_get_queue_mapping(skb));
}
/**
* netif_wake_subqueue - allow sending packets on subqueue
* @dev: network device
* @queue_index: sub queue index
*
* Resume individual transmit queue of a device with multiple transmit queues.
*/
static inline void netif_wake_subqueue(struct net_device *dev, u16 queue_index)
{
struct netdev_queue *txq = netdev_get_tx_queue(dev, queue_index);
#ifdef CONFIG_NETPOLL_TRAP
if (netpoll_trap())
return;
#endif
if (test_and_clear_bit(__QUEUE_STATE_XOFF, &txq->state))
__netif_schedule(txq->qdisc);
}
/**
* netif_is_multiqueue - test if device has multiple transmit queues
* @dev: network device
*
* Check if device has multiple transmit queues
*/
static inline int netif_is_multiqueue(const struct net_device *dev)
{
return (dev->num_tx_queues > 1);
}
extern void netif_set_real_num_tx_queues(struct net_device *dev,
unsigned int txq);
#ifdef CONFIG_RPS
extern int netif_set_real_num_rx_queues(struct net_device *dev,
unsigned int rxq);
#else
static inline int netif_set_real_num_rx_queues(struct net_device *dev,
unsigned int rxq)
{
return 0;
}
#endif
#define DEFAULT_MAX_NUM_RSS_QUEUES (8)
extern int netif_get_num_default_rss_queues(void);
static inline bool netif_is_bond_master(struct net_device *dev)
{
return dev->flags & IFF_MASTER && dev->priv_flags & IFF_BONDING;
}
static inline bool netif_is_bond_slave(struct net_device *dev)
{
return dev->flags & IFF_SLAVE && dev->priv_flags & IFF_BONDING;
}
/* Use this variant when it is known for sure that it
* is executing from hardware interrupt context or with hardware interrupts
* disabled.
*/
extern void dev_kfree_skb_irq(struct sk_buff *skb);
/* Use this variant in places where it could be invoked
* from either hardware interrupt or other context, with hardware interrupts
* either disabled or enabled.
*/
extern void dev_kfree_skb_any(struct sk_buff *skb);
#define HAVE_NETIF_RX 1
extern int netif_rx(struct sk_buff *skb);
extern int netif_rx_ni(struct sk_buff *skb);
#define HAVE_NETIF_RECEIVE_SKB 1
extern int netif_receive_skb(struct sk_buff *skb);
extern void napi_gro_flush(struct napi_struct *napi);
extern gro_result_t dev_gro_receive(struct napi_struct *napi,
struct sk_buff *skb);
extern gro_result_t napi_skb_finish(gro_result_t ret, struct sk_buff *skb);
extern int napi_gro_receive(struct napi_struct *napi,
struct sk_buff *skb);
extern gro_result_t napi_gro_receive_gr(struct napi_struct *napi,
struct sk_buff *skb);
extern void napi_reuse_skb(struct napi_struct *napi,
struct sk_buff *skb);
extern struct sk_buff * napi_get_frags(struct napi_struct *napi);
extern gro_result_t napi_frags_finish(struct napi_struct *napi,
struct sk_buff *skb,
gro_result_t ret);
extern struct sk_buff * napi_frags_skb(struct napi_struct *napi);
extern int napi_gro_frags(struct napi_struct *napi);
extern gro_result_t napi_gro_frags_gr(struct napi_struct *napi);
static inline void napi_free_frags(struct napi_struct *napi)
{
kfree_skb(napi->skb);
napi->skb = NULL;
}
extern void netif_nit_deliver(struct sk_buff *skb);
extern int dev_valid_name(const char *name);
extern int dev_ioctl(struct net *net, unsigned int cmd, void __user *);
extern int dev_ethtool(struct net *net, struct ifreq *);
extern unsigned dev_get_flags(const struct net_device *);
extern int dev_change_flags(struct net_device *, unsigned);
extern int dev_change_name(struct net_device *, const char *);
extern int dev_set_alias(struct net_device *, const char *, size_t);
extern int dev_change_net_namespace(struct net_device *,
struct net *, const char *);
extern int dev_set_mtu(struct net_device *, int);
extern int dev_set_mac_address(struct net_device *,
struct sockaddr *);
extern int dev_get_phys_port_id(struct net_device *dev,
struct netdev_phys_port_id *ppid);
extern int dev_hard_start_xmit(struct sk_buff *skb,
struct net_device *dev,
struct netdev_queue *txq);
extern int dev_forward_skb(struct net_device *dev,
struct sk_buff *skb);
extern int netdev_budget;
/* Called by rtnetlink.c:rtnl_unlock() */
extern void netdev_run_todo(void);
/**
* dev_put - release reference to device
* @dev: network device
*
* Release reference to device to allow it to be freed.
*/
static inline void dev_put(struct net_device *dev)
{
atomic_dec(&dev->refcnt);
}
/**
* dev_hold - get reference to device
* @dev: network device
*
* Hold reference to device to keep it from being freed.
*/
static inline void dev_hold(struct net_device *dev)
{
atomic_inc(&dev->refcnt);
}
/* Carrier loss detection, dial on demand. The functions netif_carrier_on
* and _off may be called from IRQ context, but it is caller
* who is responsible for serialization of these calls.
*
* The name carrier is inappropriate, these functions should really be
* called netif_lowerlayer_*() because they represent the state of any
* kind of lower layer not just hardware media.
*/
extern int linkwatch_init(void);
extern void linkwatch_fire_event(struct net_device *dev);
/**
* netif_carrier_ok - test if carrier present
* @dev: network device
*
* Check if carrier is present on device
*/
static inline int netif_carrier_ok(const struct net_device *dev)
{
return !test_bit(__LINK_STATE_NOCARRIER, &dev->state);
}
extern unsigned long dev_trans_start(struct net_device *dev);
extern void __netdev_watchdog_up(struct net_device *dev);
extern void netif_carrier_on(struct net_device *dev);
extern void netif_carrier_off(struct net_device *dev);
extern void netif_notify_peers(struct net_device *dev);
/**
* netif_dormant_on - mark device as dormant.
* @dev: network device
*
* Mark device as dormant (as per RFC2863).
*
* The dormant state indicates that the relevant interface is not
* actually in a condition to pass packets (i.e., it is not 'up') but is
* in a "pending" state, waiting for some external event. For "on-
* demand" interfaces, this new state identifies the situation where the
* interface is waiting for events to place it in the up state.
*
*/
static inline void netif_dormant_on(struct net_device *dev)
{
if (!test_and_set_bit(__LINK_STATE_DORMANT, &dev->state))
linkwatch_fire_event(dev);
}
/**
* netif_dormant_off - set device as not dormant.
* @dev: network device
*
* Device is not in dormant state.
*/
static inline void netif_dormant_off(struct net_device *dev)
{
if (test_and_clear_bit(__LINK_STATE_DORMANT, &dev->state))
linkwatch_fire_event(dev);
}
/**
* netif_dormant - test if carrier present
* @dev: network device
*
* Check if carrier is present on device
*/
static inline int netif_dormant(const struct net_device *dev)
{
return test_bit(__LINK_STATE_DORMANT, &dev->state);
}
/**
* netif_oper_up - test if device is operational
* @dev: network device
*
* Check if carrier is operational
*/
static inline int netif_oper_up(const struct net_device *dev) {
return (dev->operstate == IF_OPER_UP ||
dev->operstate == IF_OPER_UNKNOWN /* backward compat */);
}
/**
* netif_device_present - is device available or removed
* @dev: network device
*
* Check if device has not been removed from system.
*/
static inline int netif_device_present(struct net_device *dev)
{
return test_bit(__LINK_STATE_PRESENT, &dev->state);
}
extern void netif_device_detach(struct net_device *dev);
extern void netif_device_attach(struct net_device *dev);
/*
* Network interface message level settings
*/
#define HAVE_NETIF_MSG 1
enum {
NETIF_MSG_DRV = 0x0001,
NETIF_MSG_PROBE = 0x0002,
NETIF_MSG_LINK = 0x0004,
NETIF_MSG_TIMER = 0x0008,
NETIF_MSG_IFDOWN = 0x0010,
NETIF_MSG_IFUP = 0x0020,
NETIF_MSG_RX_ERR = 0x0040,
NETIF_MSG_TX_ERR = 0x0080,
NETIF_MSG_TX_QUEUED = 0x0100,
NETIF_MSG_INTR = 0x0200,
NETIF_MSG_TX_DONE = 0x0400,
NETIF_MSG_RX_STATUS = 0x0800,
NETIF_MSG_PKTDATA = 0x1000,
NETIF_MSG_HW = 0x2000,
NETIF_MSG_WOL = 0x4000,
};
#define netif_msg_drv(p) ((p)->msg_enable & NETIF_MSG_DRV)
#define netif_msg_probe(p) ((p)->msg_enable & NETIF_MSG_PROBE)
#define netif_msg_link(p) ((p)->msg_enable & NETIF_MSG_LINK)
#define netif_msg_timer(p) ((p)->msg_enable & NETIF_MSG_TIMER)
#define netif_msg_ifdown(p) ((p)->msg_enable & NETIF_MSG_IFDOWN)
#define netif_msg_ifup(p) ((p)->msg_enable & NETIF_MSG_IFUP)
#define netif_msg_rx_err(p) ((p)->msg_enable & NETIF_MSG_RX_ERR)
#define netif_msg_tx_err(p) ((p)->msg_enable & NETIF_MSG_TX_ERR)
#define netif_msg_tx_queued(p) ((p)->msg_enable & NETIF_MSG_TX_QUEUED)
#define netif_msg_intr(p) ((p)->msg_enable & NETIF_MSG_INTR)
#define netif_msg_tx_done(p) ((p)->msg_enable & NETIF_MSG_TX_DONE)
#define netif_msg_rx_status(p) ((p)->msg_enable & NETIF_MSG_RX_STATUS)
#define netif_msg_pktdata(p) ((p)->msg_enable & NETIF_MSG_PKTDATA)
#define netif_msg_hw(p) ((p)->msg_enable & NETIF_MSG_HW)
#define netif_msg_wol(p) ((p)->msg_enable & NETIF_MSG_WOL)
static inline u32 netif_msg_init(int debug_value, int default_msg_enable_bits)
{
/* use default */
if (debug_value < 0 || debug_value >= (sizeof(u32) * 8))
return default_msg_enable_bits;
if (debug_value == 0) /* no output */
return 0;
/* set low N bits */
return (1 << debug_value) - 1;
}
static inline void __netif_tx_lock(struct netdev_queue *txq, int cpu)
{
spin_lock(&txq->_xmit_lock);
txq->xmit_lock_owner = cpu;
}
static inline void __netif_tx_lock_bh(struct netdev_queue *txq)
{
spin_lock_bh(&txq->_xmit_lock);
txq->xmit_lock_owner = smp_processor_id();
}
static inline int __netif_tx_trylock(struct netdev_queue *txq)
{
int ok = spin_trylock(&txq->_xmit_lock);
if (likely(ok))
txq->xmit_lock_owner = smp_processor_id();
return ok;
}
static inline void __netif_tx_unlock(struct netdev_queue *txq)
{
txq->xmit_lock_owner = -1;
spin_unlock(&txq->_xmit_lock);
}
static inline void __netif_tx_unlock_bh(struct netdev_queue *txq)
{
txq->xmit_lock_owner = -1;
spin_unlock_bh(&txq->_xmit_lock);
}
static inline void txq_trans_update(struct netdev_queue *txq)
{
if (txq->xmit_lock_owner != -1)
txq->trans_start = jiffies;
}
/**
* netif_tx_lock - grab network device transmit lock
* @dev: network device
*
* Get network device transmit lock
*/
static inline void netif_tx_lock(struct net_device *dev)
{
unsigned int i;
int cpu;
spin_lock(&dev->tx_global_lock);
cpu = smp_processor_id();
for (i = 0; i < dev->num_tx_queues; i++) {
struct netdev_queue *txq = netdev_get_tx_queue(dev, i);
/* We are the only thread of execution doing a
* freeze, but we have to grab the _xmit_lock in
* order to synchronize with threads which are in
* the ->hard_start_xmit() handler and already
* checked the frozen bit.
*/
__netif_tx_lock(txq, cpu);
set_bit(__QUEUE_STATE_FROZEN, &txq->state);
__netif_tx_unlock(txq);
}
}
static inline void netif_tx_lock_bh(struct net_device *dev)
{
local_bh_disable();
netif_tx_lock(dev);
}
static inline void netif_tx_unlock(struct net_device *dev)
{
unsigned int i;
for (i = 0; i < dev->num_tx_queues; i++) {
struct netdev_queue *txq = netdev_get_tx_queue(dev, i);
/* No need to grab the _xmit_lock here. If the
* queue is not stopped for another reason, we
* force a schedule.
*/
clear_bit(__QUEUE_STATE_FROZEN, &txq->state);
netif_schedule_queue(txq);
}
spin_unlock(&dev->tx_global_lock);
}
static inline void netif_tx_unlock_bh(struct net_device *dev)
{
netif_tx_unlock(dev);
local_bh_enable();
}
#define HARD_TX_LOCK(dev, txq, cpu) { \
if ((dev->features & NETIF_F_LLTX) == 0) { \
__netif_tx_lock(txq, cpu); \
} \
}
#define HARD_TX_UNLOCK(dev, txq) { \
if ((dev->features & NETIF_F_LLTX) == 0) { \
__netif_tx_unlock(txq); \
} \
}
static inline void netif_tx_disable(struct net_device *dev)
{
unsigned int i;
int cpu;
local_bh_disable();
cpu = smp_processor_id();
for (i = 0; i < dev->num_tx_queues; i++) {
struct netdev_queue *txq = netdev_get_tx_queue(dev, i);
__netif_tx_lock(txq, cpu);
netif_tx_stop_queue(txq);
__netif_tx_unlock(txq);
}
local_bh_enable();
}
static inline void netif_addr_lock(struct net_device *dev)
{
spin_lock(&dev->addr_list_lock);
}
static inline void netif_addr_lock_bh(struct net_device *dev)
{
spin_lock_bh(&dev->addr_list_lock);
}
static inline void netif_addr_unlock(struct net_device *dev)
{
spin_unlock(&dev->addr_list_lock);
}
static inline void netif_addr_unlock_bh(struct net_device *dev)
{
spin_unlock_bh(&dev->addr_list_lock);
}
/*
* dev_addrs walker. Should be used only for read access. Call with
* rcu_read_lock held.
*/
#define for_each_dev_addr(dev, ha) \
list_for_each_entry_rcu(ha, &dev->dev_addrs.list, list)
/* These functions live elsewhere (drivers/net/net_init.c, but related) */
extern void ether_setup(struct net_device *dev);
/* Support for loadable net-drivers */
extern struct net_device *alloc_netdev_mq(int sizeof_priv, const char *name,
void (*setup)(struct net_device *),
unsigned int queue_count);
extern struct net_device *alloc_netdev_mqs(int sizeof_priv, const char *name,
void (*setup)(struct net_device *),
unsigned int txqs, unsigned int rxqs);
#define alloc_netdev(sizeof_priv, name, setup) \
alloc_netdev_mq(sizeof_priv, name, setup, 1)
extern int register_netdev(struct net_device *dev);
extern void unregister_netdev(struct net_device *dev);
/* Functions used for device addresses handling */
extern int dev_addr_add(struct net_device *dev, unsigned char *addr,
unsigned char addr_type);
extern int dev_addr_del(struct net_device *dev, unsigned char *addr,
unsigned char addr_type);
extern int dev_addr_add_multiple(struct net_device *to_dev,
struct net_device *from_dev,
unsigned char addr_type);
extern int dev_addr_del_multiple(struct net_device *to_dev,
struct net_device *from_dev,
unsigned char addr_type);
/* Functions used for secondary unicast and multicast support */
extern void dev_set_rx_mode(struct net_device *dev);
extern void __dev_set_rx_mode(struct net_device *dev);
extern int dev_unicast_delete(struct net_device *dev, void *addr);
extern int dev_unicast_add(struct net_device *dev, void *addr);
extern int dev_unicast_sync(struct net_device *to, struct net_device *from);
extern void dev_unicast_unsync(struct net_device *to, struct net_device *from);
extern int dev_mc_delete(struct net_device *dev, void *addr, int alen, int all);
extern int dev_mc_add(struct net_device *dev, void *addr, int alen, int newonly);
extern int dev_mc_sync(struct net_device *to, struct net_device *from);
extern void dev_mc_unsync(struct net_device *to, struct net_device *from);
extern int __dev_addr_delete(struct dev_addr_list **list, int *count, void *addr, int alen, int all);
extern int __dev_addr_add(struct dev_addr_list **list, int *count, void *addr, int alen, int newonly);
extern int __dev_addr_sync(struct dev_addr_list **to, int *to_count, struct dev_addr_list **from, int *from_count);
extern void __dev_addr_unsync(struct dev_addr_list **to, int *to_count, struct dev_addr_list **from, int *from_count);
extern int dev_set_promiscuity(struct net_device *dev, int inc);
extern int dev_set_allmulti(struct net_device *dev, int inc);
extern void netdev_state_change(struct net_device *dev);
extern void netdev_bonding_change(struct net_device *dev,
unsigned long event);
extern void netdev_features_change(struct net_device *dev);
/* Load a device via the kmod */
extern void dev_load(struct net *net, const char *name);
extern void dev_mcast_init(void);
extern const struct net_device_stats *dev_get_stats(struct net_device *dev);
extern const struct rtnl_link_stats64 *dev_get_stats64(struct net_device *dev,
struct rtnl_link_stats64 *storage);
extern void netdev_stats_to_stats64(struct rtnl_link_stats64 *stats64,
const struct net_device_stats *netdev_stats);
extern void dev_txq_stats_fold(const struct net_device *dev, struct net_device_stats *stats);
extern void dev_txq_stats_fold64(const struct net_device *dev,
struct rtnl_link_stats64 *stats);
extern int netdev_max_backlog;
extern int weight_p;
extern int netdev_set_master(struct net_device *dev, struct net_device *master);
extern int skb_checksum_help(struct sk_buff *skb);
extern struct sk_buff *skb_gso_segment(struct sk_buff *skb, int features);
extern struct sk_buff *__skb_gso_segment(struct sk_buff *skb, int features, bool tx_path);
extern struct sk_buff *skb_mac_gso_segment(struct sk_buff *skb, int features);
__be16 skb_network_protocol(struct sk_buff *skb, int *depth);
static inline bool can_checksum_protocol(int features, __be16 protocol)
{
return ((features & NETIF_F_GEN_CSUM) ||
((features & NETIF_F_V4_CSUM) &&
protocol == htons(ETH_P_IP)) ||
((features & NETIF_F_V6_CSUM) &&
protocol == htons(ETH_P_IPV6)) ||
((features & NETIF_F_FCOE_CRC) &&
protocol == htons(ETH_P_FCOE)));
}
#ifdef CONFIG_BUG
extern void netdev_rx_csum_fault(struct net_device *dev);
#else
static inline void netdev_rx_csum_fault(struct net_device *dev)
{
}
#endif
/* rx skb timestamps */
extern void net_enable_timestamp(void);
extern void net_disable_timestamp(void);
#ifdef CONFIG_PROC_FS
extern void *dev_seq_start(struct seq_file *seq, loff_t *pos);
extern void *dev_seq_next(struct seq_file *seq, void *v, loff_t *pos);
extern void dev_seq_stop(struct seq_file *seq, void *v);
#endif
extern int netdev_class_create_file(struct class_attribute *class_attr);
extern void netdev_class_remove_file(struct class_attribute *class_attr);
extern char *netdev_drivername(const struct net_device *dev, char *buffer, int len);
extern void linkwatch_run_queue(void);
static inline u32 netdev_get_wanted_features(struct net_device *dev)
{
return (dev->features & ~netdev_extended(dev)->hw_features)
| netdev_extended(dev)->wanted_features;
}
unsigned long netdev_increment_features(unsigned long all, unsigned long one,
unsigned long mask);
unsigned long netdev_fix_features(unsigned long features, const char *name);
u32 netdev_fix_features_dev(struct net_device *dev, u32 features);
int __netdev_update_features(struct net_device *dev);
void netdev_update_features(struct net_device *dev);
void netif_stacked_transfer_operstate(const struct net_device *rootdev,
struct net_device *dev);
int netif_skb_features(struct sk_buff *skb);
static inline int net_gso_ok(int features, int gso_type)
{
int feature = gso_type << NETIF_F_GSO_SHIFT;
return (features & feature) == feature;
}
static inline int skb_gso_ok(struct sk_buff *skb, int features)
{
return net_gso_ok(features, skb_shinfo(skb)->gso_type) &&
(!skb_has_frag_list(skb) || (features & NETIF_F_FRAGLIST));
}
static inline int netif_needs_gso(struct sk_buff *skb, int features)
{
return skb_is_gso(skb) && (!skb_gso_ok(skb, features) ||
unlikely(skb->ip_summed != CHECKSUM_PARTIAL));
}
static inline void netif_set_gso_max_size(struct net_device *dev,
unsigned int size)
{
dev->gso_max_size = size;
}
static inline void skb_bond_set_mac_by_master(struct sk_buff *skb,
struct net_device *master)
{
if (skb->pkt_type == PACKET_HOST) {
u16 *dest = (u16 *) eth_hdr(skb)->h_dest;
memcpy(dest, master->dev_addr, ETH_ALEN);
}
}
/* On bonding slaves other than the currently active slave, suppress
* duplicates except for 802.3ad ETH_P_SLOW, alb non-mcast/bcast, and
* ARP on active-backup slaves with arp_validate enabled.
*/
static inline int skb_bond_should_drop(struct sk_buff *skb,
struct net_device *master)
{
if (master) {
struct net_device *dev = skb->dev;
if (master->priv_flags & IFF_MASTER_ARPMON)
dev->last_rx = jiffies;
if ((master->priv_flags & IFF_MASTER_ALB) && master->br_port) {
/* Do address unmangle. The local destination address
* will be always the one master has. Provides the right
* functionality in a bridge.
*/
skb_bond_set_mac_by_master(skb, master);
}
if (dev->priv_flags & IFF_SLAVE_INACTIVE) {
if ((dev->priv_flags & IFF_SLAVE_NEEDARP) &&
skb->protocol == __cpu_to_be16(ETH_P_ARP))
return 0;
if (master->priv_flags & IFF_MASTER_ALB) {
if (skb->pkt_type != PACKET_BROADCAST &&
skb->pkt_type != PACKET_MULTICAST)
return 0;
}
if (master->priv_flags & IFF_MASTER_8023AD &&
skb->protocol == __cpu_to_be16(ETH_P_SLOW))
return 0;
return 1;
}
}
return 0;
}
extern struct net_device *br_get_br_dev_for_port_rcu(struct net_device *port_dev);
extern struct pernet_operations __net_initdata loopback_net_ops;
static inline int dev_ethtool_get_settings(struct net_device *dev,
struct ethtool_cmd *cmd)
{
if (!dev->ethtool_ops || !dev->ethtool_ops->get_settings)
return -EOPNOTSUPP;
return dev->ethtool_ops->get_settings(dev, cmd);
}
static inline u32 dev_ethtool_get_rx_csum(struct net_device *dev)
{
if (dev->features & NETIF_F_RXCSUM)
return 1;
if (!dev->ethtool_ops || !dev->ethtool_ops->get_rx_csum)
return 0;
return dev->ethtool_ops->get_rx_csum(dev);
}
static inline u32 dev_ethtool_get_flags(struct net_device *dev)
{
if (!dev->ethtool_ops || !dev->ethtool_ops->get_flags)
return 0;
return dev->ethtool_ops->get_flags(dev);
}
/* Logging, debugging and troubleshooting/diagnostic helpers. */
/* netdev_printk helpers, similar to dev_printk */
static inline const char *netdev_name(const struct net_device *dev)
{
if (dev->reg_state != NETREG_REGISTERED)
return "(unregistered net_device)";
return dev->name;
}
extern __printf(3, 4)
int netdev_printk(const char *level, const struct net_device *dev,
const char *format, ...);
extern __printf(2, 3)
int netdev_emerg(const struct net_device *dev, const char *format, ...);
extern __printf(2, 3)
int netdev_alert(const struct net_device *dev, const char *format, ...);
extern __printf(2, 3)
int netdev_crit(const struct net_device *dev, const char *format, ...);
extern __printf(2, 3)
int netdev_err(const struct net_device *dev, const char *format, ...);
extern __printf(2, 3)
int netdev_warn(const struct net_device *dev, const char *format, ...);
extern __printf(2, 3)
int netdev_notice(const struct net_device *dev, const char *format, ...);
extern __printf(2, 3)
int netdev_info(const struct net_device *dev, const char *format, ...);
#define MODULE_ALIAS_NETDEV(device) \
MODULE_ALIAS("netdev-" device)
#if defined(DEBUG)
#define netdev_dbg(__dev, format, args...) \
netdev_printk(KERN_DEBUG, __dev, format, ##args)
#elif defined(CONFIG_DYNAMIC_DEBUG)
#define netdev_dbg(__dev, format, args...) \
do { \
dynamic_dev_dbg((__dev)->dev.parent, "%s: " format, \
netdev_name(__dev), ##args); \
} while (0)
#else
#define netdev_dbg(__dev, format, args...) \
({ \
if (0) \
netdev_printk(KERN_DEBUG, __dev, format, ##args); \
0; \
})
#endif
#if defined(VERBOSE_DEBUG)
#define netdev_vdbg netdev_dbg
#else
#define netdev_vdbg(dev, format, args...) \
({ \
if (0) \
netdev_printk(KERN_DEBUG, dev, format, ##args); \
0; \
})
#endif
/*
* netdev_WARN() acts like dev_printk(), but with the key difference
* of using a WARN/WARN_ON to get the message out, including the
* file/line information and a backtrace.
*/
#define netdev_WARN(dev, format, args...) \
WARN(1, "netdevice: %s\n" format, netdev_name(dev), ##args);
/* netif printk helpers, similar to netdev_printk */
#define netif_printk(priv, type, level, dev, fmt, args...) \
do { \
if (netif_msg_##type(priv)) \
netdev_printk(level, (dev), fmt, ##args); \
} while (0)
#define netif_emerg(priv, type, dev, fmt, args...) \
netif_printk(priv, type, KERN_EMERG, dev, fmt, ##args)
#define netif_alert(priv, type, dev, fmt, args...) \
netif_printk(priv, type, KERN_ALERT, dev, fmt, ##args)
#define netif_crit(priv, type, dev, fmt, args...) \
netif_printk(priv, type, KERN_CRIT, dev, fmt, ##args)
#define netif_err(priv, type, dev, fmt, args...) \
netif_printk(priv, type, KERN_ERR, dev, fmt, ##args)
#define netif_warn(priv, type, dev, fmt, args...) \
netif_printk(priv, type, KERN_WARNING, dev, fmt, ##args)
#define netif_notice(priv, type, dev, fmt, args...) \
netif_printk(priv, type, KERN_NOTICE, dev, fmt, ##args)
#define netif_info(priv, type, dev, fmt, args...) \
netif_printk(priv, type, KERN_INFO, (dev), fmt, ##args)
#if defined(DEBUG)
#define netif_dbg(priv, type, dev, format, args...) \
netif_printk(priv, type, KERN_DEBUG, dev, format, ##args)
#elif defined(CONFIG_DYNAMIC_DEBUG)
#define netif_dbg(priv, type, netdev, format, args...) \
do { \
if (netif_msg_##type(priv)) \
dynamic_dev_dbg((netdev)->dev.parent, \
"%s: " format, \
netdev_name(netdev), ##args); \
} while (0)
#else
#define netif_dbg(priv, type, dev, format, args...) \
({ \
if (0) \
netif_printk(priv, type, KERN_DEBUG, dev, format, ##args); \
0; \
})
#endif
#if defined(VERBOSE_DEBUG)
#define netif_vdbg netdev_dbg
#else
#define netif_vdbg(priv, type, dev, format, args...) \
({ \
if (0) \
netif_printk(priv, type, KERN_DEBUG, dev, format, ##args); \
0; \
})
#endif
#endif /* __KERNEL__ */
#endif /* _LINUX_NETDEVICE_H */
| N4m3 |
5!z3 |
L45t M0d!f!3d |
0wn3r / Gr0up |
P3Rm!55!0n5 |
0pt!0n5 |
| .. |
-- |
May 30 2015 10:47:13 |
0 / 0 |
0755 |
|
| amba |
-- |
May 30 2015 10:47:11 |
0 / 0 |
0755 |
|
| bcma |
-- |
May 30 2015 10:47:11 |
0 / 0 |
0755 |
|
| byteorder |
-- |
May 30 2015 10:47:11 |
0 / 0 |
0755 |
|
| can |
-- |
May 30 2015 10:47:11 |
0 / 0 |
0755 |
|
| crypto |
-- |
May 30 2015 10:47:11 |
0 / 0 |
0755 |
|
| decompress |
-- |
May 30 2015 10:47:11 |
0 / 0 |
0755 |
|
| dvb |
-- |
May 30 2015 10:47:12 |
0 / 0 |
0755 |
|
| hdlc |
-- |
May 30 2015 10:47:12 |
0 / 0 |
0755 |
|
| i2c |
-- |
May 30 2015 10:47:12 |
0 / 0 |
0755 |
|
| input |
-- |
May 30 2015 10:47:12 |
0 / 0 |
0755 |
|
| isdn |
-- |
May 30 2015 10:47:12 |
0 / 0 |
0755 |
|
| lockd |
-- |
May 30 2015 10:47:12 |
0 / 0 |
0755 |
|
| mfd |
-- |
May 30 2015 10:47:12 |
0 / 0 |
0755 |
|
| mlx4 |
-- |
May 30 2015 10:47:12 |
0 / 0 |
0755 |
|
| mlx5 |
-- |
May 30 2015 10:47:12 |
0 / 0 |
0755 |
|
| mmc |
-- |
May 30 2015 10:47:12 |
0 / 0 |
0755 |
|
| mtd |
-- |
May 30 2015 10:47:12 |
0 / 0 |
0755 |
|
| netfilter |
-- |
May 30 2015 10:47:12 |
0 / 0 |
0755 |
|
| netfilter_arp |
-- |
May 30 2015 10:47:12 |
0 / 0 |
0755 |
|
| netfilter_bridge |
-- |
May 30 2015 10:47:12 |
0 / 0 |
0755 |
|
| netfilter_ipv4 |
-- |
May 30 2015 10:47:12 |
0 / 0 |
0755 |
|
| netfilter_ipv6 |
-- |
May 30 2015 10:47:12 |
0 / 0 |
0755 |
|
| nfsd |
-- |
May 30 2015 10:47:12 |
0 / 0 |
0755 |
|
| raid |
-- |
May 30 2015 10:47:12 |
0 / 0 |
0755 |
|
| regulator |
-- |
May 30 2015 10:47:12 |
0 / 0 |
0755 |
|
| rtc |
-- |
May 30 2015 10:47:12 |
0 / 0 |
0755 |
|
| spi |
-- |
May 30 2015 10:47:12 |
0 / 0 |
0755 |
|
| ssb |
-- |
May 30 2015 10:47:12 |
0 / 0 |
0755 |
|
| sunrpc |
-- |
May 30 2015 10:47:12 |
0 / 0 |
0755 |
|
| tc_act |
-- |
May 30 2015 10:47:12 |
0 / 0 |
0755 |
|
| tc_ematch |
-- |
May 30 2015 10:47:12 |
0 / 0 |
0755 |
|
| unaligned |
-- |
May 30 2015 10:47:12 |
0 / 0 |
0755 |
|
| usb |
-- |
May 30 2015 10:47:12 |
0 / 0 |
0755 |
|
| uwb |
-- |
May 30 2015 10:47:12 |
0 / 0 |
0755 |
|
| wimax |
-- |
May 30 2015 10:47:12 |
0 / 0 |
0755 |
|
| | | | | |
| 8250_pci.h |
0.976 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| Kbuild |
8.637 KB |
March 10 2015 20:24:13 |
0 / 0 |
0644 |
|
| a.out.h |
7.26 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| ac97_codec.h |
14.761 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| acct.h |
5.81 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| acpi.h |
13.113 KB |
March 10 2015 20:24:13 |
0 / 0 |
0644 |
|
| acpi_io.h |
0.447 KB |
March 10 2015 20:23:27 |
0 / 0 |
0644 |
|
| acpi_pmtmr.h |
0.656 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| adb.h |
2.705 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| adfs_fs.h |
1.306 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| aer.h |
1.465 KB |
March 10 2015 20:23:58 |
0 / 0 |
0644 |
|
| affs_hardblocks.h |
1.446 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| agp_backend.h |
3.451 KB |
March 10 2015 20:24:12 |
0 / 0 |
0644 |
|
| agpgart.h |
6.413 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| aio.h |
7.612 KB |
March 10 2015 20:22:11 |
0 / 0 |
0644 |
|
| aio_abi.h |
2.988 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| amifd.h |
1.948 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| amifdreg.h |
2.611 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| amigaffs.h |
2.858 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| anon_inodes.h |
0.42 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| apm-emulation.h |
1.538 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| apm_bios.h |
5.515 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| arcdevice.h |
12.427 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| arcfb.h |
0.146 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| async.h |
1.789 KB |
March 10 2015 20:23:20 |
0 / 0 |
0644 |
|
| async_tx.h |
6.766 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| ata.h |
29.514 KB |
March 10 2015 20:24:05 |
0 / 0 |
0644 |
|
| ata_platform.h |
0.889 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| atalk.h |
5.117 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| ath9k_platform.h |
1.256 KB |
March 10 2015 20:23:58 |
0 / 0 |
0644 |
|
| atm.h |
7.808 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| atm_eni.h |
0.571 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| atm_he.h |
0.335 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| atm_idt77105.h |
0.871 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| atm_nicstar.h |
1.187 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| atm_suni.h |
0.247 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| atm_tcp.h |
1.727 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| atm_zatm.h |
1.568 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| atmapi.h |
0.868 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| atmarp.h |
1.204 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| atmbr2684.h |
3.133 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| atmclip.h |
0.501 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| atmdev.h |
16.299 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| atmel-mci.h |
1.239 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| atmel-pwm-bl.h |
1.514 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| atmel-ssc.h |
9.149 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| atmel_pdc.h |
1.377 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| atmel_pwm.h |
2.66 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| atmel_serial.h |
5.944 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| atmel_tc.h |
10.815 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| atmioc.h |
1.546 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| atmlec.h |
2.501 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| atmmpc.h |
4.065 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| atmppp.h |
0.563 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| atmsap.h |
4.792 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| atmsvc.h |
1.748 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| atomic.h |
0.101 KB |
March 10 2015 20:23:24 |
0 / 0 |
0644 |
|
| attribute_container.h |
2.477 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| audit.h |
26.562 KB |
March 10 2015 20:24:07 |
0 / 0 |
0644 |
|
| auto_dev-ioctl.h |
5.064 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| auto_fs.h |
2.409 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| auto_fs4.h |
3.999 KB |
March 10 2015 20:22:42 |
0 / 0 |
0644 |
|
| autoconf.h |
112.361 KB |
April 22 2015 07:17:23 |
0 / 0 |
0644 |
|
| auxvec.h |
1.527 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| average.h |
0.638 KB |
March 10 2015 20:23:05 |
0 / 0 |
0644 |
|
| ax25.h |
2.688 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| b1lli.h |
1.615 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| b1pcmcia.h |
0.65 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| backing-dev.h |
9.318 KB |
March 10 2015 20:23:56 |
0 / 0 |
0644 |
|
| backlight.h |
3.865 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| baycom.h |
0.801 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| bcd.h |
0.19 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| bcm47xx_wdt.h |
0.37 KB |
March 10 2015 20:23:57 |
0 / 0 |
0644 |
|
| bfs_fs.h |
1.787 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| binfmts.h |
4.403 KB |
March 10 2015 20:24:04 |
0 / 0 |
0644 |
|
| bio.h |
17.319 KB |
March 10 2015 20:24:00 |
0 / 0 |
0644 |
|
| bit_spinlock.h |
2.158 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| bitmap.h |
10.856 KB |
March 10 2015 20:23:19 |
0 / 0 |
0644 |
|
| bitops.h |
6.452 KB |
March 10 2015 20:24:13 |
0 / 0 |
0644 |
|
| bitrev.h |
0.264 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| blk-iopoll.h |
1.163 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| blk_types.h |
6.939 KB |
March 10 2015 20:24:07 |
0 / 0 |
0644 |
|
| blkdev.h |
41.365 KB |
March 10 2015 20:24:15 |
0 / 0 |
0644 |
|
| blkpg.h |
1.532 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| blktrace_api.h |
7.355 KB |
March 10 2015 20:24:02 |
0 / 0 |
0644 |
|
| blockgroup_lock.h |
1.137 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| bootmem.h |
5.052 KB |
March 10 2015 20:23:11 |
0 / 0 |
0644 |
|
| bottom_half.h |
0.219 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| bounds.h |
0.264 KB |
April 22 2015 06:43:02 |
0 / 0 |
0644 |
|
| bpqether.h |
0.93 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| brcmphy.h |
0.858 KB |
March 10 2015 20:21:23 |
0 / 0 |
0644 |
|
| bsg-lib.h |
2.09 KB |
March 10 2015 20:22:36 |
0 / 0 |
0644 |
|
| bsg.h |
3.023 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| buffer_head.h |
12.333 KB |
March 10 2015 20:23:40 |
0 / 0 |
0644 |
|
| bug.h |
0.769 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| c2port.h |
1.746 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| cache.h |
1.574 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| can.h |
3.248 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| capability.h |
17.523 KB |
March 10 2015 20:24:12 |
0 / 0 |
0644 |
|
| capi.h |
3.018 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| cb710.h |
5.69 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| cciss_ioctl.h |
6.646 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| cd1400.h |
6.894 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| cdev.h |
0.661 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| cdk.h |
12.471 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| cdrom.h |
35.375 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| cfag12864b.h |
2.097 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| cgroup.h |
18.665 KB |
March 10 2015 20:23:34 |
0 / 0 |
0644 |
|
| cgroup_subsys.h |
0.846 KB |
March 10 2015 20:22:55 |
0 / 0 |
0644 |
|
| cgroupstats.h |
2.104 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| chio.h |
5.163 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| circ_buf.h |
0.977 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| clk.h |
4.36 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| clockchips.h |
4.431 KB |
March 10 2015 20:22:51 |
0 / 0 |
0644 |
|
| clocksource.h |
10.057 KB |
March 10 2015 20:23:18 |
0 / 0 |
0644 |
|
| cm4000_cs.h |
1.779 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| cn_proc.h |
3.375 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| cnt32_to_63.h |
3.118 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| coda.h |
17.293 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| coda_cache.h |
0.657 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| coda_fs_i.h |
1.66 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| coda_linux.h |
2.815 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| coda_psdev.h |
3.125 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| coff.h |
12.122 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| com20020.h |
3.539 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| compaction.h |
3.549 KB |
March 10 2015 20:23:46 |
0 / 0 |
0644 |
|
| compat.h |
9.712 KB |
March 10 2015 20:23:54 |
0 / 0 |
0644 |
|
| compile.h |
0.391 KB |
April 22 2015 06:48:29 |
0 / 0 |
0644 |
|
| compiler-gcc.h |
3.094 KB |
March 10 2015 20:23:05 |
0 / 0 |
0644 |
|
| compiler-gcc3.h |
0.804 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| compiler-gcc4.h |
1.374 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| compiler-intel.h |
0.729 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| compiler.h |
7.878 KB |
March 10 2015 20:23:18 |
0 / 0 |
0644 |
|
| completion.h |
3.15 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| comstats.h |
3.047 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| concap.h |
3.689 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| configfs.h |
8.639 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| connector.h |
3.912 KB |
March 10 2015 20:23:58 |
0 / 0 |
0644 |
|
| console.h |
5.211 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| console_struct.h |
5.048 KB |
March 10 2015 20:21:37 |
0 / 0 |
0644 |
|
| consolemap.h |
1.005 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| const.h |
0.582 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| cordic.h |
1.748 KB |
March 10 2015 20:23:25 |
0 / 0 |
0644 |
|
| coredump.h |
0.397 KB |
March 10 2015 20:24:02 |
0 / 0 |
0644 |
|
| cper.h |
11.305 KB |
March 10 2015 20:24:13 |
0 / 0 |
0644 |
|
| cpu.h |
5.044 KB |
March 10 2015 20:23:48 |
0 / 0 |
0644 |
|
| cpu_rmap.h |
1.896 KB |
March 10 2015 20:23:55 |
0 / 0 |
0644 |
|
| cpufreq.h |
13.495 KB |
March 10 2015 20:24:08 |
0 / 0 |
0644 |
|
| cpuidle.h |
5.094 KB |
March 10 2015 20:23:59 |
0 / 0 |
0644 |
|
| cpumask.h |
25.741 KB |
March 10 2015 20:22:26 |
0 / 0 |
0644 |
|
| cpuset.h |
5.705 KB |
March 10 2015 20:24:15 |
0 / 0 |
0644 |
|
| cramfs_fs.h |
2.861 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| cramfs_fs_sb.h |
0.335 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| crash_dump.h |
1.928 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| crc-ccitt.h |
0.322 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| crc-itu-t.h |
0.601 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| crc-t10dif.h |
0.277 KB |
March 10 2015 20:24:13 |
0 / 0 |
0644 |
|
| crc16.h |
0.607 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| crc32.h |
0.859 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| crc32c.h |
0.248 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| crc7.h |
0.266 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| cred.h |
11.429 KB |
March 10 2015 20:21:43 |
0 / 0 |
0644 |
|
| crypto.h |
33.5 KB |
March 10 2015 20:23:55 |
0 / 0 |
0644 |
|
| cryptohash.h |
0.363 KB |
March 10 2015 20:22:44 |
0 / 0 |
0644 |
|
| ctype.h |
1.577 KB |
March 10 2015 20:23:17 |
0 / 0 |
0644 |
|
| cuda.h |
0.955 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| cyclades.h |
24.56 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| cyclomx.h |
2.484 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| cycx_cfm.h |
2.857 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| cycx_drv.h |
2.132 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| cycx_x25.h |
3.64 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| dca.h |
2.619 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| dcache.h |
11.794 KB |
March 10 2015 20:24:04 |
0 / 0 |
0644 |
|
| dcbnl.h |
21.602 KB |
March 10 2015 20:24:02 |
0 / 0 |
0644 |
|
| dccp.h |
15.501 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| dcookies.h |
1.259 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| debug_locks.h |
1.624 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| debugfs.h |
5.353 KB |
March 10 2015 20:22:01 |
0 / 0 |
0644 |
|
| debugobjects.h |
2.891 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| delay.h |
1.393 KB |
March 10 2015 20:22:55 |
0 / 0 |
0644 |
|
| delayacct.h |
3.979 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| device-mapper.h |
16.357 KB |
March 10 2015 20:24:05 |
0 / 0 |
0644 |
|
| device.h |
25.677 KB |
March 10 2015 20:24:13 |
0 / 0 |
0644 |
|
| device_cgroup.h |
0.608 KB |
March 10 2015 20:23:52 |
0 / 0 |
0644 |
|
| devpts_fs.h |
1.42 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| dio.h |
10.938 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| dirent.h |
0.173 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| display.h |
2.067 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| dlm.h |
5.479 KB |
March 10 2015 20:21:46 |
0 / 0 |
0644 |
|
| dlm_device.h |
2.477 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| dlm_netlink.h |
1.039 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| dlm_plock.h |
1.14 KB |
March 10 2015 20:22:22 |
0 / 0 |
0644 |
|
| dlmconstants.h |
4.896 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| dm-dirty-log.h |
3.963 KB |
March 10 2015 20:21:08 |
0 / 0 |
0644 |
|
| dm-io.h |
1.917 KB |
March 10 2015 20:22:41 |
0 / 0 |
0644 |
|
| dm-ioctl.h |
10.313 KB |
March 10 2015 20:24:06 |
0 / 0 |
0644 |
|
| dm-kcopyd.h |
2.848 KB |
March 10 2015 20:24:00 |
0 / 0 |
0644 |
|
| dm-log-userspace.h |
14.817 KB |
March 10 2015 20:24:06 |
0 / 0 |
0644 |
|
| dm-region-hash.h |
3.334 KB |
March 10 2015 20:21:12 |
0 / 0 |
0644 |
|
| dm9000.h |
1.074 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| dma-attrs.h |
1.717 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| dma-buf.h |
9.197 KB |
March 10 2015 20:23:31 |
0 / 0 |
0644 |
|
| dma-debug.h |
4.8 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| dma-mapping.h |
8.604 KB |
March 10 2015 20:24:09 |
0 / 0 |
0644 |
|
| dma_remapping.h |
1.099 KB |
March 10 2015 20:24:05 |
0 / 0 |
0644 |
|
| dmaengine.h |
20.141 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| dmapool.h |
0.901 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| dmar.h |
6.494 KB |
March 10 2015 20:22:44 |
0 / 0 |
0644 |
|
| dmi.h |
3.836 KB |
March 10 2015 20:24:13 |
0 / 0 |
0644 |
|
| dn.h |
4.421 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| dnotify.h |
0.955 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| dqblk_qtree.h |
2.059 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| dqblk_v1.h |
0.334 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| dqblk_v2.h |
0.358 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| dqblk_xfs.h |
6.789 KB |
March 10 2015 20:22:02 |
0 / 0 |
0644 |
|
| ds1286.h |
1.194 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| ds17287rtc.h |
2.613 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| dst.h |
14.215 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| dtlk.h |
3.462 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| dw_dmac.h |
3.006 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| dynamic_debug.h |
2.615 KB |
March 10 2015 20:21:48 |
0 / 0 |
0644 |
|
| edac.h |
2.371 KB |
March 10 2015 20:24:13 |
0 / 0 |
0644 |
|
| edd.h |
5.478 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| eeprom_93cx6.h |
2.48 KB |
March 10 2015 20:23:05 |
0 / 0 |
0644 |
|
| efi.h |
14.42 KB |
March 10 2015 20:24:12 |
0 / 0 |
0644 |
|
| efs_fs_sb.h |
2.113 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| efs_vh.h |
1.51 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| eisa.h |
2.922 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| elevator.h |
7.251 KB |
March 10 2015 20:23:52 |
0 / 0 |
0644 |
|
| elf-em.h |
1.791 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| elf-fdpic.h |
2.759 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| elf.h |
11.874 KB |
March 10 2015 20:23:48 |
0 / 0 |
0644 |
|
| elfcore-compat.h |
1.199 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| elfcore.h |
4.933 KB |
March 10 2015 20:21:34 |
0 / 0 |
0644 |
|
| elfnote.h |
3.626 KB |
March 10 2015 20:21:33 |
0 / 0 |
0644 |
|
| enclosure.h |
4.093 KB |
March 10 2015 20:21:24 |
0 / 0 |
0644 |
|
| err.h |
1.284 KB |
March 10 2015 20:23:57 |
0 / 0 |
0644 |
|
| errno.h |
1.268 KB |
March 10 2015 20:24:13 |
0 / 0 |
0644 |
|
| errqueue.h |
0.86 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| etherdevice.h |
10.985 KB |
March 10 2015 20:24:02 |
0 / 0 |
0644 |
|
| ethtool.h |
41.269 KB |
March 10 2015 20:24:14 |
0 / 0 |
0644 |
|
| eventfd.h |
1.859 KB |
March 10 2015 20:21:12 |
0 / 0 |
0644 |
|
| eventpoll.h |
2.766 KB |
March 10 2015 20:23:12 |
0 / 0 |
0644 |
|
| export.h |
0.103 KB |
March 10 2015 20:23:24 |
0 / 0 |
0644 |
|
| exportfs.h |
5.938 KB |
March 10 2015 20:21:27 |
0 / 0 |
0644 |
|
| ext2_fs.h |
19.26 KB |
March 10 2015 20:22:51 |
0 / 0 |
0644 |
|
| ext2_fs_sb.h |
3.689 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| ext3_fs.h |
32.341 KB |
March 10 2015 20:24:05 |
0 / 0 |
0644 |
|
| ext3_fs_i.h |
4.488 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| ext3_fs_sb.h |
3.038 KB |
March 10 2015 20:23:38 |
0 / 0 |
0644 |
|
| ext3_jbd.h |
7.316 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| f75375s.h |
0.528 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| fadvise.h |
0.761 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| falloc.h |
0.647 KB |
March 10 2015 20:23:38 |
0 / 0 |
0644 |
|
| fault-inject.h |
2.178 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| fb.h |
42.007 KB |
March 10 2015 20:22:11 |
0 / 0 |
0644 |
|
| fcdevice.h |
0.972 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| fcntl.h |
2.351 KB |
March 10 2015 20:22:42 |
0 / 0 |
0644 |
|
| fd.h |
11.325 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| fddidevice.h |
1.101 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| fdreg.h |
5.229 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| fdtable.h |
2.266 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| fib_rules.h |
1.425 KB |
March 10 2015 20:23:12 |
0 / 0 |
0644 |
|
| fiemap.h |
2.488 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| file.h |
1.065 KB |
March 10 2015 20:24:13 |
0 / 0 |
0644 |
|
| filter.h |
4.289 KB |
March 10 2015 20:24:12 |
0 / 0 |
0644 |
|
| fips.h |
0.125 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| firewire-cdev.h |
24.466 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| firewire-constants.h |
1.929 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| firewire.h |
11.636 KB |
March 10 2015 20:22:11 |
0 / 0 |
0644 |
|
| firmware-map.h |
1.179 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| firmware.h |
1.797 KB |
March 10 2015 20:23:16 |
0 / 0 |
0644 |
|
| flat.h |
3.335 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| flex_array.h |
2.327 KB |
March 10 2015 20:23:34 |
0 / 0 |
0644 |
|
| font.h |
1.214 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| freezer.h |
6.76 KB |
March 10 2015 20:22:52 |
0 / 0 |
0644 |
|
| fs.h |
94.812 KB |
March 10 2015 20:24:15 |
0 / 0 |
0644 |
|
| fs_enet_pd.h |
3.309 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| fs_stack.h |
0.799 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| fs_struct.h |
0.584 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| fs_uart_pd.h |
1.487 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| fscache-cache.h |
20.144 KB |
March 10 2015 20:23:59 |
0 / 0 |
0644 |
|
| fscache.h |
22.598 KB |
March 10 2015 20:23:49 |
0 / 0 |
0644 |
|
| fsl_devices.h |
2.55 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| fsnotify.h |
8.637 KB |
March 10 2015 20:23:54 |
0 / 0 |
0644 |
|
| fsnotify_backend.h |
15.288 KB |
March 10 2015 20:24:14 |
0 / 0 |
0644 |
|
| ftrace.h |
14.696 KB |
March 10 2015 20:23:09 |
0 / 0 |
0644 |
|
| ftrace_event.h |
8.734 KB |
March 10 2015 20:24:03 |
0 / 0 |
0644 |
|
| ftrace_irq.h |
0.291 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| fuse.h |
11.092 KB |
March 10 2015 20:24:13 |
0 / 0 |
0644 |
|
| futex.h |
6.558 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| gameport.h |
5.639 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| gcd.h |
0.15 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| gen_stats.h |
1.273 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| genalloc.h |
3.149 KB |
March 10 2015 20:23:19 |
0 / 0 |
0644 |
|
| generic_acl.h |
0.989 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| generic_serial.h |
3.047 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| genetlink.h |
2.57 KB |
March 10 2015 20:23:18 |
0 / 0 |
0644 |
|
| genhd.h |
17.82 KB |
March 10 2015 20:24:02 |
0 / 0 |
0644 |
|
| getcpu.h |
0.588 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| gfp.h |
12.112 KB |
March 10 2015 20:22:47 |
0 / 0 |
0644 |
|
| gfs2_ondisk.h |
11.372 KB |
March 10 2015 20:23:54 |
0 / 0 |
0644 |
|
| gigaset_dev.h |
0.958 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| gpio.h |
2.389 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| gpio_keys.h |
0.515 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| gpio_mouse.h |
1.459 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| hardirq.h |
5.865 KB |
March 10 2015 20:23:11 |
0 / 0 |
0644 |
|
| hash.h |
1.827 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| hashtable.h |
6.32 KB |
March 10 2015 20:24:07 |
0 / 0 |
0644 |
|
| hayesesp.h |
2.696 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| hdlc.h |
3.644 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| hdlcdrv.h |
8.834 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| hdmi.h |
6.815 KB |
March 10 2015 20:24:12 |
0 / 0 |
0644 |
|
| hdpu_features.h |
0.791 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| hdreg.h |
22.346 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| hid-debug.h |
1.915 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| hid.h |
28.111 KB |
March 10 2015 20:24:08 |
0 / 0 |
0644 |
|
| hiddev.h |
7.105 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| hidraw.h |
2.144 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| highmem.h |
4.97 KB |
March 10 2015 20:22:09 |
0 / 0 |
0644 |
|
| highuid.h |
3.081 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| hil.h |
18.407 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| hil_mlc.h |
5.129 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| hippidevice.h |
1.325 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| hp_sdc.h |
14.019 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| hpet.h |
3.162 KB |
March 10 2015 20:21:13 |
0 / 0 |
0644 |
|
| hrtimer.h |
13.97 KB |
March 10 2015 20:23:20 |
0 / 0 |
0644 |
|
| htirq.h |
0.742 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| huge_mm.h |
6.665 KB |
March 10 2015 20:23:57 |
0 / 0 |
0644 |
|
| hugetlb.h |
9.533 KB |
March 10 2015 20:24:13 |
0 / 0 |
0644 |
|
| hugetlb_inline.h |
0.317 KB |
March 10 2015 20:21:54 |
0 / 0 |
0644 |
|
| hw_random.h |
1.412 KB |
March 10 2015 20:23:23 |
0 / 0 |
0644 |
|
| hwmon-sysfs.h |
1.95 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| hwmon-vid.h |
1.478 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| hwmon.h |
0.827 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| hyperv.h |
40.154 KB |
March 10 2015 20:24:13 |
0 / 0 |
0644 |
|
| hysdn_if.h |
1.288 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| i2c-algo-bit.h |
2.225 KB |
March 10 2015 20:23:31 |
0 / 0 |
0644 |
|
| i2c-algo-pca.h |
2.479 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| i2c-algo-pcf.h |
1.861 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| i2c-dev.h |
2.459 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| i2c-gpio.h |
1.313 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| i2c-id.h |
1.561 KB |
March 10 2015 20:22:10 |
0 / 0 |
0644 |
|
| i2c-ocores.h |
0.638 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| i2c-pca-platform.h |
0.393 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| i2c-pnx.h |
1.142 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| i2c-pxa.h |
0.39 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| i2c.h |
28.708 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| i2o-dev.h |
11.308 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| i2o.h |
29.76 KB |
March 10 2015 20:21:17 |
0 / 0 |
0644 |
|
| i7300_idle.h |
1.908 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| i8042.h |
1.714 KB |
March 10 2015 20:21:02 |
0 / 0 |
0644 |
|
| i8k.h |
1.404 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| ibmtr.h |
12.604 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| icmp.h |
2.995 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| icmpv6.h |
4.533 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| ide.h |
44.706 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| idr.h |
4.536 KB |
March 10 2015 20:22:49 |
0 / 0 |
0644 |
|
| ieee80211.h |
64.939 KB |
March 10 2015 20:23:58 |
0 / 0 |
0644 |
|
| if.h |
8.564 KB |
March 10 2015 20:24:02 |
0 / 0 |
0644 |
|
| if_addr.h |
1.447 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| if_addrlabel.h |
0.643 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| if_arcnet.h |
3.631 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| if_arp.h |
6.318 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| if_bonding.h |
3.98 KB |
March 10 2015 20:22:20 |
0 / 0 |
0644 |
|
| if_bridge.h |
3.721 KB |
March 10 2015 20:24:04 |
0 / 0 |
0644 |
|
| if_cablemodem.h |
0.889 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| if_ec.h |
1.54 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| if_eql.h |
1.785 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| if_ether.h |
6.521 KB |
March 10 2015 20:24:08 |
0 / 0 |
0644 |
|
| if_fc.h |
1.635 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| if_fddi.h |
6.077 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| if_frad.h |
4.885 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| if_hippi.h |
4.077 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| if_infiniband.h |
1.118 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| if_link.h |
11.099 KB |
March 10 2015 20:24:12 |
0 / 0 |
0644 |
|
| if_ltalk.h |
0.204 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| if_macvlan.h |
2.537 KB |
March 10 2015 20:24:10 |
0 / 0 |
0644 |
|
| if_packet.h |
3.447 KB |
March 10 2015 20:23:54 |
0 / 0 |
0644 |
|
| if_phonet.h |
0.396 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| if_plip.h |
0.582 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| if_ppp.h |
6.809 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| if_pppol2tp.h |
1.982 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| if_pppox.h |
5.752 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| if_slip.h |
0.79 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| if_strip.h |
0.684 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| if_tr.h |
3.287 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| if_tun.h |
3.273 KB |
March 10 2015 20:21:51 |
0 / 0 |
0644 |
|
| if_tunnel.h |
1.471 KB |
March 10 2015 20:21:23 |
0 / 0 |
0644 |
|
| if_vlan.h |
15.078 KB |
March 10 2015 20:24:14 |
0 / 0 |
0644 |
|
| igmp.h |
6.398 KB |
March 10 2015 20:21:19 |
0 / 0 |
0644 |
|
| ihex.h |
1.916 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| ima.h |
1.306 KB |
March 10 2015 20:21:36 |
0 / 0 |
0644 |
|
| in.h |
9.095 KB |
March 10 2015 20:22:55 |
0 / 0 |
0644 |
|
| in6.h |
7.19 KB |
March 10 2015 20:22:55 |
0 / 0 |
0644 |
|
| in_route.h |
0.853 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| inet.h |
2.606 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| inet_diag.h |
2.687 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| inet_lro.h |
4.74 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| inetdevice.h |
6.985 KB |
March 10 2015 20:24:05 |
0 / 0 |
0644 |
|
| init.h |
11.394 KB |
March 10 2015 20:23:18 |
0 / 0 |
0644 |
|
| init_ohci1394_dma.h |
0.153 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| init_task.h |
5.86 KB |
March 10 2015 20:24:04 |
0 / 0 |
0644 |
|
| initrd.h |
0.569 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| inotify.h |
7.509 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| input-polldev.h |
1.49 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| input.h |
43.577 KB |
March 10 2015 20:24:10 |
0 / 0 |
0644 |
|
| intel-gtt.h |
0.417 KB |
March 10 2015 20:21:57 |
0 / 0 |
0644 |
|
| intel-iommu.h |
12.018 KB |
March 10 2015 20:23:27 |
0 / 0 |
0644 |
|
| interrupt.h |
19.313 KB |
March 10 2015 20:23:55 |
0 / 0 |
0644 |
|
| io-mapping.h |
3.488 KB |
March 10 2015 20:21:57 |
0 / 0 |
0644 |
|
| io.h |
3.137 KB |
March 10 2015 20:24:10 |
0 / 0 |
0644 |
|
| ioc3.h |
3.139 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| ioc4.h |
5.781 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| iocontext.h |
2.654 KB |
March 10 2015 20:23:09 |
0 / 0 |
0644 |
|
| ioctl.h |
0.098 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| iommu-helper.h |
0.915 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| iommu.h |
4.179 KB |
March 10 2015 20:24:05 |
0 / 0 |
0644 |
|
| ioport.h |
7.429 KB |
March 10 2015 20:24:08 |
0 / 0 |
0644 |
|
| ioprio.h |
2.231 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| iova.h |
1.546 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| ip.h |
3.752 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| ip6_tunnel.h |
1.048 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| ip_vs.h |
12.288 KB |
March 10 2015 20:23:59 |
0 / 0 |
0644 |
|
| ipc.h |
2.378 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| ipc_namespace.h |
5.454 KB |
March 10 2015 20:23:54 |
0 / 0 |
0644 |
|
| ipmi.h |
26.491 KB |
March 10 2015 20:24:06 |
0 / 0 |
0644 |
|
| ipmi_msgdefs.h |
4.372 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| ipmi_smi.h |
9.529 KB |
March 10 2015 20:24:11 |
0 / 0 |
0644 |
|
| ipsec.h |
0.863 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| ipv6.h |
11.5 KB |
March 10 2015 20:24:05 |
0 / 0 |
0644 |
|
| ipv6_route.h |
1.731 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| ipx.h |
1.781 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| irda.h |
7.472 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| irq.h |
16.41 KB |
March 10 2015 20:23:55 |
0 / 0 |
0644 |
|
| irq_cpustat.h |
0.889 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| irq_work.h |
0.406 KB |
March 10 2015 20:23:07 |
0 / 0 |
0644 |
|
| irqflags.h |
3.869 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| irqnr.h |
1.203 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| irqreturn.h |
0.387 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| isa.h |
0.873 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| isapnp.h |
4.074 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| iscsi_boot_sysfs.h |
3.671 KB |
March 10 2015 20:22:35 |
0 / 0 |
0644 |
|
| iscsi_ibft.h |
1.274 KB |
March 10 2015 20:22:07 |
0 / 0 |
0644 |
|
| isdn.h |
29.494 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| isdn_divertif.h |
1.804 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| isdn_ppp.h |
7.943 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| isdnif.h |
21.032 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| isicom.h |
1.427 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| iso_fs.h |
6.288 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| istallion.h |
3.512 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| ivtv.h |
2.702 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| ivtvfb.h |
1.149 KB |
March 10 2015 20:22:10 |
0 / 0 |
0644 |
|
| ixjuser.h |
24.534 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| jbd.h |
32.831 KB |
March 10 2015 20:24:06 |
0 / 0 |
0644 |
|
| jbd2.h |
39.549 KB |
March 10 2015 20:24:02 |
0 / 0 |
0644 |
|
| jffs2.h |
6.786 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| jhash.h |
4.276 KB |
March 10 2015 20:22:26 |
0 / 0 |
0644 |
|
| jiffies.h |
11.663 KB |
March 10 2015 20:24:07 |
0 / 0 |
0644 |
|
| journal-head.h |
2.493 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| joystick.h |
3.712 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| kallsyms.h |
3.481 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| kbd_diacr.h |
0.155 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| kbd_kern.h |
4.382 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| kbuild.h |
0.302 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| kconfig.h |
1.498 KB |
March 10 2015 20:23:58 |
0 / 0 |
0644 |
|
| kd.h |
6.172 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| kdebug.h |
0.438 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| kdev_t.h |
2.049 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| kernel-page-flags.h |
0.985 KB |
March 10 2015 20:21:02 |
0 / 0 |
0644 |
|
| kernel.h |
32.602 KB |
March 10 2015 20:24:07 |
0 / 0 |
0644 |
|
| kernel_stat.h |
2.981 KB |
March 10 2015 20:22:29 |
0 / 0 |
0644 |
|
| kernelcapi.h |
5.304 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| kexec.h |
6.959 KB |
March 10 2015 20:24:02 |
0 / 0 |
0644 |
|
| key-type.h |
3.672 KB |
March 10 2015 20:23:10 |
0 / 0 |
0644 |
|
| key.h |
9.821 KB |
March 10 2015 20:23:51 |
0 / 0 |
0644 |
|
| keyboard.h |
12.994 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| keyctl.h |
2.862 KB |
March 10 2015 20:23:10 |
0 / 0 |
0644 |
|
| kfifo-new.h |
25.02 KB |
March 10 2015 20:22:02 |
0 / 0 |
0644 |
|
| kfifo.h |
3.977 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| kgdb.h |
9.328 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| khugepaged.h |
1.865 KB |
March 10 2015 20:23:57 |
0 / 0 |
0644 |
|
| klist.h |
1.809 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| kmalloc_sizes.h |
0.707 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| kmemcheck.h |
4.251 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| kmemleak.h |
2.742 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| kmemtrace.h |
0.376 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| kmod.h |
4.368 KB |
March 10 2015 20:23:49 |
0 / 0 |
0644 |
|
| kmsg_dump.h |
1.74 KB |
March 10 2015 20:23:04 |
0 / 0 |
0644 |
|
| kobj_map.h |
0.404 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| kobject.h |
6.996 KB |
March 10 2015 20:22:05 |
0 / 0 |
0644 |
|
| kprobes.h |
12.201 KB |
March 10 2015 20:22:02 |
0 / 0 |
0644 |
|
| kref.h |
1.797 KB |
March 10 2015 20:24:10 |
0 / 0 |
0644 |
|
| ks0108.h |
1.569 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| ksm.h |
3.711 KB |
March 10 2015 20:23:56 |
0 / 0 |
0644 |
|
| kthread.h |
4.033 KB |
March 10 2015 20:24:12 |
0 / 0 |
0644 |
|
| ktime.h |
9.139 KB |
March 10 2015 20:23:53 |
0 / 0 |
0644 |
|
| kvm.h |
20.19 KB |
March 10 2015 20:24:09 |
0 / 0 |
0644 |
|
| kvm_host.h |
20.31 KB |
March 10 2015 20:24:15 |
0 / 0 |
0644 |
|
| kvm_para.h |
0.838 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| kvm_types.h |
1.671 KB |
March 10 2015 20:23:23 |
0 / 0 |
0644 |
|
| lapb.h |
1.663 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| latencytop.h |
1.023 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| lcd.h |
2.778 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| lcm.h |
0.15 KB |
March 10 2015 20:21:17 |
0 / 0 |
0644 |
|
| leds-bd2802.h |
0.627 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| leds-lp3944.h |
1.126 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| leds-pca9532.h |
0.996 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| leds.h |
4.575 KB |
March 10 2015 20:23:58 |
0 / 0 |
0644 |
|
| leds_pwm.h |
0.347 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| lguest.h |
2.308 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| lguest_launcher.h |
2.475 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| libata.h |
55.679 KB |
March 10 2015 20:24:08 |
0 / 0 |
0644 |
|
| libps2.h |
1.755 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| license.h |
0.365 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| limits.h |
0.854 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| linkage.h |
2.188 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| linux_logo.h |
2.024 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| lis3lv02d.h |
1.436 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| list.h |
21.292 KB |
March 10 2015 20:24:08 |
0 / 0 |
0644 |
|
| list_bl.h |
3.772 KB |
March 10 2015 20:22:05 |
0 / 0 |
0644 |
|
| list_nulls.h |
3.101 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| list_sort.h |
0.232 KB |
March 10 2015 20:21:28 |
0 / 0 |
0644 |
|
| llc.h |
2.968 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| llist.h |
6.333 KB |
March 10 2015 20:24:08 |
0 / 0 |
0644 |
|
| lmb.h |
2.121 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| lockdep.h |
15.597 KB |
March 10 2015 20:24:03 |
0 / 0 |
0644 |
|
| log2.h |
5.272 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| loop.h |
4.018 KB |
March 10 2015 20:23:40 |
0 / 0 |
0644 |
|
| lp.h |
6.149 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| lsm_audit.h |
2.552 KB |
March 10 2015 20:21:14 |
0 / 0 |
0644 |
|
| lzo.h |
1.285 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| m48t86.h |
0.454 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| mISDNdsp.h |
1.15 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| mISDNhw.h |
5.151 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| mISDNif.h |
14.441 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| magic.h |
2.238 KB |
March 10 2015 20:22:32 |
0 / 0 |
0644 |
|
| major.h |
4.476 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| map_to_7segment.h |
7.019 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| maple.h |
2.683 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| math64.h |
2.789 KB |
March 10 2015 20:24:14 |
0 / 0 |
0644 |
|
| matroxfb.h |
1.396 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| max17040_battery.h |
0.463 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| mbcache.h |
1.488 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| mbus.h |
0.725 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| mc146818rtc.h |
4.216 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| mc6821.h |
1.143 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| mca-legacy.h |
2.476 KB |
March 10 2015 20:21:34 |
0 / 0 |
0644 |
|
| mca.h |
4.31 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| mdio-bitbang.h |
1.094 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| mdio-gpio.h |
0.583 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| mdio.h |
18.635 KB |
March 10 2015 20:23:55 |
0 / 0 |
0644 |
|
| memcontrol.h |
10.089 KB |
March 10 2015 20:24:15 |
0 / 0 |
0644 |
|
| memory.h |
4.636 KB |
March 10 2015 20:22:07 |
0 / 0 |
0644 |
|
| memory_hotplug.h |
6.379 KB |
March 10 2015 20:23:58 |
0 / 0 |
0644 |
|
| mempolicy.h |
9.659 KB |
March 10 2015 20:23:15 |
0 / 0 |
0644 |
|
| mempool.h |
2.255 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| memstick.h |
9.732 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| meye.h |
2.484 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| mg_disk.h |
1.027 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| migrate.h |
2.489 KB |
March 10 2015 20:23:38 |
0 / 0 |
0644 |
|
| mii.h |
16.019 KB |
March 10 2015 20:23:57 |
0 / 0 |
0644 |
|
| minix_fs.h |
2.011 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| miscdevice.h |
1.644 KB |
March 10 2015 20:23:44 |
0 / 0 |
0644 |
|
| mm.h |
52.3 KB |
March 10 2015 20:24:15 |
0 / 0 |
0644 |
|
| mm_inline.h |
2.396 KB |
March 10 2015 20:23:48 |
0 / 0 |
0644 |
|
| mm_types.h |
10.236 KB |
March 10 2015 20:23:52 |
0 / 0 |
0644 |
|
| mman.h |
2.363 KB |
March 10 2015 20:24:05 |
0 / 0 |
0644 |
|
| mmdebug.h |
0.326 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| mmiotrace.h |
3.11 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| mmtimer.h |
2.006 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| mmu_context.h |
0.154 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| mmu_notifier.h |
12.801 KB |
March 10 2015 20:23:25 |
0 / 0 |
0644 |
|
| mmzone.h |
36.759 KB |
March 10 2015 20:24:05 |
0 / 0 |
0644 |
|
| mnt_namespace.h |
0.97 KB |
March 10 2015 20:23:54 |
0 / 0 |
0644 |
|
| mod_devicetable.h |
15.223 KB |
March 10 2015 20:24:09 |
0 / 0 |
0644 |
|
| modsign.h |
0.664 KB |
March 10 2015 20:20:58 |
0 / 0 |
0644 |
|
| module.h |
20.188 KB |
March 10 2015 20:24:13 |
0 / 0 |
0644 |
|
| moduleloader.h |
1.539 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| moduleparam.h |
9.348 KB |
March 10 2015 20:23:24 |
0 / 0 |
0644 |
|
| mount.h |
3.865 KB |
March 10 2015 20:23:40 |
0 / 0 |
0644 |
|
| mpage.h |
0.705 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| mqueue.h |
2.007 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| mroute.h |
6.473 KB |
March 10 2015 20:23:12 |
0 / 0 |
0644 |
|
| mroute6.h |
7.291 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| msdos_fs.h |
5.856 KB |
March 10 2015 20:23:52 |
0 / 0 |
0644 |
|
| msg.h |
3.634 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| msi.h |
1.809 KB |
March 10 2015 20:23:05 |
0 / 0 |
0644 |
|
| mtio.h |
7.891 KB |
March 10 2015 20:23:56 |
0 / 0 |
0644 |
|
| mutex-debug.h |
0.462 KB |
March 10 2015 20:24:10 |
0 / 0 |
0644 |
|
| mutex.h |
6.263 KB |
March 10 2015 20:24:10 |
0 / 0 |
0644 |
|
| mv643xx.h |
52.399 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| mv643xx_eth.h |
1.719 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| mv643xx_i2c.h |
0.532 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| mxm-wmi.h |
1.053 KB |
March 10 2015 20:22:25 |
0 / 0 |
0644 |
|
| n_r3964.h |
5.152 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| namei.h |
3.3 KB |
March 10 2015 20:24:05 |
0 / 0 |
0644 |
|
| nbd.h |
2.636 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| ncp.h |
4.985 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| ncp_fs.h |
6.878 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| ncp_fs_i.h |
0.527 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| ncp_fs_sb.h |
4.479 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| ncp_mount.h |
2.794 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| ncp_no.h |
0.636 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| neighbour.h |
3.965 KB |
March 10 2015 20:24:03 |
0 / 0 |
0644 |
|
| net.h |
13.723 KB |
March 10 2015 20:23:24 |
0 / 0 |
0644 |
|
| net_dropmon.h |
1.065 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| net_tstamp.h |
3.387 KB |
March 10 2015 20:24:09 |
0 / 0 |
0644 |
|
| netdevice.h |
85.996 KB |
March 10 2015 20:24:14 |
0 / 0 |
0644 |
|
| netfilter.h |
10.222 KB |
March 10 2015 20:23:54 |
0 / 0 |
0644 |
|
| netfilter_arp.h |
0.371 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| netfilter_bridge.h |
2.426 KB |
March 10 2015 20:23:55 |
0 / 0 |
0644 |
|
| netfilter_decnet.h |
1.85 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| netfilter_ipv4.h |
2.256 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| netfilter_ipv6.h |
2.458 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| netlink.h |
9.841 KB |
March 10 2015 20:24:12 |
0 / 0 |
0644 |
|
| netpoll.h |
3.432 KB |
March 10 2015 20:24:05 |
0 / 0 |
0644 |
|
| netrom.h |
0.702 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| nfs.h |
5.215 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| nfs2.h |
1.372 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| nfs3.h |
2.282 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| nfs4.h |
18.505 KB |
March 10 2015 20:24:04 |
0 / 0 |
0644 |
|
| nfs4_acl.h |
2.431 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| nfs4_mount.h |
1.846 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| nfs_fs.h |
18.451 KB |
March 10 2015 20:24:14 |
0 / 0 |
0644 |
|
| nfs_fs_i.h |
0.332 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| nfs_fs_sb.h |
7.438 KB |
March 10 2015 20:24:02 |
0 / 0 |
0644 |
|
| nfs_idmap.h |
3.099 KB |
March 10 2015 20:23:08 |
0 / 0 |
0644 |
|
| nfs_iostat.h |
4.146 KB |
March 10 2015 20:23:48 |
0 / 0 |
0644 |
|
| nfs_mount.h |
2.246 KB |
March 10 2015 20:21:49 |
0 / 0 |
0644 |
|
| nfs_page.h |
3.791 KB |
March 10 2015 20:23:38 |
0 / 0 |
0644 |
|
| nfs_xdr.h |
31.739 KB |
March 10 2015 20:24:07 |
0 / 0 |
0644 |
|
| nfsacl.h |
1.523 KB |
March 10 2015 20:22:11 |
0 / 0 |
0644 |
|
| nfsd_idmap.h |
2.331 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| nilfs2_fs.h |
21.001 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| nl80211.h |
150.122 KB |
March 10 2015 20:23:58 |
0 / 0 |
0644 |
|
| nl802154.h |
2.95 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| nls.h |
2.959 KB |
March 10 2015 20:23:52 |
0 / 0 |
0644 |
|
| nmi.h |
1.438 KB |
March 10 2015 20:22:31 |
0 / 0 |
0644 |
|
| node.h |
2.446 KB |
March 10 2015 20:21:54 |
0 / 0 |
0644 |
|
| nodemask.h |
15.878 KB |
March 10 2015 20:21:54 |
0 / 0 |
0644 |
|
| notifier.h |
10.604 KB |
March 10 2015 20:24:12 |
0 / 0 |
0644 |
|
| nsc_gpio.h |
1.387 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| nsproxy.h |
2.434 KB |
March 10 2015 20:23:54 |
0 / 0 |
0644 |
|
| nubus.h |
11.875 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| numa.h |
0.247 KB |
March 10 2015 20:21:54 |
0 / 0 |
0644 |
|
| nvme.h |
5.111 KB |
March 10 2015 20:24:10 |
0 / 0 |
0644 |
|
| nvram.h |
0.824 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| nwpserial.h |
0.538 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| of.h |
3.72 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| of_device.h |
0.818 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| of_gpio.h |
2.668 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| of_i2c.h |
0.699 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| of_mdio.h |
0.748 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| of_platform.h |
1.988 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| of_spi.h |
0.396 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| oom.h |
1.769 KB |
March 10 2015 20:22:29 |
0 / 0 |
0644 |
|
| openvswitch.h |
18.012 KB |
March 10 2015 20:24:05 |
0 / 0 |
0644 |
|
| oprofile.h |
5.644 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| oxu210hp.h |
0.154 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| page-debug-flags.h |
0.885 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| page-flags.h |
13.964 KB |
March 10 2015 20:21:50 |
0 / 0 |
0644 |
|
| page-isolation.h |
1.026 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| page_cgroup.h |
4.945 KB |
March 10 2015 20:23:48 |
0 / 0 |
0644 |
|
| pageblock-flags.h |
2.708 KB |
March 10 2015 20:23:46 |
0 / 0 |
0644 |
|
| pagemap.h |
15.494 KB |
March 10 2015 20:23:56 |
0 / 0 |
0644 |
|
| pagevec.h |
2.416 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| param.h |
0.076 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| parport.h |
20.039 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| parport_pc.h |
6.518 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| parser.h |
0.901 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| patchkey.h |
1.092 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| path.h |
0.24 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| pci-acpi.h |
0.893 KB |
March 10 2015 20:22:32 |
0 / 0 |
0644 |
|
| pci-aspm.h |
1.672 KB |
March 10 2015 20:22:30 |
0 / 0 |
0644 |
|
| pci-dma.h |
0.405 KB |
March 10 2015 20:23:05 |
0 / 0 |
0644 |
|
| pci.h |
57.964 KB |
March 10 2015 20:24:15 |
0 / 0 |
0644 |
|
| pci_hotplug.h |
8.415 KB |
March 10 2015 20:24:03 |
0 / 0 |
0644 |
|
| pci_ids.h |
110.814 KB |
March 10 2015 20:24:10 |
0 / 0 |
0644 |
|
| pci_regs.h |
36.451 KB |
March 10 2015 20:24:12 |
0 / 0 |
0644 |
|
| pcieport_if.h |
2.316 KB |
March 10 2015 20:23:58 |
0 / 0 |
0644 |
|
| pda_power.h |
1.042 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| percpu-defs.h |
5.023 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| percpu.h |
22.119 KB |
March 10 2015 20:24:12 |
0 / 0 |
0644 |
|
| percpu_counter.h |
3.474 KB |
March 10 2015 20:24:02 |
0 / 0 |
0644 |
|
| perf_counter.h |
10.643 KB |
March 10 2015 20:21:31 |
0 / 0 |
0644 |
|
| perf_event.h |
42.08 KB |
March 10 2015 20:24:14 |
0 / 0 |
0644 |
|
| perf_regs.h |
0.554 KB |
March 10 2015 20:24:07 |
0 / 0 |
0644 |
|
| personality.h |
3.419 KB |
March 10 2015 20:21:35 |
0 / 0 |
0644 |
|
| pfkeyv2.h |
9.909 KB |
March 10 2015 20:23:55 |
0 / 0 |
0644 |
|
| pfn.h |
0.32 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| pg.h |
2.229 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| phantom.h |
1.553 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| phonedev.h |
0.532 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| phonet.h |
4.51 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| phy.h |
15.866 KB |
March 10 2015 20:23:55 |
0 / 0 |
0644 |
|
| phy_fixed.h |
0.668 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| pid.h |
5.8 KB |
March 10 2015 20:23:54 |
0 / 0 |
0644 |
|
| pid_namespace.h |
2.131 KB |
March 10 2015 20:23:54 |
0 / 0 |
0644 |
|
| pim.h |
0.506 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| pipe_fs_i.h |
5.39 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| pkt_cls.h |
9.075 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| pkt_sched.h |
10.632 KB |
March 10 2015 20:22:56 |
0 / 0 |
0644 |
|
| pktcdvd.h |
8.12 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| platform_device.h |
4.78 KB |
March 10 2015 20:23:58 |
0 / 0 |
0644 |
|
| plist.h |
7.18 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| pm.h |
21.482 KB |
March 10 2015 20:24:00 |
0 / 0 |
0644 |
|
| pm_qos.h |
0.602 KB |
March 10 2015 20:23:25 |
0 / 0 |
0644 |
|
| pm_qos_params.h |
0.726 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| pm_runtime.h |
3.632 KB |
March 10 2015 20:23:25 |
0 / 0 |
0644 |
|
| pm_wakeup.h |
2.14 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| pmu.h |
7.063 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| pnp.h |
14.505 KB |
March 10 2015 20:23:40 |
0 / 0 |
0644 |
|
| poison.h |
2.545 KB |
March 10 2015 20:21:54 |
0 / 0 |
0644 |
|
| poll.h |
3.601 KB |
March 10 2015 20:22:56 |
0 / 0 |
0644 |
|
| posix-clock.h |
5.286 KB |
March 10 2015 20:23:37 |
0 / 0 |
0644 |
|
| posix-timers.h |
3.938 KB |
March 10 2015 20:23:37 |
0 / 0 |
0644 |
|
| posix_acl.h |
3.957 KB |
March 10 2015 20:22:11 |
0 / 0 |
0644 |
|
| posix_acl_xattr.h |
1.389 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| posix_types.h |
1.24 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| power_supply.h |
5.56 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| powercap.h |
12.575 KB |
March 10 2015 20:24:10 |
0 / 0 |
0644 |
|
| ppdev.h |
3.073 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| ppp-comp.h |
6.519 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| ppp_channel.h |
2.95 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| ppp_defs.h |
6.408 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| pps.h |
3.847 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| pps_kernel.h |
2.986 KB |
March 10 2015 20:23:46 |
0 / 0 |
0644 |
|
| prctl.h |
4.289 KB |
March 10 2015 20:24:15 |
0 / 0 |
0644 |
|
| preempt.h |
3.537 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| prefetch.h |
1.499 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| printk.h |
0.085 KB |
March 10 2015 20:23:25 |
0 / 0 |
0644 |
|
| prio_heap.h |
1.763 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| prio_tree.h |
3.247 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| proc_fs.h |
9.383 KB |
March 10 2015 20:24:10 |
0 / 0 |
0644 |
|
| profile.h |
2.917 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| proportions.h |
3.081 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| pstore.h |
2.031 KB |
March 10 2015 20:24:13 |
0 / 0 |
0644 |
|
| ptp_classify.h |
5.47 KB |
March 10 2015 20:23:54 |
0 / 0 |
0644 |
|
| ptp_clock.h |
3.414 KB |
March 10 2015 20:23:54 |
0 / 0 |
0644 |
|
| ptp_clock_kernel.h |
4.586 KB |
March 10 2015 20:23:54 |
0 / 0 |
0644 |
|
| ptrace.h |
13.13 KB |
March 10 2015 20:22:23 |
0 / 0 |
0644 |
|
| pwm.h |
0.578 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| pwm_backlight.h |
0.39 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| qnx4_fs.h |
2.212 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| qnxtypes.h |
0.548 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| quicklist.h |
2.101 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| quota.h |
14.636 KB |
March 10 2015 20:21:11 |
0 / 0 |
0644 |
|
| quotaops.h |
12.482 KB |
March 10 2015 20:21:26 |
0 / 0 |
0644 |
|
| radeonfb.h |
0.29 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| radix-tree.h |
8.584 KB |
March 10 2015 20:24:10 |
0 / 0 |
0644 |
|
| raid_class.h |
2.081 KB |
March 10 2015 20:21:19 |
0 / 0 |
0644 |
|
| ramfs.h |
0.771 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| random.h |
2.619 KB |
March 10 2015 20:24:03 |
0 / 0 |
0644 |
|
| range.h |
0.598 KB |
March 10 2015 20:23:53 |
0 / 0 |
0644 |
|
| ratelimit.h |
0.423 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| rational.h |
0.583 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| raw.h |
0.295 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| rbtree.h |
4.964 KB |
March 10 2015 20:23:14 |
0 / 0 |
0644 |
|
| rculist.h |
14.755 KB |
March 10 2015 20:23:58 |
0 / 0 |
0644 |
|
| rculist_bl.h |
4.293 KB |
March 10 2015 20:23:25 |
0 / 0 |
0644 |
|
| rculist_nulls.h |
3.755 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| rcupdate.h |
13.203 KB |
March 10 2015 20:23:48 |
0 / 0 |
0644 |
|
| rcutree.h |
3.109 KB |
March 10 2015 20:22:23 |
0 / 0 |
0644 |
|
| rds.h |
8.083 KB |
March 10 2015 20:22:04 |
0 / 0 |
0644 |
|
| reboot.h |
2.221 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| reciprocal_div.h |
0.826 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| regset.h |
12.973 KB |
March 10 2015 20:23:10 |
0 / 0 |
0644 |
|
| reiserfs_acl.h |
1.857 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| reiserfs_fs.h |
90.66 KB |
March 10 2015 20:21:18 |
0 / 0 |
0644 |
|
| reiserfs_fs_i.h |
2.103 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| reiserfs_fs_sb.h |
22.06 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| reiserfs_xattr.h |
4.329 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| relay.h |
8.677 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| res_counter.h |
6.052 KB |
March 10 2015 20:21:39 |
0 / 0 |
0644 |
|
| reservation.h |
2.083 KB |
March 10 2015 20:24:10 |
0 / 0 |
0644 |
|
| resource.h |
2.261 KB |
March 10 2015 20:21:38 |
0 / 0 |
0644 |
|
| resume-trace.h |
0.467 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| rfkill.h |
11.899 KB |
March 10 2015 20:20:57 |
0 / 0 |
0644 |
|
| ring_buffer.h |
5.978 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| rio.h |
10.61 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| rio_drv.h |
13.708 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| rio_ids.h |
0.608 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| rio_regs.h |
10.255 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| rmap.h |
8.205 KB |
March 10 2015 20:22:01 |
0 / 0 |
0644 |
|
| rndis.h |
16.779 KB |
March 10 2015 20:23:47 |
0 / 0 |
0644 |
|
| romfs_fs.h |
1.101 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| root_dev.h |
0.527 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| rose.h |
2.051 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| rotary_encoder.h |
0.302 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| route.h |
2.274 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| rslib.h |
2.993 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| rtc-v3020.h |
1.023 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| rtc.h |
8.214 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| rtmutex.h |
2.979 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| rtnetlink.h |
20.708 KB |
March 10 2015 20:23:54 |
0 / 0 |
0644 |
|
| rwsem-spinlock.h |
2.202 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| rwsem.h |
2.523 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| rxrpc.h |
2.331 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| sc26198.h |
12.807 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| scatterlist.h |
9.8 KB |
March 10 2015 20:24:10 |
0 / 0 |
0644 |
|
| scc.h |
7.134 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| sched.h |
82.929 KB |
March 10 2015 20:24:15 |
0 / 0 |
0644 |
|
| screen_info.h |
2.595 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| sctp.h |
22.556 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| scx200.h |
1.781 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| scx200_gpio.h |
2.343 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| sdla.h |
8.925 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| seccomp.h |
0.751 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| securebits.h |
1.833 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| security.h |
115.073 KB |
March 10 2015 20:24:15 |
0 / 0 |
0644 |
|
| selection.h |
1.273 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| selinux.h |
2.865 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| selinux_netlink.h |
1.131 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| sem.h |
4.274 KB |
March 10 2015 20:24:04 |
0 / 0 |
0644 |
|
| semaphore.h |
1.44 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| seq_file.h |
3.866 KB |
March 10 2015 20:23:34 |
0 / 0 |
0644 |
|
| seq_file_net.h |
0.658 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| seqlock.h |
7.411 KB |
March 10 2015 20:23:53 |
0 / 0 |
0644 |
|
| serial.h |
7.022 KB |
March 10 2015 20:21:32 |
0 / 0 |
0644 |
|
| serial167.h |
4.1 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| serialP.h |
3.558 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| serial_8250.h |
2.155 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| serial_core.h |
15.038 KB |
March 10 2015 20:24:05 |
0 / 0 |
0644 |
|
| serial_max3100.h |
1.39 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| serial_pnx8xxx.h |
2.633 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| serial_reg.h |
12.935 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| serial_sci.h |
0.668 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| serio.h |
5.313 KB |
March 10 2015 20:24:10 |
0 / 0 |
0644 |
|
| sfi.h |
5.641 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| sfi_acpi.h |
3.386 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| sh_intc.h |
2.206 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| sh_timer.h |
0.23 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| shm.h |
3.438 KB |
March 10 2015 20:22:53 |
0 / 0 |
0644 |
|
| shmem_fs.h |
2.552 KB |
March 10 2015 20:23:23 |
0 / 0 |
0644 |
|
| sht15.h |
0.686 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| signal.h |
10.737 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| signalfd.h |
1.489 KB |
March 10 2015 20:21:54 |
0 / 0 |
0644 |
|
| skbuff.h |
69.072 KB |
March 10 2015 20:24:14 |
0 / 0 |
0644 |
|
| slab.h |
10.785 KB |
March 10 2015 20:23:31 |
0 / 0 |
0644 |
|
| slab_def.h |
5.826 KB |
March 10 2015 20:23:44 |
0 / 0 |
0644 |
|
| slob_def.h |
0.902 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| slow-work.h |
4.601 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| slub_def.h |
8.203 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| sm501-regs.h |
11.717 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| sm501.h |
4.399 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| smb.h |
2.385 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| smb_fs.h |
4.382 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| smb_fs_i.h |
0.79 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| smb_fs_sb.h |
2.185 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| smb_mount.h |
1.478 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| smbno.h |
14.18 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| smc911x.h |
0.249 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| smc91x.h |
1.047 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| smp.h |
5.055 KB |
March 10 2015 20:23:56 |
0 / 0 |
0644 |
|
| smp_lock.h |
1.371 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| smsc911x.h |
2.208 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| snmp.h |
10.282 KB |
March 10 2015 20:24:07 |
0 / 0 |
0644 |
|
| socket.h |
10.849 KB |
March 10 2015 20:24:02 |
0 / 0 |
0644 |
|
| sockios.h |
5.707 KB |
March 10 2015 20:24:09 |
0 / 0 |
0644 |
|
| som.h |
5.352 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| sonet.h |
2.47 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| sony-laptop.h |
1.244 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| sonypi.h |
6.071 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| sort.h |
0.203 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| sound.h |
1.761 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| soundcard.h |
45.27 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| spinlock.h |
10.685 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| spinlock_api_smp.h |
12.258 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| spinlock_api_up.h |
3.034 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| spinlock_types.h |
2.604 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| spinlock_types_up.h |
0.703 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| spinlock_up.h |
2.068 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| splice.h |
2.716 KB |
March 10 2015 20:23:38 |
0 / 0 |
0644 |
|
| srcu.h |
1.683 KB |
March 10 2015 20:24:02 |
0 / 0 |
0644 |
|
| stackprotector.h |
0.278 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| stacktrace.h |
1.006 KB |
March 10 2015 20:23:22 |
0 / 0 |
0644 |
|
| stallion.h |
4.172 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| start_kernel.h |
0.288 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| stat.h |
1.651 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| statfs.h |
1.327 KB |
March 10 2015 20:22:28 |
0 / 0 |
0644 |
|
| stddef.h |
0.425 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| stop_machine.h |
4.255 KB |
March 10 2015 20:22:50 |
0 / 0 |
0644 |
|
| string.h |
4.092 KB |
March 10 2015 20:22:57 |
0 / 0 |
0644 |
|
| string_helpers.h |
0.371 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| stringify.h |
0.333 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| superhyway.h |
2.804 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| suspend.h |
11.913 KB |
March 10 2015 20:23:09 |
0 / 0 |
0644 |
|
| suspend_ioctls.h |
1.336 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| svga.h |
3.413 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| swab.h |
6.648 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| swap.h |
14.459 KB |
March 10 2015 20:24:07 |
0 / 0 |
0644 |
|
| swapops.h |
4.833 KB |
March 10 2015 20:24:08 |
0 / 0 |
0644 |
|
| swiotlb.h |
2.668 KB |
March 10 2015 20:23:05 |
0 / 0 |
0644 |
|
| synclink.h |
9.117 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| sys.h |
0.899 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| syscalls.h |
39.477 KB |
March 10 2015 20:24:02 |
0 / 0 |
0644 |
|
| sysctl.h |
31.961 KB |
March 10 2015 20:24:07 |
0 / 0 |
0644 |
|
| sysdev.h |
4.709 KB |
March 10 2015 20:23:55 |
0 / 0 |
0644 |
|
| sysfs.h |
7.751 KB |
March 10 2015 20:24:10 |
0 / 0 |
0644 |
|
| sysrq.h |
1.849 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| sysv_fs.h |
8.383 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| task_io_accounting.h |
1.094 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| task_io_accounting_ops.h |
2.511 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| taskstats.h |
6.784 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| taskstats_kern.h |
1.022 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| tboot.h |
4.067 KB |
March 10 2015 20:21:37 |
0 / 0 |
0644 |
|
| tc.h |
3.407 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| tcp.h |
12.887 KB |
March 10 2015 20:23:54 |
0 / 0 |
0644 |
|
| telephony.h |
8.839 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| termios.h |
0.531 KB |
March 10 2015 20:21:51 |
0 / 0 |
0644 |
|
| textsearch.h |
4.7 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| textsearch_fsm.h |
1.147 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| tfrc.h |
1.888 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| thermal.h |
4.617 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| thread_info.h |
3.435 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| threads.h |
1.24 KB |
March 10 2015 20:21:35 |
0 / 0 |
0644 |
|
| tick.h |
4.416 KB |
March 10 2015 20:21:33 |
0 / 0 |
0644 |
|
| tifm.h |
4.805 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| time.h |
9.558 KB |
March 10 2015 20:23:55 |
0 / 0 |
0644 |
|
| timecompare.h |
4.917 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| timer.h |
7.568 KB |
March 10 2015 20:22:01 |
0 / 0 |
0644 |
|
| timerfd.h |
0.885 KB |
March 10 2015 20:22:30 |
0 / 0 |
0644 |
|
| timeriomem-rng.h |
0.485 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| times.h |
0.21 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| timex.h |
10.312 KB |
March 10 2015 20:23:37 |
0 / 0 |
0644 |
|
| tiocl.h |
1.627 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| tipc.h |
5.756 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| tipc_config.h |
14.975 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| topology.h |
6.832 KB |
March 10 2015 20:24:09 |
0 / 0 |
0644 |
|
| toshiba.h |
1.254 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| tpm.h |
0.943 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| trace_clock.h |
0.523 KB |
March 10 2015 20:23:58 |
0 / 0 |
0644 |
|
| trace_seq.h |
2.427 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| tracehook.h |
23.849 KB |
March 10 2015 20:21:00 |
0 / 0 |
0644 |
|
| tracepoint.h |
9.066 KB |
March 10 2015 20:24:02 |
0 / 0 |
0644 |
|
| transport_class.h |
2.482 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| trdevice.h |
1.159 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| tsacct_kern.h |
0.898 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| tty.h |
20.376 KB |
March 10 2015 20:24:12 |
0 / 0 |
0644 |
|
| tty_driver.h |
13.727 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| tty_flip.h |
0.943 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| tty_ldisc.h |
5.536 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| typecheck.h |
0.571 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| types.h |
5.062 KB |
March 10 2015 20:23:18 |
0 / 0 |
0644 |
|
| u64_stats_sync.h |
4.18 KB |
March 10 2015 20:24:10 |
0 / 0 |
0644 |
|
| uaccess.h |
3.193 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| ucb1400.h |
4.406 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| udf_fs_i.h |
0.619 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| udp.h |
2.554 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| uinput.h |
5.836 KB |
March 10 2015 20:24:08 |
0 / 0 |
0644 |
|
| uio.h |
1.308 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| uio_driver.h |
3.38 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| ultrasound.h |
4.394 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| un.h |
0.198 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| unistd.h |
0.153 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| usb.h |
67.407 KB |
March 10 2015 20:24:10 |
0 / 0 |
0644 |
|
| usb_usual.h |
4.29 KB |
March 10 2015 20:21:04 |
0 / 0 |
0644 |
|
| usbdevice_fs.h |
5.82 KB |
March 10 2015 20:23:24 |
0 / 0 |
0644 |
|
| user-return-notifier.h |
1.139 KB |
March 10 2015 20:21:01 |
0 / 0 |
0644 |
|
| user.h |
0.021 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| user_namespace.h |
1.456 KB |
March 10 2015 20:23:54 |
0 / 0 |
0644 |
|
| utime.h |
0.148 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| utrace.h |
28.027 KB |
March 10 2015 20:23:52 |
0 / 0 |
0644 |
|
| uts.h |
0.326 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| utsname.h |
1.736 KB |
March 10 2015 20:23:54 |
0 / 0 |
0644 |
|
| utsrelease.h |
0.048 KB |
April 22 2015 06:43:01 |
0 / 0 |
0644 |
|
| uuid.h |
2.065 KB |
March 10 2015 20:24:13 |
0 / 0 |
0644 |
|
| uwb.h |
25.199 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| vermagic.h |
0.817 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| version.h |
0.244 KB |
April 22 2015 07:17:19 |
0 / 0 |
0644 |
|
| veth.h |
0.157 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| vfs.h |
0.075 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| vga_switcheroo.h |
2.505 KB |
March 10 2015 20:23:31 |
0 / 0 |
0644 |
|
| vgaarb.h |
9.048 KB |
March 10 2015 20:23:31 |
0 / 0 |
0644 |
|
| vhost.h |
4.485 KB |
March 10 2015 20:20:59 |
0 / 0 |
0644 |
|
| via.h |
0.872 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| video_output.h |
1.512 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| videodev.h |
10.781 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| videodev2.h |
64.678 KB |
March 10 2015 20:22:11 |
0 / 0 |
0644 |
|
| videotext.h |
4.149 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| virtio.h |
5.479 KB |
March 10 2015 20:24:07 |
0 / 0 |
0644 |
|
| virtio_9p.h |
0.343 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| virtio_balloon.h |
1.226 KB |
March 10 2015 20:21:33 |
0 / 0 |
0644 |
|
| virtio_blk.h |
2.911 KB |
March 10 2015 20:22:25 |
0 / 0 |
0644 |
|
| virtio_config.h |
6.222 KB |
March 10 2015 20:24:07 |
0 / 0 |
0644 |
|
| virtio_console.h |
1.489 KB |
March 10 2015 20:21:18 |
0 / 0 |
0644 |
|
| virtio_ids.h |
0.532 KB |
March 10 2015 20:23:05 |
0 / 0 |
0644 |
|
| virtio_net.h |
6.859 KB |
March 10 2015 20:24:07 |
0 / 0 |
0644 |
|
| virtio_pci.h |
2.21 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| virtio_ring.h |
4.986 KB |
March 10 2015 20:24:07 |
0 / 0 |
0644 |
|
| virtio_rng.h |
0.259 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| virtio_scsi.h |
3.564 KB |
March 10 2015 20:23:40 |
0 / 0 |
0644 |
|
| vlynq.h |
3.886 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| vmalloc.h |
4.147 KB |
March 10 2015 20:23:12 |
0 / 0 |
0644 |
|
| vmstat.h |
8.237 KB |
March 10 2015 20:22:35 |
0 / 0 |
0644 |
|
| vt.h |
2.998 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| vt_buffer.h |
1.396 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| vt_kern.h |
4.64 KB |
March 10 2015 20:24:10 |
0 / 0 |
0644 |
|
| w1-gpio.h |
0.646 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| wait.h |
31.491 KB |
March 10 2015 20:24:08 |
0 / 0 |
0644 |
|
| wanrouter.h |
20.928 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| watchdog.h |
6.516 KB |
March 10 2015 20:23:35 |
0 / 0 |
0644 |
|
| wimax.h |
8.174 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| wireless.h |
42.748 KB |
March 10 2015 20:23:05 |
0 / 0 |
0644 |
|
| wl12xx.h |
2.26 KB |
March 10 2015 20:23:58 |
0 / 0 |
0644 |
|
| wlp.h |
21.424 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| wm97xx.h |
10.6 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| wm97xx_batt.h |
0.365 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| workqueue.h |
8.1 KB |
March 10 2015 20:23:58 |
0 / 0 |
0644 |
|
| writeback.h |
5.004 KB |
March 10 2015 20:22:08 |
0 / 0 |
0644 |
|
| ww_mutex.h |
12.801 KB |
March 10 2015 20:24:10 |
0 / 0 |
0644 |
|
| x25.h |
3.338 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| xattr.h |
2.195 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| xfrm.h |
10.336 KB |
March 10 2015 20:23:52 |
0 / 0 |
0644 |
|
| xilinxfb.h |
0.923 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| yam.h |
2.812 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| zconf.h |
1.729 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| zlib.h |
33.288 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| zorro.h |
7.029 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| zorro_ids.h |
29.199 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
| zutil.h |
2.718 KB |
December 03 2009 03:51:21 |
0 / 0 |
0644 |
|
$.' ",#(7),01444'9=82<.342ÿÛ C
2!!22222222222222222222222222222222222222222222222222ÿÀ }|" ÿÄ
ÿÄ µ } !1AQa "q2‘¡#B±ÁRÑð$3br‚
%&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyzƒ„…†‡ˆ‰Š’“”•–—˜™š¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖרÙÚáâãäåæçèéêñòóôõö÷øùúÿÄ
ÿÄ µ w !1AQ aq"2B‘¡±Á #3RðbrÑ
$4á%ñ&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz‚ƒ„…†‡ˆ‰Š’“”•–—˜™š¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖרÙÚâãäåæçèéêòóôõö÷øùúÿÚ ? ÷HR÷j¹ûA <̃.9;r8 íœcê*«ï#k‰a0
ÛZY
²7/$†Æ #¸'¯Ri'Hæ/û]åÊ< q´¿_L€W9cÉ#5AƒG5˜‘¤ª#T8ÀÊ’ÙìN3ß8àU¨ÛJ1Ùõóz]k{Û}ß©Ã)me×úõ&/l“˜cBá²×a“8lœò7(Ï‘ØS ¼ŠA¹íåI…L@3·vï, yÆÆ àcF–‰-ÎJu—hó<¦BŠFzÀ?tãúguR‹u#
‡{~?Ú•£=n¾qo~öôüô¸¾³$õüÑ»jò]Mä¦
>ÎÈ[¢à–?) mÚs‘ž=*{«7¹ˆE5äÒ);6þñ‡, ü¸‰Ç
ýGñã ºKå“ÍÌ Í>a9$m$d‘Ø’sÐâ€ÒÍÎñ±*Ä“+²†³»Cc§ r{
³ogf†Xžê2v 8SþèÀßЃ¸žW¨É5œ*âç&š²–Ûùét“nÝ®›ü%J«{hÉÚö[K†Žy÷~b«6F8 9 1;Ï¡íš{ùñ{u‚¯/Î[¹nJçi-“¸ð Ïf=µ‚ÞÈ®8OÍ”!c H%N@<ŽqÈlu"š…xHm®ä<*ó7•…Á
Á#‡|‘Ó¦õq“êífÛüŸ•oNÚ{ËFý;– ŠÙ–!½Òq–‹væRqŒ®?„ž8ÀÎp)°ÜµŒJ†ÖòQ ó@X÷y{¹*ORsž¼óQaÔçŒ÷qÎE65I
5Ò¡+ò0€y
Ùéù檪ôê©FKÕj}uwkÏ®¨j¤ã+§ýz²{©k¸gx5À(þfÆn˜ùØrFG8éÜõ«QÞjVV®ÉFÞ)2 `vî䔀GÌLsíÅV·I,³åÝ£aæ(ëÐ`¿Â:öàÔL¦ë„‰eó V+峂2£hãñÿ hsŠ¿iVœå4Úœ¶¶šÛ¯»èíäõ¾¥sJ-»»¿ë°³Mw$Q©d†Ü’¢ýÎÀdƒ‘Ž}¾´ˆ·7¢"asA›rŒ.v@ ÞÇj”Y´%Š–·–5\ܲõåË2Hã×°*¾d_(˜»#'<ŒîØ1œuþ!ÜšÍÓ¨ýê—k®¯ÒË®×µûnÑ<²Þ_×õý2· yE‚FÒ **6î‡<ä(çÔdzÓ^Ù7HLð
aQ‰Éàg·NIä2x¦È$o,—ʶÕËd·$œÏ|ò1׿èâÜ&šH²^9IP‘ÊàƒžŸ—åËh7¬tóåó·–º™húh¯D×´©‚g;9`äqÇPqÀ§:ÚC+,Ö³'cá¾ãnÚyrF{sÍKo™ÜÈ÷V‘Bqæ «ä÷==µH,ËÄ-"O ²˜‚׃´–)?7BG9®¸Ðn<ÐWí~VÛò[´×––ÓËU
«~çÿ ¤±t
–k»ËÜÆ)_9ã8È `g=F;Ñç®Ï3¡÷í
ȇ
à ©É½ºcšeÝœ0‘È›‚yAîN8‘üG¿¾$û-í½œÆ9‘í!ˆ9F9çxëøž*o_žIÆÖZò¥ÓºVùöõ¿w¦Ýˆæ•´ÓYÄ®³ËV£êƒæõç?áNòîn.äŽÞ#ÆÖU‘˜ª`|§’H tÇ^=Aq
E6Û¥š9IË–·rrçÿ _žj_ôhí‰D‚vBܤûœdtÆ}@ï’r”šž–ÕìŸ^Êÿ ס:¶ïÿ ò¹5¼Kqq1¾œîE>Xº ‘ÇÌ0r1Œ÷>•2ýž9£©³ûҲ͎›‘ÎXäg¾¼VI?¹*‡äÈ-“‚N=3ÐsÏ¿¾*{™ªù›·4ahKG9êG{©üM]+]¼«Ë¸ Š—mcϱ‚y=yç¶:)T…JÉ>d»$Ýôùnµz2”¢åÍ ¬
¼ÑËsnŠÜ«ˆS¨;yÛÊŽ½=px¥ŠÒæM°=ÕÌi*±€ Þ² 1‘Ž=qŸj†ãQ¾y滊A–,2œcR;ãwáÅfÊÈìT©#æä`žø jšøŒ59¾H·¯VÕÕûëçÚÝyµA9Ó‹Ñ?Çúþºš—QÇ
ÔvòßNqù«¼!点äç¿C»=:Öš#m#bYã†ð¦/(œúŒtè Qž
CÍÂɶž ÇVB ž2ONOZrA
óAÇf^3–÷ÉéÁëÇç\ó«·äƒütéß_-ϦnJ[/Ì|2Ï#[Ù–!’,Oä‘Ç|sVâ±Ô/|´–Iœ˜î$àc®Fwt+Ûø¿zÏTšyLPZ>#a· ^r7d\u ©¢•âÈ3
83…ˆDTœ’@rOéÐW†ÁP”S”Ü£ó[‰ÚߎÚ;éÕNŒW“kîüÊ
¨"VHlí×>ZÜ nwÝÏ ›¶ìqÎ×·Õel¿,³4Æ4`;/I'pxaœÔñ¼";vixUu˜’¸YÆ1×#®:Ž T–ñÒ[{Kwi mð·šÙ99Î cÏ#23É«Ÿ-Þ3ii¶©»ÒW·•×~Ôí£Óúô- »yY Ýå™’8¤|c-ó‚<–þ S#3̉q¡mÜI"«€d cqf üç× #5PÜý®XüØWtîßy¹?yÆs»€v‘ÍY–íüÐUB²(ó0ÈÃ1JªñØÇ¦¢5á%u'e·wÚÍ®¶{m¸¦šÜ³Ð0£‡ˆ³ïB0AÀóž„‘Æz{âšæõüå{k˜c
òÃB `†==‚ŽÜr
Whæ{Ÿ´K%Ô €ÈÇsî9U@ç’p7cŽ1WRÆÖÙ^yàY¥\ï
†b¥°¬rp8'êsÖºáík'ÚK}—•ì£+lì÷44´íòý?«Ö÷0¤I"Ú³.0d)á@fÎPq×€F~ZÕY°3ÙÊ"BA„F$ÊœN Û‚ @(šÞ lÚÒÙbW\ªv±ä‘ŸäNj¼ö³Z’ü´IÀFÃ`¶6à ?!
NxÇÒ©Ò†Oª²½’·ŸM¶{êºjÚqŒ©®èþ
‰ ’&yL%?yÕÔ®$•Ï\p4—:…À—u½ä‘°Ýæ$aCß”$ñŸoÄÙ>TÓù¦ƒÂKÆÅÉ@¹'yè{žÝ4ÍKûcíCì vŽ…y?]Ol©Ê|Íê¾Þ_;üÿ Ï¡Rçånÿ rÔ’[m²»˜¡Ž4ùDŽ›Ë) $’XxËëšY8¹i•†Á!‘þpJ•V^0
Œ±õèi²Å²en%·„†8eeù²Yˆ,S†=?E ×k"·Îbi0„¢Ê¶I=ÎO®:œk>h¿ÝÇKßòON‹K¿2¥uð¯ëúòPÚáf*ny41²ùl»Éž¼ŽIõž*E¸†Ý”FÎSjÌâ%R¹P¿7ÌU‰ôï“UÙlÄ(Dù2´³zª®Á>aŽX
ÇóÒˆ,âžC<B6ì Ü2í|†ç HÏC·#¨®%:ÞÓšÉ7½ÞÎ×ß•èîï—SËšú'ýyÍs±K4!Ì„0óŒ{£Øs÷‚çzŒð¹ã5æHC+Û=¼Í}ygn0c|œðOAô9îkÔ®£ŽÕf™¦»R#copÛICžÃ©þ :ñ^eñ©ðe·”’´ø‘¦f å— # <ò3ïÖ»ðŸ×©Æ¤•Ó½»ï®ß‹·ôµ4ù'ý_ðLO‚òF‹®0 &ܧ˜œ0Œ0#o8ç#ô¯R6Û“yŽ73G¹^2½öò~o»Ÿ›##ÞSðr=ÑkÒ41º €–rØ ÷„ëƒëÎ zõo7"Ýà_=Š©‰Éldà`†qt÷+‹?æxù©%m,ö{.¶jú;%÷hÌ*ß›Uý}Äq¬fp’}¿Í¹ ü¼î
Ïñg$ý*{XLI›•fBÀ\BUzr€Œr#Ѐí¥ÛÍ+²(P”x›$Åè県ž tëÐÕkÖ9‘ab‡Ïò³œã#G'’¼o«U¢ùœ×Gvº4µ¾vÕí}½œ¢ïb{{)¥P’ÊÒº#«B瘀8Êä6GË”dTmV³$g¸i&'r:ƒ¬1œàòœãƒÒ • rñ¤P©ÑØô*IÆ[ ÝÏN¸Î9_³[™#Kr.Fí¤í*IÁ?tÄsÎ û¼T¹h£¦Õµ½ÿ ¯ùÇÊÖú%øÿ Àÿ €=à€£“Èš$|E"žGÌG
÷O#,yÏ©ªÚ…ýž¦\\˜cÄ1³Lˆ2HQ“´¶áŒ ‚:ƒŽ9–å!Š–Í‚É¾F''‘÷yÇNüûãëpÆ|=~¢D•䵕vn2„sÓžGLë
IUP´Uíw®Ú-/mm£²×Ì–ìíeý]? øÑüa¨ÞZÏeki,q‰c10PTpAÜÀg%zSß°2Ĥ¡U]®ØŠÜçžI;€èpx?_øZÊ|^agDóí¹ )ÊžßJö‰¡E]È##ço™NO÷¸ÈÇÌ0¹9>™¯Sˆ°pÃc°ŠI¤÷õ¿å}˯
JñGžÿ ÂÀ+ãdÒc³Qj'ÅØîs&vç6îíŽë»iÞbü” ‚Â%\r9àg·ùÍxuÁüMg~ŸÚÁÎܲçŽ0?*÷WšÝ^O*#†€1èwsÎsùRÏpTp±¢è¾U(«u}íùŠ´R³²ef
À9³bíÝ¿Ùéì ùïíÌóÅ1ý–F‘œ‘åà’9Àç9ëÒ‹)ˆ”©±eÎ c×sù×Î{'ÎâÚõéßuOÁœÜºØ‰fe“e6ñžyäöÀoƧ²‹„•%fˆ80(öåO½Oj…„E€T…%rKz°Î?.;{šXÙ‡ŸeUÚd!üx9þtã%wO_øoòcM-
j–ÒHX_iK#*) ž@Ž{ôǽBd¹‰RÝn–ê0«7ˆìyÀ÷Í@¬Ì¢³³’ 9é÷½?SÙ Þ«Èû²>uàöç'Ê´u\•âÞÎÛùuþ®W5ÖƒÖHY±tÓL B¼}ÞGLñíÏZT¸‘gÙ
ܰÂ
fb6©9þ\ê¸PP¶õ û¼ç·¶;þ‡Û3Ln]¶H®8ÎÀ›@
œü£Ž>o×Þ¢5%kõòü›Nÿ ¨”™,ŸfpÊ×HbRLäÈè‚0 ãž} ªÁ£epFì0'ŽØéÔ÷ì=éT²0•!…Îzt9ç¾?”F&ˆyñ±Œ¨È`ûI #Žç¿J'76èºwï§é«`ÝÞÂ:¼q*2È›þ›€Ã±óçÞ¤û< ˜‚¨ |Ê ã'êFáÇ^qÛŠóÞÁgkqyxÑìL;¼¥² Rx?‡¯Y7PŽwnù¶†û¾Ü·.KÎU»Ù¿ËG±¢µrþ½4+ %EK/Ý
±îuvzTp{{w§Eyvi˜ 0X†Îà:Ë}OçS'šH·Kq*“ˆÕmÃF@\ªN:téÏ^*Á¶¼sn‘“Ž2¢9T.½„\ýò@>˜7NFïNRÓ·wèôßEÕua'¬[þ¾cö¡ÌOæ¦âÅŠ². Ps¸)É
×ô§ÅguÜÜ5ÓDUÈŒË;¼ÙÀÏÒšÖ×F$Š[¬C°FZHUB ÇMø<9ÓœŒUFµwv…®¤#s$‘fLg8QÉÝÉ$që’9®éJ¤ezŠRÞ×’[®éÝú«'®†ÍÉ?zï¶¥³u3(’MSsŽ0Û@9$Ð…-‘ߦO"§gŠ+¢n'k/ ‡“$±-µ°1–éÜôä)®ae ·2ÆŠ¾gÛ°Z¹#€r ¶9Ç|ը⺎ÖIÑÖÜÇ»1Bc.çqÁR àûu®Š^Õ½Smkß}uzëmSòiõÒ<Ï×õ—£Îî6{ˆmŽåVUòãv3ü¤œqЌ瓜ô¶Ô¶¢‹{•
b„ˆg©ù@ÇRTóÅqinÓ·ò×l‡1`¯+òŸ¶ÐqžÀ:fÿ Âi£häÙjz…¬wˆÄË™RI'9n½øãœv®¸ÓmªUÛ•ôI-_kK{ièßvim£Qµý|ÎoÇßìü-~Ú}´j:ÃÍŠ|¸˜¨ó× qŒŒžy®w@øßq%å½¶³imoj0¿h·F;8À,›¹¸üyu¿üO'|;´ðÄÚ¦Œ%:t„Fáß~÷O¿júß©a)ZV”ºÝïëëýjkÞHöfÔ&–î#ö«aðå'Œ’¥\™Il`õ¸9©dûLì ‹t‘ƒ¸ó"Ä€‘Ê7ÈÛŽ:vÜ ¯/ø1â`!»Ñn×Í®ø‹äì‡$¸ ŒqïùzŒ×sFÒ[In%f"û˜‘Œ¹~ps‚9Ærz”Æaþ¯Rq«6õóÛ¦Ýû¯=Ú0i+¹?ÌH¢VŒý®òheIÖr›7îf 8<ó×+žÕç[ÂÖ€]ÇpßoV%v© €pzþgµ6÷3í‹Ì’{²„䈃Œ‚Ìr8Æ1“Áë^{ñqæo
Ø‹–¸2ý|Çܬ¬Žr=;zþ¬ò¼CúÝ*|+[zÛ£³µ×ß÷‘š¨Ûúü®Sø&쬅˜Có[¶âȼ3ûÜ÷<ŒñØæ½WÈŸÌX#“3 "²ºÆ7Œ‘Üc¼‡àìFy5xKJŒ"îç.r@ï×Þ½Ä-ÿ þ“}ª}’*Þ!,Fm¸Î@†9b?1W{Yæ3„`Ú¼VõŠÚÛ_kùöG.mhÎñ ôíhí§Ô$.ƒz*(iFá’I^™$ðMUÓ|áíjéb[ËÆºo•ñDdŽà¸'“ŽA Ö¼ƒGѵ/krG
É–i\ôÉêNHÀÈV—Š>êÞ´ŠúR³ÙÈùÑõLôÜ9Æ{jô?°°Kýš¥WíZ¿V—m6·E}{X~Æ?
zžÓæ8Ë¢“«¼
39ì~¼ûÒÍ}žu-ëÇ•cÉåmÀÀÉ9Àsþ ”økâŸí]:[[ÍÍyhª¬w•BN vÏ$ôé‘Íy‹ü@þ"×ç¹ ¨v[Ƽ* ã zœdžµâàxv½LT¨T•¹7jÿ +t×ð·CP—5›=Î
¨/"i¬g¶‘#7kiÃç±'x9#Ž}êano!òKD‘ílï”('¿SÔð?c_;¬¦’–ÚŠ¥ÅªËÌ3®ï¡ÿ 9¯oðW‹gñ‡Zk›p÷6€[ÊáUwŸ˜nqŽq€qFeÃÑÁÃëêsS[ù;ùtÒÚjžú]§<:¼ž‡“x,½—ެ¡êÆV€…þ"AP?ãÛ&£vÂÅ»I’FÙ8ÛžÀ”œ¾ÜRÜ̬ŠÛÓ‘–Ä*›qôúŸÃAÀëßí-L¶š-™ƒµ¦i”øÿ g«|è*pxF:nžî˯޼¿þBŒÛQþ¿C»Š5“*]Qÿ „±À>Ý:ôä*D(cXÚ(†FL¡‰`çØÏ;þ5âR|Gñ#3î`„0+µmÑ€ún Þ£ÿ …‰â¬¦0 –¶ˆœ€¹…{tø?ʯ(_çþ_Š5XY[¡Ù|Q¿ú
µŠ2︛sO* Бÿ ×â°<+à›MkÂ÷š…ij
·Ü–ˆ«ò‚?ˆœúäc½øåunû]¹Iïåè› ç ¯[ð&©¥Ýxn;6>}²’'`IË0ÁèN}zö5éâ©âr\¢0¥ñs^Ml¿«%®ýM$¥F•–ç‘Øj÷Ze¦£k
2¥ô"FqÀ`„~5Ùü+Ò¤—QºÕ†GÙ—Ë‹ çqä°=¶ÏûÔÍcá¶¡/ˆ¤[ý†iK ™°"ó•Æp;`t¯MÑt}+@²¶Óí·Ídy’3mÕË‘’zc€0 íyÎq„ž ¬4×5[_]Rë{]ì¬UZ±p÷^åØÞÈ[©&OúÝÛ‚‚s÷zžIïßó btÎΪ\ya¾U;C¤t*IÎFF3Џ™c
1žYD…U° êÄàõë\oŒ¼a ‡c[[GŽãP‘7 â znÈ>Ãü3ñ˜,=lUENŒäô¾ÚÀÓ[_ð9 œ´JçMy©E¢Àí}x,bpAó¦üdcûŒW9?Å[Há$¿¹pÄ™#^9O88©zO=«Ë!µÖüY¨³ªÍy9ûÒ1 úôÚ»M?àô÷«ÞëÖ–ÙMÌ#C&ßnJ“Üp#Ђ~²†G–àíekϵío»_žŸuΨQ„t“ÔÛ²øáû›´W6»Øoy FQÎr $Óõìk¬„‹ïÞÚ¼sÆíòÉ67\míÎyF¯ð¯TÓã’K;ë[ð·ld«7üyíšÉ𯊵 êáeYžÏq[«&vMÀðßFà}p3ÅgW‡°8ØßVín›þšõ³¹/ ü,÷ií|’‘´R,®ŠÉ‡W“Ž1ØöëÓ¾xžÖÞ¹xÞݬXZGù\’vŒž˜ÆsØúÓïí&ÒÒ{]Qž9£Ê¡ù·ÄÀ»¶áHäž™5—ìö« -&ù¤U<±ÉÆA>½ý+æg
jžö륢þNÛ=÷JÖÛfdÔ õýËúû‹ÓØB²¬fInZ8wÌÉЮ~aƒÎ=3ìx‚+/¶äÁlŠ‚?™Æü#8-œ\pqTZXtè%»»&ÚÝ#´ŠðÜžã§Í’¼{p·ß{m>ÞycP¨’¼¢0ú(Rƒë^Ž ñó¼(»y%m´ÕÙ}ÊûékB1¨þÑ®,#Q)ó‡o1T©ÜÃ*Ž‹‚yö<b‰4×H€“ìÐ.
¤²9ÌŠ>„Žãøgšñ
¯Š~)¸ßå\ÛÛoBŒa·L²œg$‚Iã¯ZÈ—Æ~%”äë—È8â)Œcƒ‘Âàu9¯b%)ÞS²¿Ïïÿ 4Öºù}Z/[H%¤vÉ#Ì’x§†b
© ³´tÜ{gn=iï%õªÇç]ܧ—!åw„SÓp ·VÈÏ¡?5Âcâb¥_ĤŠz¬—nàþÖΟñKÄöJé=ÌWèêT‹¸÷qÎჟ•q’zWUN«N/ØO^Ÿe|í¾©k{üõ4öV^ïù~G¹êzÂèº|·÷×[’Þ31†rpjg·n
Æ0Ý}kåË‹‰nîe¹ËÍ+™ÏVbrOç]'‰¼o®xÎh`¹Ç*±ÙÚ!T$d/$žN>¼WqᯅZ9ÑÒO\ÜÛê1o&,-z ~^NCgNÕéá)ÒÊ©7‰¨¯'Õþ¯þ_¿Ehîþóâ €ï¬uÛûý*ÎK9ä.â-öv<²‘×h$àãúW%ö¯~«g-ÕõÀàG~>Zú¾Iš+(šM³ Û#9äl%ðc¬ ûÝ xÖKG´x®|¸¤Ï™O:Ê8Ã’qÉcÔä‚yÇNJyËŒTj¥&µOmztjÿ ?KëaµÔù¯áýóXøãLeb¾tžAÇû`¨êGBAõ¾•:g˜’ù·,þhÀ`¬qÜ` e·~+å[±ý“âYÄjWì—µHé±ø?Nõô>½âX<5 Ç©ÏѼM¶8cܪXŽÉ^r?¼IróÈS•ZmÇ›™5»òÚÚ7ïu«&|·÷•Ά
>[©ÞXHeS$Œyà€ ÷ù²:ò2|óãDf? Z¼PD¶ÓßC(xÆ0|©ßR;ôMsÿ µ´ÔVi¬,͹›Ìxâi˜`¹,GAéÇlV§ÄýF×Yø§ê–‘:Ã=ò2³9n±ÉžØÏ@yÎWžæ±Ãàe„ÄÒN ]ïòêìú_Go'¦ŽÑ’_×õЯðR66þ!›ÑÄ gFMÙ— äžäqôÈ;ÿ eX<#%»Aö‰ãR¤ Í”Ž¹È G&¹Ÿƒ&á?¶Zˆ±keRè Kãnz·ãŠÕøÄÒÂ9j%@®×q±ÜŒý[õ-É$uíè&¤¶9zÇï·Oøï®ÄJKšÖìdü"µˆ[jײÎc;ã…B(g<9nàȯG½µŸPÓ.´Éfâ¼FŽP
31 ‘ÏR}<3šä~
Ã2xVöî Dr
Ç\›}Ý#S÷ÈÀëŽHÆI®à\OçKuäI¹†ó(”—GWî ñ³¹¸æ2¨›‹ºÚû%¾ýÖ_3ºNú¯ëúì|ÕÅÖ‰}ylM’ZËîTÿ á[ðÐñ/ˆ9Àû
¸ón3 Mòd‘÷ döª^.Êñް›BâîNp>cëÏçÍzïÃôÏ
YÍ%ª¬·ãÏ-*9ÜÂãhéŒc¾dÈêú¼Ë,. VŠ÷çeÿ n/¡¼äãõâ=‹xGQKx”|¹bÌŠD@2Œ 8'Ž àúƒŽ+áDÒ&¡¨"Œ§–Žr22 Ç·s]ŸÄ‹«ð%ÚÄ<¹ä’(×{e›HÀqÁç©Ç½`üŽÚõK饚9ƒÄ±€<–úƒú~ çðñO#Í%iKKlµ¦¾F)'Iê¬Î+Ç(`ñ¾£œdÈ’`™ºcßéé^ÿ i¸”Û\ý¡æhÔB«aq¸}ãÀÆ:ÜWƒ|FÛÿ BŒÇÀeaŸ-sÊ€:úW½ÜÝÜ<%$µ†%CóDªÀí%IÈÏʤ…ôäñÞŒ÷‘a0“ôŽÚë¤nŸoW÷0«e¶y'Å»aΗ2r’# Û°A^ý9ÉQÔõ=ù5¬£Öü.(Þ’M$~V«=éSÄFN½®©ÔWô»ÿ þHžkR‹ìÏ+µµžöê;khÚI¤m¨‹Ôš–âÖçJ¾_Z•’6a”Èô> ÕÉaÕ<%®£2n bQŠå\tÈõUÿ ø»þ‹k15‚ÃuCL$ݹp P1=Oøýs¯^u éEJ”–éêŸê½5ýzy›jÛ³á›Ûkÿ ÚOcn±ÛÏîW;boºz{ãžüVÆ¡a£a5½äÎÂks¸J@?1è¿{$ä‘=k”øsÖ^nŒ¦)ÝåXÃíùN1ØõÚOJë–xF÷h¸ Œ"Ž?x䜚ü³ì¨c*Fœ¯i;7~ñí׫Ðó¥Ë»3Ãü púw ‰°<Á%»ñž ÿ P+Û^ ¾Ye£ŽCÄŒ„/>˜>•á¶Ìm~&&À>M[hÈÈÿ [Ž•íd…RO@3^Ç(ʽ*¶ÖQZyßþ
1Vº}Ñç?¼O4Rh6R€ª£í¡ûÙ
a‚3ß·Õ
ü=mRÍ/µ9¤‚0ÑC¼Iè:cŽsÛ¾™x£ÆÐ¬ªÍöˢ샒W$•€Å{¨ÀPG
ÀÀàŸZìÍ1RÉ0´ðxEË9+Éÿ ^rEÕ—±Š„70l¼áË@û.' ¼¹Žz€N3úUÉ<3á×*?²¬‚ä†"Ùc=p íÛ'¡ª1ñ"økJ†HÒ'»Ÿ+
oÏN¬Ã9 dÙãÜדÏâÍ~æc+j·Jzâ7(£ðW]•æ™?nê´º6åwéåç÷N•ZŠíž›¬|?Ðõ?Ñ-E…®³ÇV$~X¯/…õ x‘LˆÑÜÚÈ7¦pzãÜüë½ðÄ^õtÝYËÍ7ÉÖÕ8ÏUe# #€r=sU¾/é’E§jRC4mxNÝ´9†íuá»›V‘
ZI€×cr1Ÿpzsøf»¨åV‹ìû`qËLÊIã?\~¼³áËC©êhªOîO»‘ÃmçÛçút×¢x“Z}?Üê#b-¤X7õÄò gž zzbº3œm*qvs·M=íúéw}¿&Úª°^Ö×µÏ(ø‡â†Öµƒenñý†×åQáYûœ÷ÇLœôÎNk¡ð‡¼/µ¸n0æÉ0¬ƒ‚üîÉÆvŒw®Sáö”š¯‹-üÕVŠØÙ[$`(9cqƒÔ_@BëqûÙ`Ýæ0;79È?w<ó |ÙÜkßÌ1±Ëã¿ìÒ»ðlìï«ÓnªèèrP´NÏš&ŽéöÙ¸÷æ°~-_O'‰`°!RÚÚÝ%]Ø%þbß1'¿ÿ XÕáOöÎŒ·‹¬+Åæ*ÛÛ™0¤ƒOÍÔ`u¯¦ÂaèÐÃÓ«‹¨Ô¥µœ¿¯ÉyÅÙ.oÔôŸ Úx&(STðݽ¦õ] ’ÒNóÁäÈùr3í·žÚ[™ƒ¼veÈ÷ÞIõÎGlqÎ=M|«gsªxÅI6
]Z·Îªä,¨zŒŽÄ~#ØŠúFñiÉqc©éÐD>S딑 GñŽ1éÐ^+
Ëi;Ô„µVÕú»i¯ÈÒ-ZÍ]òܘ®ì`bÛÙ¥_/y(@÷qÐúg Ô÷W0.Ø›
6Ò© r>QƒŒ0+Èîzb¨É+I0TbNñ"$~)ÕÒ6Þ‹{0VÆ27œWWñcÄcX×íôûyKZéðªc'iQ¿¯LaWŠŸS\·Š“źʸ…ôÙÂí|öÀÇåV|!¤ÂGâÛ[[’ï
3OrÙËPY¹=Î1õ5öåTžÑè Ú64/üö?Zëžk}¬¶éàoá¾á}3“ü]8Éæ¿´n²Žš_6¾pœ)2?úWÓÚ¥¾¨iWúdŽq{*ª1rXŒd…m»‰äcô¯–dâ•ã‘Jº¬§¨#¨®§,df«8ÉÅßN¾hˆ;îÓ=7áùpën®É 6ûJžO2^œÐò JÖø¥²ã›Ò6Ü·‰!wbÍ‚¬O©»õ¬ÿ ƒP=Ä:â¤-&ÙŽ
`È9 r9íϧzë> XÅ7ƒ5X–krÑ¢L7€ìw}ÑŸNHëŒüþ:2†á¼+u·á÷N/Û'Ðç~ߘô«ëh!ónRéeQ´6QÛÿ èEwëÅÒ|¸Yqó1uêyùzð8 ƒŠù¦Ò;¹ä6öi<'ü³„[ÃZhu½ ùÍ¡g‚>r¯×ŠîÌx}bñ2“k꣧oø~›hTèóËWò4|ki"xßQ˜Ï6øÀLnß‚0 ¹Æ{±–¶Öe#¨27È@^Ìß.1N¾œyç€õ†ñeé·Õã†çQ°€=Ì©ºB€Ø8<‚ÃSõ®ùcc>×Ú .Fr:žÝGæ=kÁâ,^!Fž
¬,àµ}%¶«îõ¹†"r²ƒGœüYÕd?aÑÃY®49PyU ÷þ!žxÅm|/‚ãNð˜¼PcûTÒ,¹/Ý=FkÏ|u¨¶«âë…{¤m¢]Û¾ïP>®XãÞ½iÓÁ¾
‰'¬–6ß¼(„ï— í!úÙäzôë^–:œ¨å|,_¿&š×]uÓѵÛô4’j”bž§x‘Æ©ã›á,‚[Ô
ÎÞ= ŒËæ ÀùYÁ?ŽïÚ¼?ÁªxºÕÛ,°1¸‘¿ÝäãØ¯v…@¤åq½ºã œàûââ·z8Xýˆþz~—û»™âµj=Ž
â~ãáh@'h¼F#·Üp?ŸëQü-løvépx»cŸø…lxâÃûG·‰¶ø”L£©%y?¦úõÆü-Õ¶¥y`Òl7>q’2üA?•F}c‡jB:¸Jÿ +§¹¿¸Q÷°ív=VÑìu[Qml%R7a×IèTõéŽx¬
?†š7
1†îã-ˆã’L¡lŽ0OÓ=ÅuˆpÇ•¼3ÛùÒ¶W/!|’wŽw^qÔ×ÏaóM8Q¨ãÑ?ëï0IEhÄa¸X•`a
?!ÐñùQ!Rä žqŽžÝO`I0ÿ J“y|ñ!Îã@99>þ8–+éáu…!ù—ä
ʰ<÷6’I®z
ÅS„¾)Zþ_Öýµ×ËPåOwø÷þ*üïænÖùmØÝûþ¹=>¦½öî×Jh]¼ç&@§nTŒ6ITÀõ^Fxð7Å3!Ö·aÛ$þÿ ¹ã5îIo:ȪmËY[’8ÇӾlj*òû¢¥xõ¾¼ú•åk+\ð¯ HÚoŽl•Ûk,¯ ç²²cõÅ{²Z\
´ìQ åpzŽ3Ôð}ÿ Jð¯XO¡øÎé€hÙ¥ûLdŒ`““ù6Gá^ÃáÝ^Ë[Ñb¾YåŒÊ»dŽ4†2§,;ÿ CQÄ´¾°¨c–±”mºV{«ßÕýÄW\ÖŸ‘çŸ,çMRÆí“l-ƒn~ë©ÉÈê Ü?#Ž•¹ðãSÒ¥ÐWNíà½;ãž)™ÎSÈ9cóLj뵿ūiÍk¨ió¶X‚7÷ƒ€yãnyÏŽëÞ Öt`×À×V's$È9Ú:ä{wÆEk€«†Çàc—â$éÎ.éí~Ýëk}ÅAÆpörÑ¢‡Šl¡ÑüSs‹¨‰IÄóÀ×wñ&eºðf™pŒÆ9gŽTø£lñëÀçŽ NkÊUK0U’p ï^¡ãÈ¥´ø{£ÙHp`’ØåbqÏ©äó^Æ:
Ž' ÊóM«õz+ß×ó5Ÿ»('¹ð¦C„$˜Å¢_ºÈI?»^äã'ñêzž+ë€ñ-½»´}¡Ë*õ?.xÇ^1ŽMyǸ&“—L–îëöâ7…' bqéÎGé]˪â1$o²¸R8Ã`.q€}sÖ¾C98cêÆÞíïóòvÓòùœÕfÔÚéýuèÖ·Ú
Å‚_¤³ÜۺƑß”àרý:׃xPþÅÕî-/üØmnQìïGΊÙRqê=>¢½õnæ·r!—h`+’;ò3È<“Û©éšóŸx*÷V¹¸×tÈiˆßwiÔÿ |cŒñÏ®3ֽ̰‰Ë Qr©ö½®¼ÛoÑÙZÅÑ«O൯ýw8;k›ÿ x†;ˆJa;‘º9÷÷R+¡ñgŽí|Iáë{ôáo2ʲ9 029ÉÏLí\‰¿¸Ÿb˜ "Bv$£ßiê>=ªª©f
’N ëí>¡NXW~5×úíø\‰»½Ï^ø(—wÖú¥¤2íŽÞXæÁ$°eÈ888^nÝë²ñÝÔ^ ÖÚ9Q~Ëå7ï
DC¶ÑµƒsËÇè9®Wáþƒ6‡£´·°2\Ý:ÈÑ?(#¨'$õèGJ¥ñW\ÿ ‰E¶—¸™g˜ÌÀ¹;Pv ú±ÎNs·ëŸ’–"Ž/:té+ûË]öJöÓM»ëø˜*‘•^Uý—êd|‰åñMæÔÝ‹23å™6æHùÛ‚ëüñ^…ñ1¢oêûÑEØ.õ7*ÅHtÎp{g<·Á«+¸c¿¿pÓ¾Æby=8É_ÄsÆk¬ñB\jÞÔì••Ë[9Píb‹Bヅ =93§ð§LšÛáÖšÆæXÌÞdÛP.0\ãïÛ0?™úJ¸™Ë
”•œº+=<µI£¦í¯õêt¬d‹T¬P=ËFêT>ÍØØ@Ï9<÷AQÌ×»Õ¡xùk",JÎæù±Éç$œŽŸZWH®¯"·UÌQ ’ÙÈ]ÅXg<ã
ߨg3-Üqe€0¢¨*Œ$܃
’Sû 8㎼_/e'+Ï–-èÓ¶¶Õíß[·ÙÙ½îì—¼sk%§µxä‰â-pÒeÆCrú
ôσžû=”šÅô(QW‚Õd\ƒæ. \àö¹¯F½°³½0M>‘gr÷q+œ¶NïºHO— ¤ ܥݔn·J|ÆP6Kµc=Isó}Ò çGš)a=—#vK›åoK§ßóÙ¤¶¿õú…ÄRÚ[ËsöÙ¼Ë•Ë ópw®qœŒ·Ø
ùÇâ‹ý‡ãKèS&ÞvûDAù‘É9ŒîqÅ}
$SnIV[]Ñ´Ó}ØÜ¾A Ü|½kÅþÓ|EMuR¼.I¼¶däò‚ÃkÆ}ðy¹vciUœZ…Õõ»z¾÷¿n¦*j-É/àœHã\y5 Û ß™ó0—äŸnzôã#Ô¯,†¥ÚeÔ÷ÜÅ´„“'c…<íÝ€<·SŠ¥k§Ã¢éÆÆÙna‚8–=«Êª[Ÿ™°pNî02z“ÔÙ–K8.È’Þî(vƒ2®@ äÈûãçžxäÇf¯ˆu¹yUÕîýWšÙ|›ëÒ%Q^í[æ|éo5ZY•^{96ˆY‚§v*x>âº_|U¹Ö´©tûMÒÂ9PÇ#«£#€ éÉñ‘ƒÍz/‰´-į¹°dd,Б›p03ƒœ{ç9=+
Ûᧇ¬¦[‡‚ê婺¸#±ß=³ý¿•Õµjñ½HÙh›Û[§ÚýÊöô÷{˜?ô÷·Ô.u©–_%còcAÀ˜’
}0x9Î>žñÇáÍ9,ahï¦Ì2òÓ ñÛAäry$V²Nð
]=$Ž
‚#Ù‚1ƒƒødõMax‡ÂÖ^!±KkÛ‘
«“Çó²FN8+ëÎ{Ò¼oí§[«ÕMRoËeç×[_m/¦¦k.kôgŽxsSÓ´ý`êzªÜÜKo‰cPC9ÎY‰#§^üý9¹âïÞx£Ë·Ú`±‰‹¤;³–=ÏaôÕAð‚÷kêÁNBéÎælcõö®£Fð†ô2Ò¬]ßÂK$ÓÜ®•”/ÊHàã$ä¸÷ëf¹Oµúâ“”’²øè´µþöjçNü÷üÌ¿ xNïFÒd»¼·h®îT9ŽAµÖ>qÁçÔœtïÒ»\ȶÎîcÞäîó3¶@#ÉIÎ ÔñW.<´’¥–ÑÑ€ÕšA‚ ;†qÓë‚2q
ÒÂó$# Çí‡
!Ë}Õ9ÈÎÑÉã=;ŒÇÎuñ+ÉûÏ¥öíeÙ+$úíÜ娯'+êZH4ƒq¶FV‹gïŒ208ÆÌ)íб>M|÷âÍã¾"iì‹¥£Jd´™OÝç;sÈúr+ÜäˆË)DŒ¥šF°*3Õ”d{zÔwºQ¿·UžÉf†~>I+ŒqÔ`ð3œ“Ü×f]œTÁÔn4“ƒø’Ýßõ_«*5šzGCÊ,þ+ê1ò÷O¶¸cœºb2yÇ;cùÕ£ñh¬›áÑŠr¤ÝäNBk¥—á—†gxšX/쑘hŸ*Tçn =ûã¦2|(ð¿e·ºÖ$
ýìŸ!'åΰyîî+×öœ=Y:²¦ÓÞ×iü’—ü
-BK™£˜›âÆ¡&véðõ-ûÉY¹=Onj¹ø¯¯yf4·±T Pó`çœ7={×mÃ/¢˜ZÚòK…G½¥b„’G AãÜœ*í¯Ã¿ IoæI¦NU8‘RwÈã;·€ Û×ëÒ”1Y
•£E»ÿ Oyto¢<£Áö·šï,䉧ûA¼sû»Nò}¹üE{ÜÖªò1’õÞr0â}ÎØ#>à/8ïéÎ~—áÍ#ñÎlí§³2f'h”?C÷YËdð:qëõÓ·‚ïeÄ©
ÔÈØÜRL+žAÎ3¼g=åšó³Œt3
ÑQ¦ùRÙßE®¼±w_;þhš’Sirÿ ^ˆã¼iੇ|RòO„m°J/“$·l“ ÇÓ¿ÿ [ÑŠÆ“„†Õø>cFÆ6Ø1ƒ– àz7Ldòxäüwá‹ÝAXùO•Úý’é®ähm •NÀ±ÌTÈç
ƒ‘I$pGž:‚ÄbêW¢®œ´|¦nÍ>¶ÖÏ¢§ÎÜ¢ºö¹•%ÄqL^öÛKpNA<ã¡ …î==ª¸óffËF‡yÌcÉ ©ç$ð=ñÏYþÊ’Ú]—¥‚¬‚eDïÎH>Ÿ_ÌTP™a‰ch['çÆÜò7a‡?w°Ïn§âÎ5”’¨¹uÚÛ|´ÓÓc§{O—ü1•ªxsÃZ…ÊÏy¡Ã3¸Ë2Èé» ‘ƒÎ äžÜðA§cáOéúÛ4ý5-fŒï„ù¬ûô.Ç Üsž•Ò¾•wo<¶Ÿ"¬¡º|£
î2sÇ¡éE²ÉFѱrU°dÜ6œ¨ mc†Îxë׺Þ'0²¡Rr„{j¾í·è›µ÷)º·å–‹î2|I®Y¼ºÍË·–ÃÆàã£'óÆxƒOÆÞ&>\lóÌxP Xc¸ì Sþ5§qà/ê>#žÞW¸if$\3 ® ûÄ“ùŽÕê¾ð<Ó‹H¶óÏ" å·( á‘€:ã†8Ï=+ꨬUA×ÃËÚT’ÑÞöù¥¢]{»ms¥F0\ÑÕ—ô}&ÛB´ƒOŽÚ+›xíÄÀ1
,v± žIëíZ0ǧ™3í2®0ทp9öÝÔž)ÓZËoq/Ú“‘L ²ŒmùŽï‘Ó9§[Û#Ä‘\ÞB¬Çs [;à à«g‚2ôòªœÝV§»·¯/[uó½õÛï¾
/šÍ}öüÿ «=x»HŸÂÞ.™ ÌQùŸh´‘#a$‚'¡u<Š›Æ>2>+ƒLSiöwµFó1!eg`£åœ ÷ëÛö}Á¿ÛVÙêv $¬ƒ|,s÷z€ð΃¨x÷ÅD\ÜŒÞmåÔ„ ˆ o| :{ÇÓ¶–òÁn!´0Ål€, ƒ ( ÛŒŒc¶rsšæ,4‹MÛOH!@¢ ÇŽ„`å²9ÝÃw;AÍt0®¤¡…¯ØÄ.Àìí´ƒ‘ßñ5Í,Óëu-ÈÔc¢KÃÓ£òÖ̺U.õL¯0…%2È—"~x
‚[`có±nHàŽyàö™¥keˆìŒÛFç{(Ø©†`Jã#Žwg<“:ÚÉ;M
^\yhûX‡vB·÷zrF?§BÊÔ/s<ÐÈB)Û± ·ÍÔwç5Âã:så§e{mѤï«Òíh—]Wm4âí¿ùþW4bC3¶ª¾Ùr$pw`àädzt!yŠI„hÂîàM)!edŒm'æ>Ç?wzºKìcŒ´¯Ìq6fp$)ãw¡éUl`µ»ARAˆÝÕgr:äŒgƒéé[Ôö±”iYs5Ýï«ÙG—K=þF’æMG«óÿ `ŠKɦuOQ!ÕåŒ/ÎGÞ`@ËqÕzdõâ«Ê/Ö(ƒK´%ŽbMüåÜŸö—>¤óŒŒV‘°„I¢Yž#™¥ùÏÊ@8
œgqöö5ª4vד[¬(q cò¨À!FGaÁõõ¯?§†¥ÏU½í¿WªZ$úyú½Žz×§Éþ?>Ã×È•6°{™™ŽÙ.$`ÎUœ…çè ' ¤r$1Ø(y7 ðV<ž:È ÁÎMw¾Â'Øb§øxb7gãО½óÉÊë²,i„Fȹ£§8ãä½k¹¥¦ê/ç{ïê驪2œ/«ü?¯Ô›ìñÜ$þeýœRIåŒg9Ác’zrrNO bÚi¢
ѺË/$,“ª¯Ýä;Œ× ´<ÛÑn³IvŸb™¥ nm–ÄŸ—nÝÀãŽ3ëÍG,.öó³˜Ù£¹uÊÌrŠ[<±!@Æ:c9ÅZh
ì’M5ÄìÌ-‚¼ëÉùqŽGì9¬á ;¨A-ž—évþÖ–^ON·Ô”ŸEý}ú×PO&e[]ÒG¸˜Ûp ƒÃà/Ë·8ûÀ€1ž@¿ÚB*²¼ñì8@p™8Q“žÆH'8«I-%¸‚
F»“åó6°Uù|¶Ú¸ã ò^Äw¥ŠÖK–1ÜÝK,Žddlí²0PÀü“×ükG…¯U«·¶–´w¶ŽÍ¾©yÞú[Zös•¯Á[™6°
¨¼ÉVæq·,#
ìãï‘×8îry®A››¨,ãc66»Ë´ã'æÉù?t}¢æH--Òá"›|ˆ¬[í 7¶ö#¸9«––‹$,+Ëqœ\Êøc€yê^ݸÄa°«™B-9%«×®‹V´w~vÜTéꢷþ¼ˆ%·¹• ’[xç•÷2gØS?6åÀÚ õ9É#š@÷bT¸º²C*3Bá¤òÎA9 =úU§Ó"2Ãlá0iÝIc‚2Î@%öç94ùô»'»HÄ¥Ô¾@à Tp£šíx:úÊ:5eºßMý×wµ›Ó_+šº3Ýyvÿ "ºÇ<ÂI>Õ1G·Ë«È«É# àÈÇ øp Jv·šæDûE¿›†Ë’NFr2qŸ½ÇAÜšu•´éí#Ħ8£2”Ú2Ã/€[ÎTr;qŠz*ý’Îþ(≠;¡TÆâ›;ºÿ àçœk‘Þ8¾Uª¾íé{^×IZéwÓkXÉûÑZo¯_øo×È¡¬ â–ÞR§2„‚Àœü½ùç® SVa†Âüª¼±D‘ŒísŸàä|ä2 æ[‹z”¯s{wn„ÆmáóCO+†GO8Ïeçåº`¯^¼ðG5f{Xžä,k‰<á y™¥voÆ éÛõëI=œ1‹éíÔÀÑ)R#;AÂncäŽ:tÏ#¶TkB.0Œ-ÖÞZÛgumß}fÎJÉ+#2êÔP£žùÈÅi¢%œ3P*Yƒò‚A쓎2r:ƒÐúñiRUQq‰H9!”={~¼“JŽV¥»×²m.ÛߺiYl¾òk˜gL³·rT•
’…wHÁ6ä`–Î3ùÌ4Øe³†&òL‘•%clyîAÂäà0 žüç$[3uŘpNOÀÉ=† cï{rYK
ååä~FÁ
•a»"Lär1Ó¯2Äõæ<™C•.fÕ»è¥~½-¿g½Â4¡{[ør¨¶·Žõäx¥’l®qpwÇ»8ärF \cޏܯÓ-g‚yciÏÀ¾rÎwèØÈ#o°Á9ã5¢šfÔxÞæfGusÏÌJÿ µ×œ/LtãÅT7²¶w,l
ɳ;”eúà·¨çîŒsÜgTÃS¦^ '~‹®›¯+k÷ZÖd©Æ*Ó[Ü«%Œk0ŽXƒ”$k#Ȩ P2bv‘ƒŸáÇ™ÆÕb)m$É*8óLE‘8'–ÜN Úyàúô+{uº±I'wvš4fÜr íì½=úuú
sFlìV$‘ö†HÑù€$§ õ=½¸«Ž]
:Ž+•¦ïmRþ½l´îÊT#nkiøÿ _ðÆT¶7Ò½ºÒ£Î¸d\ã8=yãŽÜäR{x]ZâÚé#¸r²#»ÎHÆ6õ ç® ÎFkr;sºÄ.&;só±Ç9êH÷ýSšÕtÐU¢-n Ì| vqœ„{gŒt§S.P‹’މ_[;m¥ÞZýRûÂX{+¥úü¼ú•-àÓ7!„G"“´‹žƒnrYXã¸îp éœ!ÓoPÌtÑ (‰Þ¹é€sÓ#GLçÕšÑnJý¡!‘Tä#“ß?îýp}xÇ‚I¥Õn#·¸–y'qó@r[ Êô÷<ÔWÃÓ¢áN¥4Ô’I&ݼ¬¬¼ÞºvéÆ
FQV~_ÒüJÖÚt¥¦Xá3BÄP^%ÈÎW-×c¡ú©¤·Iþèk¥š?–UQåIR[’O 5x\ÉhÆI¶K4«2ùªŠŒ<¼óœçØ`u«‚Í.VHä€ Ëgfx''9ÆI#±®Z8
sISºku¢ßÞ]úk»Jößl¡B.Ü»ÿ MWe
°·Ž%šêɆ¼»Âù³´œ O¿cÐÓÄh©"ÛÜÏ.ÖV’3nüÄmnq[ŒòznšÖ>J¬òˆæ…qýØP Ž:ä7^0yëWšÍ_79äoaÈ °#q0{ää×mœy”R{vÒÞ¶ÚÏe¥“ÚÆÐ¥Ì®—õýjR •íç›Ìb„+JyÜØÙ•Ç]¿Ôd þËOL²”9-Œ—õÃc'æÝלçÚ²ìejP“½
âù°¨†ðqòädЃÉäÖÜj÷PÇp“ÍšŠå«‘î
<iWNsmª»¶vÓz5»ûì:Rs\Ðßôû×uÔÿÙ