2.2.4 RESP_GET_DFS_REFERRAL

A DFS server responds to a DFS client referral request with the RESP_GET_DFS_REFERRAL message. The fixed-length portion of this message is referred to as the "referral header" in this document. The format of this message is as follows.


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

PathConsumed

NumberOfReferrals

ReferralHeaderFlags

ReferralEntries (variable)

...

StringBuffer (variable)

...

Padding (variable)

...

PathConsumed (2 bytes):  A 16-bit integer indicating the number of bytes—not characters—in the prefix of the referral request path that is matched in the referral response.

NumberOfReferrals (2 bytes):  A 16-bit integer indicating the number of referral entries immediately following the referral header.

ReferralHeaderFlags (4 bytes):  A 32-bit field representing a series of flags that are combined by using the bitwise OR operation. Only the R, S, and T bits are defined and used. The other bits MUST be set to 0 by the server and ignored upon receipt by the client.

Value

Meaning

R

0x00000001

R (ReferralServers): The R bit indicates whether all of the targets in the referral entries returned are DFS root targets capable of handling DFS referral requests.

S

0x00000002

S (StorageServers): The S bit indicates whether all of the targets in the referral response can be accessed without requiring further referral requests.

T

0x00000004

T (TargetFailback): The T bit indicates whether DFS client target failback is enabled for all targets in this referral response. This value MUST be set to 0 by the server and ignored by the client for all DFS referral versions except DFS referral version 4.

ReferralEntries (variable):  As many DFS_REFERRAL_V1, DFS_REFERRAL_V2, DFS_REFERRAL_V3, or DFS_REFERRAL_V4 structures as indicated by the NumberOfReferrals field.

StringBuffer (variable): A list of zero or more null-terminated Unicode character strings.

Padding (variable): The server MAY<2> insert a variable number of padding bytes.