2.9BSD/usr/net/sys/net/in_systm.h

Compare this file to the similar file:
Show the results in this format:

/*	in_systm.h	4.13	82/06/24	*/

/*
 * Miscellaneous internetwork
 * definitions for kernel.
 */

#ifndef LOCORE
/*
 * Network types.
 *
 * Internally the system keeps counters in the headers with the bytes
 * swapped so that VAX instructions will work on them.  It reverses
 * the bytes before transmission at each protocol level.  The n_ types
 * represent the types with the bytes in ``high-ender'' order.
 */
typedef u_short n_short;		/* short as received from the net */
typedef u_long	n_long;			/* long as received from the net */

typedef	u_long	n_time;			/* ms since 00:00 GMT, byte rev */
#endif

#if vax
#define UCHAR(a)        (a)
#endif
#if pdp11
#define UCHAR(a)        ((unsigned)((a) & 0xff))
#endif

/*
 * The internet code runs off software interrupts.
 *
 * You can switch into the network by doing splnet() and return by splx().
 * The software interrupt level for the network is higher than the software
 * level for the clock (so you can enter the network in routines called
 * at timeout time).
 */
#if vax
#define	setsoftnet()	mtpr(SIRR, 12)
#endif
#if pdp11  /* (V7 timeout code wont run if ANY kernel spl set) */
#define splnet          spl1
#define splimp          spl5
#define setsoftnet()
#define clearsoftnet()
#define NETISR_CLOCK    15              /* avoids net numbers below */
#endif

/*
 * Each ``pup-level-1'' input queue has a bit in a ``netisr'' status
 * word which is used to de-multiplex a single software
 * interrupt used for scheduling the network code to calls
 * on the lowest level routine of each protocol.
 */
#define	NETISR_RAW	0		/* same as AF_UNSPEC */
#define	NETISR_IP	2		/* same as AF_INET */
#define	NETISR_NS	6		/* same as AF_NS */

#define	schednetisr(anisr)	{ netisr |= 1<<(anisr); setsoftnet(); }

#ifndef LOCORE
#ifdef KERNEL
int	netisr;				/* scheduling bits for network */
n_time	iptime();
#endif
#endif