0
  
   ˆƒ,ƒ¿ÀÆ 	    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
 <head>
  <title>Index of /FSS-OZR/root/usr/lib/modules/5.14.0-687.31.1.el9_8.x86_64/build/scripts/atomic</title>
 </head>
 <body>
<h1>Index of /FSS-OZR/root/usr/lib/modules/5.14.0-687.31.1.el9_8.x86_64/build/scripts/atomic</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="/FSS-OZR/root/usr/lib/modules/5.14.0-687.31.1.el9_8.x86_64/build/scripts/">Parent Directory</a>       </td><td>&nbsp;</td><td align="right">  - </td><td>&nbsp;</td></tr>
<tr><td valign="top">&nbsp;</td><td><a href="atomic-tbl.sh">atomic-tbl.sh</a>          </td><td align="right">2026-08-01 06:03  </td><td align="right">3.3K</td><td>&nbsp;</td></tr>
<tr><td valign="top">&nbsp;</td><td><a href="atomics.tbl">atomics.tbl</a>            </td><td align="right">2026-08-01 06:03  </td><td align="right">1.1K</td><td>&nbsp;</td></tr>
<tr><td valign="top">&nbsp;</td><td><a href="check-atomics.sh">check-atomics.sh</a>       </td><td align="right">2026-08-01 06:03  </td><td align="right">746 </td><td>&nbsp;</td></tr>
<tr><td valign="top">&nbsp;</td><td><a href="fallbacks/">fallbacks/</a>             </td><td align="right">2026-08-06 05:26  </td><td align="right">  - </td><td>&nbsp;</td></tr>
<tr><td valign="top">&nbsp;</td><td><a href="gen-atomic-fallback.sh">gen-atomic-fallback.sh</a> </td><td align="right">2026-08-01 06:03  </td><td align="right">5.8K</td><td>&nbsp;</td></tr>
<tr><td valign="top">&nbsp;</td><td><a href="gen-atomic-instrumented.sh">gen-atomic-instrumen..&gt;</a></td><td align="right">2026-08-01 06:03  </td><td align="right">4.4K</td><td>&nbsp;</td></tr>
<tr><td valign="top">&nbsp;</td><td><a href="gen-atomic-long.sh">gen-atomic-long.sh</a>     </td><td align="right">2026-08-01 06:03  </td><td align="right">2.2K</td><td>&nbsp;</td></tr>
<tr><td valign="top">&nbsp;</td><td><a href="gen-atomics.sh">gen-atomics.sh</a>         </td><td align="right">2026-08-01 06:03  </td><td align="right">630 </td><td>&nbsp;</td></tr>
   <tr><th colspan="5"><hr></th></tr>
</table>
</body></html>
     ˆÃÈƒq§ÂÀÆ D    /* SPDX-License-Identifier: GPL-2.0 */
/*
 * hdlcdrv.h  -- HDLC packet radio network driver.
 * The Linux soundcard driver for 1200 baud and 9600 baud packet radio
 * (C) 1996-1998 by Thomas Sailer, HB9JNX/AE4WA
 */
#ifndef _HDLCDRV_H
#define _HDLCDRV_H


#include <linux/netdevice.h>
#include <linux/if.h>
#include <linux/spinlock.h>
#include <uapi/linux/hdlcdrv.h>

#define HDLCDRV_MAGIC      0x5ac6e778
#define HDLCDRV_HDLCBUFFER  32 /* should be a power of 2 for speed reasons */
#define HDLCDRV_BITBUFFER  256 /* should be a power of 2 for speed reasons */
#undef HDLCDRV_LOOPBACK  /* define for HDLC debugging purposes */
#define HDLCDRV_DEBUG

/* maximum packet length, excluding CRC */
#define HDLCDRV_MAXFLEN             400	


struct hdlcdrv_hdlcbuffer {
	spinlock_t lock;
	unsigned rd, wr;
	unsigned short buf[HDLCDRV_HDLCBUFFER];
};

#ifdef HDLCDRV_DEBUG
struct hdlcdrv_bitbuffer {
	unsigned int rd;
	unsigned int wr;
	unsigned int shreg;
	unsigned char buffer[HDLCDRV_BITBUFFER];
};

static inline void hdlcdrv_add_bitbuffer(struct hdlcdrv_bitbuffer *buf, 
					 unsigned int bit)
{
	unsigned char new;

	new = buf->shreg & 1;
	buf->shreg >>= 1;
	buf->shreg |= (!!bit) << 7;
	if (new) {
		buf->buffer[buf->wr] = buf->shreg;
		buf->wr = (buf->wr+1) % sizeof(buf->buffer);
		buf->shreg = 0x80;
	}
}

static inline void hdlcdrv_add_bitbuffer_word(struct hdlcdrv_bitbuffer *buf, 
					      unsigned int bits)
{
	buf->buffer[buf->wr] = bits & 0xff;
	buf->wr = (buf->wr+1) % sizeof(buf->buffer);
	buf->buffer[buf->wr] = (bits >> 8) & 0xff;
	buf->wr = (buf->wr+1) % sizeof(buf->buffer);

}
#endif /* HDLCDRV_DEBUG */

/* -------------------------------------------------------------------- */
/*
 * 