xref: /original-bsd/sys/netinet/in_systm.h (revision 05858660)
1 /* in_systm.h 4.8 82/03/19 */
2 
3 /*
4  * Miscellaneous internetwork
5  * definitions for kernel.
6  */
7 
8 #ifndef LOCORE
9 /*
10  * Network types.
11  *
12  * Internally the system keeps counters in the headers with the bytes
13  * swapped so that VAX instructions will work on them.  It reverses
14  * the bytes before transmission at each protocol level.  The n_ types
15  * represent the types with the bytes in ``high-ender'' order.
16  */
17 typedef u_short n_short;		/* short as received from the net */
18 typedef u_long	n_long;			/* long as received from the net */
19 
20 typedef	u_long	n_time;			/* ms since 00:00 GMT, byte rev */
21 #endif
22 
23 /*
24  * The internet code runs off software interrupts.
25  *
26  * You can switch into the network by doing splnet() and return by splx().
27  * The software interrupt level for the network is higher than the software
28  * level for the clock (so you can enter the network in routines called
29  * at timeout time).  Splimp is an ipl high enough to block all imps.
30  * While manipulating the mbuf buffer pool you have to block imps.
31  */
32 
33 /* splnet is defined in ../sys/asm.sed */
34 #define	splimp		spl5
35 #define	setsoftnet()	mtpr(SIRR, 12)
36 
37 /*
38  * Each ``pup-level-1'' input queue has a bit in a ``netisr'' status
39  * word which is used to de-multiplex a single software
40  * interrupt used for scheduling the network code to calls
41  * on the lowest level routine of each protocol.
42  */
43 #define	NETISR_RAW	0		/* same as AF_UNSPEC */
44 #define	NETISR_IP	2		/* same as AF_INET */
45 #define	NETISR_NS	6		/* same as AF_NS */
46 
47 #define	schednetisr(anisr)	{ netisr |= 1<<(anisr); setsoftnet(); }
48 
49 #ifndef LOCORE
50 #ifdef KERNEL
51 int	netisr;				/* scheduling bits for network */
52 #endif
53 
54 
55 #ifdef	KERNEL
56 n_time	iptime();
57 #endif
58 
59 #ifdef KPROF
60 #include "../inet/count.h"
61 #define	COUNT(i)	nrcount[i]++
62 int	nrcount[NCOUNTERS+1];
63 #else
64 #define	COUNT(i)
65 #endif
66 #endif
67