mirror of
https://github.com/libfuse/libfuse.git
synced 2026-07-07 14:47:41 +08:00
f127c2de34
Teach mount.fuse3 how to start fuse via systemd service, if present. Signed-off-by: "Darrick J. Wong" <djwong@kernel.org> Signed-off-by: Bernd Schubert <bernd@bsbernd.com>
50 lines
1.5 KiB
C
50 lines
1.5 KiB
C
/*
|
|
* FUSE: Filesystem in Userspace
|
|
* Copyright (C) 2025-2026 Oracle.
|
|
* Author: Darrick J. Wong <djwong@kernel.org>
|
|
*
|
|
* This program can be distributed under the terms of the GNU GPLv2.
|
|
* See the file GPL2.txt.
|
|
*/
|
|
#ifndef MOUNT_SERVICE_H_
|
|
#define MOUNT_SERVICE_H_
|
|
|
|
/**
|
|
* Magic value that means that we couldn't connect to the mount service,
|
|
* so the caller should try to fall back to traditional means.
|
|
*/
|
|
#define MOUNT_SERVICE_FALLBACK_NEEDED (2)
|
|
|
|
/**
|
|
* Connect to a fuse service socket and try to mount the filesystem as
|
|
* specified with the CLI arguments.
|
|
*
|
|
* @argc argument count
|
|
* @argv vector of argument strings
|
|
* @return EXIT_SUCCESS for success, EXIT_FAILURE if mount fails, or
|
|
* MOUNT_SERVICE_FALLBACK_NEEDED if no service is available.
|
|
*/
|
|
int mount_service_main(int argc, char *argv[]);
|
|
|
|
/**
|
|
* Return the fuse filesystem subtype from a full fuse filesystem type
|
|
* specification. IOWs, fuse.Y -> Y; fuseblk.Z -> Z; or A -> A. The returned
|
|
* pointer is within the caller's string. The subtype must not contain a path
|
|
* separator.
|
|
*
|
|
* @param fstype full fuse filesystem type
|
|
* @return fuse subtype
|
|
*/
|
|
const char *mount_service_subtype(const char *fstype);
|
|
|
|
/**
|
|
* Discover if there is a fuse service socket for the given fuse filesystem type.
|
|
* The type must not contain a path separator.
|
|
*
|
|
* @param fstype the type of a fuse filesystem type (e.g. fuse.Y, fuseblk.Y, or Y)
|
|
* @return true if available, false if not
|
|
*/
|
|
bool mount_service_present(const char *fstype);
|
|
|
|
#endif /* MOUNT_SERVICE_H_ */
|