1f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner/****************************************************************************
2f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner ****************************************************************************
3f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner ***
4f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner ***   This header was automatically generated from a Linux kernel header
5f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner ***   of the same name, to make information necessary for userspace to
6f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner ***   call into the kernel available to libc.  It contains only constants,
7f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner ***   structures, and macros generated from the original header, and thus,
8f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner ***   contains no copyrightable information.
9f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner ***
10f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner ****************************************************************************
11f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner ****************************************************************************/
12f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner#ifndef _CODA_HEADER_
13f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner#define _CODA_HEADER_
14f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner
15f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner#if defined(__NetBSD__) || (defined(DJGPP) || defined(__CYGWIN32__)) && !defined(KERNEL)
16f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner#include <sys/types.h>
17f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner#endif
18f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner
19f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner#ifndef CODA_MAXSYMLINKS
20f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner#define CODA_MAXSYMLINKS 10
21f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner#endif
22f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner
23f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner#if defined(DJGPP) || defined(__CYGWIN32__)
24f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner#ifdef KERNEL
25f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turnertypedef unsigned long u_long;
26f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turnertypedef unsigned int u_int;
27f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turnertypedef unsigned short u_short;
28f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turnertypedef u_long ino_t;
29f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turnertypedef u_long dev_t;
30f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turnertypedef void * caddr_t;
31f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner#ifdef DOS
32f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turnertypedef unsigned __int64 u_quad_t;
33f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner#else
34f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turnertypedef unsigned long long u_quad_t;
35f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner#endif
36f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner
37f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner#define inline
38f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner
39f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turnerstruct timespec {
40f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner long ts_sec;
41f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner long ts_nsec;
42f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner};
43f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner#else
44f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner#include <sys/time.h>
45f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turnertypedef unsigned long long u_quad_t;
46f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner#endif
47f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner#endif
48f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner
49f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner#ifdef __linux__
50f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner#include <linux/time.h>
51f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner#define cdev_t u_quad_t
52f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner#if !defined(_UQUAD_T_) && (!defined(__GLIBC__) || __GLIBC__ < 2)
53f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner#define _UQUAD_T_ 1
54f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turnertypedef unsigned long long u_quad_t;
55f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner#endif
56f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner#else
57f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner#define cdev_t dev_t
58f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner#endif
59f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner
60f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner#ifdef __CYGWIN32__
61f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turnerstruct timespec {
62f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner time_t tv_sec;
63f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner long tv_nsec;
64f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner};
65f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner#endif
66f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner
67f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner#ifndef __BIT_TYPES_DEFINED__
68f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner#define __BIT_TYPES_DEFINED__
69f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turnertypedef signed char int8_t;
70f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turnertypedef unsigned char u_int8_t;
71f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turnertypedef short int16_t;
72f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turnertypedef unsigned short u_int16_t;
73f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turnertypedef int int32_t;
74f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turnertypedef unsigned int u_int32_t;
75f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner#endif
76f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner
77f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner#define CODA_MAXNAMLEN 255
78f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner#define CODA_MAXPATHLEN 1024
79f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner#define CODA_MAXSYMLINK 10
80f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner
81f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner#define C_O_READ 0x001
82f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner#define C_O_WRITE 0x002
83f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner#define C_O_TRUNC 0x010
84f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner#define C_O_EXCL 0x100
85f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner#define C_O_CREAT 0x200
86f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner
87f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner#define C_M_READ 00400
88f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner#define C_M_WRITE 00200
89f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner
90f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner#define C_A_C_OK 8
91f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner#define C_A_R_OK 4
92f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner#define C_A_W_OK 2
93f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner#define C_A_X_OK 1
94f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner#define C_A_F_OK 0
95f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner
96f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner#ifndef _VENUS_DIRENT_T_
97f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner#define _VENUS_DIRENT_T_ 1
98f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turnerstruct venus_dirent {
99f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner u_int32_t d_fileno;
100f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner u_int16_t d_reclen;
101f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner u_int8_t d_type;
102f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner u_int8_t d_namlen;
103f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner char d_name[CODA_MAXNAMLEN + 1];
104f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner};
105f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner#undef DIRSIZ
106f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner#define DIRSIZ(dp) ((sizeof (struct venus_dirent) - (CODA_MAXNAMLEN+1)) +   (((dp)->d_namlen+1 + 3) &~ 3))
107f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner
108f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner#define CDT_UNKNOWN 0
109f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner#define CDT_FIFO 1
110f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner#define CDT_CHR 2
111f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner#define CDT_DIR 4
112f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner#define CDT_BLK 6
113f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner#define CDT_REG 8
114f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner#define CDT_LNK 10
115f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner#define CDT_SOCK 12
116f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner#define CDT_WHT 14
117f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner
118f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner#define IFTOCDT(mode) (((mode) & 0170000) >> 12)
119f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner#define CDTTOIF(dirtype) ((dirtype) << 12)
120f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner
121f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner#endif
122f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner
123f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner#ifndef _VUID_T_
124f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner#define _VUID_T_
125f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turnertypedef u_int32_t vuid_t;
126f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turnertypedef u_int32_t vgid_t;
127f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner#endif
128f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner
129f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turnerstruct CodaFid {
130f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner u_int32_t opaque[4];
131f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner};
132f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner
133f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner#define coda_f2i(fid)  (fid ? (fid->opaque[3] ^ (fid->opaque[2]<<10) ^ (fid->opaque[1]<<20) ^ fid->opaque[0]) : 0)
134f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner
135f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner#ifndef _VENUS_VATTR_T_
136f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner#define _VENUS_VATTR_T_
137f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner
138f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turnerenum coda_vtype { C_VNON, C_VREG, C_VDIR, C_VBLK, C_VCHR, C_VLNK, C_VSOCK, C_VFIFO, C_VBAD };
139f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner
140f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turnerstruct coda_vattr {
141f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner long va_type;
142f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner u_short va_mode;
143f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner short va_nlink;
144f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner vuid_t va_uid;
145f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner vgid_t va_gid;
146f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner long va_fileid;
147f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner u_quad_t va_size;
148f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner long va_blocksize;
149f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct timespec va_atime;
150f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct timespec va_mtime;
151f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct timespec va_ctime;
152f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner u_long va_gen;
153f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner u_long va_flags;
154f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner cdev_t va_rdev;
155f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner u_quad_t va_bytes;
156f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner u_quad_t va_filerev;
157f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner};
158f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner
159f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner#endif
160f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner
161f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turnerstruct coda_statfs {
162f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner int32_t f_blocks;
163f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner int32_t f_bfree;
164f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner int32_t f_bavail;
165f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner int32_t f_files;
166f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner int32_t f_ffree;
167f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner};
168f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner
169f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner#define CODA_ROOT 2
170f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner#define CODA_OPEN_BY_FD 3
171f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner#define CODA_OPEN 4
172f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner#define CODA_CLOSE 5
173f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner#define CODA_IOCTL 6
174f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner#define CODA_GETATTR 7
175f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner#define CODA_SETATTR 8
176f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner#define CODA_ACCESS 9
177f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner#define CODA_LOOKUP 10
178f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner#define CODA_CREATE 11
179f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner#define CODA_REMOVE 12
180f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner#define CODA_LINK 13
181f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner#define CODA_RENAME 14
182f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner#define CODA_MKDIR 15
183f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner#define CODA_RMDIR 16
184f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner#define CODA_SYMLINK 18
185f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner#define CODA_READLINK 19
186f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner#define CODA_FSYNC 20
187f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner#define CODA_VGET 22
188f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner#define CODA_SIGNAL 23
189f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner#define CODA_REPLACE 24
190f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner#define CODA_FLUSH 25
191f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner#define CODA_PURGEUSER 26
192f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner#define CODA_ZAPFILE 27
193f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner#define CODA_ZAPDIR 28
194f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner#define CODA_PURGEFID 30
195f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner#define CODA_OPEN_BY_PATH 31
196f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner#define CODA_RESOLVE 32
197f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner#define CODA_REINTEGRATE 33
198f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner#define CODA_STATFS 34
199f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner#define CODA_STORE 35
200f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner#define CODA_RELEASE 36
201f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner#define CODA_NCALLS 37
202f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner
203f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner#define DOWNCALL(opcode) (opcode >= CODA_REPLACE && opcode <= CODA_PURGEFID)
204f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner
205f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner#define VC_MAXDATASIZE 8192
206f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner#define VC_MAXMSGSIZE sizeof(union inputArgs)+sizeof(union outputArgs) +  VC_MAXDATASIZE
207f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner
208f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner#define CIOC_KERNEL_VERSION _IOWR('c', 10, size_t)
209f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner
210f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner#define CODA_KERNEL_VERSION 3
211f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner
212f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turnerstruct coda_in_hdr {
213f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner u_int32_t opcode;
214f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner u_int32_t unique;
215f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner pid_t pid;
216f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner pid_t pgid;
217f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner vuid_t uid;
218f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner};
219f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner
220f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turnerstruct coda_out_hdr {
221f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner u_int32_t opcode;
222f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner u_int32_t unique;
223f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner u_int32_t result;
224f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner};
225f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner
226f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turnerstruct coda_root_out {
227f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct coda_out_hdr oh;
228f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct CodaFid VFid;
229f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner};
230f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner
231f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turnerstruct coda_root_in {
232f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct coda_in_hdr in;
233f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner};
234f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner
235f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turnerstruct coda_open_in {
236f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct coda_in_hdr ih;
237f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct CodaFid VFid;
238f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner int flags;
239f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner};
240f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner
241f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turnerstruct coda_open_out {
242f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct coda_out_hdr oh;
243f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner cdev_t dev;
244f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner ino_t inode;
245f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner};
246f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner
247f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turnerstruct coda_store_in {
248f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct coda_in_hdr ih;
249f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct CodaFid VFid;
250f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner int flags;
251f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner};
252f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner
253f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turnerstruct coda_store_out {
254f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct coda_out_hdr out;
255f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner};
256f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner
257f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turnerstruct coda_release_in {
258f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct coda_in_hdr ih;
259f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct CodaFid VFid;
260f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner int flags;
261f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner};
262f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner
263f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turnerstruct coda_release_out {
264f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct coda_out_hdr out;
265f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner};
266f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner
267f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turnerstruct coda_close_in {
268f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct coda_in_hdr ih;
269f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct CodaFid VFid;
270f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner int flags;
271f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner};
272f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner
273f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turnerstruct coda_close_out {
274f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct coda_out_hdr out;
275f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner};
276f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner
277f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turnerstruct coda_ioctl_in {
278f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct coda_in_hdr ih;
279f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct CodaFid VFid;
280f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner int cmd;
281f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner int len;
282f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner int rwflag;
283f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner char *data;
284f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner};
285f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner
286f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turnerstruct coda_ioctl_out {
287f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct coda_out_hdr oh;
288f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner int len;
289f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner caddr_t data;
290f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner};
291f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner
292f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turnerstruct coda_getattr_in {
293f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct coda_in_hdr ih;
294f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct CodaFid VFid;
295f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner};
296f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner
297f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turnerstruct coda_getattr_out {
298f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct coda_out_hdr oh;
299f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct coda_vattr attr;
300f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner};
301f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner
302f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turnerstruct coda_setattr_in {
303f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct coda_in_hdr ih;
304f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct CodaFid VFid;
305f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct coda_vattr attr;
306f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner};
307f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner
308f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turnerstruct coda_setattr_out {
309f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct coda_out_hdr out;
310f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner};
311f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner
312f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turnerstruct coda_access_in {
313f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct coda_in_hdr ih;
314f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct CodaFid VFid;
315f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner int flags;
316f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner};
317f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner
318f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turnerstruct coda_access_out {
319f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct coda_out_hdr out;
320f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner};
321f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner
322f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner#define CLU_CASE_SENSITIVE 0x01
323f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner#define CLU_CASE_INSENSITIVE 0x02
324f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner
325f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turnerstruct coda_lookup_in {
326f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct coda_in_hdr ih;
327f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct CodaFid VFid;
328f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner int name;
329f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner int flags;
330f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner};
331f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner
332f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turnerstruct coda_lookup_out {
333f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct coda_out_hdr oh;
334f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct CodaFid VFid;
335f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner int vtype;
336f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner};
337f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner
338f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turnerstruct coda_create_in {
339f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct coda_in_hdr ih;
340f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct CodaFid VFid;
341f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct coda_vattr attr;
342f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner int excl;
343f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner int mode;
344f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner int name;
345f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner};
346f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner
347f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turnerstruct coda_create_out {
348f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct coda_out_hdr oh;
349f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct CodaFid VFid;
350f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct coda_vattr attr;
351f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner};
352f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner
353f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turnerstruct coda_remove_in {
354f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct coda_in_hdr ih;
355f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct CodaFid VFid;
356f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner int name;
357f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner};
358f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner
359f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turnerstruct coda_remove_out {
360f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct coda_out_hdr out;
361f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner};
362f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner
363f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turnerstruct coda_link_in {
364f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct coda_in_hdr ih;
365f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct CodaFid sourceFid;
366f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct CodaFid destFid;
367f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner int tname;
368f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner};
369f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner
370f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turnerstruct coda_link_out {
371f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct coda_out_hdr out;
372f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner};
373f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner
374f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turnerstruct coda_rename_in {
375f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct coda_in_hdr ih;
376f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct CodaFid sourceFid;
377f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner int srcname;
378f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct CodaFid destFid;
379f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner int destname;
380f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner};
381f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner
382f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turnerstruct coda_rename_out {
383f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct coda_out_hdr out;
384f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner};
385f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner
386f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turnerstruct coda_mkdir_in {
387f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct coda_in_hdr ih;
388f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct CodaFid VFid;
389f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct coda_vattr attr;
390f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner int name;
391f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner};
392f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner
393f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turnerstruct coda_mkdir_out {
394f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct coda_out_hdr oh;
395f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct CodaFid VFid;
396f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct coda_vattr attr;
397f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner};
398f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner
399f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turnerstruct coda_rmdir_in {
400f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct coda_in_hdr ih;
401f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct CodaFid VFid;
402f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner int name;
403f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner};
404f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner
405f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turnerstruct coda_rmdir_out {
406f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct coda_out_hdr out;
407f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner};
408f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner
409f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turnerstruct coda_symlink_in {
410f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct coda_in_hdr ih;
411f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct CodaFid VFid;
412f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner int srcname;
413f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct coda_vattr attr;
414f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner int tname;
415f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner};
416f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner
417f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turnerstruct coda_symlink_out {
418f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct coda_out_hdr out;
419f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner};
420f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner
421f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turnerstruct coda_readlink_in {
422f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct coda_in_hdr ih;
423f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct CodaFid VFid;
424f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner};
425f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner
426f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turnerstruct coda_readlink_out {
427f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct coda_out_hdr oh;
428f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner int count;
429f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner caddr_t data;
430f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner};
431f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner
432f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turnerstruct coda_fsync_in {
433f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct coda_in_hdr ih;
434f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct CodaFid VFid;
435f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner};
436f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner
437f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turnerstruct coda_fsync_out {
438f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct coda_out_hdr out;
439f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner};
440f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner
441f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turnerstruct coda_vget_in {
442f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct coda_in_hdr ih;
443f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct CodaFid VFid;
444f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner};
445f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner
446f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turnerstruct coda_vget_out {
447f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct coda_out_hdr oh;
448f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct CodaFid VFid;
449f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner int vtype;
450f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner};
451f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner
452f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turnerstruct coda_purgeuser_out {
453f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct coda_out_hdr oh;
454f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner vuid_t uid;
455f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner};
456f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner
457f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turnerstruct coda_zapfile_out {
458f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct coda_out_hdr oh;
459f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct CodaFid CodaFid;
460f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner};
461f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner
462f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turnerstruct coda_zapdir_out {
463f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct coda_out_hdr oh;
464f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct CodaFid CodaFid;
465f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner};
466f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner
467f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turnerstruct coda_purgefid_out {
468f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct coda_out_hdr oh;
469f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct CodaFid CodaFid;
470f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner};
471f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner
472f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turnerstruct coda_replace_out {
473f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct coda_out_hdr oh;
474f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct CodaFid NewFid;
475f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct CodaFid OldFid;
476f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner};
477f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner
478f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turnerstruct coda_open_by_fd_in {
479f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct coda_in_hdr ih;
480f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct CodaFid VFid;
481f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner int flags;
482f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner};
483f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner
484f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turnerstruct coda_open_by_fd_out {
485f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct coda_out_hdr oh;
486f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner int fd;
487f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner
488f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner};
489f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner
490f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turnerstruct coda_open_by_path_in {
491f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct coda_in_hdr ih;
492f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct CodaFid VFid;
493f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner int flags;
494f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner};
495f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner
496f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turnerstruct coda_open_by_path_out {
497f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct coda_out_hdr oh;
498f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner int path;
499f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner};
500f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner
501f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turnerstruct coda_statfs_in {
502f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct coda_in_hdr in;
503f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner};
504f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner
505f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turnerstruct coda_statfs_out {
506f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct coda_out_hdr oh;
507f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct coda_statfs stat;
508f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner};
509f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner
510f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner#define CODA_NOCACHE 0x80000000
511f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner
512f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turnerunion inputArgs {
513f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct coda_in_hdr ih;
514f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct coda_open_in coda_open;
515f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct coda_store_in coda_store;
516f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct coda_release_in coda_release;
517f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct coda_close_in coda_close;
518f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct coda_ioctl_in coda_ioctl;
519f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct coda_getattr_in coda_getattr;
520f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct coda_setattr_in coda_setattr;
521f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct coda_access_in coda_access;
522f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct coda_lookup_in coda_lookup;
523f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct coda_create_in coda_create;
524f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct coda_remove_in coda_remove;
525f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct coda_link_in coda_link;
526f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct coda_rename_in coda_rename;
527f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct coda_mkdir_in coda_mkdir;
528f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct coda_rmdir_in coda_rmdir;
529f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct coda_symlink_in coda_symlink;
530f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct coda_readlink_in coda_readlink;
531f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct coda_fsync_in coda_fsync;
532f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct coda_vget_in coda_vget;
533f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct coda_open_by_fd_in coda_open_by_fd;
534f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct coda_open_by_path_in coda_open_by_path;
535f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct coda_statfs_in coda_statfs;
536f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner};
537f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner
538f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turnerunion outputArgs {
539f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct coda_out_hdr oh;
540f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct coda_root_out coda_root;
541f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct coda_open_out coda_open;
542f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct coda_ioctl_out coda_ioctl;
543f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct coda_getattr_out coda_getattr;
544f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct coda_lookup_out coda_lookup;
545f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct coda_create_out coda_create;
546f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct coda_mkdir_out coda_mkdir;
547f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct coda_readlink_out coda_readlink;
548f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct coda_vget_out coda_vget;
549f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct coda_purgeuser_out coda_purgeuser;
550f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct coda_zapfile_out coda_zapfile;
551f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct coda_zapdir_out coda_zapdir;
552f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct coda_purgefid_out coda_purgefid;
553f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct coda_replace_out coda_replace;
554f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct coda_open_by_fd_out coda_open_by_fd;
555f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct coda_open_by_path_out coda_open_by_path;
556f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct coda_statfs_out coda_statfs;
557f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner};
558f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner
559f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turnerunion coda_downcalls {
560f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner
561f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct coda_purgeuser_out purgeuser;
562f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct coda_zapfile_out zapfile;
563f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct coda_zapdir_out zapdir;
564f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct coda_purgefid_out purgefid;
565f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct coda_replace_out replace;
566f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner};
567f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner
568f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner#define PIOCPARM_MASK 0x0000ffff
569f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turnerstruct ViceIoctl {
570f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner void __user *in;
571f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner void __user *out;
572f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner u_short in_size;
573f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner u_short out_size;
574f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner};
575f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner
576f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turnerstruct PioctlData {
577f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner const char __user *path;
578f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner int follow;
579f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner struct ViceIoctl vi;
580f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner};
581f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner
582f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner#define CODA_CONTROL ".CONTROL"
583f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner#define CODA_CONTROLLEN 8
584f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner#define CTL_INO -1
585f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner
586f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner#define CODA_MOUNT_VERSION 1
587f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner
588f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turnerstruct coda_mount_data {
589f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner int version;
590f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner int fd;
591f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner};
592f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner
593f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner#endif
594f13db29e2847a3760e403332ea3243915e0f4bf3David 'Digit' Turner
595