9f011163c2aee20f1119b0fbe6a82eb08a0a83f6
[openafs.git] / src / rx / rx_kcommon.h
1 /*
2  * Copyright 2000, International Business Machines Corporation and others.
3  * All Rights Reserved.
4  * 
5  * This software has been released under the terms of the IBM Public
6  * License.  For details, see the LICENSE file in the top-level source
7  * directory or online at http://www.openafs.org/dl/license10.html
8  */
9
10 /*
11  * rx_kcommon.h - Common kernel RX header for all system types.
12  */
13
14 #ifndef _RX_KCOMMON_H_
15 #define _RX_KCOMMON_H_
16
17 #ifdef AFS_DARWIN_ENV
18 #ifndef _MACH_ETAP_H_
19 #define _MACH_ETAP_H_
20 typedef unsigned short                  etap_event_t;
21 #endif
22 #endif  
23 #include "../h/types.h"
24 #include "../h/param.h"
25 #ifndef AFS_LINUX22_ENV
26 #include "../h/systm.h"
27 #endif
28 #include "../h/time.h"
29 #ifdef AFS_SUN56_ENV
30 #include "../h/vfs.h"           /* stops SUN56 socketvar.h warnings */
31 #include "../h/stropts.h"       /* stops SUN56 socketvar.h warnings */
32 #include "../h/stream.h"        /* stops SUN56 socketvar.h errors */
33 #endif
34 #include "../h/socket.h"
35 #ifndef AFS_LINUX22_ENV
36 #include "../h/socketvar.h"
37 #include "../h/protosw.h"
38 #ifndef AFS_SUN5_ENV
39 #include "../h/domain.h"
40 #include "../h/dir.h"
41 #include "../h/buf.h"
42 #include "../h/mbuf.h"
43 #endif
44 #endif /* AFS_LINUX22_ENV */
45 #ifdef AFS_SGI62_ENV
46 #include "../h/hashing.h"
47 #endif
48 #include "../netinet/in.h"
49 #include "../net/route.h"
50 #include "../netinet/in_systm.h"
51 #include "../netinet/ip.h"
52 #if !defined(AFS_HPUX110_ENV) && !defined(AFS_LINUX22_ENV)
53 #include "../netinet/in_pcb.h"
54 #endif /* ! AFS_HPUX110_ENV && ! AFS_LINUX22_ENV */
55 #ifndef AFS_LINUX22_ENV
56 #include "../netinet/ip_var.h"
57 #include "../netinet/ip_icmp.h"
58 #endif /* AFS_LINUX22_ENV */
59 #include "../netinet/udp.h"
60 #if !defined(AFS_SGI62_ENV) && !defined(AFS_LINUX22_ENV)
61 #include "../netinet/udp_var.h"
62 #endif
63 #if defined(AFS_HPUX102_ENV) || (defined(AFS_SGI62_ENV) && !defined(AFS_SGI64_ENV))
64 #include "../h/user.h"
65 #endif
66 #ifdef AFS_LINUX22_ENV
67 #define _LINUX_CODA_FS_I
68 struct coda_inode_info {};
69 #include "../h/sched.h"
70 #include "../h/netdevice.h"
71 #else
72 #include "../h/proc.h"
73 #include "../h/file.h"
74 #endif
75 #include "../net/if.h"
76 #if !defined(AFS_HPUX110_ENV) && !defined(AFS_LINUX22_ENV)
77 #include "../netinet/in_var.h"
78 #endif /* ! AFS_HPUX110_ENV && ! AFS_LINUX22_ENV */
79 #ifndef AFS_LINUX22_ENV
80 #include "../rpc/types.h"
81 #endif
82 #include "../afs/afs_osi.h"
83 #include "../rx/rx_kmutex.h"
84 #include "../afs/lock.h"
85 #ifndef AFS_LINUX22_ENV
86 #include "../rpc/xdr.h"
87 #endif
88 #include "../rx/rx.h"
89 #include "../rx/rx_globals.h"
90 #include "../afs/longc_procs.h"
91 #include "../afs/afs_stats.h"
92 #include "../h/errno.h"
93
94 extern afs_int32 afs_termState;
95 extern int (*rxk_GetPacketProc)(); /* set to packet allocation procedure */
96 extern int (*rxk_PacketArrivalProc)();
97
98 #define MAXRXPORTS  20
99 typedef unsigned short rxk_ports_t[MAXRXPORTS];
100 typedef char *rxk_portRocks_t[MAXRXPORTS];
101 extern rxk_ports_t rxk_ports;
102 extern rxk_portRocks_t rxk_portRocks;
103
104 extern struct osi_socket *rxk_NewSocket(short aport);
105 extern struct ifnet *rxi_FindIfnet();
106
107 extern int rxk_initDone;
108
109 #endif /* _RX_KCOMMON_H_ */