Coda Distributed File System
Classes | Macros | Typedefs | Enumerations | Functions | Variables
vproc.h File Reference
#include <stdio.h>
#include "coda_string.h"
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/time.h>
#include <stdint.h>
#include <coda.h>
#include <lwp/lwp.h>
#include <lwp/lock.h>
#include <vice.h>
#include <rvmlib.h>
#include <olist.h>
#include <dlist.h>
#include <rec_dlist.h>
#include <venusioctl.h>
#include "fso_cachefile.h"
#include "venus.private.h"
Include dependency graph for vproc.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  coda_string
 
struct  uarea
 
class  vproc
 
class  vproc_iterator
 
struct  venus_cnode
 

Macros

#define NAME_NO_DOTS   1 /* don't allow '.', '..', '/' */
 
#define NAME_NO_CONFLICT   2 /* don't allow @XXXXXXXX.YYYYYYYY.ZZZZZZZZ */
 
#define NAME_NO_EXPANSION   4 /* don't allow @cpu / @sys */
 
#define FTTOVT(ft)
 
#define MAKE_CNODE(vp, fid, type)
 
#define MAKE_CNODE2(vp, fid, type)
 
#define C_FLAGS_INCON   0x2
 
#define VA_IGNORE_FSID   ((long)-1)
 
#define VA_IGNORE_ID   ((unsigned long)-1)
 
#define VA_IGNORE_NLINK   ((short)-1)
 
#define VA_IGNORE_BLOCKSIZE   ((long)-1)
 
#define VA_IGNORE_RDEV   ((cdev_t) - 1)
 
#define VA_IGNORE_STORAGE   ((uint64_t)-1)
 
#define VA_IGNORE_MODE   ((u_short) - 1)
 
#define VA_IGNORE_UID   ((uid_t) - 1)
 
#define VA_IGNORE_GID   ((gid_t) - 1)
 
#define VA_IGNORE_SIZE   ((uint64_t)-1)
 
#define VA_IGNORE_TIME1   ((time_t)-1)
 
#define VA_IGNORE_FLAGS   ((u_long) - 1)
 

Typedefs

typedef void(* PROCBODY) (void)
 

Enumerations

enum  vproctype {
  VPT_Main , VPT_Worker , VPT_Mariner , VPT_CallBack ,
  VPT_HDBDaemon , VPT_Reintegrator , VPT_Resolver , VPT_FSODaemon ,
  VPT_ProbeDaemon , VPT_VSGDaemon , VPT_VolDaemon , VPT_UserDaemon ,
  VPT_RecovDaemon , VPT_VmonDaemon , VPT_AdviceDaemon , VPT_LRDaemon ,
  VPT_Daemon
}
 

Functions

void PrintVprocs ()
 
void PrintVprocs (FILE *)
 
void PrintVprocs (int)
 
void VPROC_printvattr (struct coda_vattr *vap)
 
void VprocInit ()
 
void Rtry_Wait () EXCLUDES_TRANSACTION
 
void Rtry_Signal ()
 
vprocFindVproc (int)
 
vprocVprocSelf ()
 
void VprocWait (const void *) EXCLUDES_TRANSACTION
 
void VprocMwait (int, const void **) EXCLUDES_TRANSACTION
 
void VprocSignal (const void *, int=0)
 
void VprocSleep (struct timeval *) EXCLUDES_TRANSACTION
 
void VprocYield () EXCLUDES_TRANSACTION
 
int VprocSelect (int, fd_set *, fd_set *, fd_set *, struct timeval *) EXCLUDES_TRANSACTION
 
void VprocSetRetry (int=-1, struct timeval *=0)
 
int VprocIdle ()
 
int VprocInterrupted ()
 
void va_init (struct coda_vattr *)
 
long FidToNodeid (VenusFid *)
 

Variables

const int VPROC_DEFAULT_STACK_SIZE = 16384
 
const int RETRY_LIMIT = 10
 

Macro Definition Documentation

◆ C_FLAGS_INCON

#define C_FLAGS_INCON   0x2

◆ FTTOVT

#define FTTOVT (   ft)
Value:
((ft) == (int)File ? C_VREG : \
(ft) == (int)Directory ? C_VDIR : \
(ft) == (int)SymbolicLink ? C_VLNK : \
C_VREG)
@ C_VLNK
Definition: coda.h:219
@ C_VDIR
Definition: coda.h:219
@ C_VREG
Definition: coda.h:219

◆ MAKE_CNODE

#define MAKE_CNODE (   vp,
  fid,
  type 
)
Value:
{ \
KernelToVenusFid(&(vp).c_fid, &fid); \
(vp).c_type = type; \
(vp).c_flags = 0; \
}
void(* type)()
Definition: rp2main.c:424

◆ MAKE_CNODE2

#define MAKE_CNODE2 (   vp,
  fid,
  type 
)
Value:
{ \
(vp).c_fid = fid; \
(vp).c_type = type; \
(vp).c_flags = 0; \
}

◆ NAME_NO_CONFLICT

#define NAME_NO_CONFLICT   2 /* don't allow @XXXXXXXX.YYYYYYYY.ZZZZZZZZ */

◆ NAME_NO_DOTS

#define NAME_NO_DOTS   1 /* don't allow '.', '..', '/' */

◆ NAME_NO_EXPANSION

#define NAME_NO_EXPANSION   4 /* don't allow @cpu / @sys */

◆ VA_IGNORE_BLOCKSIZE

#define VA_IGNORE_BLOCKSIZE   ((long)-1)

◆ VA_IGNORE_FLAGS

#define VA_IGNORE_FLAGS   ((u_long) - 1)

◆ VA_IGNORE_FSID

#define VA_IGNORE_FSID   ((long)-1)

◆ VA_IGNORE_GID

#define VA_IGNORE_GID   ((gid_t) - 1)

◆ VA_IGNORE_ID

#define VA_IGNORE_ID   ((unsigned long)-1)

◆ VA_IGNORE_MODE

#define VA_IGNORE_MODE   ((u_short) - 1)

◆ VA_IGNORE_NLINK

#define VA_IGNORE_NLINK   ((short)-1)

◆ VA_IGNORE_RDEV

#define VA_IGNORE_RDEV   ((cdev_t) - 1)

◆ VA_IGNORE_SIZE

#define VA_IGNORE_SIZE   ((uint64_t)-1)

◆ VA_IGNORE_STORAGE

#define VA_IGNORE_STORAGE   ((uint64_t)-1)

◆ VA_IGNORE_TIME1

#define VA_IGNORE_TIME1   ((time_t)-1)

◆ VA_IGNORE_UID

#define VA_IGNORE_UID   ((uid_t) - 1)

Typedef Documentation

◆ PROCBODY

typedef void(* PROCBODY) (void)

Enumeration Type Documentation

◆ vproctype

enum vproctype
Enumerator
VPT_Main 
VPT_Worker 
VPT_Mariner 
VPT_CallBack 
VPT_HDBDaemon 
VPT_Reintegrator 
VPT_Resolver 
VPT_FSODaemon 
VPT_ProbeDaemon 
VPT_VSGDaemon 
VPT_VolDaemon 
VPT_UserDaemon 
VPT_RecovDaemon 
VPT_VmonDaemon 
VPT_AdviceDaemon 
VPT_LRDaemon 
VPT_Daemon 

Function Documentation

◆ FidToNodeid()

long FidToNodeid ( VenusFid fid)

◆ FindVproc()

vproc * FindVproc ( int  vpid)

◆ PrintVprocs() [1/3]

void PrintVprocs ( )

◆ PrintVprocs() [2/3]

void PrintVprocs ( FILE *  fp)

◆ PrintVprocs() [3/3]

void PrintVprocs ( int  fd)

◆ Rtry_Signal()

void Rtry_Signal ( )

◆ Rtry_Wait()

void Rtry_Wait ( )

◆ va_init()

void va_init ( struct coda_vattr vap)

◆ VPROC_printvattr()

void VPROC_printvattr ( struct coda_vattr vap)

◆ VprocIdle()

int VprocIdle ( )

◆ VprocInit()

void VprocInit ( )

◆ VprocInterrupted()

int VprocInterrupted ( )

◆ VprocMwait()

void VprocMwait ( int  wcount,
const void **  addrs 
)

◆ VprocSelect()

int VprocSelect ( int  nfds,
fd_set *  readfds,
fd_set *  writefds,
fd_set *  exceptfds,
struct timeval *  timeout 
)

◆ VprocSelf()

vproc * VprocSelf ( )

◆ VprocSetRetry()

void VprocSetRetry ( int  HowManyRetries = -1,
struct timeval *  Beta0 = 0 
)

◆ VprocSignal()

void VprocSignal ( const void *  addr,
int  yield = 0 
)

◆ VprocSleep()

void VprocSleep ( struct timeval *  delay)

◆ VprocWait()

void VprocWait ( const void *  addr)

◆ VprocYield()

void VprocYield ( )

Variable Documentation

◆ RETRY_LIMIT

const int RETRY_LIMIT = 10

◆ VPROC_DEFAULT_STACK_SIZE

const int VPROC_DEFAULT_STACK_SIZE = 16384