UNIX Extensions: Difference between revisions
From SambaWiki
Line 13: | Line 13: | ||
|} |
|} |
||
in the reply to a trans2 qfsinfo (TRANSACT2_QFSINFO 0x03) info level SMB_QUERY_CIFS_UNIX_INFO (0x200) call. |
in the reply to a trans2 qfsinfo (TRANSACT2_QFSINFO 0x03) info level SMB_QUERY_CIFS_UNIX_INFO (0x200) call. All values are little endian. |
||
For open, call TRANSACT2_SETPATHINFO (0x06) call info level : |
For open, call TRANSACT2_SETPATHINFO (0x06) call info level : |
||
Line 19: | Line 19: | ||
SMB_POSIX_PATH_OPEN 0x209 |
SMB_POSIX_PATH_OPEN 0x209 |
||
The request data block should be 14 bytes consisting of |
The request data block should be 14 bytes consisting of the following : |
||
the following : |
|||
{| |
{| |
||
Line 32: | Line 31: | ||
|- |
|- |
||
||2 bytes || 12 || Reply info level requested (see below) |
||2 bytes || 12 || Reply info level requested (see below) |
||
|} |
|||
Encodings are as follows : |
|||
{| |
|||
!POSIX open flags !! Value |
|||
|- |
|||
|| SMB_O_RDONLY || 0x1 |
|||
|- |
|||
|| SMB_O_WRONLY || 0x2 |
|||
|- |
|||
|| SMB_O_RDWR || 0x4 |
|||
|- |
|||
||SMB_O_CREAT || 0x10 |
|||
|- |
|||
|| SMB_O_EXCL || 0x20 |
|||
|- |
|||
|| SMB_O_TRUNC || 0x40 |
|||
|- |
|||
|| SMB_O_APPEND || 0x80 |
|||
|- |
|||
|| SMB_O_SYNC || 0x100 |
|||
|- |
|||
|| SMB_O_DIRECTORY || 0x200 |
|||
|- |
|||
|| SMB_O_NOFOLLOW || 0x400 |
|||
|- |
|||
|| SMB_O_DIRECT || 0x800 |
|||
|} |
|} |
||
Revision as of 22:00, 7 February 2007
See http://samba.org/samba/CIFS_POSIX_extensions.html
All Unix extensions are TRANSACT2 commands in the range from 0x200 to 0x2FF (inclusive).
PosixOpen
Server specifies it can serve these by returning :
Capability | Value |
---|---|
CIFS_UNIX_POSIX_PATH_OPERATIONS_CAP | 0x20 |
in the reply to a trans2 qfsinfo (TRANSACT2_QFSINFO 0x03) info level SMB_QUERY_CIFS_UNIX_INFO (0x200) call. All values are little endian.
For open, call TRANSACT2_SETPATHINFO (0x06) call info level :
SMB_POSIX_PATH_OPEN 0x209
The request data block should be 14 bytes consisting of the following :
Size | Offset | Value |
---|---|---|
4 bytes | 0 | Flags field (same as smb_ntcreate_flags in SMBNTCreateX to request oplocks) |
4 bytes | 4 | POSIX open flags (see below) |
4 bytes | 8 | POSIX mode_t (see below) |
2 bytes | 12 | Reply info level requested (see below) |
Encodings are as follows :
POSIX open flags | Value |
---|---|
SMB_O_RDONLY | 0x1 |
SMB_O_WRONLY | 0x2 |
SMB_O_RDWR | 0x4 |
SMB_O_CREAT | 0x10 |
SMB_O_EXCL | 0x20 |
SMB_O_TRUNC | 0x40 |
SMB_O_APPEND | 0x80 |
SMB_O_SYNC | 0x100 |
SMB_O_DIRECTORY | 0x200 |
SMB_O_NOFOLLOW | 0x400 |
SMB_O_DIRECT | 0x800 |
Negotiating Capabilities
Capability | Value |
---|---|
CIFS_UNIX_FCNLT_LOCKS_CAP | 0x01 |
CIFS_UNIX_POSIX_ACLS_CAP | 0x02 |
CIFS_UNIX_XATTR_CAP | 0x04 |
CIFS_UNIX_EXATTR_CAP | 0x08 |
CIFS_UNIX_POSIX_PATH_OPERATIONS_CAP | 0x20 |