#ifndef _BACKING_H_5b9d6449_ #define _BACKING_H_5b9d6449_ #include #include typedef struct backing BACKING; struct backing { void (*init)(void); 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 *(*info)(void *); void (*detail)(void *, FILE *); 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##_init, \ &name##_write, \ &name##_read, \ &name##_set_size, \ &name##_done, \ &name##_info, \ &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