Coda Distributed File System
Classes | Macros | Typedefs | Enumerations
coda.h File Reference
#include <sys/types.h>
#include <sys/time.h>
#include <stdint.h>
Include dependency graph for coda.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  venus_dirent
 
struct  CodaFid
 
struct  coda_timespec
 
struct  coda_vattr
 
struct  coda_statfs
 
struct  coda_in_hdr
 
struct  coda_out_hdr
 
struct  coda_root_out
 
struct  coda_root_in
 
struct  coda_open_in
 
struct  coda_open_out
 
struct  coda_store_in
 
struct  coda_store_out
 
struct  coda_release_in
 
struct  coda_release_out
 
struct  coda_close_in
 
struct  coda_close_out
 
struct  coda_ioctl_in
 
struct  coda_ioctl_out
 
struct  coda_getattr_in
 
struct  coda_getattr_out
 
struct  coda_setattr_in
 
struct  coda_setattr_out
 
struct  coda_access_in
 
struct  coda_access_out
 
struct  coda_lookup_in
 
struct  coda_lookup_out
 
struct  coda_create_in
 
struct  coda_create_out
 
struct  coda_remove_in
 
struct  coda_remove_out
 
struct  coda_link_in
 
struct  coda_link_out
 
struct  coda_rename_in
 
struct  coda_rename_out
 
struct  coda_mkdir_in
 
struct  coda_mkdir_out
 
struct  coda_rmdir_in
 
struct  coda_rmdir_out
 
struct  coda_readdir_in
 
struct  coda_readdir_out
 
struct  coda_symlink_in
 
struct  coda_symlink_out
 
struct  coda_readlink_in
 
struct  coda_readlink_out
 
struct  coda_fsync_in
 
struct  coda_fsync_out
 
struct  coda_vget_in
 
struct  coda_vget_out
 
struct  coda_purgeuser_out
 
struct  coda_zapfile_out
 
struct  coda_zapdir_out
 
struct  coda_zapvnode_out
 
struct  coda_purgefid_out
 
struct  coda_replace_out
 
struct  coda_open_by_fd_in
 
struct  coda_open_by_fd_out
 
struct  coda_open_by_path_in
 
struct  coda_open_by_path_out
 
struct  coda_statfs_in
 
struct  coda_statfs_out
 
struct  coda_access_intent_in
 
struct  coda_access_intent_out
 
union  inputArgs
 
union  outputArgs
 
union  coda_downcalls
 
struct  ViceIoctl
 
struct  PioctlData
 
struct  coda_mount_data
 

Macros

#define __BIT_TYPES_DEFINED__
 
#define CODA_MAXNAMLEN   255
 
#define CODA_MAXPATHLEN   1024
 
#define CODA_MAXSYMLINK   10
 
#define C_O_READ   0x001
 
#define C_O_WRITE   0x002
 
#define C_O_TRUNC   0x010
 
#define C_O_EXCL   0x100
 
#define C_O_CREAT   0x200
 
#define C_M_READ   00400
 
#define C_M_WRITE   00200
 
#define C_A_C_OK   8 /* Test for writing upon create. */
 
#define C_A_R_OK   4 /* Test for read permission. */
 
#define C_A_W_OK   2 /* Test for write permission. */
 
#define C_A_X_OK   1 /* Test for execute permission. */
 
#define C_A_F_OK   0 /* Test for existence. */
 
#define _VENUS_DIRENT_T_   1
 
#define DIRSIZ(dp)
 
#define CDT_UNKNOWN   0
 
#define CDT_FIFO   1
 
#define CDT_CHR   2
 
#define CDT_DIR   4
 
#define CDT_BLK   6
 
#define CDT_REG   8
 
#define CDT_LNK   10
 
#define CDT_SOCK   12
 
#define CDT_WHT   14
 
#define IFTOCDT(mode)   (((mode) & 0170000) >> 12)
 
#define CDTTOIF(dirtype)   ((dirtype) << 12)
 
#define _VENUS_VATTR_T_
 
#define SF_UNCACHED   0x80000000
 
#define CODA_ROOT   2
 
#define CODA_OPEN_BY_FD   3
 
#define CODA_OPEN   4
 
#define CODA_CLOSE   5
 
#define CODA_IOCTL   6
 
#define CODA_GETATTR   7
 
#define CODA_SETATTR   8
 
#define CODA_ACCESS   9
 
#define CODA_LOOKUP   10
 
#define CODA_CREATE   11
 
#define CODA_REMOVE   12
 
#define CODA_LINK   13
 
#define CODA_RENAME   14
 
#define CODA_MKDIR   15
 
#define CODA_RMDIR   16
 
#define CODA_SYMLINK   18
 
#define CODA_READLINK   19
 
#define CODA_FSYNC   20
 
#define CODA_VGET   22
 
#define CODA_SIGNAL   23
 
#define CODA_REPLACE   24 /* DOWNCALL */
 
#define CODA_FLUSH   25 /* DOWNCALL */
 
#define CODA_PURGEUSER   26 /* DOWNCALL */
 
#define CODA_ZAPFILE   27 /* DOWNCALL */
 
#define CODA_ZAPDIR   28 /* DOWNCALL */
 
#define CODA_PURGEFID   30 /* DOWNCALL */
 
#define CODA_OPEN_BY_PATH   31
 
#define CODA_RESOLVE   32
 
#define CODA_REINTEGRATE   33
 
#define CODA_STATFS   34
 
#define CODA_STORE   35
 
#define CODA_RELEASE   36
 
#define CODA_ACCESS_INTENT   37
 
#define CODA_NCALLS   38
 
#define DOWNCALL(opcode)   (opcode >= CODA_REPLACE && opcode <= CODA_PURGEFID)
 
#define UPCALL(opcode)
 
#define CODA_ACCESS_TYPE_READ   1
 
#define CODA_ACCESS_TYPE_WRITE   2
 
#define CODA_ACCESS_TYPE_MMAP   3
 
#define CODA_ACCESS_TYPE_READ_FINISH   4
 
#define CODA_ACCESS_TYPE_WRITE_FINISH   5
 
#define VC_MAXDATASIZE   8192
 
#define VC_MAXMSGSIZE
 
#define CIOC_KERNEL_VERSION   _IOWR('c', 10, size_t)
 
#define CODA_KERNEL_VERSION   5 /* access intent support */
 
#define CLU_CASE_SENSITIVE   0x01
 
#define CLU_CASE_INSENSITIVE   0x02
 
#define CODA_NOCACHE   0x80000000
 
#define PIOCPARM_MASK   0x0000ffff
 
#define CODA_CONTROL   ".CONTROL"
 
#define CODA_CONTROLLEN   8
 
#define CTL_VOL   -1
 
#define CTL_VNO   -1
 
#define CTL_UNI   -1
 
#define CTL_INO   -1
 
#define CTL_FILE   "/coda/.CONTROL"
 
#define IS_CTL_FID(fidp)
 
#define CODA_MOUNT_VERSION   1
 

Typedefs

typedef dev_t cdev_t
 
typedef signed char int8_t
 
typedef unsigned char uint8_t
 
typedef short int16_t
 
typedef unsigned short uint16_t
 
typedef int int32_t
 
typedef unsigned int uint32_t
 
typedef uint32_t cuid_t
 
typedef uint32_t cgid_t
 

Enumerations

enum  coda_vtype {
  C_VNON , C_VREG , C_VDIR , C_VBLK ,
  C_VCHR , C_VLNK , C_VSOCK , C_VFIFO ,
  C_VBAD
}
 

Macro Definition Documentation

◆ __BIT_TYPES_DEFINED__

#define __BIT_TYPES_DEFINED__

◆ _VENUS_DIRENT_T_

#define _VENUS_DIRENT_T_   1

◆ _VENUS_VATTR_T_

#define _VENUS_VATTR_T_

◆ C_A_C_OK

#define C_A_C_OK   8 /* Test for writing upon create. */

◆ C_A_F_OK

#define C_A_F_OK   0 /* Test for existence. */

◆ C_A_R_OK

#define C_A_R_OK   4 /* Test for read permission. */

◆ C_A_W_OK

#define C_A_W_OK   2 /* Test for write permission. */

◆ C_A_X_OK

#define C_A_X_OK   1 /* Test for execute permission. */

◆ C_M_READ

#define C_M_READ   00400

◆ C_M_WRITE

#define C_M_WRITE   00200

◆ C_O_CREAT

#define C_O_CREAT   0x200

◆ C_O_EXCL

#define C_O_EXCL   0x100

◆ C_O_READ

#define C_O_READ   0x001

◆ C_O_TRUNC

#define C_O_TRUNC   0x010

◆ C_O_WRITE

#define C_O_WRITE   0x002

◆ CDT_BLK

#define CDT_BLK   6

◆ CDT_CHR

#define CDT_CHR   2

◆ CDT_DIR

#define CDT_DIR   4

◆ CDT_FIFO

#define CDT_FIFO   1

◆ CDT_LNK

#define CDT_LNK   10

◆ CDT_REG

#define CDT_REG   8

◆ CDT_SOCK

#define CDT_SOCK   12

◆ CDT_UNKNOWN

#define CDT_UNKNOWN   0

◆ CDT_WHT

#define CDT_WHT   14

◆ CDTTOIF

#define CDTTOIF (   dirtype)    ((dirtype) << 12)

◆ CIOC_KERNEL_VERSION

#define CIOC_KERNEL_VERSION   _IOWR('c', 10, size_t)

◆ CLU_CASE_INSENSITIVE

#define CLU_CASE_INSENSITIVE   0x02

◆ CLU_CASE_SENSITIVE

#define CLU_CASE_SENSITIVE   0x01

◆ CODA_ACCESS

#define CODA_ACCESS   9

◆ CODA_ACCESS_INTENT

#define CODA_ACCESS_INTENT   37

◆ CODA_ACCESS_TYPE_MMAP

#define CODA_ACCESS_TYPE_MMAP   3

◆ CODA_ACCESS_TYPE_READ

#define CODA_ACCESS_TYPE_READ   1

◆ CODA_ACCESS_TYPE_READ_FINISH

#define CODA_ACCESS_TYPE_READ_FINISH   4

◆ CODA_ACCESS_TYPE_WRITE

#define CODA_ACCESS_TYPE_WRITE   2

◆ CODA_ACCESS_TYPE_WRITE_FINISH

#define CODA_ACCESS_TYPE_WRITE_FINISH   5

◆ CODA_CLOSE

#define CODA_CLOSE   5

◆ CODA_CONTROL

#define CODA_CONTROL   ".CONTROL"

◆ CODA_CONTROLLEN

#define CODA_CONTROLLEN   8

◆ CODA_CREATE

#define CODA_CREATE   11

◆ CODA_FLUSH

#define CODA_FLUSH   25 /* DOWNCALL */

◆ CODA_FSYNC

#define CODA_FSYNC   20

◆ CODA_GETATTR

#define CODA_GETATTR   7

◆ CODA_IOCTL

#define CODA_IOCTL   6

◆ CODA_KERNEL_VERSION

#define CODA_KERNEL_VERSION   5 /* access intent support */

◆ CODA_LINK

#define CODA_LINK   13

◆ CODA_LOOKUP

#define CODA_LOOKUP   10

◆ CODA_MAXNAMLEN

#define CODA_MAXNAMLEN   255

◆ CODA_MAXPATHLEN

#define CODA_MAXPATHLEN   1024

◆ CODA_MAXSYMLINK

#define CODA_MAXSYMLINK   10

◆ CODA_MKDIR

#define CODA_MKDIR   15

◆ CODA_MOUNT_VERSION

#define CODA_MOUNT_VERSION   1

◆ CODA_NCALLS

#define CODA_NCALLS   38

◆ CODA_NOCACHE

#define CODA_NOCACHE   0x80000000

◆ CODA_OPEN

#define CODA_OPEN   4

◆ CODA_OPEN_BY_FD

#define CODA_OPEN_BY_FD   3

◆ CODA_OPEN_BY_PATH

#define CODA_OPEN_BY_PATH   31

◆ CODA_PURGEFID

#define CODA_PURGEFID   30 /* DOWNCALL */

◆ CODA_PURGEUSER

#define CODA_PURGEUSER   26 /* DOWNCALL */

◆ CODA_READLINK

#define CODA_READLINK   19

◆ CODA_REINTEGRATE

#define CODA_REINTEGRATE   33

◆ CODA_RELEASE

#define CODA_RELEASE   36

◆ CODA_REMOVE

#define CODA_REMOVE   12

◆ CODA_RENAME

#define CODA_RENAME   14

◆ CODA_REPLACE

#define CODA_REPLACE   24 /* DOWNCALL */

◆ CODA_RESOLVE

#define CODA_RESOLVE   32

◆ CODA_RMDIR

#define CODA_RMDIR   16

◆ CODA_ROOT

#define CODA_ROOT   2

◆ CODA_SETATTR

#define CODA_SETATTR   8

◆ CODA_SIGNAL

#define CODA_SIGNAL   23

◆ CODA_STATFS

#define CODA_STATFS   34

◆ CODA_STORE

#define CODA_STORE   35

◆ CODA_SYMLINK

#define CODA_SYMLINK   18

◆ CODA_VGET

#define CODA_VGET   22

◆ CODA_ZAPDIR

#define CODA_ZAPDIR   28 /* DOWNCALL */

◆ CODA_ZAPFILE

#define CODA_ZAPFILE   27 /* DOWNCALL */

◆ CTL_FILE

#define CTL_FILE   "/coda/.CONTROL"

◆ CTL_INO

#define CTL_INO   -1

◆ CTL_UNI

#define CTL_UNI   -1

◆ CTL_VNO

#define CTL_VNO   -1

◆ CTL_VOL

#define CTL_VOL   -1

◆ DIRSIZ

#define DIRSIZ (   dp)
Value:
((sizeof (struct venus_dirent) - (CODA_MAXNAMLEN+1)) + \
(((dp)->d_namlen+1 + 3) &~ 3))
#define CODA_MAXNAMLEN
Definition: coda.h:114
struct direct * dp
Definition: dir.cc:38
Definition: coda.h:168
unsigned char d_namlen
Definition: coda.h:172

◆ DOWNCALL

#define DOWNCALL (   opcode)    (opcode >= CODA_REPLACE && opcode <= CODA_PURGEFID)

◆ IFTOCDT

#define IFTOCDT (   mode)    (((mode) & 0170000) >> 12)

◆ IS_CTL_FID

#define IS_CTL_FID (   fidp)
Value:
((fidp)->opaque[1] == CTL_VOL &&\
(fidp)->opaque[2] == CTL_VNO &&\
(fidp)->opaque[3] == CTL_UNI)
#define CTL_VOL
Definition: coda.h:807
#define CTL_VNO
Definition: coda.h:808
#define CTL_UNI
Definition: coda.h:809

◆ PIOCPARM_MASK

#define PIOCPARM_MASK   0x0000ffff

◆ SF_UNCACHED

#define SF_UNCACHED   0x80000000

◆ UPCALL

#define UPCALL (   opcode)
Value:
(opcode >= CODA_ROOT && \
opcode < CODA_NCALLS && \
!DOWNCALL(opcode))
#define DOWNCALL(opcode)
Definition: coda.h:303
#define CODA_NCALLS
Definition: coda.h:301
#define CODA_ROOT
Definition: coda.h:268

◆ VC_MAXDATASIZE

#define VC_MAXDATASIZE   8192

◆ VC_MAXMSGSIZE

#define VC_MAXMSGSIZE
Value:
sizeof(union inputArgs)+sizeof(union outputArgs) +\
#define VC_MAXDATASIZE
Definition: coda.h:314
Definition: coda.h:722
Definition: coda.h:750

Typedef Documentation

◆ cdev_t

typedef dev_t cdev_t

◆ cgid_t

typedef uint32_t cgid_t

◆ cuid_t

typedef uint32_t cuid_t

◆ int16_t

typedef short int16_t

◆ int32_t

typedef int int32_t

◆ int8_t

typedef signed char int8_t

◆ uint16_t

typedef unsigned short uint16_t

◆ uint32_t

typedef unsigned int uint32_t

◆ uint8_t

typedef unsigned char uint8_t

Enumeration Type Documentation

◆ coda_vtype

enum coda_vtype
Enumerator
C_VNON 
C_VREG 
C_VDIR 
C_VBLK 
C_VCHR 
C_VLNK 
C_VSOCK 
C_VFIFO 
C_VBAD