Coda Distributed File System
Classes | Macros | Typedefs | Enumerations | Functions | Variables
ds_rrlist.h File Reference
#include <stdio.h>
#include <odytypes.h>
#include <ds_list.h>
Include dependency graph for ds_rrlist.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  ds_request_t
 

Macros

#define DS_REQUEST_VALID(rp)   ((rp) && ((rp)->magic == ds_request_magic))
 
#define DS_REQUEST_ALLOCATE(X, l, h, p)
 
#define DS_REQUEST_DESTROY(X)
 

Typedefs

typedef struct ds_request_t ds_request_t
 
typedef struct ds_rrlist_t ds_rrlist_t
 

Enumerations

enum  ds_rrlist_return_t {
  DS_RRLIST_SUCCESS = 0 , DS_RRLIST_OUTOFWINDOW = 1 , DS_RRLIST_DUPLICATE = 2 , DS_RRLIST_NOSUCHPID = 4 ,
  DS_RRLIST_NOSUCHREQ = 8
}
 

Functions

bool ds_rrlist_valid (ds_rrlist_t *l)
 
long ds_rrlist_value (ds_rrlist_t *l)
 
ds_rrlist_tds_rrlist_create (long value)
 
void ds_rrlist_destroy (ds_rrlist_t *l)
 
ds_rrlist_return_t ds_rrlist_request (ds_rrlist_t *l, ds_request_t *r, long *value, ds_request_t **old_req)
 
ds_rrlist_return_t ds_rrlist_cancel (long reqid, ds_request_t **req)
 
ds_rrlist_return_t ds_rrlist_purge (ds_rrlist_t *l, int pid, ds_request_t **req)
 
ds_rrlist_return_t ds_rrlist_set_value (ds_rrlist_t *l, long newval, ds_list_t **to_notify)
 
void ds_rrlist_dump (ds_rrlist_t *l, FILE *f, char *name)
 

Variables

const magic_t ds_request_magic
 

Macro Definition Documentation

◆ DS_REQUEST_ALLOCATE

#define DS_REQUEST_ALLOCATE (   X,
  l,
  h,
 
)
Value:
do { \
ALLOC((X), ds_request_t); \
(X)->magic = ds_request_magic; \
(X)->low = (l); \
(X)->high = (h); \
(X)->reqid = 0; \
(X)->pid = (p); \
} while (0)
const magic_t ds_request_magic
Definition: ds_rrlist.c:14
#define X(a)
Definition: rvm_logrecovr.c:1879
Definition: ds_rrlist.h:46

◆ DS_REQUEST_DESTROY

#define DS_REQUEST_DESTROY (   X)
Value:
do { \
CODA_ASSERT(DS_REQUEST_VALID((X))); \
(X)->magic = 0; \
(X)->low = (X)->high = (X)->reqid = 0L; \
(X)->pid = 0; \
FREE((X)); \
} while (0)
#define DS_REQUEST_VALID(rp)
Definition: ds_rrlist.h:56

◆ DS_REQUEST_VALID

#define DS_REQUEST_VALID (   rp)    ((rp) && ((rp)->magic == ds_request_magic))

Typedef Documentation

◆ ds_request_t

typedef struct ds_request_t ds_request_t

◆ ds_rrlist_t

typedef struct ds_rrlist_t ds_rrlist_t

Enumeration Type Documentation

◆ ds_rrlist_return_t

Enumerator
DS_RRLIST_SUCCESS 
DS_RRLIST_OUTOFWINDOW 
DS_RRLIST_DUPLICATE 
DS_RRLIST_NOSUCHPID 
DS_RRLIST_NOSUCHREQ 

Function Documentation

◆ ds_rrlist_cancel()

ds_rrlist_return_t ds_rrlist_cancel ( long  reqid,
ds_request_t **  req 
)

◆ ds_rrlist_create()

ds_rrlist_t * ds_rrlist_create ( long  value)

◆ ds_rrlist_destroy()

void ds_rrlist_destroy ( ds_rrlist_t l)

◆ ds_rrlist_dump()

void ds_rrlist_dump ( ds_rrlist_t l,
FILE *  f,
char *  name 
)

◆ ds_rrlist_purge()

ds_rrlist_return_t ds_rrlist_purge ( ds_rrlist_t l,
int  pid,
ds_request_t **  req 
)

◆ ds_rrlist_request()

ds_rrlist_return_t ds_rrlist_request ( ds_rrlist_t l,
ds_request_t r,
long *  value,
ds_request_t **  old_req 
)

◆ ds_rrlist_set_value()

ds_rrlist_return_t ds_rrlist_set_value ( ds_rrlist_t l,
long  newval,
ds_list_t **  to_notify 
)

◆ ds_rrlist_valid()

bool ds_rrlist_valid ( ds_rrlist_t l)

◆ ds_rrlist_value()

long ds_rrlist_value ( ds_rrlist_t l)

Variable Documentation

◆ ds_request_magic

const magic_t ds_request_magic
extern