2.1.2.6 Network File System (NFS) Reparse Data Buffer

The Network File System Reparse Data Buffer data element is a subtype of REPARSE_DATA_BUFFER, which contains information about symbolic files and devices created by the Network File System client.


0


1


2


3


4


5


6


7


8


9

1
0


1


2


3


4


5


6


7


8


9

2
0


1


2


3


4


5


6


7


8


9

3
0


1

ReparseTag

ReparseDataLength

Reserved

GenericReparseBuffer (variable)

...

ReparseTag (4 bytes): A 32-bit unsigned integer value containing the reparse point tag that uniquely identifies the owner (that is, the implementer of the filter driver associated with this ReparseTag) of the reparse point. This value MUST be 0x80000014.

ReparseDataLength (2 bytes): A 16-bit unsigned integer value containing the size, in bytes, of the reparse data that follows the common portion of the REPARSE_DATA_BUFFER element. This value is the length of the data starting at the GenericReparseBuffer field.

Reserved (2 bytes): A 16-bit field. This field is not used. It SHOULD be set to 0 and MUST be ignored.

GenericReparseBuffer (variable): The data in this variable buffer takes the following format.


0


1


2


3


4


5


6


7


8


9

1
0


1


2


3


4


5


6


7


8


9

2
0


1


2


3


4


5


6


7


8


9

3
0


1

Type

...

DataBuffer (variable)

...

Type (8 bytes): A 64-bit unsigned integer value describing the type and format of the data stored in the DataBuffer field. The valid values for this field are:

Value

Meaning

NFS_SPECFILE_LNK

0x00000000014B4E4C

Indicates that the DataBuffer field has a Unicode string containing the symbolic link data.

NFS_SPECFILE_CHR

0x0000000000524843

Indicates that the DataBuffer field has two 32–bit integers that contain the major and minor device numbers for the character special device created by the Network File System client.

NFS_SPECFILE_BLK

0x00000000004B4C42

Indicates that the DataBuffer field has two 32–bit integers that contain the major and minor device numbers for the block special device created by the Network File System client.

NFS_SPECFILE_FIFO

0x000000004F464946

Indicates that the file containing the NFS reparse point is a named pipe device created by the Network File System client. The DataBuffer field is empty.

NFS_SPECFILE_SOCK

0x000000004B434F53

Indicates that the file containing the NFS reparse point is a socket device created by the Network File System client. The DataBuffer field is empty.

DataBuffer (variable): A variable buffer that has the following formats depending upon the Type field defined earlier.

  • NFS_SPECFILE_CHR and NFS_SPECFILE_BLK: The DataBuffer field contains two 32-bit integers that represent major and minor device numbers.

  • NFS_SPECFILE_LNK: The DataBuffer field contains the symbolic link target path specified by the Network File System client in its NFSPROC_SYMLINK request, [RFC1813] section 3.3.10 and [RFC1094] section 2.2.14, represented in Unicode format and not NULL-terminated. The upper limit on the size of the symbolic link data is 2050 bytes.

  • NFS_SPECFILE_FIFO and NFS_SPECFILE_SOCK: The DataBuffer field is empty.