summaryrefslogtreecommitdiff
path: root/share/examples/refuse/virtdir/virtdir.c
AgeCommit message (Collapse)Author
2008-02-07Set a definitive FUSE ABI before including fuse.h, to avoid situationsagc
where different operating ssystems default to different levels.
2007-11-11Only use the bottom 20bits for an inode number to prevent the inode number ↵agc
creeping out of range for fts
2007-11-11Include a (random) inode number in the virtual directory information thatagc
is held. Return this as part of the virtual entry information. Prevents problems with fts code thinking that some directories create a cycle.
2007-06-21Record the root directory at initialisation time.agc
Add a function to "normalise" a path to condense multiple repeated '/' characters into one.
2007-05-21Add a size parameter to virtdir_add, so that binary information can beagc
attached to a virtual directory entry.
2007-05-19Add a function to return the virtual offset in the virtdir_t tree.agc
2007-04-18When adding virtual directory entries, check the path to see thatagc
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-17Don't allow duplicate directory entries to be created.agc
Correct a comment.
2007-04-15Add routines to manipulate virtual directory entries, for use withagc
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).