minix/lib/libpuffs/glo.h
Thomas Veerman 490e0de548 Import librefuse and libpuffs
Import libpuffs and our port of libpuffs. The port was done as part of
GSoC 2011 FUSE project, done by Evgeniy Ivanov. The librefuse import
did not require any porting efforts. Libpuffs has been modified to
understand our VFS-FS protocol and translate between that and PUFFS. As
an example that it works, fuse-ntfs-3g from pkgsrc can be compiled and
used to mount ntfs partitions:
mount -t ntfs-3g <device> <mountpoint>

FUSE only works with the asynchronous version of VFS. See <docs/UPDATING> on
how to run AVFS.

This patch further includes some changes to mount(1) and mount(2) so it's
possible to use file systems provided by pkgsrc (note: manual modifications
to /etc/system.conf are still needed. There has been made an exception for
fuse-ntfs-3g, so it already as an entry).
2011-11-14 11:53:05 +00:00

62 lines
1.5 KiB
C

/* EXTERN should be extern except for the table file */
#ifndef LIBPUFFS_GLO_H
#define LIBPUFFS_GLO_H
#ifdef _TABLE
#undef EXTERN
#define EXTERN
#endif
#include <minix/vfsif.h>
#include "puffs_msgif.h"
#include "drivers.h"
EXTERN struct puffs_usermount *global_pu;
EXTERN int is_readonly_fs;
EXTERN int is_root_fs;
EXTERN int buildpath;
/* Sometimes user can call exit. If we received a message,
* report a failure to VFS before exiting. Especially on mount
* and unmount.
*
* Either transid of last request or 0.
*/
EXTERN int last_request_transid;
/* The following variables are used for returning results to the caller. */
EXTERN int err_code; /* temporary storage for error number */
/* TODO: it duplicates caller_uid and caller_gid */
EXTERN struct puffs_kcred global_kcred;
extern _PROTOTYPE (int (*fs_call_vec[]), (void) ); /* fs call table */
EXTERN message fs_m_in;
EXTERN message fs_m_out;
EXTERN vfs_ucred_t credentials;
EXTERN uid_t caller_uid;
EXTERN gid_t caller_gid;
EXTERN int req_nr;
EXTERN endpoint_t SELF_E;
EXTERN char user_path[PATH_MAX+1]; /* pathname to be processed */
EXTERN dev_t fs_dev; /* The device that is handled by this FS proc
*/
EXTERN char fs_dev_label[16]; /* Name of the device driver that is handled
* by this FS proc.
*/
EXTERN char fs_name[PATH_MAX+1];
EXTERN int unmountdone;
EXTERN int exitsignaled;
#endif /* LIBPUFFS_GLO_H */