mirror of
https://github.com/winfsp/winfsp.git
synced 2025-06-14 15:52:47 -05:00
dll: fuse: use NFS reparse points for POSIX special files
This commit is contained in:
@ -128,7 +128,6 @@ typedef struct
|
||||
UINT32 PersistentAcls:1; /* file system preserves and enforces access control lists */
|
||||
UINT32 ReparsePoints:1; /* file system supports reparse points */
|
||||
UINT32 ReparsePointsAccessCheck:1; /* file system performs reparse point access checks */
|
||||
UINT32 ReparsePointsSymlinkOnly:1; /* file system supports only symbolic link reparse points */
|
||||
UINT32 NamedStreams:1; /* file system supports named streams (!!!: unimplemented) */
|
||||
UINT32 HardLinks:1; /* unimplemented; set to 0 */
|
||||
UINT32 ExtendedAttributes:1; /* unimplemented; set to 0 */
|
||||
|
@ -654,16 +654,12 @@ typedef struct _FSP_FILE_SYSTEM_INTERFACE
|
||||
/**
|
||||
* Resolve reparse points.
|
||||
*
|
||||
* Reparse points are a general mechanism for attaching special behavior to files.
|
||||
* A file or directory can contain a reparse point. A reparse point is data that has
|
||||
* special meaning to the file system, Windows or user applications. For example, NTFS
|
||||
* and Windows use reparse points to implement symbolic links. As another example,
|
||||
* a particular file system may use reparse points to emulate UNIX FIFO's.
|
||||
*
|
||||
* Reparse points are a general mechanism for attaching special behavior to files. WinFsp
|
||||
* supports any kind of reparse point. The symbolic link reparse point however is so
|
||||
* important for many file systems (especially POSIX ones) that WinFsp implements special
|
||||
* support for it.
|
||||
*
|
||||
* This function is expected to resolve as many reparse points as possible. If a reparse
|
||||
* point is encountered that is not understood by the file system further reparse point
|
||||
* resolution should stop; the reparse point data should be returned to the FSD with status
|
||||
@ -702,14 +698,6 @@ typedef struct _FSP_FILE_SYSTEM_INTERFACE
|
||||
/**
|
||||
* Get reparse point.
|
||||
*
|
||||
* The behavior of this function depends on the value of FSP_FSCTL_VOLUME_PARAMS ::
|
||||
* ReparsePointsSymlinkOnly. If the value of ReparsePointsSymlinkOnly
|
||||
* is FALSE the file system supports full reparse points and this function is expected
|
||||
* to fill the buffer with a full reparse point. If the value of
|
||||
* ReparsePointsSymlinkOnly is TRUE the file system supports symbolic links only
|
||||
* as reparse points and this function is expected to fill the buffer with the symbolic
|
||||
* link path.
|
||||
*
|
||||
* @param FileSystem
|
||||
* The file system on which this request is posted.
|
||||
* @param Request
|
||||
@ -736,14 +724,6 @@ typedef struct _FSP_FILE_SYSTEM_INTERFACE
|
||||
/**
|
||||
* Set reparse point.
|
||||
*
|
||||
* The behavior of this function depends on the value of FSP_FSCTL_VOLUME_PARAMS ::
|
||||
* ReparsePointsSymlinkOnly. If the value of ReparsePointsSymlinkOnly
|
||||
* is FALSE the file system supports full reparse points and this function is expected
|
||||
* to set the reparse point contained in the buffer. If the value of
|
||||
* ReparsePointsSymlinkOnly is TRUE the file system supports symbolic links only
|
||||
* as reparse points and this function is expected to set the symbolic link path contained
|
||||
* in the buffer.
|
||||
*
|
||||
* @param FileSystem
|
||||
* The file system on which this request is posted.
|
||||
* @param Request
|
||||
@ -769,13 +749,6 @@ typedef struct _FSP_FILE_SYSTEM_INTERFACE
|
||||
/**
|
||||
* Delete reparse point.
|
||||
*
|
||||
* The behavior of this function depends on the value of FSP_FSCTL_VOLUME_PARAMS ::
|
||||
* ReparsePointsSymlinkOnly. If the value of ReparsePointsSymlinkOnly
|
||||
* is FALSE the file system supports full reparse points and this function is expected
|
||||
* to delete the reparse point contained in the buffer. If the value of
|
||||
* ReparsePointsSymlinkOnly is TRUE the file system supports symbolic links only
|
||||
* as reparse points and the Buffer and Size arguments will be NULL.
|
||||
*
|
||||
* @param FileSystem
|
||||
* The file system on which this request is posted.
|
||||
* @param Request
|
||||
@ -827,7 +800,6 @@ typedef struct _FSP_FILE_SYSTEM
|
||||
UINT32 DebugLog;
|
||||
FSP_FILE_SYSTEM_OPERATION_GUARD_STRATEGY OpGuardStrategy;
|
||||
SRWLOCK OpGuardLock;
|
||||
UINT32 ReparsePointsSymlinkOnly:1;
|
||||
} FSP_FILE_SYSTEM;
|
||||
/**
|
||||
* Create a file system object.
|
||||
|
Reference in New Issue
Block a user