package ru.serce.jnrfuse; import jnr.ffi.Pointer; import jnr.ffi.annotations.Delegate; import jnr.ffi.types.dev_t; import jnr.ffi.types.gid_t; import jnr.ffi.types.mode_t; import jnr.ffi.types.off_t; import jnr.ffi.types.size_t; import jnr.ffi.types.u_int32_t; import jnr.ffi.types.uid_t; public final class FuseCallbacks { @FunctionalInterface public interface GetAttrCallback { @Delegate int getattr(String path, Pointer stbuf); } @FunctionalInterface public interface ReadlinkCallback { @Delegate int readlink(String path, Pointer buf, @size_t long size); } @FunctionalInterface public interface MknodCallback { @Delegate int mknod(String path, @mode_t long mode, @dev_t long rdev); } @FunctionalInterface public interface MkdirCallback { @Delegate int mkdir(String path, @mode_t long mode); } @FunctionalInterface public interface UnlinkCallback { @Delegate int unlink(String path); } @FunctionalInterface public interface RmdirCallback { @Delegate int rmdir(String path); } @FunctionalInterface public interface SymlinkCallback { @Delegate int symlink(String oldpath, String newpath); } @FunctionalInterface public interface RenameCallback { @Delegate int rename(String oldpath, String newpath); } @FunctionalInterface public interface LinkCallback { @Delegate int link(String oldpath, String newpath); } @FunctionalInterface public interface ChmodCallback { @Delegate int chmod(String path, @mode_t long mode); } @FunctionalInterface public interface ChownCallback { @Delegate int chown(String path, @uid_t long uid, @gid_t long gid); } @FunctionalInterface public interface TruncateCallback { @Delegate int truncate(String path, @off_t long size); } @FunctionalInterface public interface OpenCallback { @Delegate int open(String path, Pointer fi); } @FunctionalInterface public interface ReadCallback { @Delegate int read(String path, Pointer buf, @size_t long size, @off_t long offset, Pointer fi); } @FunctionalInterface public interface WriteCallback { @Delegate int write(String path, Pointer buf, @size_t long size, @off_t long offset, Pointer fi); } @FunctionalInterface public interface StatfsCallback { @Delegate int statfs(String path, Pointer stbuf); } @FunctionalInterface public interface FlushCallback { @Delegate int flush(String path, Pointer fi); } @FunctionalInterface public interface ReleaseCallback { @Delegate int release(String path, Pointer fi); } @FunctionalInterface public interface FsyncCallback { @Delegate int fsync(String path, int isdatasync, Pointer fi); } @FunctionalInterface public interface SetxattrCallback { @Delegate int setxattr(String path, String name, Pointer value, @size_t long size, int flags); } @FunctionalInterface public interface GetxattrCallback { @Delegate int getxattr(String path, String name, Pointer value, @size_t long size); } @FunctionalInterface public interface ListxattrCallback { @Delegate int listxattr(String path, Pointer list, @size_t long size); } @FunctionalInterface public interface RemovexattrCallback { @Delegate int removexattr(String path, String name); } @FunctionalInterface public interface OpendirCallback { @Delegate int opendir(String path, Pointer fi); } @FunctionalInterface public interface ReaddirCallback { @Delegate int readdir(String path, Pointer buf, Pointer filter, @off_t long offset, Pointer fi); } @FunctionalInterface public interface ReleasedirCallback { @Delegate int releasedir(String path, Pointer fi); } @FunctionalInterface public interface FsyncdirCallback { @Delegate int fsyncdir(String path, Pointer fi); } @FunctionalInterface public interface InitCallback { @Delegate public Pointer init(Pointer conn); } @FunctionalInterface public interface DestroyCallback { @Delegate void destroy(Pointer initResult); } @FunctionalInterface public interface AccessCallback { @Delegate int access(String path, int mask); } @FunctionalInterface public interface CreateCallback { @Delegate int create(String path, @mode_t long mode, Pointer fi); } @FunctionalInterface public interface FtruncateCallback { @Delegate int ftruncate(String path, @off_t long size, Pointer fi); } @FunctionalInterface public interface FgetattrCallback { @Delegate int fgetattr(String path, Pointer stbuf, Pointer fi); } @FunctionalInterface public interface LockCallback { @Delegate int lock(String path, Pointer fi, int cmd, Pointer flock); } @FunctionalInterface public interface UtimensCallback { @Delegate int utimens(String path, Pointer timespec); } @FunctionalInterface public interface BmapCallback { @Delegate int bmap(String path, @size_t long blocksize, Pointer idx); } @FunctionalInterface public interface IoctlCallback { @Delegate int ioctl(String path, int cmd, Pointer arg, Pointer fi, @u_int32_t long flags, Pointer data); } @FunctionalInterface public interface PollCallback { @Delegate int poll(String path, Pointer fi, Pointer ph, Pointer reventsp); } @FunctionalInterface public interface WritebufCallback { @Delegate int write_buf(String path, Pointer buf, @off_t long off, Pointer fi); } @FunctionalInterface public interface ReadbufCallback { @Delegate int read_buf(String path, Pointer bufp, @size_t long size, @off_t long off, Pointer fi); } @FunctionalInterface public interface FlockCallback { @Delegate int flock(String path, Pointer fi, int op); } @FunctionalInterface public interface FallocateCallback { @Delegate int fallocate(String path, int mode, @off_t long off, @off_t long length, Pointer fi); } private FuseCallbacks() { } }