Coda Distributed File System
coda.h
Go to the documentation of this file.
1// clang-format off
2/*
3 You may distribute this file under either of the two licenses that
4 follow at your discretion.
5*/
6
7/* BLURB lgpl
8
9 Coda File System
10 Release 6
11
12 Copyright (c) 1987-2018 Carnegie Mellon University
13 Additional copyrights listed below
14
15This code is distributed "AS IS" without warranty of any kind under
16the terms of the GNU Library General Public Licence Version 2, as
17shown in the file LICENSE, or under the license shown below. The
18technical and financial contributors to Coda are listed in the file
19CREDITS.
20
21 Additional copyrights
22*/
23
24/*
25
26 Coda: an Experimental Distributed File System
27 Release 7
28
29 Copyright (c) 1987-2019 Carnegie Mellon University
30 All Rights Reserved
31
32Permission to use, copy, modify and distribute this software and its
33documentation is hereby granted, provided that both the copyright
34notice and this permission notice appear in all copies of the
35software, derivative works or modified versions, and any portions
36thereof, and that both notices appear in supporting documentation, and
37that credit is given to Carnegie Mellon University in all documents
38and publicity pertaining to direct or indirect use of this code or its
39derivatives.
40
41CODA IS AN EXPERIMENTAL SOFTWARE SYSTEM AND IS KNOWN TO HAVE BUGS,
42SOME OF WHICH MAY HAVE SERIOUS CONSEQUENCES. CARNEGIE MELLON ALLOWS
43FREE USE OF THIS SOFTWARE IN ITS "AS IS" CONDITION. CARNEGIE MELLON
44DISCLAIMS ANY LIABILITY OF ANY KIND FOR ANY DAMAGES WHATSOEVER
45RESULTING DIRECTLY OR INDIRECTLY FROM THE USE OF THIS SOFTWARE OR OF
46ANY DERIVATIVE WORK.
47
48Carnegie Mellon encourages users of this software to return any
49improvements or extensions that they make, and to grant Carnegie
50Mellon the rights to redistribute these changes without encumbrance.
51*/
52
53/*
54 *
55 * Based on cfs.h from Mach, but revamped for increased simplicity.
56 * Linux modifications by
57 * Peter Braam, Aug 1996
58 */
59
60#ifndef _CODA_HEADER_
61#define _CODA_HEADER_
62
63#ifdef HAVE_CONFIG_H
64#include <config.h>
65#endif
66
67#include <sys/types.h>
68#include <sys/time.h>
69#include <stdint.h>
70
71#ifdef __CYGWIN32__
72#ifdef KERNEL
73typedef unsigned long u_long;
74typedef u_long ino_t;
75typedef u_long dev_t;
76typedef void * caddr_t;
77#endif
78
79#endif /* !__CYGWIN32__ */
80
81
82#if defined(__linux__)
83typedef uint64_t cdev_t;
84#else
85typedef dev_t cdev_t;
86#endif
87
88/* Mac OS X / Darwin */
89#if defined(__APPLE__) && defined(__MACH__)
90#define __BIT_TYPES_DEFINED__
91#endif
92
93/* FreeBSD 5.0 */
94#if __FreeBSD__ >= 5
95#define __BIT_TYPES_DEFINED__
96#endif
97
98#ifndef __BIT_TYPES_DEFINED__
99#define __BIT_TYPES_DEFINED__
100typedef signed char int8_t;
101typedef unsigned char uint8_t;
102typedef short int16_t;
103typedef unsigned short uint16_t;
104typedef int int32_t;
105typedef unsigned int uint32_t;
106#endif
107
110
111/*
112 * Cfs constants
113 */
114#define CODA_MAXNAMLEN 255
115#define CODA_MAXPATHLEN 1024
116#define CODA_MAXSYMLINK 10
117
118/* these are Coda's version of O_RDONLY etc combinations
119 * to deal with VFS open modes
120 */
121#define C_O_READ 0x001
122#define C_O_WRITE 0x002
123#define C_O_TRUNC 0x010
124#define C_O_EXCL 0x100
125#define C_O_CREAT 0x200
126
127/* these are to find mode bits in Venus */
128#define C_M_READ 00400
129#define C_M_WRITE 00200
130
131/* for access Venus will use */
132#define C_A_C_OK 8 /* Test for writing upon create. */
133#define C_A_R_OK 4 /* Test for read permission. */
134#define C_A_W_OK 2 /* Test for write permission. */
135#define C_A_X_OK 1 /* Test for execute permission. */
136#define C_A_F_OK 0 /* Test for existence. */
137
138#if defined(sun)
139#define _VENUS_DIRENT_T_ 1
140struct venus_dirent {
141 unsigned long d_fileno; /* file number of entry */
142 unsigned short d_reclen; /* length of this record */
143 unsigned short d_namlen; /* length of string in d_name */
144 char d_name[CODA_MAXNAMLEN + 1];/* name must be no longer than this */
145};
146#undef DIRSIZ
147#define DIRSIZ(dp) ((sizeof (struct venus_dirent) - (CODA_MAXNAMLEN+1)) + \
148 (((dp)->d_namlen+1 + 3) &~ 3))
149#endif
150
151#ifndef _VENUS_DIRENT_T_
152#define _VENUS_DIRENT_T_ 1
153#if defined(__FreeBSD__)
154#include <sys/param.h>
155#endif
156#if defined(__FreeBSD__) && (__FreeBSD_version >= 1200031)
157struct venus_dirent {
158 ino_t d_fileno; /* file number of entry */
159 off_t d_off; /* directory offset of entry */
160 uint16_t d_reclen; /* length of this record */
161 uint8_t d_type; /* file type, see below */
162 uint8_t d_pad0;
163 uint16_t d_namlen; /* length of string in d_name */
164 uint16_t d_pad1;
165 char d_name[CODA_MAXNAMLEN + 1]; /* name must be no longer than this */
166};
167#else
169 unsigned int d_fileno; /* file number of entry */
170 unsigned short d_reclen; /* length of this record */
171 unsigned char d_type; /* file type, see below */
172 unsigned char d_namlen; /* length of string in d_name */
173 char d_name[CODA_MAXNAMLEN + 1];/* name must be no longer than this */
174};
175#endif
176#undef DIRSIZ
177#define DIRSIZ(dp) ((sizeof (struct venus_dirent) - (CODA_MAXNAMLEN+1)) + \
178 (((dp)->d_namlen+1 + 3) &~ 3))
179
180/*
181 * File types
182 */
183#define CDT_UNKNOWN 0
184#define CDT_FIFO 1
185#define CDT_CHR 2
186#define CDT_DIR 4
187#define CDT_BLK 6
188#define CDT_REG 8
189#define CDT_LNK 10
190#define CDT_SOCK 12
191#define CDT_WHT 14
192
193/*
194 * Convert between stat structure types and directory types.
195 */
196#define IFTOCDT(mode) (((mode) & 0170000) >> 12)
197#define CDTTOIF(dirtype) ((dirtype) << 12)
198
199#endif
200
201struct CodaFid {
203};
204
205
206static __inline__ ino_t coda_f2i(struct CodaFid *fid)
207{
208 if (!fid) return 0;
209 return (fid->opaque[3] ^ (fid->opaque[2]<<10) ^ (fid->opaque[1]<<20) ^
210 fid->opaque[0]);
211}
212
213
214#ifndef _VENUS_VATTR_T_
215#define _VENUS_VATTR_T_
216/*
217 * Vnode types. VNON means no type.
218 */
220
222#ifdef NO_64BIT_TIMESPEC
223 long tv_sec; /* seconds */
224#else
225 int64_t tv_sec; /* seconds */
226#endif
227 long tv_nsec; /* nanoseconds */
228};
229
230/* we set this bit in va_flags if we still have to fetch the file's contents
231 * from the servers */
232#define SF_UNCACHED 0x80000000
233
235 long va_type; /* vnode type (for create) */
236 uint16_t va_mode; /* files access mode and type */
237 short va_nlink; /* number of references to file */
238 cuid_t va_uid; /* owner user id */
239 cgid_t va_gid; /* owner group id */
240 unsigned long va_fileid; /* file id */
241 uint64_t va_size; /* file size in bytes */
242 long va_blocksize; /* blocksize preferred for i/o */
243 struct coda_timespec va_atime; /* time of last access */
244 struct coda_timespec va_mtime; /* time of last modification */
245 struct coda_timespec va_ctime; /* time file changed */
246 u_long va_gen; /* generation number of file */
247 u_long va_flags; /* flags defined for file */
248 cdev_t va_rdev; /* device special file represents */
249 uint64_t va_bytes; /* bytes of disk space held by file */
250 uint64_t va_filerev; /* file modification number */
251};
252
253#endif
254
255/* structure used by CODA_STATFS for getting cache information from venus */
262};
263
264/*
265 * Kernel <--> Venus communications.
266 */
267
268#define CODA_ROOT 2
269#define CODA_OPEN_BY_FD 3
270#define CODA_OPEN 4
271#define CODA_CLOSE 5
272#define CODA_IOCTL 6
273#define CODA_GETATTR 7
274#define CODA_SETATTR 8
275#define CODA_ACCESS 9
276#define CODA_LOOKUP 10
277#define CODA_CREATE 11
278#define CODA_REMOVE 12
279#define CODA_LINK 13
280#define CODA_RENAME 14
281#define CODA_MKDIR 15
282#define CODA_RMDIR 16
283#define CODA_SYMLINK 18
284#define CODA_READLINK 19
285#define CODA_FSYNC 20
286#define CODA_VGET 22
287#define CODA_SIGNAL 23
288#define CODA_REPLACE 24 /* DOWNCALL */
289#define CODA_FLUSH 25 /* DOWNCALL */
290#define CODA_PURGEUSER 26 /* DOWNCALL */
291#define CODA_ZAPFILE 27 /* DOWNCALL */
292#define CODA_ZAPDIR 28 /* DOWNCALL */
293#define CODA_PURGEFID 30 /* DOWNCALL */
294#define CODA_OPEN_BY_PATH 31
295#define CODA_RESOLVE 32
296#define CODA_REINTEGRATE 33
297#define CODA_STATFS 34
298#define CODA_STORE 35
299#define CODA_RELEASE 36
300#define CODA_ACCESS_INTENT 37
301#define CODA_NCALLS 38
302
303#define DOWNCALL(opcode) (opcode >= CODA_REPLACE && opcode <= CODA_PURGEFID)
304#define UPCALL(opcode) (opcode >= CODA_ROOT && \
305 opcode < CODA_NCALLS && \
306 !DOWNCALL(opcode))
307
308#define CODA_ACCESS_TYPE_READ 1
309#define CODA_ACCESS_TYPE_WRITE 2
310#define CODA_ACCESS_TYPE_MMAP 3
311#define CODA_ACCESS_TYPE_READ_FINISH 4
312#define CODA_ACCESS_TYPE_WRITE_FINISH 5
313
314#define VC_MAXDATASIZE 8192
315#define VC_MAXMSGSIZE sizeof(union inputArgs)+sizeof(union outputArgs) +\
316 VC_MAXDATASIZE
317
318#define CIOC_KERNEL_VERSION _IOWR('c', 10, size_t)
319
320// CODA_KERNEL_VERSION 0 /* don't care about kernel version number */
321// CODA_KERNEL_VERSION 1 /* The old venus 4.6 compatible interface */
322// CODA_KERNEL_VERSION 2 /* venus_lookup gets an extra parameter */
323// CODA_KERNEL_VERSION 3 /* 128-bit file identifiers */
324// CODA_KERNEL_VERSION 4 /* 64-bit timespec */
325#define CODA_KERNEL_VERSION 5 /* access intent support */
326
327
328/*
329 * Venus <-> Coda RPC arguments
330 */
333 uint32_t unique; /* Keep multiple outstanding msgs distinct */
334 pid_t pid;
335 pid_t pgid;
337};
338
339/* Really important that opcode and unique are 1st two fields! */
344};
345
346/* coda_root: NO_IN */
349 struct CodaFid Fid;
350};
351
354};
355
356/* coda_open: */
359 struct CodaFid Fid;
360 int flags;
361};
362
366 ino_t inode;
367};
368
369
370/* coda_store: */
373 struct CodaFid Fid;
374 int flags;
375};
376
379};
380
381/* coda_release: */
384 struct CodaFid Fid;
385 int flags;
386};
387
390};
391
392/* coda_close: */
395 struct CodaFid Fid;
396 int flags;
397};
398
401};
402
403/* coda_ioctl: */
406 struct CodaFid Fid;
407 int cmd;
408 int len;
410 char *data; /* Place holder for data. */
411};
412
415 int len;
416 caddr_t data; /* Place holder for data. */
417};
418
419
420/* coda_getattr: */
423 struct CodaFid Fid;
424};
425
429};
430
431
432/* coda_setattr: NO_OUT */
435 struct CodaFid Fid;
437};
438
441};
442
443/* coda_access: NO_OUT */
446 struct CodaFid Fid;
447 int flags;
448};
449
452};
453
454
455/* lookup flags */
456#define CLU_CASE_SENSITIVE 0x01
457#define CLU_CASE_INSENSITIVE 0x02
458
459/* coda_lookup: */
462 struct CodaFid Fid;
463 int name; /* Place holder for data. */
464 int flags;
465};
466
469 struct CodaFid Fid;
470 int vtype;
471};
472
473
474/* coda_create: */
477 struct CodaFid Fid;
479 int excl;
480 int mode;
481 int name; /* Place holder for data. */
482};
483
486 struct CodaFid Fid;
488};
489
490
491/* coda_remove: NO_OUT */
494 struct CodaFid Fid;
495 int name; /* Place holder for data. */
496};
497
500};
501
502/* coda_link: NO_OUT */
505 struct CodaFid sourceFid; /* cnode to link *to* */
506 struct CodaFid destFid; /* Directory in which to place link */
507 int tname; /* Place holder for data. */
508};
509
512};
513
514
515/* coda_rename: NO_OUT */
522};
523
526};
527
528/* coda_mkdir: */
531 struct CodaFid Fid;
533 int name; /* Place holder for data. */
534};
535
538 struct CodaFid Fid;
540};
541
542
543/* coda_rmdir: NO_OUT */
546 struct CodaFid Fid;
547 int name; /* Place holder for data. */
548};
549
552};
553
554/* coda_readdir: */
557 struct CodaFid Fid;
558 int count;
560};
561
564 int size;
565 caddr_t data; /* Place holder for data. */
566};
567
568/* coda_symlink: NO_OUT */
571 struct CodaFid Fid; /* Directory to put symlink in */
574 int tname;
575};
576
579};
580
581/* coda_readlink: */
584 struct CodaFid Fid;
585};
586
589 int count;
590 caddr_t data; /* Place holder for data. */
591};
592
593
594/* coda_fsync: NO_OUT */
597 struct CodaFid Fid;
598};
599
602};
603
604/* coda_vget: */
607 struct CodaFid Fid;
608};
609
612 struct CodaFid Fid;
613 int vtype;
614};
615
616
617/* CODA_SIGNAL is out-of-band, doesn't need data. */
618/* CODA_INVALIDATE is a venus->kernel call */
619/* CODA_FLUSH is a venus->kernel call */
620
621/* coda_purgeuser: */
622/* CODA_PURGEUSER is a venus->kernel call */
626};
627
628/* coda_zapfile: */
629/* CODA_ZAPFILE is a venus->kernel call */
632 struct CodaFid Fid;
633};
634
635/* coda_zapdir: */
636/* CODA_ZAPDIR is a venus->kernel call */
639 struct CodaFid Fid;
640};
641
642/* coda_zapnode: */
643/* CODA_ZAPVNODE is a venus->kernel call */
646 struct CodaFid Fid;
647};
648
649/* coda_purgefid: */
650/* CODA_PURGEFID is a venus->kernel call */
653 struct CodaFid Fid;
654};
655
656/* coda_replace: */
657/* CODA_REPLACE is a venus->kernel call */
658struct coda_replace_out { /* coda_replace is a venus->kernel call */
662};
663
664/* coda_open_by_fd: */
667 struct CodaFid Fid;
668 int flags;
669};
670
673 int fd;
674
675#ifdef __KERNEL__
676 struct file *fh; /* not passed from userspace but used in-kernel only */
677#endif
678};
679
680/* coda_open_by_path: */
683 struct CodaFid Fid;
684 int flags;
685};
686
689 int path;
690};
691
692/* coda_statfs: NO_IN */
695};
696
700};
701
702/* coda_access_intent: NO_OUT */
705 struct CodaFid Fid;
706 int count;
707 int pos;
708 int mode;
709};
710
713};
714
715/*
716 * Occasionally, we don't cache the fid returned by CODA_LOOKUP.
717 * For instance, if the fid is inconsistent.
718 * This case is handled by setting the top bit of the type result parameter.
719 */
720#define CODA_NOCACHE 0x80000000
721
723 struct coda_in_hdr ih; /* NB: every struct below begins with an ih */
748};
749
751 struct coda_out_hdr oh; /* NB: every struct below begins with an oh */
771};
772
774 /* CODA_INVALIDATE is a venus->kernel call */
775 /* CODA_FLUSH is a venus->kernel call */
782};
783
784
785/*
786 * Used for identifying usage of "Control" and pioctls
787 */
788
789#define PIOCPARM_MASK 0x0000ffff
790struct ViceIoctl {
791 caddr_t in, out; /* Data to be transferred in, or out */
792 uint16_t in_size; /* Size of input buffer <= 2K */
793 uint16_t out_size; /* Maximum size of output buffer, <= 2K */
794};
795
797 const char *path;
799#if defined(__CYGWIN32__) || defined(__NT_CODA__)
800 int cmd;
801#endif
802 struct ViceIoctl vi;
803};
804
805#define CODA_CONTROL ".CONTROL"
806#define CODA_CONTROLLEN 8
807#define CTL_VOL -1
808#define CTL_VNO -1
809#define CTL_UNI -1
810#define CTL_INO -1
811#define CTL_FILE "/coda/.CONTROL"
812
813#define IS_CTL_FID(fidp) ((fidp)->opaque[1] == CTL_VOL &&\
814 (fidp)->opaque[2] == CTL_VNO &&\
815 (fidp)->opaque[3] == CTL_UNI)
816
817/* Data passed to mount */
818
819#define CODA_MOUNT_VERSION 1
820
823 int fd; /* Opened device */
824};
825
826#endif
uint32_t cuid_t
Definition: coda.h:108
dev_t cdev_t
Definition: coda.h:85
unsigned short uint16_t
Definition: coda.h:103
int int32_t
Definition: coda.h:104
uint32_t cgid_t
Definition: coda.h:109
unsigned int uint32_t
Definition: coda.h:105
#define CODA_MAXNAMLEN
Definition: coda.h:114
short int16_t
Definition: coda.h:102
unsigned char uint8_t
Definition: coda.h:101
coda_vtype
Definition: coda.h:219
@ C_VCHR
Definition: coda.h:219
@ C_VLNK
Definition: coda.h:219
@ C_VNON
Definition: coda.h:219
@ C_VBAD
Definition: coda.h:219
@ C_VSOCK
Definition: coda.h:219
@ C_VDIR
Definition: coda.h:219
@ C_VFIFO
Definition: coda.h:219
@ C_VREG
Definition: coda.h:219
@ C_VBLK
Definition: coda.h:219
signed char int8_t
Definition: coda.h:100
FILE * file
Definition: dirtest.c:723
tuple cmd
Definition: gensrvstats.py:255
Definition: coda.h:201
uint32_t opaque[4]
Definition: coda.h:202
Definition: coda.h:796
struct ViceIoctl vi
Definition: coda.h:802
int follow
Definition: coda.h:798
const char * path
Definition: coda.h:797
Definition: coda.h:790
caddr_t out
Definition: coda.h:791
caddr_t in
Definition: coda.h:791
uint16_t out_size
Definition: coda.h:793
uint16_t in_size
Definition: coda.h:792
Definition: coda.h:444
int flags
Definition: coda.h:447
struct coda_in_hdr ih
Definition: coda.h:445
struct CodaFid Fid
Definition: coda.h:446
Definition: coda.h:703
int count
Definition: coda.h:706
struct CodaFid Fid
Definition: coda.h:705
struct coda_in_hdr ih
Definition: coda.h:704
int mode
Definition: coda.h:708
int pos
Definition: coda.h:707
Definition: coda.h:711
struct coda_out_hdr out
Definition: coda.h:712
Definition: coda.h:450
struct coda_out_hdr out
Definition: coda.h:451
Definition: coda.h:393
struct coda_in_hdr ih
Definition: coda.h:394
struct CodaFid Fid
Definition: coda.h:395
int flags
Definition: coda.h:396
Definition: coda.h:399
struct coda_out_hdr out
Definition: coda.h:400
Definition: coda.h:475
struct coda_vattr attr
Definition: coda.h:478
struct coda_in_hdr ih
Definition: coda.h:476
struct CodaFid Fid
Definition: coda.h:477
int mode
Definition: coda.h:480
int name
Definition: coda.h:481
int excl
Definition: coda.h:479
Definition: coda.h:484
struct coda_vattr attr
Definition: coda.h:487
struct CodaFid Fid
Definition: coda.h:486
struct coda_out_hdr oh
Definition: coda.h:485
Definition: coda.h:595
struct coda_in_hdr ih
Definition: coda.h:596
struct CodaFid Fid
Definition: coda.h:597
Definition: coda.h:600
struct coda_out_hdr out
Definition: coda.h:601
Definition: coda.h:421
struct coda_in_hdr ih
Definition: coda.h:422
struct CodaFid Fid
Definition: coda.h:423
Definition: coda.h:426
struct coda_vattr attr
Definition: coda.h:428
struct coda_out_hdr oh
Definition: coda.h:427
Definition: coda.h:331
cuid_t uid
Definition: coda.h:336
pid_t pgid
Definition: coda.h:335
pid_t pid
Definition: coda.h:334
uint32_t opcode
Definition: coda.h:332
uint32_t unique
Definition: coda.h:333
Definition: coda.h:404
char * data
Definition: coda.h:410
int rwflag
Definition: coda.h:409
int cmd
Definition: coda.h:407
int len
Definition: coda.h:408
struct CodaFid Fid
Definition: coda.h:406
struct coda_in_hdr ih
Definition: coda.h:405
Definition: coda.h:413
struct coda_out_hdr oh
Definition: coda.h:414
caddr_t data
Definition: coda.h:416
int len
Definition: coda.h:415
Definition: coda.h:460
int name
Definition: coda.h:463
int flags
Definition: coda.h:464
struct CodaFid Fid
Definition: coda.h:462
struct coda_in_hdr ih
Definition: coda.h:461
Definition: coda.h:467
struct coda_out_hdr oh
Definition: coda.h:468
int vtype
Definition: coda.h:470
struct CodaFid Fid
Definition: coda.h:469
Definition: coda.h:529
struct CodaFid Fid
Definition: coda.h:531
struct coda_in_hdr ih
Definition: coda.h:530
int name
Definition: coda.h:533
struct coda_vattr attr
Definition: coda.h:532
Definition: coda.h:536
struct coda_out_hdr oh
Definition: coda.h:537
struct coda_vattr attr
Definition: coda.h:539
struct CodaFid Fid
Definition: coda.h:538
Definition: coda.h:821
int fd
Definition: coda.h:823
int version
Definition: coda.h:822
Definition: coda.h:665
int flags
Definition: coda.h:668
struct CodaFid Fid
Definition: coda.h:667
struct coda_in_hdr ih
Definition: coda.h:666
Definition: coda.h:671
int fd
Definition: coda.h:673
struct coda_out_hdr oh
Definition: coda.h:672
Definition: coda.h:681
struct CodaFid Fid
Definition: coda.h:683
struct coda_in_hdr ih
Definition: coda.h:682
int flags
Definition: coda.h:684
Definition: coda.h:687
int path
Definition: coda.h:689
struct coda_out_hdr oh
Definition: coda.h:688
Definition: coda.h:357
int flags
Definition: coda.h:360
struct coda_in_hdr ih
Definition: coda.h:358
struct CodaFid Fid
Definition: coda.h:359
Definition: coda.h:363
cdev_t dev
Definition: coda.h:365
struct coda_out_hdr oh
Definition: coda.h:364
ino_t inode
Definition: coda.h:366
Definition: coda.h:340
uint32_t opcode
Definition: coda.h:341
uint32_t result
Definition: coda.h:343
uint32_t unique
Definition: coda.h:342
Definition: coda.h:651
struct coda_out_hdr oh
Definition: coda.h:652
struct CodaFid Fid
Definition: coda.h:653
Definition: coda.h:623
cuid_t uid
Definition: coda.h:625
struct coda_out_hdr oh
Definition: coda.h:624
Definition: coda.h:555
struct CodaFid Fid
Definition: coda.h:557
struct coda_in_hdr ih
Definition: coda.h:556
int count
Definition: coda.h:558
int offset
Definition: coda.h:559
Definition: coda.h:562
int size
Definition: coda.h:564
struct coda_out_hdr oh
Definition: coda.h:563
caddr_t data
Definition: coda.h:565
Definition: coda.h:382
struct CodaFid Fid
Definition: coda.h:384
struct coda_in_hdr ih
Definition: coda.h:383
int flags
Definition: coda.h:385
Definition: coda.h:388
struct coda_out_hdr out
Definition: coda.h:389
Definition: coda.h:492
struct coda_in_hdr ih
Definition: coda.h:493
int name
Definition: coda.h:495
struct CodaFid Fid
Definition: coda.h:494
Definition: coda.h:498
struct coda_out_hdr out
Definition: coda.h:499
Definition: coda.h:516
struct CodaFid destFid
Definition: coda.h:520
struct CodaFid sourceFid
Definition: coda.h:518
int destname
Definition: coda.h:521
struct coda_in_hdr ih
Definition: coda.h:517
int srcname
Definition: coda.h:519
Definition: coda.h:524
struct coda_out_hdr out
Definition: coda.h:525
Definition: coda.h:658
struct CodaFid OldFid
Definition: coda.h:661
struct coda_out_hdr oh
Definition: coda.h:659
struct CodaFid NewFid
Definition: coda.h:660
Definition: coda.h:544
struct coda_in_hdr ih
Definition: coda.h:545
int name
Definition: coda.h:547
struct CodaFid Fid
Definition: coda.h:546
Definition: coda.h:550
struct coda_out_hdr out
Definition: coda.h:551
Definition: coda.h:352
struct coda_in_hdr in
Definition: coda.h:353
Definition: coda.h:347
struct coda_out_hdr oh
Definition: coda.h:348
struct CodaFid Fid
Definition: coda.h:349
Definition: coda.h:433
struct coda_vattr attr
Definition: coda.h:436
struct CodaFid Fid
Definition: coda.h:435
struct coda_in_hdr ih
Definition: coda.h:434
Definition: coda.h:439
struct coda_out_hdr out
Definition: coda.h:440
Definition: coda.h:693
struct coda_in_hdr in
Definition: coda.h:694
Definition: coda.h:697
struct coda_statfs stat
Definition: coda.h:699
struct coda_out_hdr oh
Definition: coda.h:698
Definition: coda.h:256
int32_t f_files
Definition: coda.h:260
int32_t f_bfree
Definition: coda.h:258
int32_t f_bavail
Definition: coda.h:259
int32_t f_ffree
Definition: coda.h:261
int32_t f_blocks
Definition: coda.h:257
Definition: coda.h:371
struct coda_in_hdr ih
Definition: coda.h:372
int flags
Definition: coda.h:374
struct CodaFid Fid
Definition: coda.h:373
Definition: coda.h:377
struct coda_out_hdr out
Definition: coda.h:378
Definition: coda.h:221
int64_t tv_sec
Definition: coda.h:225
long tv_nsec
Definition: coda.h:227
Definition: coda.h:234
long va_blocksize
Definition: coda.h:242
cdev_t va_rdev
Definition: coda.h:248
cgid_t va_gid
Definition: coda.h:239
long va_type
Definition: coda.h:235
uint64_t va_size
Definition: coda.h:241
uint64_t va_filerev
Definition: coda.h:250
unsigned long va_fileid
Definition: coda.h:240
cuid_t va_uid
Definition: coda.h:238
uint64_t va_bytes
Definition: coda.h:249
short va_nlink
Definition: coda.h:237
u_long va_flags
Definition: coda.h:247
u_long va_gen
Definition: coda.h:246
struct coda_timespec va_atime
Definition: coda.h:243
uint16_t va_mode
Definition: coda.h:236
struct coda_timespec va_ctime
Definition: coda.h:245
struct coda_timespec va_mtime
Definition: coda.h:244
Definition: coda.h:605
struct CodaFid Fid
Definition: coda.h:607
struct coda_in_hdr ih
Definition: coda.h:606
Definition: coda.h:610
struct CodaFid Fid
Definition: coda.h:612
struct coda_out_hdr oh
Definition: coda.h:611
int vtype
Definition: coda.h:613
Definition: coda.h:637
struct coda_out_hdr oh
Definition: coda.h:638
struct CodaFid Fid
Definition: coda.h:639
Definition: coda.h:630
struct CodaFid Fid
Definition: coda.h:632
struct coda_out_hdr oh
Definition: coda.h:631
Definition: coda.h:644
struct CodaFid Fid
Definition: coda.h:646
struct coda_out_hdr oh
Definition: coda.h:645
Definition: coda.h:168
unsigned char d_namlen
Definition: coda.h:172
char d_name[CODA_MAXNAMLEN+1]
Definition: coda.h:173
unsigned int d_fileno
Definition: coda.h:169
unsigned char d_type
Definition: coda.h:171
unsigned short d_reclen
Definition: coda.h:170
Definition: coda.h:773
struct coda_purgeuser_out purgeuser
Definition: coda.h:776
struct coda_purgefid_out purgefid
Definition: coda.h:780
struct coda_zapfile_out zapfile
Definition: coda.h:777
struct coda_zapvnode_out zapvnode
Definition: coda.h:779
struct coda_zapdir_out zapdir
Definition: coda.h:778
struct coda_replace_out replace
Definition: coda.h:781
Definition: coda.h:722
struct coda_ioctl_in coda_ioctl
Definition: coda.h:728
struct coda_readdir_in coda_readdir
Definition: coda.h:739
struct coda_mkdir_in coda_mkdir
Definition: coda.h:737
struct coda_create_in coda_create
Definition: coda.h:733
struct coda_fsync_in coda_fsync
Definition: coda.h:742
struct coda_open_by_path_in coda_open_by_path
Definition: coda.h:745
struct coda_rmdir_in coda_rmdir
Definition: coda.h:738
struct coda_open_by_fd_in coda_open_by_fd
Definition: coda.h:744
struct coda_release_in coda_release
Definition: coda.h:726
struct coda_in_hdr ih
Definition: coda.h:723
struct coda_store_in coda_store
Definition: coda.h:725
struct coda_setattr_in coda_setattr
Definition: coda.h:730
struct coda_link_in coda_link
Definition: coda.h:735
struct coda_access_in coda_access
Definition: coda.h:731
struct coda_symlink_in coda_symlink
Definition: coda.h:740
struct coda_getattr_in coda_getattr
Definition: coda.h:729
struct coda_rename_in coda_rename
Definition: coda.h:736
struct coda_close_in coda_close
Definition: coda.h:727
struct coda_open_in coda_open
Definition: coda.h:724
struct coda_readlink_in coda_readlink
Definition: coda.h:741
struct coda_access_intent_in coda_access_intent
Definition: coda.h:747
struct coda_vget_in coda_vget
Definition: coda.h:743
struct coda_remove_in coda_remove
Definition: coda.h:734
struct coda_lookup_in coda_lookup
Definition: coda.h:732
Definition: coda.h:750
struct coda_ioctl_out coda_ioctl
Definition: coda.h:754
struct coda_getattr_out coda_getattr
Definition: coda.h:755
struct coda_zapvnode_out coda_zapvnode
Definition: coda.h:765
struct coda_mkdir_out coda_mkdir
Definition: coda.h:758
struct coda_create_out coda_create
Definition: coda.h:757
struct coda_readdir_out coda_readdir
Definition: coda.h:759
struct coda_open_by_fd_out coda_open_by_fd
Definition: coda.h:768
struct coda_readlink_out coda_readlink
Definition: coda.h:760
struct coda_zapfile_out coda_zapfile
Definition: coda.h:763
struct coda_purgeuser_out coda_purgeuser
Definition: coda.h:762
struct coda_zapdir_out coda_zapdir
Definition: coda.h:764
struct coda_purgefid_out coda_purgefid
Definition: coda.h:766
struct coda_lookup_out coda_lookup
Definition: coda.h:756
struct coda_vget_out coda_vget
Definition: coda.h:761
struct coda_out_hdr oh
Definition: coda.h:751
struct coda_replace_out coda_replace
Definition: coda.h:767
struct coda_open_by_path_out coda_open_by_path
Definition: coda.h:769
struct coda_open_out coda_open
Definition: coda.h:753
struct coda_root_out coda_root
Definition: coda.h:752