[BACK]Return to refuse.3 CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / src / lib / librefuse

Annotation of src/lib/librefuse/refuse.3, Revision 1.13

1.13    ! pho         1: .\"    $NetBSD: refuse.3,v 1.12 2016/11/15 00:34:19 pho Exp $
1.1       agc         2: .\"
                      3: .\" Copyright  2007 Alistair Crooks.  All rights reserved.
                      4: .\"
                      5: .\" Redistribution and use in source and binary forms, with or without
                      6: .\" modification, are permitted provided that the following conditions
                      7: .\" are met:
                      8: .\" 1. Redistributions of source code must retain the above copyright
                      9: .\"    notice, this list of conditions and the following disclaimer.
                     10: .\" 2. Redistributions in binary form must reproduce the above copyright
                     11: .\"    notice, this list of conditions and the following disclaimer in the
                     12: .\"    documentation and/or other materials provided with the distribution.
                     13: .\" 3. The name of the author may not be used to endorse or promote
                     14: .\"    products derived from this software without specific prior written
                     15: .\"    permission.
                     16: .\"
                     17: .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
                     18: .\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
                     19: .\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
                     20: .\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
                     21: .\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
                     22: .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
                     23: .\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
                     24: .\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
                     25: .\" WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
                     26: .\" NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
                     27: .\" SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
                     28: .\"
1.10      pho        29: .Dd November 15, 2016
1.1       agc        30: .Dt REFUSE 3
                     31: .Os
                     32: .Sh NAME
1.5       wiz        33: .Nm refuse
1.1       agc        34: .Nd Re-implementation of a file system in userspace system
                     35: .Sh LIBRARY
                     36: .Lb librefuse
                     37: .Sh SYNOPSIS
                     38: .In fuse.h
                     39: .Ft int
                     40: .Fo fuse_main
                     41: .Fa "int argc" "char **argv" "const struct fuse_operations *"
                     42: .Fc
1.10      pho        43: .Ft struct fuse_args
                     44: .Fo FUSE_ARGS_INIT
                     45: .Fa "int argc" "char **argv"
                     46: .Fc
1.11      pho        47: .Ft struct fuse_opt
                     48: .Fo FUSE_OPT_KEY
                     49: .Fa "const char* templ" "int32_t key"
                     50: .Fc
                     51: .Vt struct fuse_opt Dv FUSE_OPT_END;
                     52: .Vt int32_t Dv FUSE_OPT_KEY_OPT;
                     53: .Vt int32_t Dv FUSE_OPT_KEY_NONOPT;
                     54: .Vt int32_t Dv FUSE_OPT_KEY_KEEP;
                     55: .Vt int32_t Dv FUSE_OPT_KEY_DISCARD;
1.1       agc        56: .Ft int
                     57: .Fo fuse_opt_add_arg
                     58: .Fa "struct fuse_args *args" "const char *arg"
                     59: .Fc
                     60: .Ft int
1.10      pho        61: .Fo fuse_opt_add_opt
                     62: .Fa "char **opts" "const char *opt"
                     63: .Fc
                     64: .Ft int
                     65: .Fo fuse_opt_add_opt_escaped
                     66: .Fa "char **opts" "const char *opt"
                     67: .Fc
                     68: .Ft void
                     69: .Fo fuse_opt_free_args
                     70: .Fa "struct fuse_args *args"
                     71: .Fc
                     72: .Ft int
                     73: .Fo fuse_opt_insert_arg
                     74: .Fa "struct fuse_args *args" "int pos" "const char *arg"
                     75: .Fc
                     76: .Ft int
1.12      pho        77: .Fo fuse_opt_match
                     78: .Fa "const struct fuse_opt *opts" "const char *opt"
                     79: .Fc
                     80: .Ft int
1.1       agc        81: .Fo fuse_opt_parse
                     82: .Fa "struct fuse_args *args" "void *userdata"
                     83: .Fa "const struct fuse_opt *descriptions" "fuse_opt_proc_t processingfunc"
                     84: .Fc
                     85: .Ft int
1.13    ! pho        86: .Fo fuse_new
        !            87: .Fa "struct fuse_args *args" "const struct fuse_operations *ops"
        !            88: .Fa "size_t opssize" "void *userdata"
1.4       agc        89: .Fc
1.13    ! pho        90: .Ft int
        !            91: .Fo fuse_mount
        !            92: .Fa "struct fuse *fuse" "const char *mountpoint"
        !            93: .Fc
        !            94: .Ft int
        !            95: .Fo fuse_unmount
        !            96: .Fa "struct fuse* fuse"
        !            97: .Fc
        !            98: .Ft int
        !            99: .Fo fuse_daemonize
        !           100: .Fa "struct fuse *fuse"
1.4       agc       101: .Fc
                    102: .Ft int
1.1       agc       103: .Fo puffs_fuse_node_getattr
                    104: .Fa "const char *path" "struct stat *attrs"
                    105: .Fc
                    106: .Ft int
                    107: .Fo puffs_fuse_node_readlink
                    108: .Fa "const char *path" "char *output" "size_t outlen"
                    109: .Fc
                    110: .Ft int
                    111: .Fo puffs_fuse_node_mknod
                    112: .Fa "const char *path" "mode_t permissions" "dev_t devicenumber"
                    113: .Fc
                    114: .Ft int
                    115: .Fo puffs_fuse_node_mkdir
                    116: .Fa "const char *path" "mode_t permissions"
                    117: .Fc
                    118: .Ft int
                    119: .Fo puffs_fuse_unlink
                    120: .Fa "const char *path"
                    121: .Fc
                    122: .Ft int
                    123: .Fo puffs_fuse_node_rmdir
                    124: .Fa "const char *path"
                    125: .Fc
                    126: .Ft int
                    127: .Fo puffs_fuse_node_symlink
                    128: .Fa "const char *path" "const char *target"
                    129: .Fc
                    130: .Ft int
                    131: .Fo puffs_fuse_node_rename
                    132: .Fa "const char *from" "const char *to"
                    133: .Fc
                    134: .Ft int
                    135: .Fo puffs_fuse_node_link
                    136: .Fa "const char *from" "const char *to"
                    137: .Fc
                    138: .Ft int
                    139: .Fo puffs_fuse_node_chmod
                    140: .Fa "const char *path" "mode_t permissions"
                    141: .Fc
                    142: .Ft int
                    143: .Fo puffs_fuse_node_own
                    144: .Fa "const char *path" "uid_t owner" "gid_t group"
                    145: .Fc
                    146: .Ft int
                    147: .Fo puffs_fuse_node_truncate
                    148: .Fa "const char *path" "off_t newsize"
                    149: .Fc
                    150: .Ft int
                    151: .Fo puffs_fuse_node_utime
                    152: .Fa "const char *path" "struct utimbuf *newtimes"
                    153: .Fc
                    154: .Ft int
                    155: .Fo puffs_fuse_node_open
                    156: .Fa "const char *path" "struct fuse_file_info *fileinfo"
                    157: .Fc
                    158: .Ft int
                    159: .Fo puffs_fuse_node_read
                    160: .Fa "const char *path" "char *buffer" "size_t bufferlen" "off_t startoffset"
                    161: .Fa "struct fuse_file_info *fileinfo"
                    162: .Fc
                    163: .Ft int
                    164: .Fo puffs_fuse_node_write
                    165: .Fa "const char *path" "char *buffer" "size_t bufferlen" "off_t startoffset"
                    166: .Fa "struct fuse_file_info *fileinfo"
                    167: .Fc
                    168: .Ft int
                    169: .Fo puffs_fuse_fs_statfs
                    170: .Fa "const char *path" "struct statvfs *vfsinfo"
                    171: .Fc
                    172: .Ft int
                    173: .Fo puffs_fuse_node_flush
                    174: .Fa "const char *path" "struct fuse_file_info *fileinfo"
                    175: .Fc
                    176: .Ft int
                    177: .Fo puffs_fuse_node_fsync
                    178: .Fa "const char *path" "int flags" "struct fuse_file_info *fileinfo"
                    179: .Fc
                    180: .Ft int
                    181: .Fo puffs_fuse_node_setxattr
                    182: .Fa "const char *path" "const char *attrname" "const char *attrvalue"
                    183: .Fa "size_t attrsize" "int flags"
                    184: .Fc
                    185: .Ft int
                    186: .Fo puffs_fuse_node_getxattr
                    187: .Fa "const char *path" "const char *attrname" "const char *attrvalue"
                    188: .Fa "size_t attrvaluesize"
                    189: .Fc
                    190: .Ft int
                    191: .Fo puffs_fuse_node_listxattr
                    192: .Fa "const char *path" "const char *attrname"
                    193: .Fa "size_t attrvaluesize"
                    194: .Fc
                    195: .Ft int
                    196: .Fo puffs_fuse_node_removexattr
                    197: .Fa "const char *path" "const char *attrname"
                    198: .Fc
                    199: .Ft int
                    200: .Fo puffs_fuse_node_opendir
                    201: .Fa "const char *path" "struct fuse_file_info *fileinfo"
                    202: .Fc
                    203: .Ft int
                    204: .Fo puffs_fuse_node_readdir
                    205: .Fa "const char *path" "void *data" "fuse_fill_dir_t fillinfo"
                    206: .Fa "off_t offset" "struct fuse_file_info *fileinfo"
                    207: .Fc
                    208: .Ft int
                    209: .Fo puffs_fuse_node_releasedir
                    210: .Fa "const char *path" "struct fuse_file_info *fileinfo"
                    211: .Fc
                    212: .Ft int
                    213: .Fo puffs_fuse_node_fsyncdir
                    214: .Fa "const char *path" "int flags" "struct fuse_file_info *fileinfo"
                    215: .Fc
                    216: .Ft void *
                    217: .Fo puffs_fuse_fs_init
                    218: .Fa "struct fuse_conn_info *connectioninfo"
                    219: .Fc
                    220: .Ft void
                    221: .Fo puffs_fuse_node_destroy
                    222: .Fa "void *connection"
                    223: .Fc
                    224: .Ft int
                    225: .Fo puffs_fuse_node_access
                    226: .Fa "const char *path" "int accesstype"
                    227: .Fc
                    228: .Ft int
                    229: .Fo puffs_fuse_node_create
                    230: .Fa "const char *path" "mode_t permissions" "struct fuse_file_info *fileinfo"
                    231: .Fc
                    232: .Ft int
                    233: .Fo puffs_fuse_node_ftruncate
                    234: .Fa "const char *path" "off_t offset" "struct fuse_file_info *fileinfo"
                    235: .Fc
                    236: .Ft int
                    237: .Fo puffs_fuse_node_fgetattr
                    238: .Fa "const char *path" "struct stat *attrs" "struct fuse_file_info *fileinfo"
                    239: .Fc
                    240: .Ft int
                    241: .Fo puffs_fuse_node_lock
                    242: .Fa "const char *path" "struct fuse_file_info *fileinfo"
                    243: .Fa "int locktype" "struct flock *lockinfo"
                    244: .Fc
                    245: .Ft int
                    246: .Fo puffs_fuse_node_utimens
                    247: .Fa "const char *path" "const struct timespec *newtimes"
                    248: .Fc
                    249: .Ft int
                    250: .Fo puffs_fuse_node_bmap
                    251: .Fa "const char *path" "size_t mapsize" "uint64_t offset"
                    252: .Fc
                    253: .Sh DESCRIPTION
                    254: .Nm
                    255: is a reimplementation of the file system in user space subsystem.
                    256: Operations are transported from the kernel virtual file system layer
                    257: to the concrete implementation behind
                    258: .Nm ,
                    259: where they are processed and results are sent back to the kernel.
                    260: .Pp
                    261: It uses the framework provided by the
1.3       wiz       262: .Xr puffs 3
1.1       agc       263: subsystem, and, through that, the kernel interface provided by
                    264: .Xr puffs 4 .
                    265: .Sh SEE ALSO
1.2       pooka     266: .Xr puffs 3 ,
1.1       agc       267: .Xr puffs 4
1.6       pooka     268: .Rs
                    269: .%A Antti Kantee
                    270: .%A Alistair Crooks
                    271: .%D September 2007
                    272: .%J EuroBSDCon 2007
                    273: .%T ReFUSE: Userspace FUSE Reimplementation Using puffs
                    274: .Re
1.1       agc       275: .Sh HISTORY
                    276: An unsupported experimental version of
                    277: .Nm
                    278: first appeared in
                    279: .Nx 5.0 .
                    280: .Sh AUTHORS
1.8       wiz       281: .An Alistair Crooks Aq Mt agc@NetBSD.org ,
                    282: .An Antti Kantee Aq Mt pooka@NetBSD.org
1.1       agc       283: .Sh BUGS
                    284: Many, legion, but well-loved.

CVSweb <webmaster@jp.NetBSD.org>