CIFS Flags

The two CIFS flags header fields Flags1 and Flags2 represent attributes of the request and response messages, and of the server connection.

The following table lists bits for the Flags1 field.

Bit Meaning
0 Reserved for obsolescent requests. (LOCK_AND_READ, WRITE_AND_CLOSE)
1 Reserved (must be zero).
2 Reserved (must be zero).
3 When on, all paths in this SMB must be treated as case-less. When off, the path names are case-sensitive.
4 Reserved (clients must send as zero; servers must ignore).
5 Reserved for obsolescent requests. (SMB_COM_OPEN, SMB_COM_CREATE and SMB_COM_CREATE_NEW)
6 Reserved for obsolescent requests. (SMB_COM_OPEN, SMB_COM_CREATE and SMB_COM_CREATE_NEW)
7 SMB_FLAGS_SERVER_TO_REDIR
When on, this SMB is being sent from the server in response to a client request. The Command field usually contains the same value in a protocol request from the client to the server as in the matching response from the server to the client. This bit unambiguously distinguishes the command request from the command response.

The following table lists bits for the Flags2 field.

Bit Meaning
0 KNOWS_LONG_NAMES
If set in a request, the server may return long components in paths in the response.
1 KNOWS_EAS
If set, the client is aware of extended attributes.
2 SECURITY_SIGNATURE
If set, the client is security signature-enabled.
3 COMPRESSED
Compressed.
4 RESERVED
Reserved.
5 IS_LONG_NAME
Is a Long Name.
11 EXT_SEC
If set, the client is aware of Extended Security.
12 DFS
If set, any request paths in this SMB should be resolved in the Distributed File System.
13 PAGING_IO
If set, this flag indicates that a read operation will be permitted if the client does not have read permission but does have execute permission. This flag is only useful on a read request.
14 ERR_STATUS
If set, this flag specifies that the returned error code is a 32-bit error code in Status.Status. Otherwise, the Status.DosError.ErrorClass and Status.DosError.Error fields contain the DOS-style error information. When passing Windows NT status codes is negotiated, this flag should be set for every SMB.
15 UNICODE
If set, any fields of datatype STRING in this SMB message are encoded as UNICODE. Otherwise, they are in ASCII.

See Also

Royalty-Free CIFS Technical Reference License Agreement