#ifndef _BACKING_H_31089a28_ #define _BACKING_H_31089a28_ #include typedef struct backing BACKING; struct backing { int (*write)(void *, unsigned int, const void *); int (*read)(void *, unsigned int, unsigned int, void *); void (*set_size)(void *, unsigned int); void (*done)(void *); const char *(*detail)(void *); void *(*open)(const char *, void (*)(const char *, ...)); int (*fstat)(void *, struct stat *); void (*move)(void **, void **); int (*flock)(void *, int); } ; #define BACKING_INIT(name) {\ &name##_write, &name##_read, &name##_set_size, \ &name##_done, &name##_detail, &name##_open, \ &name##_fstat, &name##_move, &name##_flock } extern const BACKING backing_simple; extern const BACKING backing_snapshot; /* Exported by lbd.c, used by backing.h */ extern int cwd_fd; #endif