Commit Graph

10 Commits

Author SHA1 Message Date
agc
5ca5718e92 Set a definitive FUSE ABI before including fuse.h, to avoid situations
where different operating ssystems default to different levels.
2008-02-07 07:21:15 +00:00
wiz
0d78c993a2 Use more markup. Fix xrefs. Use standard headers. 2007-12-02 19:31:46 +00:00
agc
f2e9f627b5 Only use the bottom 20bits for an inode number to prevent the inode number creeping out of range for fts 2007-11-11 09:31:31 +00:00
agc
8abe1b3c75 Include a (random) inode number in the virtual directory information that
is held. Return this as part of the virtual entry information.

Prevents problems with fts code thinking that some directories create
a cycle.
2007-11-11 09:23:29 +00:00
agc
5599c23a3d Record the root directory at initialisation time.
Add a function to "normalise" a path to condense multiple repeated '/'
characters into one.
2007-06-21 21:59:32 +00:00
agc
12eda41239 Add a size parameter to virtdir_add, so that binary information can be
attached to a virtual directory entry.
2007-05-21 21:15:34 +00:00
agc
c048d63924 Add a function to return the virtual offset in the virtdir_t tree. 2007-05-19 06:15:38 +00:00
agc
9448d95472 When adding virtual directory entries, check the path to see that
intermediate directories have already been created. If not, then
create the intermediate directories. This means that callers don't
need to create the intermediate directories themselves.

When reading a virtual directory, don't return a zero-length
virtual directory entry.
2007-04-18 20:32:16 +00:00
agc
41c7d6fedc Don't allow duplicate directory entries to be created.
Correct a comment.
2007-04-17 22:51:53 +00:00
agc
777436c8cf Add routines to manipulate virtual directory entries, for use with
librefuse-based file systems.

These are especially useful for file systems which present virtual
directory hierarchies to the caller.

The routines build up and manage an array of virtual directory
entries, indexed upon full pathname within the file system.  This is
analogous to the way refuse indexes its own entries.  Routines are
available to add, delete, and find entries.  Each entry can be one of
3 types - file ('f'), directory ('d') or symbolic link ('l').  Each
entry can also be associated with a target, which is a character
string allocated upon addition.  This can be useful for virtual
directory entries of the symbolic link type.

The virtual directory entries can be traversed as an ordered list
(the entries are ordered alphabetically), or can be accessed by
directory component, using routines analogous to opendir(3), readdir(3),
and closedir(3).
2007-04-15 15:10:56 +00:00