open_file
net_open(struct open_file *f, ...)
net_close(struct open_file *f)
static int net_open(struct open_file *, ...);
static int net_close(struct open_file *);
devopen(struct open_file *f, const char *fname, const char **file)
devclose(struct open_file *f)
devreplace(struct open_file *f, void *devdata)
efipart_open(struct open_file *f, ...)
efipart_close(struct open_file *f)
static int efipart_open(struct open_file *, ...);
static int efipart_close(struct open_file *);
bc_open(struct open_file *f, ...)
bc_close(struct open_file *f)
static int bc_open(struct open_file *f, ...);
static int bc_close(struct open_file *f);
static int bd_open(struct open_file *f, ...);
static int bd_close(struct open_file *f);
bd_open(struct open_file *f, ...)
bd_close(struct open_file *f)
pxe_open(struct open_file *f, ...)
pxe_close(struct open_file *f)
static int pxe_open(struct open_file *f, ...);
static int pxe_close(struct open_file *f);
bzf_open(const char *fname, struct open_file *f)
bzf_close(struct open_file *f)
bzf_read(struct open_file *f, void *buf, size_t size, size_t *resid)
bzf_seek(struct open_file *f, off_t offset, int where)
bzf_stat(struct open_file *f, struct stat *sb)
static int bzf_open(const char *path, struct open_file *f);
static int bzf_close(struct open_file *f);
static int bzf_read(struct open_file *f, void *buf, size_t size, size_t *resid);
static off_t bzf_seek(struct open_file *f, off_t offset, int where);
static int bzf_stat(struct open_file *f, struct stat *sb);
susp_lookup_record(struct open_file *f, const char *identifier,
rrip_lookup_name(struct open_file *f, struct iso_directory_record *dp,
rrip_check(struct open_file *f, struct iso_directory_record *dp, int *lenskip)
dirmatch(struct open_file *f, const char *path, struct iso_directory_record *dp,
cd9660_open(const char *path, struct open_file *f)
cd9660_close(struct open_file *f)
buf_read_file(struct open_file *f, char **buf_p, size_t *size_p)
cd9660_read(struct open_file *f, void *start, size_t size, size_t *resid)
cd9660_readdir(struct open_file *f, struct dirent *d)
cd9660_write(struct open_file *f, void *start, size_t size, size_t *resid)
cd9660_seek(struct open_file *f, off_t offset, int where)
cd9660_stat(struct open_file *f, struct stat *sb)
static int buf_read_file(struct open_file *f, char **buf_p,
static int cd9660_open(const char *path, struct open_file *f);
static int cd9660_close(struct open_file *f);
static int cd9660_read(struct open_file *f, void *buf, size_t size,
static int cd9660_write(struct open_file *f, void *buf, size_t size,
static off_t cd9660_seek(struct open_file *f, off_t offset, int where);
static int cd9660_stat(struct open_file *f, struct stat *sb);
static int cd9660_readdir(struct open_file *f, struct dirent *d);
static int dirmatch(struct open_file *f, const char *path,
static int rrip_check(struct open_file *f, struct iso_directory_record *dp,
static char *rrip_lookup_name(struct open_file *f,
static ISO_SUSP_HEADER *susp_lookup_record(struct open_file *f,
struct open_file *f = &files[fd];
noioctl(struct open_file *f, u_long cmd, void *data)
static int ioget(struct open_file *, u_int, void *, u_int);
dos_mount(DOS_FS *fs, struct open_file *fd)
dos_open(const char *path, struct open_file *fd)
dos_read(struct open_file *fd, void *buf, size_t nbyte, size_t *resid)
dos_seek(struct open_file *fd, off_t offset, int whence)
dos_close(struct open_file *fd)
dos_stat(struct open_file *fd, struct stat *sb)
dos_readdir(struct open_file *fd, struct dirent *d)
static int dos_open(const char *path, struct open_file *fd);
static int dos_close(struct open_file *fd);
static int dos_read(struct open_file *fd, void *buf, size_t size, size_t *resid);
static off_t dos_seek(struct open_file *fd, off_t offset, int whence);
static int dos_stat(struct open_file *fd, struct stat *sb);
static int dos_readdir(struct open_file *fd, struct dirent *d);
ioget(struct open_file *fd, u_int lsec, void *buf, u_int nsec)
struct open_file *fd; /* file descriptor */
static int read_inode(ino_t inumber, struct open_file *f);
static int block_map(struct open_file *f, daddr_t file_block,
static int buf_read_file(struct open_file *f, char **buf_p,
static int search_directory(char *name, struct open_file *f,
ext2fs_open(const char *upath, struct open_file *f)
read_inode(ino_t inumber, struct open_file *f)
block_map(struct open_file *f, daddr_t file_block, daddr_t *disk_block_p)
buf_read_file(struct open_file *f, char **buf_p, size_t *size_p)
search_directory(char *name, struct open_file *f, ino_t *inumber_p)
ext2fs_close(struct open_file *f)
ext2fs_read(struct open_file *f, void *addr, size_t size, size_t *resid)
ext2fs_seek(struct open_file *f, off_t offset, int where)
ext2fs_stat(struct open_file *f, struct stat *sb)
ext2fs_readdir(struct open_file *f, struct dirent *d)
static int ext2fs_open(const char *path, struct open_file *f);
static int ext2fs_close(struct open_file *f);
static int ext2fs_read(struct open_file *f, void *buf,
static off_t ext2fs_seek(struct open_file *f, off_t offset, int where);
static int ext2fs_stat(struct open_file *f, struct stat *sb);
static int ext2fs_readdir(struct open_file *f, struct dirent *d);
struct open_file *f = &files[fd];
zf_open(const char *fname, struct open_file *f)
zf_close(struct open_file *f)
zf_read(struct open_file *f, void *buf, size_t size, size_t *resid)
zf_seek(struct open_file *f, off_t offset, int where)
zf_stat(struct open_file *f, struct stat *sb)
static int zf_open(const char *path, struct open_file *f);
static int zf_close(struct open_file *f);
static int zf_read(struct open_file *f, void *buf, size_t size, size_t *resid);
static off_t zf_seek(struct open_file *f, off_t offset, int where);
static int zf_stat(struct open_file *f, struct stat *sb);
hammer_seek(struct open_file *f, off_t offset, int whence)
hammer_stat(struct open_file *f, struct stat *st)
hammer_readdir(struct open_file *f, struct dirent *d)
hammer_open(const char *path, struct open_file *f)
struct open_file *f;
hammer_close(struct open_file *f)
hammer_read(struct open_file *f, void *buf, size_t len, size_t *resid)
struct open_file *f;
hammer2_open(const char *path, struct open_file *f)
hammer2_close(struct open_file *f)
hammer2_read(struct open_file *f, void *buf, size_t len, size_t *resid)
hammer2_seek(struct open_file *f, off_t offset, int whence)
hammer2_stat(struct open_file *f, struct stat *st)
hammer2_readdir(struct open_file *f, struct dirent *den)
struct open_file *f = &files[fd];
struct open_file *f = &files[fd];
int nfs_open(const char *path, struct open_file *f);
static int nfs_close(struct open_file *f);
static int nfs_read(struct open_file *f, void *buf, size_t size, size_t *resid);
static int nfs_write(struct open_file *f, void *buf, size_t size, size_t *resid);
static off_t nfs_seek(struct open_file *f, off_t offset, int where);
static int nfs_stat(struct open_file *f, struct stat *sb);
static int nfs_readdir(struct open_file *f, struct dirent *d);
nfs_open(const char *upath, struct open_file *f)
nfs_close(struct open_file *f)
nfs_read(struct open_file *f, void *buf, size_t size, size_t *resid)
nfs_write(struct open_file *f, void *buf, size_t size, size_t *resid)
nfs_seek(struct open_file *f, off_t offset, int where)
nfs_stat(struct open_file *f, struct stat *sb)
nfs_readdir(struct open_file *f, struct dirent *d)
null_stat(struct open_file *f, struct stat *sb)
null_readdir(struct open_file *f, struct dirent *d)
null_open(const char *path, struct open_file *f)
null_close(struct open_file *f)
null_read(struct open_file *f, void *buf, size_t size, size_t *resid)
null_write(struct open_file *f, void *buf, size_t size, size_t *resid)
null_seek(struct open_file *f, off_t offset, int where)
struct open_file files[SOPEN_MAX];
o_rainit(struct open_file *f)
struct open_file *f;
struct open_file *f = &files[fd];
struct open_file *f = &files[fd];
splitfs_close(struct open_file *f)
splitfs_read(struct open_file *f, void *buf, size_t size, size_t *resid)
splitfs_seek(struct open_file *f, off_t offset, int where)
splitfs_stat(struct open_file *f, struct stat *sb)
static int splitfs_open(const char *path, struct open_file *f);
static int splitfs_close(struct open_file *f);
static int splitfs_read(struct open_file *f, void *buf, size_t size, size_t *resid);
static off_t splitfs_seek(struct open_file *f, off_t offset, int where);
static int splitfs_stat(struct open_file *f, struct stat *sb);
splitfs_open(const char *fname, struct open_file *f)
int (*fo_open)(const char *, struct open_file *);
int (*fo_close)(struct open_file *);
int (*fo_read)(struct open_file *, void *,
int (*fo_write)(struct open_file *, void *,
off_t (*fo_seek)(struct open_file *, off_t, int);
int (*fo_stat)(struct open_file *, struct stat *);
int (*fo_readdir)(struct open_file *, struct dirent *);
int (*dv_open)(struct open_file *, ...);
int (*dv_close)(struct open_file *);
int (*dv_ioctl)(struct open_file *, u_long, void *);
extern struct open_file files[];
extern int noioctl(struct open_file *, u_long, void *);
extern int null_open(const char *, struct open_file *);
extern int null_close(struct open_file *);
extern int null_read(struct open_file *, void *, size_t, size_t *);
extern int null_write(struct open_file *, void *, size_t, size_t *);
extern off_t null_seek(struct open_file *, off_t, int);
extern int null_stat(struct open_file *, struct stat *);
extern int null_readdir(struct open_file *, struct dirent *);
extern int devopen(struct open_file *, const char *, const char **);
extern int devclose(struct open_file *);
extern void devreplace(struct open_file *, void *devdata);
struct open_file;
tftp_open(const char *path, struct open_file *f)
tftp_read(struct open_file *f, void *addr, size_t size, size_t *resid)
tftp_close(struct open_file *f)
tftp_write(struct open_file *f, void *start, size_t size, size_t *resid)
tftp_stat(struct open_file *f, struct stat *sb)
tftp_seek(struct open_file *f, off_t offset, int where)
static int tftp_open(const char *path, struct open_file *f);
static int tftp_close(struct open_file *f);
static int tftp_read(struct open_file *f, void *buf, size_t size, size_t *resid);
static int tftp_write(struct open_file *f, void *buf, size_t size, size_t *resid);
static off_t tftp_seek(struct open_file *f, off_t offset, int where);
static int tftp_stat(struct open_file *f, struct stat *sb);
static int read_inode(ino_t, struct open_file *);
static int block_map(struct open_file *, daddr_t, daddr_t *);
static int buf_read_file(struct open_file *, char **, size_t *);
static int search_directory(char *, struct open_file *, ino_t *);
read_inode(ino_t inumber, struct open_file *f)
block_map(struct open_file *f, daddr_t file_block, daddr_t *disk_block_p)
buf_read_file(struct open_file *f, char **buf_p, size_t *size_p)
search_directory(char *name, struct open_file *f, ino_t *inumber_p)
ufs_open(const char *upath, struct open_file *f)
ufs_close(struct open_file *f)
ufs_read(struct open_file *f, void *start, size_t size, size_t *resid)
ufs_seek(struct open_file *f, off_t offset, int where)
ufs_stat(struct open_file *f, struct stat *sb)
ufs_readdir(struct open_file *f, struct dirent *d)
static int ufs_open(const char *path, struct open_file *f);
static int ufs_close(struct open_file *f);
static int ufs_read(struct open_file *f, void *buf, size_t size, size_t *resid);
static off_t ufs_seek(struct open_file *f, off_t offset, int where);
static int ufs_stat(struct open_file *f, struct stat *sb);
static int ufs_readdir(struct open_file *f, struct dirent *d);
struct open_file *f = &files[fd];