Changeset 30580 in project


Ignore:
Timestamp:
03/18/14 09:13:33 (7 years ago)
Author:
evhan
Message:

wiki/fuse: doc update, fix create callback signature

File:
1 edited

Legend:

Unmodified
Added
Removed
  • wiki/eggref/4/fuse

    r30230 r30580  
    1717==== Warning
    1818
    19 '''This extension is not yet stable!''' It has only been lightly tested
    20 and its interface is subject to change. I'd appreciate feedback and
    21 suggestions regarding its API.
     19'''This extension is not yet stable.''' Its interface is subject to
     20change, and I'd appreciate feedback and suggestions regarding the API.
    2221
    2322==== Platform Notes
     23
     24'''This extension is only officially supported on Linux.''' It has also
     25been installed successfully on OpenBSD, FreeBSD and Mac OS X, but tested
     26far less thoroughly on those platforms.
    2427
    2528On Linux, each filesystem operation is executed in its own green
    2629({{srfi-18}}) thread.
    2730
    28 On OpenBSD, filesystem operations are synchronous ({{start-filesystem}}
    29 is single-threaded) and {{stop-filesystem}} is not supported.
     31On other platforms, filesystem operations are synchronous
     32({{start-filesystem}} is single-threaded) and {{stop-filesystem}} is not
     33supported.
    3034
    3135=== API
     
    4852; {{chmod:}}:    {{(procedure path mode) -> value}}
    4953; {{chown:}}:    {{(procedure uid gid) -> value}}
    50 ; {{create:}}:   {{(procedure path mode) -> value}}
     54; {{create:}}:   {{(procedure path mode) -> (or handle #f)}}
    5155; {{destroy:}}:  {{(procedure) -> void}}
    5256; {{getattr:}}:  {{(procedure path) -> (or (vector mode nlink uid gid size atime ctime mtime) #f)}}
     
    8589
    8690A {{handle}} may be any Scheme object and represents a file handle. When
    87 returned as the result of an '''{{open:}}''' callback, this value is
    88 provided to that file's subsequent '''{{read:}}''', '''{{write:}}''' and
    89 '''{{release:}}''' operations. Note that this object is evicted until
    90 the corresponding file is closed, so it is more efficient (as well as
    91 memory-safe) to use simple values as file handles; the same caveats
    92 that apply to {{object-evict}} apply here. '''{{release:}}''' is
    93 guaranteed to be called once for every successful '''{{open:}}''', while
    94 '''{{read:}}''' and '''{{write:}}''' should be prepared to be called
    95 multiple times with diverse {{offset}} values.
     91returned as the result of an '''{{open:}}''' or
     92'''{{create:}}'''callback, this value is provided to that file's
     93subsequent '''{{read:}}''', '''{{write:}}''' and '''{{release:}}'''
     94operations. Note that this object is evicted until the corresponding
     95file is closed, so it is more efficient (as well as memory-safe) to use
     96simple values as file handles; the same caveats that apply to
     97{{object-evict}} apply here. '''{{release:}}''' is guaranteed to be
     98called once for every successful '''{{open:}}''', while '''{{read:}}'''
     99and '''{{write:}}''' should be prepared to be called multiple times with
     100diverse {{offset}} values.
    96101
    97102<procedure>(start-filesystem path filesystem) -> object</procedure>
     
    124129procedure is a noop.
    125130
    126 On OpenBSD, this procedure is a noop.
     131On other platforms, this procedure is a noop.
    127132
    128133<constant>file/fifo</constant>
     
    145150bindings and inspiration for the keyword-based API.
    146151
     152Credit to [[/users/jorg-wittenberger|Jörg Wittenberger]] for lots of
     153helpful bug hunting.
     154
    147155=== License
    148156
Note: See TracChangeset for help on using the changeset viewer.