package co.paralleluniverse.fuse;
import jnr.ffi.Pointer;
import jnr.ffi.types.size_t;
import jnr.ffi.types.ssize_t;
public interface LibFuse {
static interface LibFuseProbe {
}
static interface LibMacFuseProbe extends LibFuseProbe {
String macfuse_version();
}
StructFuseContext fuse_get_context();
/**
* Main function of FUSE.
* <p>
* This function does the following:
* - parses command line options (-d -s and -h)
* - passes relevant mount options to the fuse_mount()
* - installs signal handlers for INT, HUP, TERM and PIPE
* - registers an exit handler to unmount the filesystem on program exit
* - creates a fuse handle
* - registers the operations
* - calls either the single-threaded or the multi-threaded event loop
*
* @param argc the argument counter passed to the main() function
* @param argv the argument vector passed to the main() function
* @param op the file system operation
* @param user_data user data supplied in the context during the init() method
* @return 0 on success, nonzero on failure
*/
int fuse_main_real(int argc, String[] argv, StructFuseOperations op, @size_t int size, Pointer user_data);
@size_t long fuse_buf_size(Pointer bufv); // StructFuseBufvec
@ssize_t long fuse_buf_copy(Pointer dstv, Pointer srcv, int flags); // StructFuseBufvec
void fuse_pollhandle_destroy(Pointer ph); // StructFusePollhandle
int fuse_notify_poll(Pointer ph); // StructFusePollhandle
}