enabled
  
   ˆ771À¿Æ     <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
 <head>
  <title>Index of /anon_sym/anon/usr/share/icons/hicolor/36x36@2/apps</title>
 </head>
 <body>
<h1>Index of /anon_sym/anon/usr/share/icons/hicolor/36x36@2/apps</h1>
  <table>
   <tr><th valign="top">&nbsp;</th><th><a href="?C=N;O=D">Name</a></th><th><a href="?C=M;O=A">Last modified</a></th><th><a href="?C=S;O=A">Size</a></th><th><a href="?C=D;O=A">Description</a></th></tr>
   <tr><th colspan="5"><hr></th></tr>
<tr><td valign="top">&nbsp;</td><td><a href="/anon_sym/anon/usr/share/icons/hicolor/36x36@2/">Parent Directory</a>       </td><td>&nbsp;</td><td align="right">  - </td><td>&nbsp;</td></tr>
   <tr><th colspan="5"><hr></th></tr>
</table>
</body></html>
  0   ˆl–ßi~”êh¥8 Eq–n4ú˜´oÉƒZ{_ŒuÐb&=Ly[Ï¿ÁÈ |    ý7zXZ  i"Þ6 !   t/å£à"@] @|, …_Ü-	ÿAý�àDx–GÅ:t€Þ=fˆw}ÕÂ9ïÝ•©r®"2ß�Í’B+Þenûð+¤T(Œ Í
éLý}=y–Æ»�W ÅNM_Fó:¨·ò_PÎ·vÕëb¹Rá�×X«8f´‹ý �MÜ”?SBŸ÷æ@S¨%ðžÉWw/c•àšrÞv�örÁ�­GBÒ¡>¤‰2¿E¡\LÅ�hì—a>d�¥Þ×‚8–.:º»gŽv˜Ã³6áçÞ}ºžS‰49w°âu"úÊ=J´9b$ýÇãCTn»&+gÕšUÌœ9>­_;NTs87|.®:¨z,Ÿ»ï]fè ó�; yq„KF•lßjšö<jË%nWíÃÛÿÊ¿~Óª"Lpæy6Uh	] Íòuë0£¯H&é¾Îï¯lø´tZeqÿ‡0Ÿ ÂJ«ëÙ_[ÆF<¤ üÄ îj�]¶*†“Ü€¬Í`Fu@›¿.ê¡~ðPÓa|9øûŽö$(|ka]l"cpƒ^c)�³tõEÔ§‹ÝmØ€©—,Œç!XH~y/:P„o.‚%Ë‘qô›ýYO×ä�GqóÐ—ÙrËDcLâ×¬H›] ¬’ö7öîßŸ(ˆ¦’u‡Ò?�²UÆÉz:Dšqó*VÔ’W€PÏÑ-7å™#ˆÓ‹#¾Àí¥„1¿Â(S2¢òf�Óø-f5Ë‰RŠ¤Åªõ½ÆêRþÒKp¾a“dàJP={ÐQmÜÖ›ÚÒ/Ÿçgÿ,ìfà†ô¢9=è)ù)­n*¡X	èð1Qè„Ü*†±‡3v“ŠaêæMè»ê˜°(@?ÁÙ –­+ä­pñP)»¶~ê?LÖ×	GÐqêÒ5>ûª¶5YöÒôòÕQ0/Ñs®&·ª*Ó–Î·dú!ÀgßJÿQGóÓ“Z{#¬TT˜Ëläù•OÜ1·‹Ñ`Ó¤¸w
¶Hm‹¸_[]‘fõ]Ñ�O -{ñ>­î]Xû„Ümœ*ž@t£��†:÷œ¹*Óu¢P÷
ZŒžÀ? ûÉI•–	ìÕI™Rw†qñNúÿJ)×RÎÛ—0oû6Iº$
.Žþ]4FÊ5ˆ¥{Ùf¿­£ûžÕCKn3>Ê1;»@ƒu4¸þÍÓ“w·;F À¹‹Ìß«ÊM=¢«ü#¹˜¬%µ÷ßqI8ˆ›¥oyù0DQ÷ƒ>Ð&Qâ©"³¨H6®R"<crVÃVpÇÖ7€É9È’"z³Vˆ&‚ý`ä6Åî(âÂíäëç­éŽZgÄÅJ�g±Qœ…:L8²~æ�ë©6jÖÅR7ž•×+É ¨,ˆ}MM/¥¾3¦š×ªì&‚Mã�ç'±ôF·è£Pv¹Ÿ•+»*   /y Ø€E  Nø@–>0‹    YZ     �ÄÁÈ      File not found.
  $   ˆl–Ü4ý( ©³( 	Å€fàB¦-ÿË„Ž:ÿÆÂÉ ?÷     /* SPDX-License-Identifier: GPL-2.0-or-later */
/*
 *	Definitions for the 'struct ptr_ring' datastructure.
 *
 *	Author:
 *		Michael S. Tsirkin <mst@redhat.com>
 *
 *	Copyright (C) 2016 Red Hat, Inc.
 *
 *	This is a limited-size FIFO maintaining pointers in FIFO order, with
 *	one CPU producing entries and another consuming entries from a FIFO.
 *
 *	This implementation tries to minimize cache-contention when there is a
 *	single producer and a single consumer CPU.
 */

#ifndef _LINUX_PTR_RING_H
#define _LINUX_PTR_RING_H 1

#ifdef __KERNEL__
#include <linux/spinlock.h>
#include <linux/cache.h>
#include <linux/types.h>
#include <linux/compiler.h>
#include <linux/slab.h>
#include <linux/mm.h>
#include <asm/errno.h>
#endif

struct ptr_ring {
	int producer ____cacheline_aligned_in_smp;
	spinlock_t producer_lock;
	int consumer_head ____cacheline_aligned_in_smp; /* next valid entry */
	int consumer_tail; /* next entry to invalidate */
	spinlock_t consumer_lock;
	/* Shared consumer/producer data */
	/* Read-only by both the producer and the consumer */
	int size ____cacheline_aligned_in_smp; /* max entries in queue */
	int batch; /* number of entries to consume in a batch */
	void **queue;
};

/* Note: callers invoking this in a loop must use a compiler barrier,
 * for example cpu_relax().
 *
 * NB: this is unlike __ptr_ring_empty in that callers must hold producer_lock:
 * see e.g. ptr_ring_full.
 */
static inline bool __ptr_ring_full(struct ptr_ring *r)
{
	return r->queue[r->producer];
}

static inline bool ptr_ring_full(struct ptr_ring *r)
{
	bool ret;

	spin_lock(&r->producer_lock);
	ret = __ptr_ring_full(r);
	spin_unlock(&r->producer_lock);

	return ret;
}

static inline bool ptr_ring_full_irq(struct ptr_ring *r)
{
	bool ret;

	spin_lock_irq(&r->producer_lock);
	ret = __ptr_ring_full(r);
	spin_unlock_irq(&r->producer_lock);

	return ret;
}

static inline bool ptr_ring_full_any(struct ptr_ring *r)
{
	unsigned long flags;
	bool ret;

	spin_lock_irqsave(