bounds checking
[unix-history] / usr / src / sys / netinet / in_systm.h
CommitLineData
9c8692e9 1/* in_systm.h 4.8 82/03/19 */
8e112dd4
BJ
2
3/*
4 * Miscellaneous internetwork
5 * definitions for kernel.
6 */
7
9c8692e9 8#ifndef LOCORE
8e112dd4
BJ
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 */
17typedef u_short n_short; /* short as received from the net */
18typedef u_long n_long; /* long as received from the net */
8e112dd4
BJ
19
20typedef u_long n_time; /* ms since 00:00 GMT, byte rev */
9c8692e9 21#endif
8e112dd4
BJ
22
23/*
8a13b737 24 * The internet code runs off software interrupts.
8a13b737 25 *
8e112dd4
BJ
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.
2b4b57cd 30 * While manipulating the mbuf buffer pool you have to block imps.
8e112dd4 31 */
9c8692e9 32
8e112dd4 33/* splnet is defined in ../sys/asm.sed */
9c8692e9
BJ
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
51int netisr; /* scheduling bits for network */
52#endif
53
8e112dd4 54
8e112dd4 55#ifdef KERNEL
2b4b57cd 56n_time iptime();
8e112dd4
BJ
57#endif
58
59#ifdef KPROF
60#include "../inet/count.h"
61#define COUNT(i) nrcount[i]++
62int nrcount[NCOUNTERS+1];
63#else
64#define COUNT(i)
65#endif
9c8692e9 66#endif