compile on modern FreeBSD. After Robert Watson <rwatson@FreeBSD.org> and Alec Kloss
[arla.git] / rx / rx_kern.h
blob1eddcc9b7cb08e2d25a49c704ad4a0c23156427f
1 /* $Id$ */
3 /*
4 ****************************************************************************
5 * Copyright IBM Corporation 1988, 1989 - All Rights Reserved *
6 * *
7 * Permission to use, copy, modify, and distribute this software and its *
8 * documentation for any purpose and without fee is hereby granted, *
9 * provided that the above copyright notice appear in all copies and *
10 * that both that copyright notice and this permission notice appear in *
11 * supporting documentation, and that the name of IBM not be used in *
12 * advertising or publicity pertaining to distribution of the software *
13 * without specific, written prior permission. *
14 * *
15 * IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL *
16 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL IBM *
17 * BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY *
18 * DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER *
19 * IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING *
20 * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. *
21 ****************************************************************************
24 /* Definitions specific to the in-kernel implementation of Rx, for in-kernel clients */
26 #ifndef __RX_KERNEL_INCL_
27 #define __RX_KERNEL_INCL_ 1
29 #ifdef AFS_AIX32_ENV
31 * vrmix has some rather peculiar ideas about vax-style processor levels,
32 * as evidenced in "net/spl.h".
34 #include "net/spl.h"
35 #endif
37 extern int (*rxk_GetPacketProc) (); /* set to packet allocation procedure */
38 extern int (*rxk_PacketArrivalProc) ();
40 #ifdef AFS_SUN5_ENV
41 #define SPLVAR
42 #define NETPRI
43 #define USERPRI
44 #else
45 #define SPLVAR int splvar
46 #define NETPRI splvar=splnet()
47 #define USERPRI splx(splvar)
48 #endif
50 rxi_StartListener(void);
52 #define rxi_ReScheduleEvents 0 /* Not needed by kernel */
54 /* This is a no-op, because the kernel server procs are pre-allocated */
55 #define rxi_StartServerProcs(x)
57 /* Socket stuff */
58 typedef struct socket *osi_socket;
60 #define OSI_NULLSOCKET ((osi_socket) 0)
62 osi_socket rxi_GetUDPSocket(uint16_t, uint16_t *);
63 osi_socket rxi_GetICMPSocket(void);
65 #define osi_Msg printf)(
66 #if !defined(AFS_SGI_ENV) && !defined(AFS_SUN5_ENV)
67 #define osi_rxSleep(a) osi_Sleep(a)
68 #define osi_rxWakeup(a) osi_Wakeup(a)
69 #endif
70 #if !defined(AFS_SGI_ENV)
71 extern int printf();
73 #endif
75 #define osi_YieldIfPossible()
76 #define osi_WakeupAndYieldIfPossible(x) rx_Wakeup(x)
78 #include "../afs/longc_procs.h"
80 #endif /* __RX_KERNEL_INCL_ */