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