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