Import Upstream version 1.8.5
[hcoop/debian/openafs.git] / src / rx / rx_globals.c
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 /* RX: Globals for internal use, basically */
11
12 /* This controls the size of an fd_set; it must be defined early before
13 * the system headers define that type and the macros that operate on it.
14 * Its value should be as large as the maximum file descriptor limit we
15 * are likely to run into on any platform. Right now, that is 65536
16 * which is the default hard fd limit on Solaris 9 */
17 #if !defined(_WIN32) && !defined(KERNEL)
18 #define FD_SETSIZE 65536
19 #endif
20
21 #include <afsconfig.h>
22 #include <afs/param.h>
23
24 /* Enable data initialization when the header file is included */
25 #define GLOBALSINIT(stuff) = stuff
26 #if defined(AFS_NT40_ENV) && defined(AFS_PTHREAD_ENV)
27 #define EXT __declspec(dllexport)
28 #define EXT2 __declspec(dllexport)
29 #define POSTAMBLE
30 #else
31 #define EXT
32 #define EXT2
33 #ifdef AFS_PTHREAD_ENV
34 #define POSTAMBLE =PTHREAD_MUTEX_INITIALIZER
35 #else
36 #define POSTAMBLE
37 #endif
38 #endif
39
40 #ifdef KERNEL
41 # ifndef UKERNEL
42 # include "h/types.h"
43 # else /* !UKERNEL */
44 # include "afs/sysincludes.h"
45 # endif /* UKERNEL */
46 #else /* KERNEL */
47 # include <roken.h>
48 #endif /* KERNEL */
49
50 #include "rx.h"
51 #include "rx_clock.h"
52 #include "rx_packet.h"
53 #include "rx_globals.h"
54
55 void rx_SetMaxReceiveWindow(int packets)
56 {
57 if (packets > rx_maxWindow)
58 packets = rx_maxWindow;
59
60 rx_maxReceiveWindow = packets;
61 }
62
63 int rx_GetMaxReceiveWindow(void)
64 {
65 return rx_maxReceiveWindow;
66 }
67
68 void rx_SetMaxSendWindow(int packets)
69 {
70 if (packets > rx_maxWindow)
71 packets = rx_maxWindow;
72
73 rx_maxSendWindow = packets;
74 }
75
76 int rx_GetMaxSendWindow(void)
77 {
78 return rx_maxSendWindow;
79 }
80
81 void rx_SetMinPeerTimeout(int timeo)
82 {
83 if (timeo >= 1 && timeo < 1000)
84 rx_minPeerTimeout = timeo;
85 }
86
87 int rx_GetMinPeerTimeout(void)
88 {
89 return rx_minPeerTimeout;
90 }
91
92 #ifdef AFS_NT40_ENV
93
94 void rx_SetRxDeadTime(int seconds)
95 {
96 rx_connDeadTime = seconds;
97 }
98
99 int rx_GetMinUdpBufSize(void)
100 {
101 return 64*1024;
102 }
103
104 void rx_SetUdpBufSize(int x)
105 {
106 if (x > rx_GetMinUdpBufSize())
107 rx_UdpBufSize = x;
108 }
109
110 #endif /* AFS_NT40_ENV */