ÿØÿà�JFIF������ÿápExif��II*������[������¼ p!ranha?
Server IP : 104.21.87.198  /  Your IP : 172.71.124.200
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-754.6.3.el6.x86_64/source/include/linux/

Upload File :
Curr3nt_D!r [ Writeable ] D0cum3nt_r0Ot [ Writeable ]

 
Command :
Current File : /lib/modules/2.6.32-754.6.3.el6.x86_64/source/include/linux/skbuff.h
/*
 *	Definitions for the 'struct sk_buff' memory handlers.
 *
 *	Authors:
 *		Alan Cox, <gw4pts@gw4pts.ampr.org>
 *		Florian La Roche, <rzsfl@rz.uni-sb.de>
 *
 *	This program is free software; you can redistribute it and/or
 *	modify it under the terms of the GNU General Public License
 *	as published by the Free Software Foundation; either version
 *	2 of the License, or (at your option) any later version.
 */

#ifndef _LINUX_SKBUFF_H
#define _LINUX_SKBUFF_H

#include <linux/kernel.h>
#include <linux/kmemcheck.h>
#include <linux/compiler.h>
#include <linux/time.h>
#include <linux/cache.h>
#include <linux/rbtree.h>

#include <asm/atomic.h>
#include <asm/types.h>
#include <linux/spinlock.h>
#include <linux/net.h>
#include <linux/textsearch.h>
#include <net/checksum.h>
#include <linux/rcupdate.h>
#include <linux/dmaengine.h>
#include <linux/hrtimer.h>
#include <linux/dma-mapping.h>
#include <net/flow_keys.h>

/* Don't change this without changing skb_csum_unnecessary! */
#define CHECKSUM_NONE 0
#define CHECKSUM_UNNECESSARY 1
#define CHECKSUM_COMPLETE 2
#define CHECKSUM_PARTIAL 3

#define SKB_DATA_ALIGN(X)	(((X) + (SMP_CACHE_BYTES - 1)) & \
				 ~(SMP_CACHE_BYTES - 1))
#define SKB_WITH_OVERHEAD(X)	\
	((X) - SKB_DATA_ALIGN(sizeof(struct skb_shared_info)))
#define SKB_MAX_ORDER(X, ORDER) \
	SKB_WITH_OVERHEAD((PAGE_SIZE << (ORDER)) - (X))
#define SKB_MAX_HEAD(X)		(SKB_MAX_ORDER((X), 0))
#define SKB_MAX_ALLOC		(SKB_MAX_ORDER(0, 2))

/* return minimum truesize of one skb containing X bytes of data */
#define SKB_TRUESIZE(X) ((X) +						\
			 SKB_DATA_ALIGN(sizeof(struct sk_buff)))

/* A. Checksumming of received packets by device.
 *
 *	NONE: device failed to checksum this packet.
 *		skb->csum is undefined.
 *
 *	UNNECESSARY: device parsed packet and wouldbe verified checksum.
 *		skb->csum is undefined.
 *	      It is bad option, but, unfortunately, many of vendors do this.
 *	      Apparently with secret goal to sell you new device, when you
 *	      will add new protocol to your host. F.e. IPv6. 8)
 *
 *	COMPLETE: the most generic way. Device supplied checksum of _all_
 *	    the packet as seen by netif_rx in skb->csum.
 *	    NOTE: Even if device supports only some protocols, but
 *	    is able to produce some skb->csum, it MUST use COMPLETE,
 *	    not UNNECESSARY.
 *
 *	PARTIAL: identical to the case for output below.  This may occur
 *	    on a packet received directly from another Linux OS, e.g.,
 *	    a virtualised Linux kernel on the same host.  The packet can
 *	    be treated in the same way as UNNECESSARY except that on
 *	    output (i.e., forwarding) the checksum must be filled in
 *	    by the OS or the hardware.
 *
 * B. Checksumming on output.
 *
 *	NONE: skb is checksummed by protocol or csum is not required.
 *
 *	PARTIAL: device is required to csum packet as seen by hard_start_xmit
 *	from skb->csum_start to the end and to record the checksum
 *	at skb->csum_start + skb->csum_offset.
 *
 *	Device must show its capabilities in dev->features, set
 *	at device setup time.
 *	NETIF_F_HW_CSUM	- it is clever device, it is able to checksum
 *			  everything.
 *	NETIF_F_NO_CSUM - loopback or reliable single hop media.
 *	NETIF_F_IP_CSUM - device is dumb. It is able to csum only
 *			  TCP/UDP over IPv4. Sigh. Vendors like this
 *			  way by an unknown reason. Though, see comment above
 *			  about CHECKSUM_UNNECESSARY. 8)
 *	NETIF_F_IPV6_CSUM about as dumb as the last one but does IPv6 instead.
 *
 *	Any questions? No questions, good. 		--ANK
 */

struct net_device;
struct scatterlist;
struct pipe_inode_info;

#if defined(CONFIG_NF_CONNTRACK) || defined(CONFIG_NF_CONNTRACK_MODULE)
struct nf_conntrack {
	atomic_t use;
};
#endif

#ifdef CONFIG_BRIDGE_NETFILTER
struct nf_bridge_info {
	atomic_t use;
	struct net_device *physindev;
	struct net_device *physoutdev;
	unsigned int mask;
	unsigned long data[32 / sizeof(unsigned long)];
};
#endif

struct sk_buff_head {
	/* These two members must be first. */
	struct sk_buff	*next;
	struct sk_buff	*prev;

	__u32		qlen;
	spinlock_t	lock;
};

struct sk_buff;

/* To allow 64K frame to be packed as single skb without frag_list. Since
 * GRO uses frags we allocate at least 16 regardless of page size.
 */
#if (65536/PAGE_SIZE + 2) < 16
#define MAX_SKB_FRAGS 16UL
#else
#define MAX_SKB_FRAGS (65536/PAGE_SIZE + 2)
#endif

typedef struct skb_frag_struct skb_frag_t;

struct skb_frag_struct {
	struct page *page;
	__u32 page_offset;
	__u32 size;
};

static inline unsigned int skb_frag_size(const skb_frag_t *frag)
{
	return frag->size;
}

static inline void skb_frag_size_set(skb_frag_t *frag, unsigned int size)
{
	frag->size = size;
}

static inline void skb_frag_size_add(skb_frag_t *frag, int delta)
{
	frag->size += delta;
}

static inline void skb_frag_size_sub(skb_frag_t *frag, int delta)
{
	frag->size -= delta;
}

#define HAVE_HW_TIME_STAMP

/**
 * struct skb_shared_hwtstamps - hardware time stamps
 * @hwtstamp:	hardware time stamp transformed into duration
 *		since arbitrary point in time
 * @syststamp:	hwtstamp transformed to system time base
 *
 * Software time stamps generated by ktime_get_real() are stored in
 * skb->tstamp. The relation between the different kinds of time
 * stamps is as follows:
 *
 * syststamp and tstamp can be compared against each other in
 * arbitrary combinations.  The accuracy of a
 * syststamp/tstamp/"syststamp from other device" comparison is
 * limited by the accuracy of the transformation into system time
 * base. This depends on the device driver and its underlying
 * hardware.
 *
 * hwtstamps can only be compared against other hwtstamps from
 * the same device.
 *
 * This structure is attached to packets as part of the
 * &skb_shared_info. Use skb_hwtstamps() to get a pointer.
 */
struct skb_shared_hwtstamps {
	ktime_t	hwtstamp;
	ktime_t	syststamp;
};

/**
 * struct skb_shared_tx - instructions for time stamping of outgoing packets
 * @hardware:		generate hardware time stamp
 * @software:		generate software time stamp
 * @in_progress:	device driver is going to provide
 *			hardware time stamp
 * @reserved:		SKBTX_DRV_NEEDS_SK_REF upstream: used to make
 *			the memory layout bit-for-bit upstream compatible
 * @dev_zerocopy:	device driver supports tx zero-copy buffers
 * @flags:		all shared_tx flags
 *
 * These flags are attached to packets as part of the
 * &skb_shared_info. Use skb_tx() to get a pointer.
 */
union skb_shared_tx {
	struct {
		__u8	hardware:1,
			software:1,
			in_progress:1,
			reserved:1,
			dev_zerocopy:1,
			/* This indicates at least one fragment might be overwritten
			 * (as in vmsplice(), sendfile() ...)
			 * If we need to compute a TX checksum, we'll need to copy
			 * all frags to avoid possible bad checksum
			 */
			shared_frag:1;
	};
	__u8 flags;
};

/*
 * The callback notifies userspace to release buffers when skb DMA is done in
 * lower device, the skb last reference should be 0 when calling this.
 * The desc is used to track userspace buffer index.
 */
struct ubuf_info {
	void (*callback)(void *);
	void *arg;
	unsigned long desc;
};

/* This data is invariant across clones and lives at
 * the end of the header data, ie. at skb->end.
 */
struct skb_shared_info {
	atomic_t	dataref;
	unsigned short	nr_frags;
	unsigned short	gso_size;
	/* Warning: this field is not always filled in (UFO)! */
	unsigned short	gso_segs;
	unsigned short  gso_type;
	__be32          ip6_frag_id;
	union skb_shared_tx tx_flags;
	struct sk_buff	*frag_list;
	struct skb_shared_hwtstamps hwtstamps;
	skb_frag_t	frags[MAX_SKB_FRAGS];
	/* Intermediate layers must ensure that destructor_arg
	 * remains valid until skb destructor */
	void *		destructor_arg;
};

/* We divide dataref into two halves.  The higher 16 bits hold references
 * to the payload part of skb->data.  The lower 16 bits hold references to
 * the entire skb->data.  A clone of a headerless skb holds the length of
 * the header in skb->hdr_len.
 *
 * All users must obey the rule that the skb->data reference count must be
 * greater than or equal to the payload reference count.
 *
 * Holding a reference to the payload part means that the user does not
 * care about modifications to the header part of skb->data.
 */
#define SKB_DATAREF_SHIFT 16
#define SKB_DATAREF_MASK ((1 << SKB_DATAREF_SHIFT) - 1)


enum {
	SKB_FCLONE_UNAVAILABLE,
	SKB_FCLONE_ORIG,
	SKB_FCLONE_CLONE,
};

enum {
	SKB_GSO_TCPV4 = 1 << 0,
	SKB_GSO_UDP = 1 << 1,

	/* This indicates the skb is from an untrusted source. */
	SKB_GSO_DODGY = 1 << 2,

	/* This indicates the tcp segment has CWR set. */
	SKB_GSO_TCP_ECN = 1 << 3,

	SKB_GSO_TCPV6 = 1 << 4,

	SKB_GSO_FCOE = 1 << 5,

	SKB_GSO_GRE = 1 << 6,

	SKB_GSO_UDP_TUNNEL = 1 << 7,
};

#if BITS_PER_LONG > 32
#define NET_SKBUFF_DATA_USES_OFFSET 1
#endif

#ifdef NET_SKBUFF_DATA_USES_OFFSET
typedef unsigned int sk_buff_data_t;
#else
typedef unsigned char *sk_buff_data_t;
#endif

/** 
 *	struct sk_buff - socket buffer
 *	@next: Next buffer in list
 *	@prev: Previous buffer in list
 *	@sk: Socket we are owned by
 *	@tstamp: Time we arrived
 *	@rbnode: RB tree node, alternative to next/prev for netem/tcp
 *	@dev: Device we arrived on/are leaving by
 *	@transport_header: Transport layer header
 *	@network_header: Network layer header
 *	@mac_header: Link layer header
 *	@_skb_dst: destination entry
 *	@sp: the security path, used for xfrm
 *	@cb: Control buffer. Free for use by every layer. Put private vars here
 *	@len: Length of actual data
 *	@data_len: Data length
 *	@mac_len: Length of link layer header
 *	@hdr_len: writable header length of cloned skb
 *	@csum: Checksum (must include start/offset pair)
 *	@csum_start: Offset from skb->head where checksumming should start
 *	@csum_offset: Offset from csum_start where checksum should be stored
 *	@local_df: allow local fragmentation
 *	@cloned: Head may be cloned (check refcnt to be sure)
 *	@nohdr: Payload reference only, must not modify header
 *	@pkt_type: Packet class
 *	@fclone: skbuff clone status
 *	@ip_summed: Driver fed us an IP checksum
 *	@priority: Packet queueing priority
 *	@users: User count - see {datagram,tcp}.c
 *	@protocol: Packet protocol from driver
 *	@truesize: Buffer size 
 *	@head: Head of buffer
 *	@data: Data head pointer
 *	@tail: Tail pointer
 *	@end: End pointer
 *	@destructor: Destruct function
 *	@mark: Generic packet mark
 *	@nfct: Associated connection, if any
 *	@ipvs_property: skbuff is owned by ipvs
 *	@peeked: this packet has been seen already, so stats have been
 *		done for it, don't do them again
 *	@nf_trace: netfilter packet trace flag
 *	@nfctinfo: Relationship of this skb to the connection
 *	@nfct_reasm: (UNUSED) netfilter conntrack re-assembly pointer
 *	@nf_bridge: Saved data about a bridged frame - see br_netfilter.c
 *	@iif: ifindex of device we arrived on
 *	@queue_mapping: Queue mapping for multiqueue devices
 *	@tc_index: Traffic control index
 *	@tc_verd: traffic control verdict
 *	@ndisc_nodetype: router type (from link layer)
 *	@dma_cookie: a cookie to one of several possible DMA operations
 *		done by skb DMA functions
 *	@napi_id: id of the NAPI struct this skb came from
 *	@secmark: security marking
 *	@vlan_tci: vlan tag control information
 */

struct sk_buff {
#ifdef __GENKSYMS__
	/* These two members must be first. */
	struct sk_buff		*next;
	struct sk_buff		*prev;

	struct sock		*sk;
#else
	union {
		struct {
			/* These two members must be first. */
			struct sk_buff		*next;
			struct sk_buff		*prev;

			struct sock		*sk;
		};
		struct rb_node	rbnode; /* used in netem, ip4 defrag, and tcp stack */
	};
#endif

	ktime_t			tstamp;
	struct net_device	*dev;

	unsigned long		_skb_dst;
#ifdef CONFIG_XFRM
	struct	sec_path	*sp;
#endif
	/*
	 * This is the control buffer. It is free to use for every
	 * layer. Please put your private variables there. If you
	 * want to keep them across layers you have to do a skb_clone()
	 * first. This is owned by whoever has the skb queued ATM.
	 */
	char			cb[48];

	unsigned int		len,
				data_len;
	__u16			mac_len,
				hdr_len;
	union {
		__wsum		csum;
		struct {
			__u16	csum_start;
			__u16	csum_offset;
		};
	};
	__u32			priority;
	kmemcheck_bitfield_begin(flags1);
	__u8			local_df:1,
				cloned:1,
				ip_summed:2,
				nohdr:1,
				nfctinfo:3;
	__u8			pkt_type:3,
				fclone:2,
				ipvs_property:1,
				peeked:1,
				nf_trace:1;
	__be16			protocol:16;
	kmemcheck_bitfield_end(flags1);

	void			(*destructor)(struct sk_buff *skb);
#if defined(CONFIG_NF_CONNTRACK) || defined(CONFIG_NF_CONNTRACK_MODULE)
	struct nf_conntrack	*nfct;
	struct sk_buff		*nfct_reasm; /* UNUSED */
#endif
#ifdef CONFIG_BRIDGE_NETFILTER
	struct nf_bridge_info	*nf_bridge;
#endif

	int			iif;
#ifdef CONFIG_NET_SCHED
	__u16			tc_index;	/* traffic control index */
#ifdef CONFIG_NET_CLS_ACT
	__u16			tc_verd;	/* traffic control verdict */
#endif
#endif

	kmemcheck_bitfield_begin(flags2);
	__u16			queue_mapping:16;
#ifdef __GENKSYMS__
#ifdef CONFIG_IPV6_NDISC_NODETYPE
	__u8			ndisc_nodetype:2,
				deliver_no_wcard:1;
#else
	__u8			deliver_no_wcard:1;
#endif
#else
#ifdef CONFIG_IPV6_NDISC_NODETYPE
	__u8			ndisc_nodetype:2,
				__RH_UNUSED:1;
#else
	__u8			__RH_UNUSED:1;
#endif
#endif
#ifndef __GENKSYMS__
	__u8			ooo_okay:1;
	/* Encapsulation protocol and NIC drivers should use
	 * this flag to indicate to each other if the skb contains
	 * encapsulated packet or not and maybe use the inner packet
	 * headers if needed
	 */
	__u8			encapsulation:1;
#endif
	kmemcheck_bitfield_end(flags2);

	/* 0/13 bit hole */

/* KABI note. We have CONFIG_NET_DMA=y so it is ok to put napi_id here */
#ifdef __GENKSYMS__
#ifdef CONFIG_NET_DMA
	dma_cookie_t		dma_cookie;
#endif
#else
#if defined CONFIG_NET_DMA || defined CONFIG_NET_RX_BUSY_POLL
	union {
		unsigned int	napi_id;
		dma_cookie_t	dma_cookie;
	};
#endif
#endif
#ifdef CONFIG_NETWORK_SECMARK
	__u32			secmark;
#endif
	union {
		__u32		mark;
		__u32		dropcount;
	};

	__u16			vlan_tci;
#ifndef __GENKSYMS__
	__u16			rxhash;
#endif
	sk_buff_data_t		transport_header;
	sk_buff_data_t		network_header;
	sk_buff_data_t		mac_header;
	/* These elements must be at the end, see alloc_skb() for details.  */
	sk_buff_data_t		tail;
	sk_buff_data_t		end;
	unsigned char		*head,
				*data;
	unsigned int		truesize;
	atomic_t		users;
};

#ifdef __KERNEL__
/*
 *	Handling routines are only of interest to the kernel
 */
#include <linux/slab.h>

#include <asm/system.h>

static inline struct dst_entry *skb_dst(const struct sk_buff *skb)
{
	return (struct dst_entry *)skb->_skb_dst;
}

static inline void skb_dst_set(struct sk_buff *skb, struct dst_entry *dst)
{
	skb->_skb_dst = (unsigned long)dst;
}

static inline struct rtable *skb_rtable(const struct sk_buff *skb)
{
	return (struct rtable *)skb_dst(skb);
}

extern void kfree_skb(struct sk_buff *skb);
extern void kfree_skb_list(struct sk_buff *segs);
extern void consume_skb(struct sk_buff *skb);
extern void	       __kfree_skb(struct sk_buff *skb);
extern struct sk_buff *__alloc_skb(unsigned int size,
				   gfp_t priority, int fclone, int node);
extern struct sk_buff *build_skb(void *data);
static inline struct sk_buff *alloc_skb(unsigned int size,
					gfp_t priority)
{
	return __alloc_skb(size, priority, 0, NUMA_NO_NODE);
}

static inline struct sk_buff *alloc_skb_fclone(unsigned int size,
					       gfp_t priority)
{
	return __alloc_skb(size, priority, 1, NUMA_NO_NODE);
}

extern int skb_recycle_check(struct sk_buff *skb, int skb_size);

extern struct sk_buff *skb_morph(struct sk_buff *dst, struct sk_buff *src);
extern struct sk_buff *skb_clone(struct sk_buff *skb,
				 gfp_t priority);
extern struct sk_buff *skb_copy(const struct sk_buff *skb,
				gfp_t priority);
extern struct sk_buff *__pskb_copy(struct sk_buff *skb,
				 int headroom, gfp_t gfp_mask);

extern int	       pskb_expand_head(struct sk_buff *skb,
					int nhead, int ntail,
					gfp_t gfp_mask);
extern struct sk_buff *skb_realloc_headroom(struct sk_buff *skb,
					    unsigned int headroom);
extern struct sk_buff *skb_copy_expand(const struct sk_buff *skb,
				       int newheadroom, int newtailroom,
				       gfp_t priority);
extern int	       skb_to_sgvec(struct sk_buff *skb,
				    struct scatterlist *sg, int offset,
				    int len);
extern int	       skb_cow_data(struct sk_buff *skb, int tailbits,
				    struct sk_buff **trailer);
extern int	       skb_pad(struct sk_buff *skb, int pad);
#define dev_kfree_skb(a)	consume_skb(a)
#define dev_consume_skb(a)	kfree_skb_clean(a)
extern void	      skb_over_panic(struct sk_buff *skb, int len,
				     void *here);
extern void	      skb_under_panic(struct sk_buff *skb, int len,
				      void *here);
unsigned int skb_gso_transport_seglen(const struct sk_buff *skb);

extern int skb_append_datato_frags(struct sock *sk, struct sk_buff *skb,
			int getfrag(void *from, char *to, int offset,
			int len,int odd, struct sk_buff *skb),
			void *from, int length);

struct skb_seq_state
{
	__u32		lower_offset;
	__u32		upper_offset;
	__u32		frag_idx;
	__u32		stepped_offset;
	struct sk_buff	*root_skb;
	struct sk_buff	*cur_skb;
	__u8		*frag_data;
};

extern void	      skb_prepare_seq_read(struct sk_buff *skb,
					   unsigned int from, unsigned int to,
					   struct skb_seq_state *st);
extern unsigned int   skb_seq_read(unsigned int consumed, const u8 **data,
				   struct skb_seq_state *st);
extern void	      skb_abort_seq_read(struct skb_seq_state *st);

extern unsigned int   skb_find_text(struct sk_buff *skb, unsigned int from,
				    unsigned int to, struct ts_config *config,
				    struct ts_state *state);
/*
 * Packet hash types specify the type of hash in skb_set_hash.
 *
 * Hash types refer to the protocol layer addresses which are used to
 * construct a packet's hash. The hashes are used to differentiate or identify
 * flows of the protocol layer for the hash type. Hash types are either
 * layer-2 (L2), layer-3 (L3), or layer-4 (L4).
 *
 * Properties of hashes:
 *
 * 1) Two packets in different flows have different hash values
 * 2) Two packets in the same flow should have the same hash value
 *
 * A hash at a higher layer is considered to be more specific. A driver should
 * set the most specific hash possible.
 *
 * A driver cannot indicate a more specific hash than the layer at which a hash
 * was computed. For instance an L3 hash cannot be set as an L4 hash.
 *
 * A driver may indicate a hash level which is less specific than the
 * actual layer the hash was computed on. For instance, a hash computed
 * at L4 may be considered an L3 hash. This should only be done if the
 * driver can't unambiguously determine that the HW computed the hash at
 * the higher layer. Note that the "should" in the second property above
 * permits this.
 */
enum pkt_hash_types {
	PKT_HASH_TYPE_NONE,	/* Undefined type */
	PKT_HASH_TYPE_L2,	/* Input: src_MAC, dest_MAC */
	PKT_HASH_TYPE_L3,	/* Input: src_IP, dst_IP */
	PKT_HASH_TYPE_L4,	/* Input: src_IP, dst_IP, src_port, dst_port */
};

static inline void
skb_set_hash(struct sk_buff *skb, __u32 hash, enum pkt_hash_types type)
{
	/* redhat doesn't support L4 rx hash */
/*	skb->l4_rxhash = (type == PKT_HASH_TYPE_L4); */
	skb->rxhash = hash;
}

#ifdef NET_SKBUFF_DATA_USES_OFFSET
static inline unsigned char *skb_end_pointer(const struct sk_buff *skb)
{
	return skb->head + skb->end;
}
#else
static inline unsigned char *skb_end_pointer(const struct sk_buff *skb)
{
	return skb->end;
}
#endif

/* Internal */
#define skb_shinfo(SKB)	((struct skb_shared_info *)(skb_end_pointer(SKB)))

static inline struct skb_shared_hwtstamps *skb_hwtstamps(struct sk_buff *skb)
{
	return &skb_shinfo(skb)->hwtstamps;
}

static inline union skb_shared_tx *skb_tx(struct sk_buff *skb)
{
	return &skb_shinfo(skb)->tx_flags;
}

/**
 *	skb_queue_empty - check if a queue is empty
 *	@list: queue head
 *
 *	Returns true if the queue is empty, false otherwise.
 */
static inline int skb_queue_empty(const struct sk_buff_head *list)
{
	return list->next == (struct sk_buff *)list;
}

/**
 *	skb_queue_is_last - check if skb is the last entry in the queue
 *	@list: queue head
 *	@skb: buffer
 *
 *	Returns true if @skb is the last buffer on the list.
 */
static inline bool skb_queue_is_last(const struct sk_buff_head *list,
				     const struct sk_buff *skb)
{
	return (skb->next == (struct sk_buff *) list);
}

/**
 *	skb_queue_is_first - check if skb is the first entry in the queue
 *	@list: queue head
 *	@skb: buffer
 *
 *	Returns true if @skb is the first buffer on the list.
 */
static inline bool skb_queue_is_first(const struct sk_buff_head *list,
				      const struct sk_buff *skb)
{
	return (skb->prev == (struct sk_buff *) list);
}

/**
 *	skb_queue_next - return the next packet in the queue
 *	@list: queue head
 *	@skb: current buffer
 *
 *	Return the next packet in @list after @skb.  It is only valid to
 *	call this if skb_queue_is_last() evaluates to false.
 */
static inline struct sk_buff *skb_queue_next(const struct sk_buff_head *list,
					     const struct sk_buff *skb)
{
	/* This BUG_ON may seem severe, but if we just return then we
	 * are going to dereference garbage.
	 */
	BUG_ON(skb_queue_is_last(list, skb));
	return skb->next;
}

/**
 *	skb_queue_prev - return the prev packet in the queue
 *	@list: queue head
 *	@skb: current buffer
 *
 *	Return the prev packet in @list before @skb.  It is only valid to
 *	call this if skb_queue_is_first() evaluates to false.
 */
static inline struct sk_buff *skb_queue_prev(const struct sk_buff_head *list,
					     const struct sk_buff *skb)
{
	/* This BUG_ON may seem severe, but if we just return then we
	 * are going to dereference garbage.
	 */
	BUG_ON(skb_queue_is_first(list, skb));
	return skb->prev;
}

/**
 *	skb_get - reference buffer
 *	@skb: buffer to reference
 *
 *	Makes another reference to a socket buffer and returns a pointer
 *	to the buffer.
 */
static inline struct sk_buff *skb_get(struct sk_buff *skb)
{
	atomic_inc(&skb->users);
	return skb;
}

/*
 * If users == 1, we are the only owner and are can avoid redundant
 * atomic change.
 */

/**
 *	skb_cloned - is the buffer a clone
 *	@skb: buffer to check
 *
 *	Returns true if the buffer was generated with skb_clone() and is
 *	one of multiple shared copies of the buffer. Cloned buffers are
 *	shared data so must not be written to under normal circumstances.
 */
static inline int skb_cloned(const struct sk_buff *skb)
{
	return skb->cloned &&
	       (atomic_read(&skb_shinfo(skb)->dataref) & SKB_DATAREF_MASK) != 1;
}

static inline int skb_unclone(struct sk_buff *skb, gfp_t pri)
{
	might_sleep_if(pri & __GFP_WAIT);

	if (skb_cloned(skb))
		return pskb_expand_head(skb, 0, 0, pri);

	return 0;
}

/**
 *	skb_header_cloned - is the header a clone
 *	@skb: buffer to check
 *
 *	Returns true if modifying the header part of the buffer requires
 *	the data to be copied.
 */
static inline int skb_header_cloned(const struct sk_buff *skb)
{
	int dataref;

	if (!skb->cloned)
		return 0;

	dataref = atomic_read(&skb_shinfo(skb)->dataref);
	dataref = (dataref & SKB_DATAREF_MASK) - (dataref >> SKB_DATAREF_SHIFT);
	return dataref != 1;
}

/**
 *	skb_header_release - release reference to header
 *	@skb: buffer to operate on
 *
 *	Drop a reference to the header part of the buffer.  This is done
 *	by acquiring a payload reference.  You must not read from the header
 *	part of skb->data after this.
 */
static inline void skb_header_release(struct sk_buff *skb)
{
	BUG_ON(skb->nohdr);
	skb->nohdr = 1;
	atomic_add(1 << SKB_DATAREF_SHIFT, &skb_shinfo(skb)->dataref);
}

/**
 *	skb_shared - is the buffer shared
 *	@skb: buffer to check
 *
 *	Returns true if more than one person has a reference to this
 *	buffer.
 */
static inline int skb_shared(const struct sk_buff *skb)
{
	return atomic_read(&skb->users) != 1;
}

/**
 *	skb_share_check - check if buffer is shared and if so clone it
 *	@skb: buffer to check
 *	@pri: priority for memory allocation
 *
 *	If the buffer is shared the buffer is cloned and the old copy
 *	drops a reference. A new clone with a single reference is returned.
 *	If the buffer is not shared the original buffer is returned. When
 *	being called from interrupt status or with spinlocks held pri must
 *	be GFP_ATOMIC.
 *
 *	NULL is returned on a memory allocation failure.
 */
static inline struct sk_buff *skb_share_check(struct sk_buff *skb,
					      gfp_t pri)
{
	might_sleep_if(pri & __GFP_WAIT);
	if (skb_shared(skb)) {
		struct sk_buff *nskb = skb_clone(skb, pri);
		kfree_skb(skb);
		skb = nskb;
	}
	return skb;
}

/*
 *	Copy shared buffers into a new sk_buff. We effectively do COW on
 *	packets to handle cases where we have a local reader and forward
 *	and a couple of other messy ones. The normal one is tcpdumping
 *	a packet thats being forwarded.
 */

/**
 *	skb_unshare - make a copy of a shared buffer
 *	@skb: buffer to check
 *	@pri: priority for memory allocation
 *
 *	If the socket buffer is a clone then this function creates a new
 *	copy of the data, drops a reference count on the old copy and returns
 *	the new copy with the reference count at 1. If the buffer is not a clone
 *	the original buffer is returned. When called with a spinlock held or
 *	from interrupt state @pri must be %GFP_ATOMIC
 *
 *	%NULL is returned on a memory allocation failure.
 */
static inline struct sk_buff *skb_unshare(struct sk_buff *skb,
					  gfp_t pri)
{
	might_sleep_if(pri & __GFP_WAIT);
	if (skb_cloned(skb)) {
		struct sk_buff *nskb = skb_copy(skb, pri);
		kfree_skb(skb);	/* Free our shared copy */
		skb = nskb;
	}
	return skb;
}

/**
 *	skb_peek
 *	@list_: list to peek at
 *
 *	Peek an &sk_buff. Unlike most other operations you _MUST_
 *	be careful with this one. A peek leaves the buffer on the
 *	list and someone else may run off with it. You must hold
 *	the appropriate locks or have a private queue to do this.
 *
 *	Returns %NULL for an empty list or a pointer to the head element.
 *	The reference count is not incremented and the reference is therefore
 *	volatile. Use with caution.
 */
static inline struct sk_buff *skb_peek(struct sk_buff_head *list_)
{
	struct sk_buff *list = ((struct sk_buff *)list_)->next;
	if (list == (struct sk_buff *)list_)
		list = NULL;
	return list;
}

/**
 *	skb_peek_tail
 *	@list_: list to peek at
 *
 *	Peek an &sk_buff. Unlike most other operations you _MUST_
 *	be careful with this one. A peek leaves the buffer on the
 *	list and someone else may run off with it. You must hold
 *	the appropriate locks or have a private queue to do this.
 *
 *	Returns %NULL for an empty list or a pointer to the tail element.
 *	The reference count is not incremented and the reference is therefore
 *	volatile. Use with caution.
 */
static inline struct sk_buff *skb_peek_tail(struct sk_buff_head *list_)
{
	struct sk_buff *list = ((struct sk_buff *)list_)->prev;
	if (list == (struct sk_buff *)list_)
		list = NULL;
	return list;
}

/**
 *	skb_queue_len	- get queue length
 *	@list_: list to measure
 *
 *	Return the length of an &sk_buff queue.
 */
static inline __u32 skb_queue_len(const struct sk_buff_head *list_)
{
	return list_->qlen;
}

/**
 *	__skb_queue_head_init - initialize non-spinlock portions of sk_buff_head
 *	@list: queue to initialize
 *
 *	This initializes only the list and queue length aspects of
 *	an sk_buff_head object.  This allows to initialize the list
 *	aspects of an sk_buff_head without reinitializing things like
 *	the spinlock.  It can also be used for on-stack sk_buff_head
 *	objects where the spinlock is known to not be used.
 */
static inline void __skb_queue_head_init(struct sk_buff_head *list)
{
	list->prev = list->next = (struct sk_buff *)list;
	list->qlen = 0;
}

/*
 * This function creates a split out lock class for each invocation;
 * this is needed for now since a whole lot of users of the skb-queue
 * infrastructure in drivers have different locking usage (in hardirq)
 * than the networking core (in softirq only). In the long run either the
 * network layer or drivers should need annotation to consolidate the
 * main types of usage into 3 classes.
 */
static inline void skb_queue_head_init(struct sk_buff_head *list)
{
	spin_lock_init(&list->lock);
	__skb_queue_head_init(list);
}

static inline void skb_queue_head_init_class(struct sk_buff_head *list,
		struct lock_class_key *class)
{
	skb_queue_head_init(list);
	lockdep_set_class(&list->lock, class);
}

/*
 *	Insert an sk_buff on a list.
 *
 *	The "__skb_xxxx()" functions are the non-atomic ones that
 *	can only be called with interrupts disabled.
 */
extern void        skb_insert(struct sk_buff *old, struct sk_buff *newsk, struct sk_buff_head *list);
static inline void __skb_insert(struct sk_buff *newsk,
				struct sk_buff *prev, struct sk_buff *next,
				struct sk_buff_head *list)
{
	newsk->next = next;
	newsk->prev = prev;
	next->prev  = prev->next = newsk;
	list->qlen++;
}

static inline void __skb_queue_splice(const struct sk_buff_head *list,
				      struct sk_buff *prev,
				      struct sk_buff *next)
{
	struct sk_buff *first = list->next;
	struct sk_buff *last = list->prev;

	first->prev = prev;
	prev->next = first;

	last->next = next;
	next->prev = last;
}

/**
 *	skb_queue_splice - join two skb lists, this is designed for stacks
 *	@list: the new list to add
 *	@head: the place to add it in the first list
 */
static inline void skb_queue_splice(const struct sk_buff_head *list,
				    struct sk_buff_head *head)
{
	if (!skb_queue_empty(list)) {
		__skb_queue_splice(list, (struct sk_buff *) head, head->next);
		head->qlen += list->qlen;
	}
}

/**
 *	skb_queue_splice - join two skb lists and reinitialise the emptied list
 *	@list: the new list to add
 *	@head: the place to add it in the first list
 *
 *	The list at @list is reinitialised
 */
static inline void skb_queue_splice_init(struct sk_buff_head *list,
					 struct sk_buff_head *head)
{
	if (!skb_queue_empty(list)) {
		__skb_queue_splice(list, (struct sk_buff *) head, head->next);
		head->qlen += list->qlen;
		__skb_queue_head_init(list);
	}
}

/**
 *	skb_queue_splice_tail - join two skb lists, each list being a queue
 *	@list: the new list to add
 *	@head: the place to add it in the first list
 */
static inline void skb_queue_splice_tail(const struct sk_buff_head *list,
					 struct sk_buff_head *head)
{
	if (!skb_queue_empty(list)) {
		__skb_queue_splice(list, head->prev, (struct sk_buff *) head);
		head->qlen += list->qlen;
	}
}

/**
 *	skb_queue_splice_tail - join two skb lists and reinitialise the emptied list
 *	@list: the new list to add
 *	@head: the place to add it in the first list
 *
 *	Each of the lists is a queue.
 *	The list at @list is reinitialised
 */
static inline void skb_queue_splice_tail_init(struct sk_buff_head *list,
					      struct sk_buff_head *head)
{
	if (!skb_queue_empty(list)) {
		__skb_queue_splice(list, head->prev, (struct sk_buff *) head);
		head->qlen += list->qlen;
		__skb_queue_head_init(list);
	}
}

/**
 *	__skb_queue_after - queue a buffer at the list head
 *	@list: list to use
 *	@prev: place after this buffer
 *	@newsk: buffer to queue
 *
 *	Queue a buffer int the middle of a list. This function takes no locks
 *	and you must therefore hold required locks before calling it.
 *
 *	A buffer cannot be placed on two lists at the same time.
 */
static inline void __skb_queue_after(struct sk_buff_head *list,
				     struct sk_buff *prev,
				     struct sk_buff *newsk)
{
	__skb_insert(newsk, prev, prev->next, list);
}

extern void skb_append(struct sk_buff *old, struct sk_buff *newsk,
		       struct sk_buff_head *list);

static inline void __skb_queue_before(struct sk_buff_head *list,
				      struct sk_buff *next,
				      struct sk_buff *newsk)
{
	__skb_insert(newsk, next->prev, next, list);
}

/**
 *	__skb_queue_head - queue a buffer at the list head
 *	@list: list to use
 *	@newsk: buffer to queue
 *
 *	Queue a buffer at the start of a list. This function takes no locks
 *	and you must therefore hold required locks before calling it.
 *
 *	A buffer cannot be placed on two lists at the same time.
 */
extern void skb_queue_head(struct sk_buff_head *list, struct sk_buff *newsk);
static inline void __skb_queue_head(struct sk_buff_head *list,
				    struct sk_buff *newsk)
{
	__skb_queue_after(list, (struct sk_buff *)list, newsk);
}

/**
 *	__skb_queue_tail - queue a buffer at the list tail
 *	@list: list to use
 *	@newsk: buffer to queue
 *
 *	Queue a buffer at the end of a list. This function takes no locks
 *	and you must therefore hold required locks before calling it.
 *
 *	A buffer cannot be placed on two lists at the same time.
 */
extern void skb_queue_tail(struct sk_buff_head *list, struct sk_buff *newsk);
static inline void __skb_queue_tail(struct sk_buff_head *list,
				   struct sk_buff *newsk)
{
	__skb_queue_before(list, (struct sk_buff *)list, newsk);
}

/*
 * remove sk_buff from list. _Must_ be called atomically, and with
 * the list known..
 */
extern void	   skb_unlink(struct sk_buff *skb, struct sk_buff_head *list);
static inline void __skb_unlink(struct sk_buff *skb, struct sk_buff_head *list)
{
	struct sk_buff *next, *prev;

	list->qlen--;
	next	   = skb->next;
	prev	   = skb->prev;
	skb->next  = skb->prev = NULL;
	next->prev = prev;
	prev->next = next;
}

/**
 *	__skb_dequeue - remove from the head of the queue
 *	@list: list to dequeue from
 *
 *	Remove the head of the list. This function does not take any locks
 *	so must be used with appropriate locks held only. The head item is
 *	returned or %NULL if the list is empty.
 */
extern struct sk_buff *skb_dequeue(struct sk_buff_head *list);
static inline struct sk_buff *__skb_dequeue(struct sk_buff_head *list)
{
	struct sk_buff *skb = skb_peek(list);
	if (skb)
		__skb_unlink(skb, list);
	return skb;
}

/**
 *	__skb_dequeue_tail - remove from the tail of the queue
 *	@list: list to dequeue from
 *
 *	Remove the tail of the list. This function does not take any locks
 *	so must be used with appropriate locks held only. The tail item is
 *	returned or %NULL if the list is empty.
 */
extern struct sk_buff *skb_dequeue_tail(struct sk_buff_head *list);
static inline struct sk_buff *__skb_dequeue_tail(struct sk_buff_head *list)
{
	struct sk_buff *skb = skb_peek_tail(list);
	if (skb)
		__skb_unlink(skb, list);
	return skb;
}


static inline int skb_is_nonlinear(const struct sk_buff *skb)
{
	return skb->data_len;
}

static inline unsigned int skb_headlen(const struct sk_buff *skb)
{
	return skb->len - skb->data_len;
}

static inline int skb_pagelen(const struct sk_buff *skb)
{
	int i, len = 0;

	for (i = (int)skb_shinfo(skb)->nr_frags - 1; i >= 0; i--)
		len += skb_frag_size(&skb_shinfo(skb)->frags[i]);
	return len + skb_headlen(skb);
}

/**
 * __skb_fill_page_desc - initialise a paged fragment in an skb
 * @skb: buffer containing fragment to be initialised
 * @i: paged fragment index to initialise
 * @page: the page to use for this fragment
 * @off: the offset to the data with @page
 * @size: the length of the data
 *
 * Initialises the @i'th fragment of @skb to point to &size bytes at
 * offset @off within @page.
 *
 * Does not take any additional reference on the fragment.
 */
static inline void __skb_fill_page_desc(struct sk_buff *skb, int i,
					struct page *page, int off, int size)
{
	skb_frag_t *frag = &skb_shinfo(skb)->frags[i];

	frag->page		  = page;
	frag->page_offset	  = off;
	skb_frag_size_set(frag, size);
}

/**
 * skb_fill_page_desc - initialise a paged fragment in an skb
 * @skb: buffer containing fragment to be initialised
 * @i: paged fragment index to initialise
 * @page: the page to use for this fragment
 * @off: the offset to the data with @page
 * @size: the length of the data
 *
 * As per __skb_fill_page_desc() -- initialises the @i'th fragment of
 * @skb to point to &size bytes at offset @off within @page. In
 * addition updates @skb such that @i is the last fragment.
 *
 * Does not take any additional reference on the fragment.
 */
static inline void skb_fill_page_desc(struct sk_buff *skb, int i,
				      struct page *page, int off, int size)
{
	__skb_fill_page_desc(skb, i, page, off, size);
	skb_shinfo(skb)->nr_frags = i + 1;
}

extern void skb_add_rx_frag(struct sk_buff *skb, int i, struct page *page,
			    int off, int size, unsigned int truesize);

#define SKB_PAGE_ASSERT(skb) 	BUG_ON(skb_shinfo(skb)->nr_frags)
#define SKB_FRAG_ASSERT(skb) 	BUG_ON(skb_has_frag_list(skb))
#define SKB_LINEAR_ASSERT(skb)  BUG_ON(skb_is_nonlinear(skb))

#ifdef NET_SKBUFF_DATA_USES_OFFSET
static inline unsigned char *skb_tail_pointer(const struct sk_buff *skb)
{
	return skb->head + skb->tail;
}

static inline void skb_reset_tail_pointer(struct sk_buff *skb)
{
	skb->tail = skb->data - skb->head;
}

static inline void skb_set_tail_pointer(struct sk_buff *skb, const int offset)
{
	skb_reset_tail_pointer(skb);
	skb->tail += offset;
}
#else /* NET_SKBUFF_DATA_USES_OFFSET */
static inline unsigned char *skb_tail_pointer(const struct sk_buff *skb)
{
	return skb->tail;
}

static inline void skb_reset_tail_pointer(struct sk_buff *skb)
{
	skb->tail = skb->data;
}

static inline void skb_set_tail_pointer(struct sk_buff *skb, const int offset)
{
	skb->tail = skb->data + offset;
}

#endif /* NET_SKBUFF_DATA_USES_OFFSET */

/*
 *	Add data to an sk_buff
 */
extern unsigned char *skb_put(struct sk_buff *skb, unsigned int len);
static inline unsigned char *__skb_put(struct sk_buff *skb, unsigned int len)
{
	unsigned char *tmp = skb_tail_pointer(skb);
	SKB_LINEAR_ASSERT(skb);
	skb->tail += len;
	skb->len  += len;
	return tmp;
}

extern unsigned char *skb_push(struct sk_buff *skb, unsigned int len);
static inline unsigned char *__skb_push(struct sk_buff *skb, unsigned int len)
{
	skb->data -= len;
	skb->len  += len;
	return skb->data;
}

extern unsigned char *skb_pull(struct sk_buff *skb, unsigned int len);
static inline unsigned char *__skb_pull(struct sk_buff *skb, unsigned int len)
{
	skb->len -= len;
	BUG_ON(skb->len < skb->data_len);
	return skb->data += len;
}

extern unsigned char *__pskb_pull_tail(struct sk_buff *skb, int delta);

static inline unsigned char *__pskb_pull(struct sk_buff *skb, unsigned int len)
{
	if (len > skb_headlen(skb) &&
	    !__pskb_pull_tail(skb, len - skb_headlen(skb)))
		return NULL;
	skb->len -= len;
	return skb->data += len;
}

static inline unsigned char *pskb_pull(struct sk_buff *skb, unsigned int len)
{
	return unlikely(len > skb->len) ? NULL : __pskb_pull(skb, len);
}

static inline int pskb_may_pull(struct sk_buff *skb, unsigned int len)
{
	if (likely(len <= skb_headlen(skb)))
		return 1;
	if (unlikely(len > skb->len))
		return 0;
	return __pskb_pull_tail(skb, len - skb_headlen(skb)) != NULL;
}

/**
 *	skb_headroom - bytes at buffer head
 *	@skb: buffer to check
 *
 *	Return the number of bytes of free space at the head of an &sk_buff.
 */
static inline unsigned int skb_headroom(const struct sk_buff *skb)
{
	return skb->data - skb->head;
}

/**
 *	skb_tailroom - bytes at buffer end
 *	@skb: buffer to check
 *
 *	Return the number of bytes of free space at the tail of an sk_buff
 */
static inline int skb_tailroom(const struct sk_buff *skb)
{
	return skb_is_nonlinear(skb) ? 0 : skb->end - skb->tail;
}

/**
 *	skb_reserve - adjust headroom
 *	@skb: buffer to alter
 *	@len: bytes to move
 *
 *	Increase the headroom of an empty &sk_buff by reducing the tail
 *	room. This is only allowed for an empty buffer.
 */
static inline void skb_reserve(struct sk_buff *skb, int len)
{
	skb->data += len;
	skb->tail += len;
}

static inline void skb_reset_mac_len(struct sk_buff *skb)
{
	skb->mac_len = skb->network_header - skb->mac_header;
}

#ifdef NET_SKBUFF_DATA_USES_OFFSET
static inline bool skb_transport_header_was_set(const struct sk_buff *skb)
{
	return skb->transport_header != ~0U;
}

static inline unsigned char *skb_transport_header(const struct sk_buff *skb)
{
	return skb->head + skb->transport_header;
}

static inline void skb_reset_transport_header(struct sk_buff *skb)
{
	skb->transport_header = skb->data - skb->head;
}

static inline void skb_set_transport_header(struct sk_buff *skb,
					    const int offset)
{
	skb_reset_transport_header(skb);
	skb->transport_header += offset;
}

static inline void skb_probe_transport_header(struct sk_buff *skb,
					      const int offset_hint)
{
	struct flow_keys keys;

	if (skb_transport_header_was_set(skb))
		return;
	else if (skb_flow_dissect(skb, &keys))
		skb_set_transport_header(skb, keys.thoff);
	else
		skb_set_transport_header(skb, offset_hint);
}

static inline unsigned char *skb_network_header(const struct sk_buff *skb)
{
	return skb->head + skb->network_header;
}

static inline void skb_reset_network_header(struct sk_buff *skb)
{
	skb->network_header = skb->data - skb->head;
}

static inline void skb_set_network_header(struct sk_buff *skb, const int offset)
{
	skb_reset_network_header(skb);
	skb->network_header += offset;
}

static inline unsigned char *skb_mac_header(const struct sk_buff *skb)
{
	return skb->head + skb->mac_header;
}

static inline int skb_mac_header_was_set(const struct sk_buff *skb)
{
	return skb->mac_header != ~0U;
}

static inline void skb_reset_mac_header(struct sk_buff *skb)
{
	skb->mac_header = skb->data - skb->head;
}

static inline void skb_set_mac_header(struct sk_buff *skb, const int offset)
{
	skb_reset_mac_header(skb);
	skb->mac_header += offset;
}

#else /* NET_SKBUFF_DATA_USES_OFFSET */

static inline bool skb_transport_header_was_set(const struct sk_buff *skb)
{
	return skb->transport_header != NULL;
}

static inline unsigned char *skb_transport_header(const struct sk_buff *skb)
{
	return skb->transport_header;
}

static inline void skb_reset_transport_header(struct sk_buff *skb)
{
	skb->transport_header = skb->data;
}

static inline void skb_set_transport_header(struct sk_buff *skb,
					    const int offset)
{
	skb->transport_header = skb->data + offset;
}

static inline unsigned char *skb_network_header(const struct sk_buff *skb)
{
	return skb->network_header;
}

static inline void skb_reset_network_header(struct sk_buff *skb)
{
	skb->network_header = skb->data;
}

static inline void skb_set_network_header(struct sk_buff *skb, const int offset)
{
	skb->network_header = skb->data + offset;
}

static inline unsigned char *skb_mac_header(const struct sk_buff *skb)
{
	return skb->mac_header;
}

static inline int skb_mac_header_was_set(const struct sk_buff *skb)
{
	return skb->mac_header != NULL;
}

static inline void skb_reset_mac_header(struct sk_buff *skb)
{
	skb->mac_header = skb->data;
}

static inline void skb_set_mac_header(struct sk_buff *skb, const int offset)
{
	skb->mac_header = skb->data + offset;
}
#endif /* NET_SKBUFF_DATA_USES_OFFSET */

static inline void skb_pop_mac_header(struct sk_buff *skb)
{
	skb->mac_header = skb->network_header;
}

static inline int skb_checksum_start_offset(const struct sk_buff *skb)
{
	return skb->csum_start - skb_headroom(skb);
}

static inline int skb_transport_offset(const struct sk_buff *skb)
{
	return skb_transport_header(skb) - skb->data;
}

static inline u32 skb_network_header_len(const struct sk_buff *skb)
{
	return skb->transport_header - skb->network_header;
}

static inline int skb_network_offset(const struct sk_buff *skb)
{
	return skb_network_header(skb) - skb->data;
}

static inline int pskb_network_may_pull(struct sk_buff *skb, unsigned int len)
{
	return pskb_may_pull(skb, skb_network_offset(skb) + len);
}

/*
 * CPUs often take a performance hit when accessing unaligned memory
 * locations. The actual performance hit varies, it can be small if the
 * hardware handles it or large if we have to take an exception and fix it
 * in software.
 *
 * Since an ethernet header is 14 bytes network drivers often end up with
 * the IP header at an unaligned offset. The IP header can be aligned by
 * shifting the start of the packet by 2 bytes. Drivers should do this
 * with:
 *
 * skb_reserve(skb, NET_IP_ALIGN);
 *
 * The downside to this alignment of the IP header is that the DMA is now
 * unaligned. On some architectures the cost of an unaligned DMA is high
 * and this cost outweighs the gains made by aligning the IP header.
 *
 * Since this trade off varies between architectures, we allow NET_IP_ALIGN
 * to be overridden.
 */
#ifndef NET_IP_ALIGN
#define NET_IP_ALIGN	2
#endif

/*
 * The networking layer reserves some headroom in skb data (via
 * dev_alloc_skb). This is used to avoid having to reallocate skb data when
 * the header has to grow. In the default case, if the header has to grow
 * 32 bytes or less we avoid the reallocation.
 *
 * Unfortunately this headroom changes the DMA alignment of the resulting
 * network packet. As for NET_IP_ALIGN, this unaligned DMA is expensive
 * on some architectures. An architecture can override this value,
 * perhaps setting it to a cacheline in size (since that will maintain
 * cacheline alignment of the DMA). It must be a power of 2.
 *
 * Various parts of the networking layer expect at least 32 bytes of
 * headroom, you should not reduce this.
 */
#ifndef NET_SKB_PAD
#define NET_SKB_PAD	32
#endif

extern int ___pskb_trim(struct sk_buff *skb, unsigned int len);

static inline void __skb_trim(struct sk_buff *skb, unsigned int len)
{
	if (unlikely(skb->data_len)) {
		WARN_ON(1);
		return;
	}
	skb->len = len;
	skb_set_tail_pointer(skb, len);
}

extern void skb_trim(struct sk_buff *skb, unsigned int len);

static inline int __pskb_trim(struct sk_buff *skb, unsigned int len)
{
	if (skb->data_len)
		return ___pskb_trim(skb, len);
	__skb_trim(skb, len);
	return 0;
}

static inline int pskb_trim(struct sk_buff *skb, unsigned int len)
{
	return (len < skb->len) ? __pskb_trim(skb, len) : 0;
}

/**
 *	pskb_trim_unique - remove end from a paged unique (not cloned) buffer
 *	@skb: buffer to alter
 *	@len: new length
 *
 *	This is identical to pskb_trim except that the caller knows that
 *	the skb is not cloned so we should never get an error due to out-
 *	of-memory.
 */
static inline void pskb_trim_unique(struct sk_buff *skb, unsigned int len)
{
	int err = pskb_trim(skb, len);
	BUG_ON(err);
}

/**
 *	skb_orphan - orphan a buffer
 *	@skb: buffer to orphan
 *
 *	If a buffer currently has an owner then we call the owner's
 *	destructor function and make the @skb unowned. The buffer continues
 *	to exist but is no longer charged to its former owner.
 */
static inline void skb_orphan(struct sk_buff *skb)
{
	if (skb->destructor)
		skb->destructor(skb);
	skb->destructor = NULL;
	skb->sk		= NULL;
}

/**
 *	__skb_queue_purge - empty a list
 *	@list: list to empty
 *
 *	Delete all buffers on an &sk_buff list. Each buffer is removed from
 *	the list and one reference dropped. This function does not take the
 *	list lock and the caller must hold the relevant locks to use it.
 */
extern void skb_queue_purge(struct sk_buff_head *list);
static inline void __skb_queue_purge(struct sk_buff_head *list)
{
	struct sk_buff *skb;
	while ((skb = __skb_dequeue(list)) != NULL)
		kfree_skb(skb);
}

unsigned int skb_rbtree_purge(struct rb_root *root);

void skb_rbtree_purge_sk(struct sock *sk, struct rb_root *root);

/**
 *	__dev_alloc_skb - allocate an skbuff for receiving
 *	@length: length to allocate
 *	@gfp_mask: get_free_pages mask, passed to alloc_skb
 *
 *	Allocate a new &sk_buff and assign it a usage count of one. The
 *	buffer has unspecified headroom built in. Users should allocate
 *	the headroom they think they need without accounting for the
 *	built in space. The built in space is used for optimisations.
 *
 *	%NULL is returned if there is no free memory.
 */
static inline struct sk_buff *__dev_alloc_skb(unsigned int length,
					      gfp_t gfp_mask)
{
	struct sk_buff *skb = alloc_skb(length + NET_SKB_PAD, gfp_mask);
	if (likely(skb))
		skb_reserve(skb, NET_SKB_PAD);
	return skb;
}

extern struct sk_buff *dev_alloc_skb(unsigned int length);

extern struct sk_buff *__netdev_alloc_skb(struct net_device *dev,
		unsigned int length, gfp_t gfp_mask);

/**
 *	netdev_alloc_skb - allocate an skbuff for rx on a specific device
 *	@dev: network device to receive on
 *	@length: length to allocate
 *
 *	Allocate a new &sk_buff and assign it a usage count of one. The
 *	buffer has unspecified headroom built in. Users should allocate
 *	the headroom they think they need without accounting for the
 *	built in space. The built in space is used for optimisations.
 *
 *	%NULL is returned if there is no free memory. Although this function
 *	allocates memory it can be called from an interrupt.
 */
static inline struct sk_buff *netdev_alloc_skb(struct net_device *dev,
		unsigned int length)
{
	return __netdev_alloc_skb(dev, length, GFP_ATOMIC);
}

extern struct page *__netdev_alloc_page(struct net_device *dev, gfp_t gfp_mask);

static inline struct sk_buff *__netdev_alloc_skb_ip_align(struct net_device *dev,
		unsigned int length, gfp_t gfp)
{
	struct sk_buff *skb = __netdev_alloc_skb(dev, length + NET_IP_ALIGN, gfp);

	if (NET_IP_ALIGN && skb)
		skb_reserve(skb, NET_IP_ALIGN);
	return skb;
}

static inline struct sk_buff *netdev_alloc_skb_ip_align(struct net_device *dev,
		unsigned int length)
{
	return __netdev_alloc_skb_ip_align(dev, length, GFP_ATOMIC);
}

/**
 *	netdev_alloc_page - allocate a page for ps-rx on a specific device
 *	@dev: network device to receive on
 *
 * 	Allocate a new page node local to the specified device.
 *
 * 	%NULL is returned if there is no free memory.
 */
static inline struct page *netdev_alloc_page(struct net_device *dev)
{
	return __netdev_alloc_page(dev, GFP_ATOMIC);
}

static inline void netdev_free_page(struct net_device *dev, struct page *page)
{
	__free_page(page);
}

/**
 * skb_frag_page - retrieve the page refered to by a paged fragment
 * @frag: the paged fragment
 *
 * Returns the &struct page associated with @frag.
 */
static inline struct page *skb_frag_page(const skb_frag_t *frag)
{
	return frag->page;
}

/**
 * __skb_frag_ref - take an addition reference on a paged fragment.
 * @frag: the paged fragment
 *
 * Takes an additional reference on the paged fragment @frag.
 */
static inline void __skb_frag_ref(skb_frag_t *frag)
{
	get_page(skb_frag_page(frag));
}

/**
 * skb_frag_ref - take an addition reference on a paged fragment of an skb.
 * @skb: the buffer
 * @f: the fragment offset.
 *
 * Takes an additional reference on the @f'th paged fragment of @skb.
 */
static inline void skb_frag_ref(struct sk_buff *skb, int f)
{
	__skb_frag_ref(&skb_shinfo(skb)->frags[f]);
}

/**
 * __skb_frag_unref - release a reference on a paged fragment.
 * @frag: the paged fragment
 *
 * Releases a reference on the paged fragment @frag.
 */
static inline void __skb_frag_unref(skb_frag_t *frag)
{
	put_page(skb_frag_page(frag));
}

/**
 * skb_frag_unref - release a reference on a paged fragment of an skb.
 * @skb: the buffer
 * @f: the fragment offset
 *
 * Releases a reference on the @f'th paged fragment of @skb.
 */
static inline void skb_frag_unref(struct sk_buff *skb, int f)
{
	__skb_frag_unref(&skb_shinfo(skb)->frags[f]);
}

/**
 * skb_frag_address - gets the address of the data contained in a paged fragment
 * @frag: the paged fragment buffer
 *
 * Returns the address of the data within @frag. The page must already
 * be mapped.
 */
static inline void *skb_frag_address(const skb_frag_t *frag)
{
	return page_address(skb_frag_page(frag)) + frag->page_offset;
}

/**
 * skb_frag_address_safe - gets the address of the data contained in a paged fragment
 * @frag: the paged fragment buffer
 *
 * Returns the address of the data within @frag. Checks that the page
 * is mapped and returns %NULL otherwise.
 */
static inline void *skb_frag_address_safe(const skb_frag_t *frag)
{
	void *ptr = page_address(skb_frag_page(frag));
	if (unlikely(!ptr))
		return NULL;

	return ptr + frag->page_offset;
}

/**
 * __skb_frag_set_page - sets the page contained in a paged fragment
 * @frag: the paged fragment
 * @page: the page to set
 *
 * Sets the fragment @frag to contain @page.
 */
static inline void __skb_frag_set_page(skb_frag_t *frag, struct page *page)
{
	frag->page = page;
}

/**
 * skb_frag_set_page - sets the page contained in a paged fragment of an skb
 * @skb: the buffer
 * @f: the fragment offset
 * @page: the page to set
 *
 * Sets the @f'th fragment of @skb to contain @page.
 */
static inline void skb_frag_set_page(struct sk_buff *skb, int f,
				     struct page *page)
{
	__skb_frag_set_page(&skb_shinfo(skb)->frags[f], page);
}

/**
 * skb_frag_dma_map - maps a paged fragment via the DMA API
 * @dev: the device to map the fragment to
 * @frag: the paged fragment to map
 * @offset: the offset within the fragment (starting at the
 *          fragment's own offset)
 * @size: the number of bytes to map
 * @dir: the direction of the mapping (%PCI_DMA_*)
 *
 * Maps the page associated with @frag to @device.
 */
static inline dma_addr_t skb_frag_dma_map(struct device *dev,
					  const skb_frag_t *frag,
					  size_t offset, size_t size,
					  enum dma_data_direction dir)
{
	return dma_map_page(dev, skb_frag_page(frag),
			    frag->page_offset + offset, size, dir);
}

static inline struct sk_buff *pskb_copy(struct sk_buff *skb,
					gfp_t gfp_mask)
{
	return __pskb_copy(skb, skb_headroom(skb), gfp_mask);
}

/**
 *	skb_clone_writable - is the header of a clone writable
 *	@skb: buffer to check
 *	@len: length up to which to write
 *
 *	Returns true if modifying the header part of the cloned buffer
 *	does not requires the data to be copied.
 */
static inline int skb_clone_writable(struct sk_buff *skb, unsigned int len)
{
	return !skb_header_cloned(skb) &&
	       skb_headroom(skb) + len <= skb->hdr_len;
}

static inline int __skb_cow(struct sk_buff *skb, unsigned int headroom,
			    int cloned)
{
	int delta = 0;

	if (headroom < NET_SKB_PAD)
		headroom = NET_SKB_PAD;
	if (headroom > skb_headroom(skb))
		delta = headroom - skb_headroom(skb);

	if (delta || cloned)
		return pskb_expand_head(skb, ALIGN(delta, NET_SKB_PAD), 0,
					GFP_ATOMIC);
	return 0;
}

/**
 *	skb_cow - copy header of skb when it is required
 *	@skb: buffer to cow
 *	@headroom: needed headroom
 *
 *	If the skb passed lacks sufficient headroom or its data part
 *	is shared, data is reallocated. If reallocation fails, an error
 *	is returned and original skb is not changed.
 *
 *	The result is skb with writable area skb->head...skb->tail
 *	and at least @headroom of space at head.
 */
static inline int skb_cow(struct sk_buff *skb, unsigned int headroom)
{
	return __skb_cow(skb, headroom, skb_cloned(skb));
}

/**
 *	skb_cow_head - skb_cow but only making the head writable
 *	@skb: buffer to cow
 *	@headroom: needed headroom
 *
 *	This function is identical to skb_cow except that we replace the
 *	skb_cloned check by skb_header_cloned.  It should be used when
 *	you only need to push on some header and do not need to modify
 *	the data.
 */
static inline int skb_cow_head(struct sk_buff *skb, unsigned int headroom)
{
	return __skb_cow(skb, headroom, skb_header_cloned(skb));
}

/**
 *	skb_padto	- pad an skbuff up to a minimal size
 *	@skb: buffer to pad
 *	@len: minimal length
 *
 *	Pads up a buffer to ensure the trailing bytes exist and are
 *	blanked. If the buffer already contains sufficient data it
 *	is untouched. Otherwise it is extended. Returns zero on
 *	success. The skb is freed on error.
 */
static inline int skb_padto(struct sk_buff *skb, unsigned int len)
{
	unsigned int size = skb->len;
	if (likely(size >= len))
		return 0;
	return skb_pad(skb, len - size);
}

/**
 *	skb_put_padto - increase size and pad an skbuff up to a minimal size
 *	@skb: buffer to pad
 *	@len: minimal length
 *
 *	Pads up a buffer to ensure the trailing bytes exist and are
 *	blanked. If the buffer already contains sufficient data it
 *	is untouched. Otherwise it is extended. Returns zero on
 *	success. The skb is freed on error.
 */
static inline int skb_put_padto(struct sk_buff *skb, unsigned int len)
{
	unsigned int size = skb->len;

	if (unlikely(size < len)) {
		len -= size;
		if (skb_pad(skb, len))
			return -ENOMEM;
		__skb_put(skb, len);
	}
	return 0;
}

static inline int skb_add_data(struct sk_buff *skb,
			       char __user *from, int copy)
{
	const int off = skb->len;

	if (skb->ip_summed == CHECKSUM_NONE) {
		int err = 0;
		__wsum csum = csum_and_copy_from_user(from, skb_put(skb, copy),
							    copy, 0, &err);
		if (!err) {
			skb->csum = csum_block_add(skb->csum, csum, off);
			return 0;
		}
	} else if (!copy_from_user(skb_put(skb, copy), from, copy))
		return 0;

	__skb_trim(skb, off);
	return -EFAULT;
}

static inline int skb_can_coalesce(struct sk_buff *skb, int i,
				   struct page *page, int off)
{
	if (i) {
		const struct skb_frag_struct *frag = &skb_shinfo(skb)->frags[i - 1];

		return page == frag->page &&
		       off == frag->page_offset + skb_frag_size(frag);
	}
	return 0;
}

static inline int __skb_linearize(struct sk_buff *skb)
{
	return __pskb_pull_tail(skb, skb->data_len) ? 0 : -ENOMEM;
}

/**
 *	skb_linearize - convert paged skb to linear one
 *	@skb: buffer to linarize
 *
 *	If there is no free memory -ENOMEM is returned, otherwise zero
 *	is returned and the old skb data released.
 */
static inline int skb_linearize(struct sk_buff *skb)
{
	return skb_is_nonlinear(skb) ? __skb_linearize(skb) : 0;
}

/**
 * skb_has_shared_frag - can any frag be overwritten
 * @skb: buffer to test
 *
 * Return true if the skb has at least one frag that might be modified
 * by an external entity (as in vmsplice()/sendfile())
 */
static inline bool skb_has_shared_frag(struct sk_buff *skb)
{
	return skb_is_nonlinear(skb) && skb_tx(skb)->shared_frag;
}

/**
 *	skb_linearize_cow - make sure skb is linear and writable
 *	@skb: buffer to process
 *
 *	If there is no free memory -ENOMEM is returned, otherwise zero
 *	is returned and the old skb data released.
 */
static inline int skb_linearize_cow(struct sk_buff *skb)
{
	return skb_is_nonlinear(skb) || skb_cloned(skb) ?
	       __skb_linearize(skb) : 0;
}

/**
 *	skb_postpull_rcsum - update checksum for received skb after pull
 *	@skb: buffer to update
 *	@start: start of data before pull
 *	@len: length of data pulled
 *
 *	After doing a pull on a received packet, you need to call this to
 *	update the CHECKSUM_COMPLETE checksum, or set ip_summed to
 *	CHECKSUM_NONE so that it can be recomputed from scratch.
 */

static inline void skb_postpull_rcsum(struct sk_buff *skb,
				      const void *start, unsigned int len)
{
	if (skb->ip_summed == CHECKSUM_COMPLETE)
		skb->csum = csum_sub(skb->csum, csum_partial(start, len, 0));
}

unsigned char *skb_pull_rcsum(struct sk_buff *skb, unsigned int len);

/**
 *	pskb_trim_rcsum - trim received skb and update checksum
 *	@skb: buffer to trim
 *	@len: new length
 *
 *	This is exactly the same as pskb_trim except that it ensures the
 *	checksum of received packets are still valid after the operation.
 */

static inline int pskb_trim_rcsum(struct sk_buff *skb, unsigned int len)
{
	if (likely(len >= skb->len))
		return 0;
	if (skb->ip_summed == CHECKSUM_COMPLETE)
		skb->ip_summed = CHECKSUM_NONE;
	return __pskb_trim(skb, len);
}

#define rb_to_skb(rb) rb_entry_safe(rb, struct sk_buff, rbnode)
#define skb_rb_first(root) rb_to_skb(rb_first(root))
#define skb_rb_last(root)  rb_to_skb(rb_last(root))
#define skb_rb_next(skb)   rb_to_skb(rb_next(&(skb)->rbnode))
#define skb_rb_prev(skb)   rb_to_skb(rb_prev(&(skb)->rbnode))

#define skb_queue_walk(queue, skb) \
		for (skb = (queue)->next;					\
		     prefetch(skb->next), (skb != (struct sk_buff *)(queue));	\
		     skb = skb->next)

#define skb_queue_walk_safe(queue, skb, tmp)					\
		for (skb = (queue)->next, tmp = skb->next;			\
		     skb != (struct sk_buff *)(queue);				\
		     skb = tmp, tmp = skb->next)

#define skb_queue_walk_from(queue, skb)						\
		for (; prefetch(skb->next), (skb != (struct sk_buff *)(queue));	\
		     skb = skb->next)

#define skb_rbtree_walk(skb, root)						\
		for (skb = skb_rb_first(root); skb != NULL;			\
		     skb = skb_rb_next(skb))

#define skb_rbtree_walk_from(skb)						\
		for (; skb != NULL;						\
		     skb = skb_rb_next(skb))

#define skb_rbtree_walk_from_safe(skb, tmp)					\
		for (; tmp = skb ? skb_rb_next(skb) : NULL, (skb != NULL);	\
		     skb = tmp)

#define skb_queue_walk_from_safe(queue, skb, tmp)				\
		for (tmp = skb->next;						\
		     skb != (struct sk_buff *)(queue);				\
		     skb = tmp, tmp = skb->next)

#define skb_queue_reverse_walk(queue, skb) \
		for (skb = (queue)->prev;					\
		     prefetch(skb->prev), (skb != (struct sk_buff *)(queue));	\
		     skb = skb->prev)


static inline bool skb_has_frag_list(const struct sk_buff *skb)
{
	return skb_shinfo(skb)->frag_list != NULL;
}

static inline void skb_frag_list_init(struct sk_buff *skb)
{
	skb_shinfo(skb)->frag_list = NULL;
}

static inline void skb_frag_add_head(struct sk_buff *skb, struct sk_buff *frag)
{
	frag->next = skb_shinfo(skb)->frag_list;
	skb_shinfo(skb)->frag_list = frag;
}

#define skb_walk_frags(skb, iter)	\
	for (iter = skb_shinfo(skb)->frag_list; iter; iter = iter->next)

extern struct sk_buff *__skb_recv_datagram(struct sock *sk, unsigned flags,
					   int *peeked, int *err);
extern struct sk_buff *skb_recv_datagram(struct sock *sk, unsigned flags,
					 int noblock, int *err);
extern unsigned int    datagram_poll(struct file *file, struct socket *sock,
				     struct poll_table_struct *wait);
extern int	       skb_copy_datagram_iovec(const struct sk_buff *from,
					       int offset, struct iovec *to,
					       int size);
extern int	       skb_copy_and_csum_datagram_iovec(struct sk_buff *skb,
							int hlen,
							struct iovec *iov);
extern int	       skb_copy_datagram_from_iovec(struct sk_buff *skb,
						    int offset,
						    const struct iovec *from,
						    int from_offset,
						    int len);
extern int	       skb_copy_datagram_const_iovec(const struct sk_buff *from,
						     int offset,
						     const struct iovec *to,
						     int to_offset,
						     int size);
extern void	       skb_free_datagram(struct sock *sk, struct sk_buff *skb);
extern void	       skb_free_datagram_locked(struct sock *sk,
						struct sk_buff *skb);
extern int	       skb_kill_datagram(struct sock *sk, struct sk_buff *skb,
					 unsigned int flags);
extern int	       skb_copy_bits(const struct sk_buff *skb, int offset,
				     void *to, int len);
extern int	       skb_store_bits(struct sk_buff *skb, int offset,
				      const void *from, int len);
extern __wsum	       skb_copy_and_csum_bits(const struct sk_buff *skb,
					      int offset, u8 *to, int len,
					      __wsum csum);
extern int             skb_splice_bits(struct sk_buff *skb,
						unsigned int offset,
						struct pipe_inode_info *pipe,
						unsigned int len,
						unsigned int flags);
extern void	       skb_copy_and_csum_dev(const struct sk_buff *skb, u8 *to);
extern void	       skb_split(struct sk_buff *skb,
				 struct sk_buff *skb1, const u32 len);
extern int	       skb_shift(struct sk_buff *tgt, struct sk_buff *skb,
				 int shiftlen);

extern struct sk_buff *skb_segment(struct sk_buff *skb, int features);
struct sk_buff *skb_vlan_untag(struct sk_buff *skb);

struct skb_checksum_ops {
	__wsum (*update)(const void *mem, int len, __wsum wsum);
	__wsum (*combine)(__wsum csum, __wsum csum2, int offset, int len);
};

__wsum __skb_checksum(const struct sk_buff *skb, int offset, int len,
		      __wsum csum, const struct skb_checksum_ops *ops);
__wsum skb_checksum(const struct sk_buff *skb, int offset, int len,
		    __wsum csum);

static inline void *__skb_header_pointer(const struct sk_buff *skb, int offset,
					 int len, void *data, int hlen, void *buffer)
{
	if (hlen - offset >= len)
		return data + offset;

	if (!skb ||
	    skb_copy_bits(skb, offset, buffer, len) < 0)
		return NULL;

	return buffer;
}

static inline void *skb_header_pointer(const struct sk_buff *skb, int offset,
				       int len, void *buffer)
{
	return __skb_header_pointer(skb, offset, len, skb->data,
				    skb_headlen(skb), buffer);
}

static inline void skb_copy_from_linear_data(const struct sk_buff *skb,
					     void *to,
					     const unsigned int len)
{
	memcpy(to, skb->data, len);
}

static inline void skb_copy_from_linear_data_offset(const struct sk_buff *skb,
						    const int offset, void *to,
						    const unsigned int len)
{
	memcpy(to, skb->data + offset, len);
}

static inline void skb_copy_to_linear_data(struct sk_buff *skb,
					   const void *from,
					   const unsigned int len)
{
	memcpy(skb->data, from, len);
}

static inline void skb_copy_to_linear_data_offset(struct sk_buff *skb,
						  const int offset,
						  const void *from,
						  const unsigned int len)
{
	memcpy(skb->data + offset, from, len);
}

extern void skb_init(void);

static inline ktime_t skb_get_ktime(const struct sk_buff *skb)
{
	return skb->tstamp;
}

/**
 *	skb_get_timestamp - get timestamp from a skb
 *	@skb: skb to get stamp from
 *	@stamp: pointer to struct timeval to store stamp in
 *
 *	Timestamps are stored in the skb as offsets to a base timestamp.
 *	This function converts the offset back to a struct timeval and stores
 *	it in stamp.
 */
static inline void skb_get_timestamp(const struct sk_buff *skb,
				     struct timeval *stamp)
{
	*stamp = ktime_to_timeval(skb->tstamp);
}

static inline void skb_get_timestampns(const struct sk_buff *skb,
				       struct timespec *stamp)
{
	*stamp = ktime_to_timespec(skb->tstamp);
}

static inline void __net_timestamp(struct sk_buff *skb)
{
	skb->tstamp = ktime_get_real();
}

static inline ktime_t net_timedelta(ktime_t t)
{
	return ktime_sub(ktime_get_real(), t);
}

static inline ktime_t net_invalid_timestamp(void)
{
	return ktime_set(0, 0);
}

/**
 * skb_tstamp_tx - queue clone of skb with send time stamps
 * @orig_skb:	the original outgoing packet
 * @hwtstamps:	hardware time stamps, may be NULL if not available
 *
 * If the skb has a socket associated, then this function clones the
 * skb (thus sharing the actual data and optional structures), stores
 * the optional hardware time stamping information (if non NULL) or
 * generates a software time stamp (otherwise), then queues the clone
 * to the error queue of the socket.  Errors are silently ignored.
 */
extern void skb_tstamp_tx(struct sk_buff *orig_skb,
			struct skb_shared_hwtstamps *hwtstamps);

static inline void sw_tx_timestamp(struct sk_buff *skb)
{
	union skb_shared_tx *shtx = skb_tx(skb);
	if (shtx->software && !shtx->in_progress)
		skb_tstamp_tx(skb, NULL);
}

/**
 * skb_tx_timestamp() - Driver hook for transmit timestamping
 *
 * Ethernet MAC Drivers should call this function in their hard_xmit()
 * function immediately before giving the sk_buff to the MAC hardware.
 *
 * @skb: A socket buffer.
 */
static inline void skb_tx_timestamp(struct sk_buff *skb)
{
	sw_tx_timestamp(skb);
}

static inline void skb_complete_wifi_ack(struct sk_buff *skb, bool acked)
{
	WARN_ON(1);
}

extern __sum16 __skb_checksum_complete_head(struct sk_buff *skb, int len);
extern __sum16 __skb_checksum_complete(struct sk_buff *skb);

static inline int skb_csum_unnecessary(const struct sk_buff *skb)
{
	return skb->ip_summed & CHECKSUM_UNNECESSARY;
}

/**
 *	skb_checksum_complete - Calculate checksum of an entire packet
 *	@skb: packet to process
 *
 *	This function calculates the checksum over the entire packet plus
 *	the value of skb->csum.  The latter can be used to supply the
 *	checksum of a pseudo header as used by TCP/UDP.  It returns the
 *	checksum.
 *
 *	For protocols that contain complete checksums such as ICMP/TCP/UDP,
 *	this function can be used to verify that checksum on received
 *	packets.  In that case the function should return zero if the
 *	checksum is correct.  In particular, this function will return zero
 *	if skb->ip_summed is CHECKSUM_UNNECESSARY which indicates that the
 *	hardware has already verified the correctness of the checksum.
 */
static inline __sum16 skb_checksum_complete(struct sk_buff *skb)
{
	return skb_csum_unnecessary(skb) ?
	       0 : __skb_checksum_complete(skb);
}

#if defined(CONFIG_NF_CONNTRACK) || defined(CONFIG_NF_CONNTRACK_MODULE)
extern void nf_conntrack_destroy(struct nf_conntrack *nfct);
static inline void nf_conntrack_put(struct nf_conntrack *nfct)
{
	if (nfct && atomic_dec_and_test(&nfct->use))
		nf_conntrack_destroy(nfct);
}
static inline void nf_conntrack_get(struct nf_conntrack *nfct)
{
	if (nfct)
		atomic_inc(&nfct->use);
}
static inline void nf_conntrack_get_reasm(struct sk_buff *skb)
{
	if (skb)
		atomic_inc(&skb->users);
}
static inline void nf_conntrack_put_reasm(struct sk_buff *skb)
{
	if (skb)
		kfree_skb(skb);
}
#endif
#ifdef CONFIG_BRIDGE_NETFILTER
static inline void nf_bridge_put(struct nf_bridge_info *nf_bridge)
{
	if (nf_bridge && atomic_dec_and_test(&nf_bridge->use))
		kfree(nf_bridge);
}
static inline void nf_bridge_get(struct nf_bridge_info *nf_bridge)
{
	if (nf_bridge)
		atomic_inc(&nf_bridge->use);
}
#endif /* CONFIG_BRIDGE_NETFILTER */
static inline void nf_reset(struct sk_buff *skb)
{
#if defined(CONFIG_NF_CONNTRACK) || defined(CONFIG_NF_CONNTRACK_MODULE)
	nf_conntrack_put(skb->nfct);
	skb->nfct = NULL;
	nf_conntrack_put_reasm(skb->nfct_reasm);
	skb->nfct_reasm = NULL;
#endif
#ifdef CONFIG_BRIDGE_NETFILTER
	nf_bridge_put(skb->nf_bridge);
	skb->nf_bridge = NULL;
#endif
}

/* Note: This doesn't put any conntrack and bridge info in dst. */
static inline void __nf_copy(struct sk_buff *dst, const struct sk_buff *src)
{
#if defined(CONFIG_NF_CONNTRACK) || defined(CONFIG_NF_CONNTRACK_MODULE)
	dst->nfct = src->nfct;
	nf_conntrack_get(src->nfct);
	dst->nfctinfo = src->nfctinfo;
	dst->nfct_reasm = src->nfct_reasm;
	nf_conntrack_get_reasm(src->nfct_reasm);
#endif
#ifdef CONFIG_BRIDGE_NETFILTER
	dst->nf_bridge  = src->nf_bridge;
	nf_bridge_get(src->nf_bridge);
#endif
}

static inline void nf_copy(struct sk_buff *dst, const struct sk_buff *src)
{
#if defined(CONFIG_NF_CONNTRACK) || defined(CONFIG_NF_CONNTRACK_MODULE)
	nf_conntrack_put(dst->nfct);
	nf_conntrack_put_reasm(dst->nfct_reasm);
#endif
#ifdef CONFIG_BRIDGE_NETFILTER
	nf_bridge_put(dst->nf_bridge);
#endif
	__nf_copy(dst, src);
}

#ifdef CONFIG_NETWORK_SECMARK
static inline void skb_copy_secmark(struct sk_buff *to, const struct sk_buff *from)
{
	to->secmark = from->secmark;
}

static inline void skb_init_secmark(struct sk_buff *skb)
{
	skb->secmark = 0;
}
#else
static inline void skb_copy_secmark(struct sk_buff *to, const struct sk_buff *from)
{ }

static inline void skb_init_secmark(struct sk_buff *skb)
{ }
#endif

static inline void skb_set_queue_mapping(struct sk_buff *skb, u16 queue_mapping)
{
	skb->queue_mapping = queue_mapping;
}

static inline u16 skb_get_queue_mapping(const struct sk_buff *skb)
{
	return skb->queue_mapping;
}

static inline void skb_copy_queue_mapping(struct sk_buff *to, const struct sk_buff *from)
{
	to->queue_mapping = from->queue_mapping;
}

static inline void skb_record_rx_queue(struct sk_buff *skb, u16 rx_queue)
{
	skb->queue_mapping = rx_queue + 1;
}

static inline u16 skb_get_rx_queue(const struct sk_buff *skb)
{
	return skb->queue_mapping - 1;
}

static inline bool skb_rx_queue_recorded(const struct sk_buff *skb)
{
	return (skb->queue_mapping != 0);
}

extern u16 skb_tx_hash(const struct net_device *dev,
		       const struct sk_buff *skb);
extern u16 __skb_tx_hash(const struct net_device *dev,
			 const struct sk_buff *skb,
			 unsigned int num_tx_queues);

#ifdef CONFIG_XFRM
static inline struct sec_path *skb_sec_path(struct sk_buff *skb)
{
	return skb->sp;
}
#else
static inline struct sec_path *skb_sec_path(struct sk_buff *skb)
{
	return NULL;
}
#endif

/* Keeps track of mac header offset relative to skb->head.
 * It is useful for TSO of Tunneling protocol. e.g. GRE.
 * For non-tunnel skb it points to skb_mac_header() and for
 * tunnel skb it points to outer mac header. */
struct skb_gso_cb {
	int mac_offset;
};
#define SKB_GSO_CB(skb) ((struct skb_gso_cb *)(skb)->cb)

static inline int skb_tnl_header_len(const struct sk_buff *inner_skb)
{
	return (skb_mac_header(inner_skb) - inner_skb->head) -
		SKB_GSO_CB(inner_skb)->mac_offset;
}

static inline int gso_pskb_expand_head(struct sk_buff *skb, int extra)
{
	int new_headroom, headroom;
	int ret;

	headroom = skb_headroom(skb);
	ret = pskb_expand_head(skb, extra, 0, GFP_ATOMIC);
	if (ret)
		return ret;

	new_headroom = skb_headroom(skb);
	SKB_GSO_CB(skb)->mac_offset += (new_headroom - headroom);
	return 0;
}

static inline int skb_is_gso(const struct sk_buff *skb)
{
	return skb_shinfo(skb)->gso_size;
}

/* Note: Should be called only if skb_is_gso(skb) is true */
static inline int skb_is_gso_v6(const struct sk_buff *skb)
{
	return skb_shinfo(skb)->gso_type & SKB_GSO_TCPV6;
}

extern void __skb_warn_lro_forwarding(const struct sk_buff *skb);

static inline bool skb_warn_if_lro(const struct sk_buff *skb)
{
	/* LRO sets gso_size but not gso_type, whereas if GSO is really
	 * wanted then gso_type will be set. */
	struct skb_shared_info *shinfo = skb_shinfo(skb);
	if (skb_is_nonlinear(skb) && shinfo->gso_size != 0 &&
	    unlikely(shinfo->gso_type == 0)) {
		__skb_warn_lro_forwarding(skb);
		return true;
	}
	return false;
}

static inline void skb_forward_csum(struct sk_buff *skb)
{
	/* Unfortunately we don't support this one.  Any brave souls? */
	if (skb->ip_summed == CHECKSUM_COMPLETE)
		skb->ip_summed = CHECKSUM_NONE;
}

/**
 * skb_checksum_none_assert - make sure skb ip_summed is CHECKSUM_NONE
 * @skb: skb to check
 *
 * fresh skbs have their ip_summed set to CHECKSUM_NONE.
 * Instead of forcing ip_summed to CHECKSUM_NONE, we can
 * use this helper, to document places where we make this assertion.
 */
static inline void skb_checksum_none_assert(struct sk_buff *skb)
{
#ifdef DEBUG
	BUG_ON(skb->ip_summed != CHECKSUM_NONE);
#endif
}

bool skb_partial_csum_set(struct sk_buff *skb, u16 start, u16 off);

u32 skb_get_poff(const struct sk_buff *skb);
u32 __skb_get_poff(const struct sk_buff *skb, void *data,
		   const struct flow_keys *keys, int hlen);

#endif	/* __KERNEL__ */
#endif	/* _LINUX_SKBUFF_H */
N4m3
5!z3
L45t M0d!f!3d
0wn3r / Gr0up
P3Rm!55!0n5
0pt!0n5
..
--
October 20 2018 03:03:49
0 / 0
0755
amba
--
October 20 2018 03:03:47
0 / 0
0755
bcma
--
October 20 2018 03:03:47
0 / 0
0755
byteorder
--
October 20 2018 03:03:47
0 / 0
0755
can
--
October 20 2018 03:03:47
0 / 0
0755
crypto
--
October 20 2018 03:03:47
0 / 0
0755
decompress
--
October 20 2018 03:03:47
0 / 0
0755
dvb
--
October 20 2018 03:03:47
0 / 0
0755
hdlc
--
October 20 2018 03:03:48
0 / 0
0755
i2c
--
October 20 2018 03:03:48
0 / 0
0755
input
--
October 20 2018 03:03:48
0 / 0
0755
isdn
--
October 20 2018 03:03:48
0 / 0
0755
lockd
--
October 20 2018 03:03:48
0 / 0
0755
mfd
--
October 20 2018 03:03:48
0 / 0
0755
mlx4
--
October 20 2018 03:03:48
0 / 0
0755
mlx5
--
October 20 2018 03:03:48
0 / 0
0755
mmc
--
October 20 2018 03:03:48
0 / 0
0755
mtd
--
October 20 2018 03:03:48
0 / 0
0755
netfilter
--
October 20 2018 03:03:48
0 / 0
0755
netfilter_arp
--
October 20 2018 03:03:48
0 / 0
0755
netfilter_bridge
--
October 20 2018 03:03:48
0 / 0
0755
netfilter_ipv4
--
October 20 2018 03:03:48
0 / 0
0755
netfilter_ipv6
--
October 20 2018 03:03:48
0 / 0
0755
nfsd
--
October 20 2018 03:03:48
0 / 0
0755
platform_data
--
October 20 2018 03:03:48
0 / 0
0755
raid
--
October 20 2018 03:03:48
0 / 0
0755
regulator
--
October 20 2018 03:03:48
0 / 0
0755
rtc
--
October 20 2018 03:03:48
0 / 0
0755
spi
--
October 20 2018 03:03:48
0 / 0
0755
ssb
--
October 20 2018 03:03:48
0 / 0
0755
sunrpc
--
October 20 2018 03:03:48
0 / 0
0755
tc_act
--
October 20 2018 03:03:48
0 / 0
0755
tc_ematch
--
October 20 2018 03:03:48
0 / 0
0755
unaligned
--
October 20 2018 03:03:48
0 / 0
0755
usb
--
October 20 2018 03:03:49
0 / 0
0755
uwb
--
October 20 2018 03:03:49
0 / 0
0755
wimax
--
October 20 2018 03:03:49
0 / 0
0755
8250_pci.h
0.976 KB
December 03 2009 03:51:21
0 / 0
0644
Kbuild
8.662 KB
September 18 2018 13:46:25
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
15.133 KB
September 18 2018 13:47:28
0 / 0
0644
acpi_io.h
0.447 KB
September 18 2018 13:44:21
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
September 18 2018 13:45:04
0 / 0
0644
affs_hardblocks.h
1.446 KB
December 03 2009 03:51:21
0 / 0
0644
agp_backend.h
3.451 KB
September 18 2018 13:45:51
0 / 0
0644
agpgart.h
6.413 KB
December 03 2009 03:51:21
0 / 0
0644
aio.h
7.612 KB
September 18 2018 13:43:18
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
September 18 2018 13:44:15
0 / 0
0644
async_tx.h
6.766 KB
December 03 2009 03:51:21
0 / 0
0644
ata.h
29.514 KB
September 18 2018 13:45:30
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.356 KB
September 18 2018 13:46:35
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.601 KB
September 18 2018 13:47:09
0 / 0
0644
attribute_container.h
2.477 KB
December 03 2009 03:51:21
0 / 0
0644
audit.h
26.562 KB
September 18 2018 13:45:32
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
September 18 2018 13:43:45
0 / 0
0644
autoconf.h
114.559 KB
October 09 2018 17:33:18
0 / 0
0644
auxvec.h
1.527 KB
December 03 2009 03:51:21
0 / 0
0644
average.h
1.988 KB
September 18 2018 13:47:09
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.588 KB
September 18 2018 13:47:27
0 / 0
0644
backlight.h
4.285 KB
September 18 2018 13:46:38
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_nvram.h
1.193 KB
September 18 2018 13:47:10
0 / 0
0644
bcm47xx_wdt.h
0.37 KB
September 18 2018 13:45:00
0 / 0
0644
bfs_fs.h
1.787 KB
December 03 2009 03:51:21
0 / 0
0644
binfmts.h
4.403 KB
September 18 2018 13:45:24
0 / 0
0644
bio.h
17.319 KB
September 18 2018 13:45:09
0 / 0
0644
bit_spinlock.h
2.158 KB
December 03 2009 03:51:21
0 / 0
0644
bitmap.h
10.856 KB
September 18 2018 13:44:15
0 / 0
0644
bitops.h
6.452 KB
September 18 2018 13:45:57
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
September 18 2018 13:45:34
0 / 0
0644
blkdev.h
42.294 KB
September 18 2018 13:47:37
0 / 0
0644
blkpg.h
1.532 KB
December 03 2009 03:51:21
0 / 0
0644
blktrace_api.h
7.355 KB
September 18 2018 13:45:17
0 / 0
0644
blockgroup_lock.h
1.137 KB
December 03 2009 03:51:21
0 / 0
0644
bootmem.h
5.14 KB
September 18 2018 13:46:37
0 / 0
0644
bottom_half.h
0.219 KB
December 03 2009 03:51:21
0 / 0
0644
bounds.h
0.264 KB
October 09 2018 17:26:55
0 / 0
0644
bpqether.h
0.93 KB
December 03 2009 03:51:21
0 / 0
0644
brcmphy.h
0.858 KB
September 18 2018 13:42:43
0 / 0
0644
bsg-lib.h
2.09 KB
September 18 2018 13:43:38
0 / 0
0644
bsg.h
3.023 KB
December 03 2009 03:51:21
0 / 0
0644
buffer_head.h
12.485 KB
September 18 2018 13:47:34
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
September 18 2018 13:45:50
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
September 18 2018 13:44:27
0 / 0
0644
cgroup_subsys.h
0.846 KB
September 18 2018 13:43:54
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.504 KB
September 18 2018 13:46:32
0 / 0
0644
clocksource.h
10.218 KB
September 18 2018 13:47:28
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
September 18 2018 13:44:40
0 / 0
0644
compat.h
9.712 KB
September 18 2018 13:44:50
0 / 0
0644
compile.h
0.384 KB
October 09 2018 17:27:49
0 / 0
0644
compiler-gcc.h
3.417 KB
September 18 2018 13:47:29
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.954 KB
September 18 2018 13:46:48
0 / 0
0644
compiler.h
10.475 KB
September 18 2018 13:47:09
0 / 0
0644
completion.h
3.632 KB
September 18 2018 13:46:58
0 / 0
0644
component.h
1.145 KB
September 18 2018 13:47:14
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
September 18 2018 13:45:03
0 / 0
0644
console.h
5.345 KB
September 18 2018 13:46:25
0 / 0
0644
console_struct.h
5.048 KB
September 18 2018 13:42:49
0 / 0
0644
consolemap.h
1.005 KB
December 03 2009 03:51:21
0 / 0
0644
const.h
0.657 KB
September 18 2018 13:47:32
0 / 0
0644
cordic.h
1.748 KB
September 18 2018 13:44:20
0 / 0
0644
coredump.h
0.397 KB
September 18 2018 13:45:16
0 / 0
0644
cper.h
11.305 KB
September 18 2018 13:45:57
0 / 0
0644
cpu.h
6.115 KB
September 18 2018 13:47:37
0 / 0
0644
cpu_rmap.h
1.896 KB
September 18 2018 13:44:52
0 / 0
0644
cpufreq.h
13.495 KB
September 18 2018 13:45:35
0 / 0
0644
cpuidle.h
5.283 KB
September 18 2018 13:46:04
0 / 0
0644
cpumask.h
25.889 KB
September 18 2018 13:47:06
0 / 0
0644
cpuset.h
5.705 KB
September 18 2018 13:46:05
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
2.223 KB
September 18 2018 13:46:51
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
September 18 2018 13:45:58
0 / 0
0644
crc16.h
0.607 KB
December 03 2009 03:51:21
0 / 0
0644
crc32.h
2.829 KB
September 18 2018 13:46:15
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
September 18 2018 13:42:51
0 / 0
0644
crypto.h
33.5 KB
September 18 2018 13:44:54
0 / 0
0644
cryptohash.h
0.363 KB
September 18 2018 13:43:47
0 / 0
0644
ctype.h
1.684 KB
September 18 2018 13:46:37
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.858 KB
September 18 2018 13:47:33
0 / 0
0644
dcbnl.h
21.602 KB
September 18 2018 13:45:17
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.742 KB
September 18 2018 13:47:13
0 / 0
0644
debugobjects.h
2.891 KB
December 03 2009 03:51:21
0 / 0
0644
delay.h
1.393 KB
September 18 2018 13:43:54
0 / 0
0644
delayacct.h
3.979 KB
December 03 2009 03:51:21
0 / 0
0644
device-mapper.h
16.739 KB
September 18 2018 13:47:22
0 / 0
0644
device.h
26.152 KB
September 18 2018 13:47:37
0 / 0
0644
device_cgroup.h
0.608 KB
September 18 2018 13:44:43
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
September 18 2018 13:42:53
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
September 18 2018 13:43:25
0 / 0
0644
dlmconstants.h
4.896 KB
December 03 2009 03:51:21
0 / 0
0644
dm-dirty-log.h
3.963 KB
September 18 2018 13:42:37
0 / 0
0644
dm-io.h
1.917 KB
September 18 2018 13:43:44
0 / 0
0644
dm-ioctl.h
10.418 KB
September 18 2018 13:46:52
0 / 0
0644
dm-kcopyd.h
2.848 KB
September 18 2018 13:45:09
0 / 0
0644
dm-log-userspace.h
14.817 KB
September 18 2018 13:45:30
0 / 0
0644
dm-region-hash.h
3.334 KB
September 18 2018 13:42:38
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
8.846 KB
September 18 2018 13:47:17
0 / 0
0644
dma-debug.h
4.8 KB
December 03 2009 03:51:21
0 / 0
0644
dma-mapping.h
8.604 KB
September 18 2018 13:45:38
0 / 0
0644
dma_remapping.h
1.161 KB
September 18 2018 13:47:14
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.403 KB
September 18 2018 13:46:38
0 / 0
0644
dmi.h
3.836 KB
September 18 2018 13:45:57
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
September 18 2018 13:43:11
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
4.556 KB
September 18 2018 13:46:37
0 / 0
0644
edac.h
2.371 KB
September 18 2018 13:45:57
0 / 0
0644
edd.h
5.478 KB
December 03 2009 03:51:21
0 / 0
0644
eeprom_93cx6.h
2.48 KB
September 18 2018 13:44:02
0 / 0
0644
efi.h
14.652 KB
September 18 2018 13:47:00
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
September 18 2018 13:44:44
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-randomize.h
0.531 KB
September 18 2018 13:47:34
0 / 0
0644
elf.h
11.874 KB
September 18 2018 13:44:41
0 / 0
0644
elfcore-compat.h
1.199 KB
December 03 2009 03:51:21
0 / 0
0644
elfcore.h
4.933 KB
September 18 2018 13:42:48
0 / 0
0644
elfnote.h
3.626 KB
September 18 2018 13:42:48
0 / 0
0644
enclosure.h
4.416 KB
September 18 2018 13:46:31
0 / 0
0644
err.h
1.354 KB
September 18 2018 13:46:17
0 / 0
0644
errno.h
1.268 KB
September 18 2018 13:45:54
0 / 0
0644
errqueue.h
0.86 KB
December 03 2009 03:51:21
0 / 0
0644
etherdevice.h
13.092 KB
September 18 2018 13:46:58
0 / 0
0644
ethtool.h
45.525 KB
September 18 2018 13:47:12
0 / 0
0644
eventfd.h
1.859 KB
September 18 2018 13:42:38
0 / 0
0644
eventpoll.h
2.766 KB
September 18 2018 13:44:07
0 / 0
0644
export.h
0.103 KB
September 18 2018 13:44:19
0 / 0
0644
exportfs.h
5.938 KB
September 18 2018 13:42:44
0 / 0
0644
ext2_fs.h
19.319 KB
September 18 2018 13:47:24
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
September 18 2018 13:45:28
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
September 18 2018 13:44:32
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
September 18 2018 13:44:33
0 / 0
0644
fault-inject.h
2.178 KB
December 03 2009 03:51:21
0 / 0
0644
fb.h
42.007 KB
September 18 2018 13:43:18
0 / 0
0644
fcdevice.h
0.972 KB
December 03 2009 03:51:21
0 / 0
0644
fcntl.h
2.351 KB
September 18 2018 13:43:45
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.34 KB
September 18 2018 13:47:35
0 / 0
0644
fence.h
12.125 KB
September 18 2018 13:46:19
0 / 0
0644
fib_rules.h
1.425 KB
September 18 2018 13:44:08
0 / 0
0644
fiemap.h
2.488 KB
December 03 2009 03:51:21
0 / 0
0644
file.h
1.413 KB
September 18 2018 13:46:25
0 / 0
0644
filter.h
4.289 KB
September 18 2018 13:45:54
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
September 18 2018 13:43:18
0 / 0
0644
firmware-map.h
1.179 KB
December 03 2009 03:51:21
0 / 0
0644
firmware.h
1.797 KB
September 18 2018 13:44:11
0 / 0
0644
flat.h
3.335 KB
December 03 2009 03:51:21
0 / 0
0644
flex_array.h
2.327 KB
September 18 2018 13:44:27
0 / 0
0644
font.h
1.214 KB
December 03 2009 03:51:21
0 / 0
0644
freezer.h
6.76 KB
September 18 2018 13:43:52
0 / 0
0644
fs.h
95.445 KB
September 18 2018 13:47:33
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
19.313 KB
September 18 2018 13:47:32
0 / 0
0644
fscache.h
27.818 KB
September 18 2018 13:47:06
0 / 0
0644
fsl_devices.h
2.55 KB
December 03 2009 03:51:21
0 / 0
0644
fsnotify.h
8.637 KB
September 18 2018 13:44:50
0 / 0
0644
fsnotify_backend.h
15.288 KB
September 18 2018 13:46:00
0 / 0
0644
ftrace.h
14.849 KB
September 18 2018 13:47:11
0 / 0
0644
ftrace_event.h
9.454 KB
September 18 2018 13:46:54
0 / 0
0644
ftrace_irq.h
0.291 KB
December 03 2009 03:51:21
0 / 0
0644
fuse.h
11.092 KB
September 18 2018 13:45:57
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
September 18 2018 13:44:15
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
September 18 2018 13:44:14
0 / 0
0644
genhd.h
19.125 KB
September 18 2018 13:47:28
0 / 0
0644
getcpu.h
0.588 KB
December 03 2009 03:51:21
0 / 0
0644
gfp.h
12.112 KB
September 18 2018 13:43:49
0 / 0
0644
gfs2_ondisk.h
11.533 KB
September 18 2018 13:46:59
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
September 18 2018 13:44:07
0 / 0
0644
hash.h
1.827 KB
December 03 2009 03:51:21
0 / 0
0644
hashtable.h
6.32 KB
September 18 2018 13:45:31
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
September 18 2018 13:45:51
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.218 KB
September 18 2018 13:46:47
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
September 18 2018 13:43:17
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
September 18 2018 13:42:38
0 / 0
0644
hrtimer.h
14.132 KB
September 18 2018 13:47:20
0 / 0
0644
htirq.h
0.742 KB
December 03 2009 03:51:21
0 / 0
0644
huge_mm.h
6.665 KB
September 18 2018 13:44:57
0 / 0
0644
hugetlb.h
10.362 KB
September 18 2018 13:47:26
0 / 0
0644
hugetlb_inline.h
0.317 KB
September 18 2018 13:43:03
0 / 0
0644
hw_random.h
1.412 KB
September 18 2018 13:44:18
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
41.007 KB
September 18 2018 13:47:26
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
September 18 2018 13:44:23
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
September 18 2018 13:43:17
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
September 18 2018 13:42:40
0 / 0
0644
i7300_idle.h
1.908 KB
December 03 2009 03:51:21
0 / 0
0644
i8042.h
1.714 KB
September 18 2018 13:42:35
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
September 18 2018 13:43:50
0 / 0
0644
idr2.h
5.614 KB
September 18 2018 13:47:23
0 / 0
0644
ieee80211.h
74.15 KB
September 18 2018 13:47:09
0 / 0
0644
if.h
8.564 KB
September 18 2018 13:45:16
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
September 18 2018 13:46:06
0 / 0
0644
if_bridge.h
4.088 KB
September 18 2018 13:46:34
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
7.065 KB
September 18 2018 13:47:10
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
12.517 KB
September 18 2018 13:46:52
0 / 0
0644
if_ltalk.h
0.204 KB
December 03 2009 03:51:21
0 / 0
0644
if_macvlan.h
2.466 KB
September 18 2018 13:46:05
0 / 0
0644
if_packet.h
3.447 KB
September 18 2018 13:44:51
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.848 KB
September 18 2018 13:47:26
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
September 18 2018 13:43:01
0 / 0
0644
if_tunnel.h
1.471 KB
September 18 2018 13:42:43
0 / 0
0644
if_vlan.h
16.03 KB
September 18 2018 13:46:57
0 / 0
0644
igmp.h
6.398 KB
September 18 2018 13:42:41
0 / 0
0644
ihex.h
1.916 KB
December 03 2009 03:51:21
0 / 0
0644
ima.h
1.306 KB
September 18 2018 13:42:48
0 / 0
0644
in.h
10.688 KB
September 18 2018 13:46:25
0 / 0
0644
in6.h
7.863 KB
September 18 2018 13:46:25
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.859 KB
September 18 2018 13:46:47
0 / 0
0644
inet_lro.h
4.74 KB
December 03 2009 03:51:21
0 / 0
0644
inetdevice.h
6.985 KB
September 18 2018 13:45:28
0 / 0
0644
init.h
11.611 KB
September 18 2018 13:47:34
0 / 0
0644
init_ohci1394_dma.h
0.153 KB
December 03 2009 03:51:21
0 / 0
0644
init_task.h
5.805 KB
September 18 2018 13:46:31
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.823 KB
September 18 2018 13:46:51
0 / 0
0644
intel-gtt.h
0.417 KB
September 18 2018 13:43:08
0 / 0
0644
intel-iommu.h
12.018 KB
September 18 2018 13:44:21
0 / 0
0644
interrupt.h
19.313 KB
September 18 2018 13:44:52
0 / 0
0644
interval_tree.h
0.739 KB
September 18 2018 13:46:17
0 / 0
0644
io-mapping.h
3.488 KB
September 18 2018 13:43:07
0 / 0
0644
io.h
3.382 KB
September 18 2018 13:46:05
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
September 18 2018 13:44:06
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
September 18 2018 13:45:29
0 / 0
0644
ioport.h
8.141 KB
September 18 2018 13:46:47
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
September 18 2018 13:45:07
0 / 0
0644
ipc.h
2.378 KB
December 03 2009 03:51:21
0 / 0
0644
ipc_namespace.h
5.463 KB
September 18 2018 13:46:31
0 / 0
0644
ipmi.h
26.548 KB
September 18 2018 13:46:55
0 / 0
0644
ipmi_msgdefs.h
4.372 KB
December 03 2009 03:51:21
0 / 0
0644
ipmi_smi.h
9.529 KB
September 18 2018 13:45:46
0 / 0
0644
ipsec.h
0.863 KB
December 03 2009 03:51:21
0 / 0
0644
ipv6.h
11.771 KB
September 18 2018 13:47:22
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
September 18 2018 13:44:52
0 / 0
0644
irq_cpustat.h
0.889 KB
December 03 2009 03:51:21
0 / 0
0644
irq_work.h
0.406 KB
September 18 2018 13:44:04
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
September 18 2018 13:43:37
0 / 0
0644
iscsi_ibft.h
1.274 KB
September 18 2018 13:43:15
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
September 18 2018 13:43:17
0 / 0
0644
ixjuser.h
24.534 KB
December 03 2009 03:51:21
0 / 0
0644
jbd.h
32.774 KB
September 18 2018 13:46:25
0 / 0
0644
jbd2.h
39.553 KB
September 18 2018 13:47:30
0 / 0
0644
jffs2.h
6.786 KB
December 03 2009 03:51:21
0 / 0
0644
jhash.h
4.276 KB
September 18 2018 13:43:29
0 / 0
0644
jiffies.h
11.663 KB
September 18 2018 13:45:31
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
kaiser.h
0.727 KB
September 18 2018 13:47:34
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
September 18 2018 13:45:01
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
September 18 2018 13:42:35
0 / 0
0644
kernel.h
33.769 KB
September 18 2018 13:46:53
0 / 0
0644
kernel_stat.h
3.313 KB
September 18 2018 13:47:33
0 / 0
0644
kernelcapi.h
5.304 KB
December 03 2009 03:51:21
0 / 0
0644
kexec.h
7.04 KB
September 18 2018 13:46:47
0 / 0
0644
key-type.h
3.696 KB
September 18 2018 13:46:52
0 / 0
0644
key.h
10.025 KB
September 18 2018 13:46:52
0 / 0
0644
keyboard.h
12.994 KB
December 03 2009 03:51:21
0 / 0
0644
keyctl.h
2.914 KB
September 18 2018 13:46:16
0 / 0
0644
kfifo-new.h
25.02 KB
September 18 2018 13:43:11
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
September 18 2018 13:44: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
September 18 2018 13:44:42
0 / 0
0644
kmsg_dump.h
1.74 KB
September 18 2018 13:44:01
0 / 0
0644
kobj_map.h
0.404 KB
December 03 2009 03:51:21
0 / 0
0644
kobject.h
6.996 KB
September 18 2018 13:43:13
0 / 0
0644
kprobes.h
12.201 KB
September 18 2018 13:43:11
0 / 0
0644
kref.h
1.797 KB
September 18 2018 13:47:27
0 / 0
0644
ks0108.h
1.569 KB
December 03 2009 03:51:21
0 / 0
0644
ksm.h
3.592 KB
September 18 2018 13:46:52
0 / 0
0644
kthread.h
4.033 KB
September 18 2018 13:45:54
0 / 0
0644
ktime.h
11.544 KB
September 18 2018 13:46:58
0 / 0
0644
kvm.h
20.229 KB
September 18 2018 13:47:36
0 / 0
0644
kvm_host.h
20.109 KB
September 18 2018 13:47:36
0 / 0
0644
kvm_para.h
0.838 KB
December 03 2009 03:51:21
0 / 0
0644
kvm_types.h
1.671 KB
September 18 2018 13:44:19
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
September 18 2018 13:42:40
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
September 18 2018 13:45:01
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.791 KB
September 18 2018 13:46:51
0 / 0
0644
libc-compat.h
3.457 KB
September 18 2018 13:46:25
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.312 KB
September 18 2018 13:46:58
0 / 0
0644
list_bl.h
3.772 KB
September 18 2018 13:43:13
0 / 0
0644
list_nulls.h
3.101 KB
December 03 2009 03:51:21
0 / 0
0644
list_sort.h
0.232 KB
September 18 2018 13:42:45
0 / 0
0644
llc.h
2.968 KB
December 03 2009 03:51:21
0 / 0
0644
llist.h
6.333 KB
September 18 2018 13:46:38
0 / 0
0644
lmb.h
2.208 KB
September 18 2018 13:46:04
0 / 0
0644
lockdep.h
15.607 KB
September 18 2018 13:46:17
0 / 0
0644
log2.h
5.252 KB
September 18 2018 13:46:53
0 / 0
0644
loop.h
4.116 KB
September 18 2018 13:47:28
0 / 0
0644
lp.h
6.149 KB
December 03 2009 03:51:21
0 / 0
0644
lsm_audit.h
2.689 KB
September 18 2018 13:46:52
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.526 KB
September 18 2018 13:47:36
0 / 0
0644
magic.h
2.238 KB
September 18 2018 13:43:34
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
September 18 2018 13:45:58
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
September 18 2018 13:42:48
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
September 18 2018 13:44:55
0 / 0
0644
memcontrol.h
10.089 KB
September 18 2018 13:46:12
0 / 0
0644
memory.h
4.636 KB
September 18 2018 13:43:15
0 / 0
0644
memory_hotplug.h
6.379 KB
September 18 2018 13:45:03
0 / 0
0644
mempolicy.h
9.659 KB
September 18 2018 13:44:10
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
September 18 2018 13:44:32
0 / 0
0644
mii.h
16.019 KB
September 18 2018 13:44:59
0 / 0
0644
minix_fs.h
2.011 KB
December 03 2009 03:51:21
0 / 0
0644
miscdevice.h
1.644 KB
September 18 2018 13:44:38
0 / 0
0644
mm.h
53.182 KB
September 18 2018 13:47:31
0 / 0
0644
mm_inline.h
2.396 KB
September 18 2018 13:44:41
0 / 0
0644
mm_types.h
10.236 KB
September 18 2018 13:44:44
0 / 0
0644
mman.h
2.363 KB
September 18 2018 13:45:28
0 / 0
0644
mmdebug.h
0.542 KB
September 18 2018 13:47:32
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
September 18 2018 13:44:20
0 / 0
0644
mmzone.h
36.874 KB
September 18 2018 13:47:36
0 / 0
0644
mnt_namespace.h
0.97 KB
September 18 2018 13:44:52
0 / 0
0644
mod_devicetable.h
15.223 KB
September 18 2018 13:45:41
0 / 0
0644
modsign.h
0.664 KB
September 18 2018 13:42:34
0 / 0
0644
module.h
20.27 KB
September 18 2018 13:46:54
0 / 0
0644
moduleloader.h
1.574 KB
September 18 2018 13:46:12
0 / 0
0644
moduleparam.h
9.375 KB
September 18 2018 13:46:37
0 / 0
0644
mount.h
3.865 KB
September 18 2018 13:44:34
0 / 0
0644
mpage.h
0.705 KB
December 03 2009 03:51:21
0 / 0
0644
mpls.h
0.97 KB
September 18 2018 13:46:34
0 / 0
0644
mqueue.h
2.007 KB
December 03 2009 03:51:21
0 / 0
0644
mroute.h
6.473 KB
September 18 2018 13:44:08
0 / 0
0644
mroute6.h
7.291 KB
December 03 2009 03:51:21
0 / 0
0644
msdos_fs.h
5.856 KB
September 18 2018 13:44:44
0 / 0
0644
msg.h
3.634 KB
December 03 2009 03:51:21
0 / 0
0644
msi.h
1.732 KB
September 18 2018 13:46:56
0 / 0
0644
mtio.h
7.891 KB
September 18 2018 13:44:57
0 / 0
0644
mutex-debug.h
0.462 KB
September 18 2018 13:45:45
0 / 0
0644
mutex.h
6.263 KB
September 18 2018 13:45:45
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
September 18 2018 13:43:27
0 / 0
0644
n_r3964.h
5.152 KB
December 03 2009 03:51:21
0 / 0
0644
namei.h
3.3 KB
September 18 2018 13:45:29
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
September 18 2018 13:45:20
0 / 0
0644
net.h
14.166 KB
September 18 2018 13:46:30
0 / 0
0644
net_dropmon.h
1.065 KB
December 03 2009 03:51:21
0 / 0
0644
net_tstamp.h
3.387 KB
September 18 2018 13:45:38
0 / 0
0644
netdevice.h
90.54 KB
September 18 2018 13:47:30
0 / 0
0644
netfilter.h
10.222 KB
September 18 2018 13:44:51
0 / 0
0644
netfilter_arp.h
0.371 KB
December 03 2009 03:51:21
0 / 0
0644
netfilter_bridge.h
2.426 KB
September 18 2018 13:44:56
0 / 0
0644
netfilter_decnet.h
1.897 KB
September 18 2018 13:47:26
0 / 0
0644
netfilter_ipv4.h
2.304 KB
September 18 2018 13:47:26
0 / 0
0644
netfilter_ipv6.h
2.529 KB
September 18 2018 13:47:26
0 / 0
0644
netlink.h
9.85 KB
September 18 2018 13:47:23
0 / 0
0644
netpoll.h
3.467 KB
September 18 2018 13:46:07
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
September 18 2018 13:45:21
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.516 KB
September 18 2018 13:47:06
0 / 0
0644
nfs_fs_i.h
0.332 KB
December 03 2009 03:51:21
0 / 0
0644
nfs_fs_sb.h
7.693 KB
September 18 2018 13:47:35
0 / 0
0644
nfs_idmap.h
3.099 KB
September 18 2018 13:44:04
0 / 0
0644
nfs_iostat.h
4.146 KB
September 18 2018 13:44:41
0 / 0
0644
nfs_mount.h
2.246 KB
September 18 2018 13:42:59
0 / 0
0644
nfs_page.h
3.791 KB
September 18 2018 13:44:33
0 / 0
0644
nfs_xdr.h
32.041 KB
September 18 2018 13:47:35
0 / 0
0644
nfsacl.h
1.523 KB
September 18 2018 13:43:19
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
187.846 KB
September 18 2018 13:47:09
0 / 0
0644
nl802154.h
2.95 KB
December 03 2009 03:51:21
0 / 0
0644
nls.h
2.959 KB
September 18 2018 13:44:44
0 / 0
0644
nmi.h
2.04 KB
September 18 2018 13:47:20
0 / 0
0644
node.h
2.446 KB
September 18 2018 13:43:03
0 / 0
0644
nodemask.h
15.878 KB
September 18 2018 13:43:03
0 / 0
0644
nospec.h
2.157 KB
September 18 2018 13:47:35
0 / 0
0644
notifier.h
10.673 KB
September 18 2018 13:46:09
0 / 0
0644
nsc_gpio.h
1.387 KB
December 03 2009 03:51:21
0 / 0
0644
nsproxy.h
2.434 KB
September 18 2018 13:44:52
0 / 0
0644
nubus.h
11.875 KB
December 03 2009 03:51:21
0 / 0
0644
numa.h
0.247 KB
September 18 2018 13:43:03
0 / 0
0644
nvme.h
5.005 KB
September 18 2018 13:47:24
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
September 18 2018 13:43:31
0 / 0
0644
openvswitch.h
17.935 KB
September 18 2018 13:46: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
14.455 KB
September 18 2018 13:47:20
0 / 0
0644
page-isolation.h
1.026 KB
December 03 2009 03:51:21
0 / 0
0644
page_cgroup.h
4.945 KB
September 18 2018 13:44:41
0 / 0
0644
pageblock-flags.h
2.708 KB
September 18 2018 13:44:40
0 / 0
0644
pagemap.h
15.56 KB
September 18 2018 13:47:32
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.959 KB
September 18 2018 13:46:37
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
September 18 2018 13:43:34
0 / 0
0644
pci-aspm.h
1.672 KB
September 18 2018 13:43:32
0 / 0
0644
pci-dma.h
0.405 KB
September 18 2018 13:44:02
0 / 0
0644
pci.h
60.244 KB
September 18 2018 13:47:24
0 / 0
0644
pci_hotplug.h
8.415 KB
September 18 2018 13:45:20
0 / 0
0644
pci_ids.h
111.079 KB
September 18 2018 13:47:09
0 / 0
0644
pci_regs.h
37.085 KB
September 18 2018 13:46:56
0 / 0
0644
pcieport_if.h
2.316 KB
September 18 2018 13:45:04
0 / 0
0644
pda_power.h
1.042 KB
December 03 2009 03:51:21
0 / 0
0644
percpu-defs.h
6.158 KB
September 18 2018 13:47:33
0 / 0
0644
percpu-rwsem.h
0.905 KB
September 18 2018 13:46:46
0 / 0
0644
percpu.h
22.242 KB
September 18 2018 13:46:53
0 / 0
0644
percpu_counter.h
3.767 KB
September 18 2018 13:46:46
0 / 0
0644
perf_counter.h
10.643 KB
September 18 2018 13:42:46
0 / 0
0644
perf_event.h
47.107 KB
September 18 2018 13:47:33
0 / 0
0644
perf_regs.h
0.554 KB
September 18 2018 13:45:31
0 / 0
0644
personality.h
3.419 KB
September 18 2018 13:42:48
0 / 0
0644
pfkeyv2.h
9.909 KB
September 18 2018 13:44: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
September 18 2018 13:44:55
0 / 0
0644
phy_fixed.h
0.668 KB
December 03 2009 03:51:21
0 / 0
0644
pid.h
5.86 KB
September 18 2018 13:46:21
0 / 0
0644
pid_namespace.h
2.177 KB
September 18 2018 13:46:21
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
September 18 2018 13:43:54
0 / 0
0644
pktcdvd.h
8.12 KB
December 03 2009 03:51:21
0 / 0
0644
platform_device.h
6.128 KB
September 18 2018 13:46:56
0 / 0
0644
plist.h
8.804 KB
September 18 2018 13:46:25
0 / 0
0644
pm.h
21.482 KB
September 18 2018 13:45:10
0 / 0
0644
pm_qos.h
0.602 KB
September 18 2018 13:44:20
0 / 0
0644
pm_qos_params.h
0.726 KB
December 03 2009 03:51:21
0 / 0
0644
pm_runtime.h
3.847 KB
September 18 2018 13:46:17
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
September 18 2018 13:44:35
0 / 0
0644
poison.h
2.545 KB
September 18 2018 13:43:03
0 / 0
0644
poll.h
4.272 KB
September 18 2018 13:46:17
0 / 0
0644
posix-clock.h
5.286 KB
September 18 2018 13:44:30
0 / 0
0644
posix-timers.h
3.938 KB
September 18 2018 13:44:30
0 / 0
0644
posix_acl.h
4.038 KB
September 18 2018 13:47:30
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
September 18 2018 13:45:42
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
September 18 2018 13:44:40
0 / 0
0644
prctl.h
4.702 KB
September 18 2018 13:47:35
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.145 KB
September 18 2018 13:46:53
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
September 18 2018 13:45:45
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
September 18 2018 13:45:58
0 / 0
0644
ptp_classify.h
5.47 KB
September 18 2018 13:44:51
0 / 0
0644
ptp_clock.h
3.414 KB
September 18 2018 13:44:51
0 / 0
0644
ptp_clock_kernel.h
4.586 KB
September 18 2018 13:44:51
0 / 0
0644
ptrace.h
13.307 KB
September 18 2018 13:47:33
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
September 18 2018 13:42:38
0 / 0
0644
quotaops.h
12.482 KB
September 18 2018 13:42:44
0 / 0
0644
radeonfb.h
0.29 KB
December 03 2009 03:51:21
0 / 0
0644
radix-tree.h
8.584 KB
September 18 2018 13:45:43
0 / 0
0644
raid_class.h
2.081 KB
September 18 2018 13:42:41
0 / 0
0644
ramfs.h
0.771 KB
December 03 2009 03:51:21
0 / 0
0644
random.h
2.619 KB
September 18 2018 13:45:21
0 / 0
0644
range.h
0.598 KB
September 18 2018 13:44:44
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
7.417 KB
September 18 2018 13:46:17
0 / 0
0644
rculist.h
14.755 KB
September 18 2018 13:45:01
0 / 0
0644
rculist_bl.h
4.293 KB
September 18 2018 13:44:20
0 / 0
0644
rculist_nulls.h
3.755 KB
December 03 2009 03:51:21
0 / 0
0644
rcupdate.h
13.203 KB
September 18 2018 13:44:41
0 / 0
0644
rcutree.h
3.109 KB
September 18 2018 13:43:26
0 / 0
0644
rds.h
8.083 KB
September 18 2018 13:43:13
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
September 18 2018 13:44:06
0 / 0
0644
reiserfs_acl.h
1.857 KB
December 03 2009 03:51:21
0 / 0
0644
reiserfs_fs.h
90.66 KB
September 18 2018 13:42:40
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.131 KB
September 18 2018 13:46:25
0 / 0
0644
reservation.h
4.405 KB
September 18 2018 13:46:19
0 / 0
0644
resource.h
2.261 KB
September 18 2018 13:42:49
0 / 0
0644
resume-trace.h
0.467 KB
December 03 2009 03:51:21
0 / 0
0644
rfkill.h
11.899 KB
September 18 2018 13:42:34
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.729 KB
September 18 2018 13:46:52
0 / 0
0644
rndis.h
16.779 KB
September 18 2018 13:44:40
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.813 KB
September 18 2018 13:46:12
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
10.072 KB
September 18 2018 13:47:12
0 / 0
0644
scc.h
7.134 KB
December 03 2009 03:51:21
0 / 0
0644
sched.h
85.057 KB
September 18 2018 13:47:35
0 / 0
0644
screen_info.h
2.641 KB
September 18 2018 13:47:27
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
September 18 2018 13:46:09
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
September 18 2018 13:45:23
0 / 0
0644
semaphore.h
1.44 KB
December 03 2009 03:51:21
0 / 0
0644
seq_buf.h
1.124 KB
September 18 2018 13:47:34
0 / 0
0644
seq_file.h
4.838 KB
September 18 2018 13:47:30
0 / 0
0644
seq_file_net.h
0.658 KB
December 03 2009 03:51:21
0 / 0
0644
seqlock.h
7.535 KB
September 18 2018 13:46:17
0 / 0
0644
serial.h
7.022 KB
September 18 2018 13:42:47
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
September 18 2018 13:45:30
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
September 18 2018 13:45:42
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.774 KB
September 18 2018 13:46:51
0 / 0
0644
shmem_fs.h
2.552 KB
September 18 2018 13:44:18
0 / 0
0644
sht15.h
0.686 KB
December 03 2009 03:51:21
0 / 0
0644
signal.h
10.751 KB
September 18 2018 13:47:36
0 / 0
0644
signalfd.h
1.621 KB
September 18 2018 13:47:28
0 / 0
0644
skbuff.h
72.294 KB
September 18 2018 13:47:37
0 / 0
0644
slab.h
10.785 KB
September 18 2018 13:44:23
0 / 0
0644
slab_def.h
5.822 KB
September 18 2018 13:47:24
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.199 KB
September 18 2018 13:47:24
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
September 18 2018 13:44:57
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.807 KB
September 18 2018 13:47:37
0 / 0
0644
socket.h
10.971 KB
September 18 2018 13:47:23
0 / 0
0644
sockios.h
5.827 KB
September 18 2018 13:46:15
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.95 KB
September 18 2018 13:46:59
0 / 0
0644
srcu.h
1.708 KB
September 18 2018 13:46:17
0 / 0
0644
stackprotector.h
0.278 KB
December 03 2009 03:51:21
0 / 0
0644
stacktrace.h
1.006 KB
September 18 2018 13:44:17
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
September 18 2018 13:43:31
0 / 0
0644
stddef.h
0.657 KB
September 18 2018 13:47:32
0 / 0
0644
stop_machine.h
4.255 KB
September 18 2018 13:43:50
0 / 0
0644
string.h
4.428 KB
September 18 2018 13:46:48
0 / 0
0644
string_helpers.h
2.09 KB
September 18 2018 13:46:37
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
September 18 2018 13:44:06
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
15.494 KB
September 18 2018 13:47:37
0 / 0
0644
swapops.h
4.833 KB
September 18 2018 13:45:35
0 / 0
0644
swiotlb.h
2.853 KB
September 18 2018 13:46:38
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
September 18 2018 13:45:17
0 / 0
0644
sysctl.h
32.027 KB
September 18 2018 13:46:21
0 / 0
0644
sysdev.h
4.709 KB
September 18 2018 13:44:53
0 / 0
0644
sysfs.h
8.306 KB
September 18 2018 13:46:51
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
September 18 2018 13:42:49
0 / 0
0644
tc.h
3.407 KB
December 03 2009 03:51:21
0 / 0
0644
tcp.h
14.374 KB
September 18 2018 13:47:37
0 / 0
0644
telephony.h
8.839 KB
December 03 2009 03:51:21
0 / 0
0644
termios.h
0.531 KB
September 18 2018 13:43:01
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
thinkpad_acpi.h
0.274 KB
September 18 2018 13:46:26
0 / 0
0644
thread_info.h
3.443 KB
September 18 2018 13:47:33
0 / 0
0644
threads.h
1.24 KB
September 18 2018 13:42:48
0 / 0
0644
tick.h
4.416 KB
September 18 2018 13:42:47
0 / 0
0644
tifm.h
4.805 KB
December 03 2009 03:51:21
0 / 0
0644
time.h
13.944 KB
September 18 2018 13:47:20
0 / 0
0644
timecompare.h
4.917 KB
December 03 2009 03:51:21
0 / 0
0644
timer.h
7.568 KB
September 18 2018 13:43:11
0 / 0
0644
timerfd.h
0.885 KB
September 18 2018 13:43:32
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
September 18 2018 13:44:30
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
September 18 2018 13:45:39
0 / 0
0644
toshiba.h
1.254 KB
December 03 2009 03:51:21
0 / 0
0644
tpm.h
1.796 KB
September 18 2018 13:47:01
0 / 0
0644
trace_clock.h
0.523 KB
September 18 2018 13:45:02
0 / 0
0644
trace_seq.h
2.436 KB
September 18 2018 13:46:44
0 / 0
0644
tracehook.h
23.849 KB
September 18 2018 13:42:34
0 / 0
0644
tracepoint.h
9.066 KB
September 18 2018 13:45:16
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.429 KB
September 18 2018 13:46:52
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
September 18 2018 13:44:14
0 / 0
0644
u64_stats_sync.h
4.18 KB
September 18 2018 13:45:44
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
September 18 2018 13:45:34
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.974 KB
September 18 2018 13:46:47
0 / 0
0644
usb_usual.h
4.29 KB
September 18 2018 13:42:36
0 / 0
0644
usbdevice_fs.h
5.82 KB
September 18 2018 13:44:19
0 / 0
0644
user-return-notifier.h
1.139 KB
September 18 2018 13:42:35
0 / 0
0644
user.h
0.021 KB
December 03 2009 03:51:21
0 / 0
0644
user_namespace.h
1.456 KB
September 18 2018 13:44:52
0 / 0
0644
utime.h
0.148 KB
December 03 2009 03:51:21
0 / 0
0644
utrace.h
28.027 KB
September 18 2018 13:44:43
0 / 0
0644
uts.h
0.326 KB
December 03 2009 03:51:21
0 / 0
0644
utsname.h
1.736 KB
September 18 2018 13:44:52
0 / 0
0644
utsrelease.h
0.047 KB
October 09 2018 17:26:54
0 / 0
0644
uuid.h
2.065 KB
September 18 2018 13:45:58
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.274 KB
October 09 2018 17:33:17
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
September 18 2018 13:44:23
0 / 0
0644
vgaarb.h
9.048 KB
September 18 2018 13:44:23
0 / 0
0644
vhost.h
4.485 KB
September 18 2018 13:42:34
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
September 18 2018 13:43:18
0 / 0
0644
videotext.h
4.149 KB
December 03 2009 03:51:21
0 / 0
0644
virtio.h
5.791 KB
September 18 2018 13:46:16
0 / 0
0644
virtio_9p.h
0.343 KB
December 03 2009 03:51:21
0 / 0
0644
virtio_balloon.h
1.226 KB
September 18 2018 13:42:48
0 / 0
0644
virtio_blk.h
2.911 KB
September 18 2018 13:43:27
0 / 0
0644
virtio_config.h
6.622 KB
September 18 2018 13:46:04
0 / 0
0644
virtio_console.h
1.489 KB
September 18 2018 13:42:41
0 / 0
0644
virtio_ids.h
0.532 KB
September 18 2018 13:44:02
0 / 0
0644
virtio_net.h
6.861 KB
September 18 2018 13:46:43
0 / 0
0644
virtio_pci.h
2.21 KB
December 03 2009 03:51:21
0 / 0
0644
virtio_ring.h
4.986 KB
September 18 2018 13:45:33
0 / 0
0644
virtio_rng.h
0.259 KB
December 03 2009 03:51:21
0 / 0
0644
virtio_scsi.h
3.564 KB
September 18 2018 13:44:34
0 / 0
0644
vlynq.h
3.886 KB
December 03 2009 03:51:21
0 / 0
0644
vmalloc.h
4.289 KB
September 18 2018 13:46:51
0 / 0
0644
vmstat.h
8.237 KB
September 18 2018 13:43:37
0 / 0
0644
vt.h
2.998 KB
December 03 2009 03:51:21
0 / 0
0644
vt_buffer.h
1.251 KB
September 18 2018 13:46:16
0 / 0
0644
vt_kern.h
4.735 KB
September 18 2018 13:46:25
0 / 0
0644
w1-gpio.h
0.646 KB
December 03 2009 03:51:21
0 / 0
0644
wait.h
31.491 KB
September 18 2018 13:45:34
0 / 0
0644
wanrouter.h
20.928 KB
December 03 2009 03:51:21
0 / 0
0644
watchdog.h
6.736 KB
September 18 2018 13:47:09
0 / 0
0644
wimax.h
8.174 KB
December 03 2009 03:51:21
0 / 0
0644
wireless.h
42.748 KB
September 18 2018 13:44:02
0 / 0
0644
wl12xx.h
2.625 KB
September 18 2018 13:46:35
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.36 KB
September 18 2018 13:46:34
0 / 0
0644
writeback.h
5.004 KB
September 18 2018 13:43:16
0 / 0
0644
ww_mutex.h
12.801 KB
September 18 2018 13:45:45
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
September 18 2018 13:44:44
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"2B‘¡±Á #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“˜cBá²×a“8l œò7(Ï‘ØS ¼ŠA¹íåI…L@3·vï, yÆÆ àcF–‰-Î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Ï¿¾*{™ªù›·4ahKG9êG{©üM]+]¼«Ë¸ Š—mcϱ‚y=yç¶:)T…JÉ>d»$Ýôùnµz2”¢å­Í ¬ ¼ÑËsnŠÜ«ˆS¨;yÛÊ Ž½=px¥ŠÒæM°=ÕÌi*±€ Þ² 1‘Ž=qŸj†ãQ¾y滊A–,2œcR;ã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üØW tîßy¹?yÆs»€v‘ÍY–íüÐUB²(ó0ÈÃ1 JªñØǦ¢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ì÷44´íòý?«Ö÷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Ž›Ë) $’XxËëš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õo 7"Ýà_=Š©‰É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_iK#*) ž@Ž{ ôǽ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 ãž} ªÁ£e pFì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.½„\ ýò@>˜7NFï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©ù@ÇR TóÅ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Ë¢“«¼ 39ì~¼ûÒÍ}ž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«|è*px F: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½øåunû]¹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©zO=«Ë!µÖü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²¬fI nZ8wÌÉЮ~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Ûûý*ÎK9ä.â-ö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ú¯ëúì|ÕÅÖ‰}y lM’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Η2r’# Û°A^ý9ÉQÔõ=ù5¬£Öü.(Þ’M$~V«=éSÄFN½®©ÔWô»ÿ þHžkR‹ìÏ+µµžöê;khÚI¤m¨‹Ôš–âÖçJ¾_Z•’6 a”Èô> ÕÉ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¨É+I0TbNñ"$~)ÕÒ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Ñ¢L 7€ì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È@^Ìß.1N¾œ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¨ãÑ?ëï0IEhÄ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Ö¾C9­8cêÆÞíïóò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 ëí>¡N­XW­~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ヅ =9­3§ð§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ïºHO— ¤ ܥݭ”n·J|ÆP6Kµc=Isó}Ò çGš)a=—#vK›åoK§ßóٍ¤¶¿õú…ÄRÚ[Ësöټˏ•Ë ópw®qœŒ·Ø ùÇâ‹ý‡ãKèS&ÞvûD Aù‘É9 ŒîqÅ} $SnIV[]ѐ´Ó}ØÜ¾A Ü|½kÅþÓ|E Mu R¼.I¼¶däò‚ÃkÆ}ðy¹vc iUœ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ɦuOQ!ÕåŒ/Î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Ä¥Ô¾@à Tp£ší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:ƒÐúñi­RUQq‰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È °#q0{ää×mœy”R{vÒÞ¶ÚÏe¥“ÚÆÐ¥Ì®—õýjR •íç›Ìb„+J yÜØÙ•Ç]¿Ôd þËOL²”9-Œ—õÃc'æÝלçÚ²ìejP“½ âù°¨†ðqòädЃÉäÖÜj÷PÇp“ÍšŠå«‘î <iWN­smª»¶vÓz5»ûì:Rs\Ðßôû×uÔÿÙ