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