backport to buster
[hcoop/debian/openafs.git] / src / config / venus.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 /* /usr/andrew/include/vice/ioctl.h
11
12 Definitions of Venus-specific ioctls for Venus 2.
13 */
14
15 #ifndef AFS_VENUS_H
16 #define AFS_VENUS_H
17
18 /* The VIOC* constants are defined here. */
19 #include <afs/vioc.h>
20
21 #if !defined(UKERNEL)
22
23 #include <netinet/in.h>
24
25 /* some structures used with CM pioctls */
26
27 /* structs for Get/Set server preferences pioctl
28 */
29 struct spref {
30 struct in_addr server;
31 unsigned short rank;
32 };
33
34 struct sprefrequest_33 {
35 unsigned short offset;
36 unsigned short num_servers;
37 };
38
39 struct sprefrequest { /* new struct for 3.4 */
40 unsigned short offset;
41 unsigned short num_servers;
42 unsigned short flags;
43 };
44 #define DBservers 1
45
46 struct sprefinfo {
47 unsigned short next_offset;
48 unsigned short num_servers;
49 struct spref servers[1]; /* we overrun this array intentionally... */
50 };
51
52 struct setspref {
53 unsigned short flags;
54 unsigned short num_servers;
55 struct spref servers[1]; /* we overrun this array intentionally... */
56 };
57 /* struct for GAG pioctl
58 */
59 struct gaginfo {
60 afs_uint32 showflags, logflags, logwritethruflag, spare[3];
61 unsigned char spare2[128];
62 };
63 #define GAGUSER 1
64 #define GAGCONSOLE 2
65 #define logwritethruON 1
66
67
68 struct rxparams {
69 afs_int32 rx_initReceiveWindow, rx_maxReceiveWindow, rx_initSendWindow,
70 rx_maxSendWindow, rxi_nSendFrags, rxi_nRecvFrags, rxi_OrphanFragSize;
71 afs_int32 rx_maxReceiveSize, rx_MyMaxSendSize;
72 afs_uint32 spare[21];
73 };
74
75 /* struct for checkservers */
76
77 struct chservinfo {
78 int magic;
79 char tbuffer[128];
80 int tsize;
81 afs_int32 tinterval;
82 afs_int32 tflags;
83 };
84
85 struct sbstruct {
86 int sb_thisfile;
87 int sb_default;
88 };
89
90 /* CM inititialization parameters. What CM actually used after calculations
91 * based on passed in arguments.
92 */
93 #define CMI_VERSION 1 /* increment when adding new fields. */
94 struct cm_initparams {
95 int cmi_version;
96 int cmi_nChunkFiles;
97 int cmi_nStatCaches;
98 int cmi_nDataCaches;
99 int cmi_nVolumeCaches;
100 int cmi_firstChunkSize;
101 int cmi_otherChunkSize;
102 int cmi_cacheSize; /* The original cache size, in 1K blocks. */
103 unsigned cmi_setTime:1;
104 unsigned cmi_memCache:1;
105 int spare[16 - 9]; /* size of struct is 16 * 4 = 64 bytes */
106 };
107
108 #endif /* !defined(UKERNEL) */
109
110 #if defined(AFS_CACHE_BYPASS)
111 /* Uncoordinated 'O' pioctls */
112 #define VIOC_SETBYPASS_THRESH _OVICEIOCTL(2) /* cache-bypass size thresh */
113 #endif
114
115 #endif /* AFS_VENUS_H */