Esempio n. 1
0
static int iconv_open_file(const char *path, struct fuse_file_info *fi)
{
	struct iconv *ic = iconv_get();
	char *newpath;
	int err = iconv_convpath(ic, path, &newpath, 0);
	if (!err) {
		err = fuse_fs_open(ic->next, newpath, fi);
		free(newpath);
	}
	return err;
}
Esempio n. 2
0
static int subdir_open(const char *path, struct fuse_file_info *fi)
{
	struct subdir *d = subdir_get();
	char *newpath;
	int err = subdir_addpath(d, path, &newpath);
	if (!err) {
		err = fuse_fs_open(d->next, newpath, fi);
		free(newpath);
	}
	return err;
}
Esempio n. 3
0
static int
volicon_open(const char *path, struct fuse_file_info *fi)
{
    if (volicon_is_a_magic_file(path)) {
        if (fi && ((fi->flags & O_ACCMODE) != O_RDONLY)) {
            return -EACCES;
        }

        return 0;
    }

    return fuse_fs_open(volicon_get()->next, path, fi);
}