LIBPERFUSE(3)

LIBPERFUSE(3) | Library Functions Manual | LIBPERFUSE(3)

# NAME

`perfuse_mount`, `perfuse_open` —
Request a puffs(3) mount from perfused(8)

# LIBRARY

library “libperfuse”

# SYNOPSIS

`#include <perfuse.h>`

int
`perfuse_mount`(const char *source, const char *dir, const char *filesystemtype, long int mountflags, void *data);

int
`perfuse_open`(const char *path, int flags);

# DESCRIPTION

`perfuse_mount`() sends a mount request to perfused(8). It is intended as a drop-in replacement for mount(2) for FUSE file systems daemons and libraries, so that they can work with perfused(8).

The function prototype mimics Linux's mount(2), with the following arguments:

source
  The source file system that will appear in df(1) and mount(8) listings. Defaults to /dev/fuse if `NULL`.
dir
  The file system mount point.
filesystemtype
  The file system type, as displayed by df(1) and mount(8). Defaults to “`fuse`” if `NULL`.
mountflags
  This contains the same value as a mount(2) flags argument.
data
  This contains the same value as a mount(2) data argument.

`perfuse_open`() is a drop-in replacement for the open(2) system call where /dev/fuse is used. If path is different than /dev/fuse, `perfuse_open`() handles control to the regular open(2).

# RETURN VALUES

`perfuse_mount`() returns a file descriptor to the /dev/fuse socket on success, and causes exit on failure.

# ENVIRONMENT

`PERFUSE_OPTIONS`
  Comma-separated values controlling the usage of some FUSE methods. Allowed values are `enable_access`, `disable_access`, `enable_creat`, `disable_creat`.
`PERFUSE_BUFSIZE`
  Set the socket buffer sizes used for communication with the filesystem. This should be raised as operation throughput requires it. Default is `2162688` bytes, which is enough to queue 16 FUSE packets of maximum 132 kB length.

# SEE ALSO

df(1), mount(2), open(2), puffs(3), mount(8), perfused(8)

# AUTHORS

The program was written by Emmanuel Dreyfus ⟨manu@NetBSD.org⟩.

January 23, 2019 | NetBSD 10.1