|
|
1.1 root 1: /* net.h */
2:
3: /* High-level network definitions and constants */
4:
5: #define NETBUFS 25 /* number of network buffers */
6: #ifndef Ndg
7: #define NETQS 1 /* number of xinu ports used to */
8: #else /* demultiplex udp datagrams */
9: #define NETQS Ndg
10: #endif
11: #define NETQLEN 15 /* size of a demux queue */
12: #define NETFQ 3 /* size of input-to-output queue*/
13: #ifndef NETNLEN
14: #define NETNLEN 30 /* length of network name */
15: #endif
16:
17: /* Commands for the network pseudo device control call */
18:
19: #define NC_SETGW 1 /* set gateway IP address */
20:
21: /* Network input and output processes: procedure name and parameters */
22:
23: #define NETIN netin /* network input daemon process */
24: #define NETOUT netout /* network output process */
25: extern int NETIN(), NETOUT();
26: #define NETISTK 1024 /* stack size for network input */
27: #define NETOSTK 1900 /* stack size for network output*/
28: #define NETIPRI 100 /* network runs at high priority*/
29: #define NETOPRI 99 /* network output priority */
30: #define NETINAM "netin" /* name of network input process*/
31: #define NETONAM "netout" /* name of network output " */
32: #define NETIARGC 1 /* count of args to net input */
33: #define NETOARGC 2 /* count of args to net output */
34:
35:
36: /* Mapping of external network UDP "port" to internal Xinu port */
37:
38: struct netq { /* UDP demultiplexing info */
39: Bool valid; /* is this entry in use? */
40: short uport; /* local UDP "port" number */
41: int pid; /* pid of process if one waiting*/
42: int xport; /* Corresponding Xinu port on */
43: }; /* which incoming pac. queued */
44:
45: struct netinfo { /* info and parms. for network */
46: int netpool; /* network packet buffer pool */
47: struct netq netqs[NETQS]; /* UDP packet demux info */
48: Bool mnvalid; /* is my host name field valid? */
49: Bool mavalid; /* is my network address valid? */
50: char myname[NETNLEN]; /* domain name of this machine */
51: IPaddr myaddr; /* IP address of this machine */
52: IPaddr mynet; /* Network portion of myaddr */
53: IPaddr gateway; /* IP address of gateway to use */
54: int nxtprt; /* next available local UDP port*/
55: int nmutex; /* output mutual excl. semaphore*/
56: int npacket; /* # of packets processed */
57: int ndrop; /* # of dropped packets */
58: int nover; /* # dropped because queue full */
59: };
60:
61: extern struct netinfo Net; /* All network parameters */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.