diff options
Diffstat (limited to 'fs/cifs/cifspdu.h')
-rw-r--r-- | fs/cifs/cifspdu.h | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/fs/cifs/cifspdu.h b/fs/cifs/cifspdu.h index aede6a81316..84d37f8e986 100644 --- a/fs/cifs/cifspdu.h +++ b/fs/cifs/cifspdu.h | |||
@@ -59,6 +59,7 @@ | |||
59 | #define TRANS2_FIND_FIRST 0x01 | 59 | #define TRANS2_FIND_FIRST 0x01 |
60 | #define TRANS2_FIND_NEXT 0x02 | 60 | #define TRANS2_FIND_NEXT 0x02 |
61 | #define TRANS2_QUERY_FS_INFORMATION 0x03 | 61 | #define TRANS2_QUERY_FS_INFORMATION 0x03 |
62 | #define TRANS2_SET_FS_INFORMATION 0x04 | ||
62 | #define TRANS2_QUERY_PATH_INFORMATION 0x05 | 63 | #define TRANS2_QUERY_PATH_INFORMATION 0x05 |
63 | #define TRANS2_SET_PATH_INFORMATION 0x06 | 64 | #define TRANS2_SET_PATH_INFORMATION 0x06 |
64 | #define TRANS2_QUERY_FILE_INFORMATION 0x07 | 65 | #define TRANS2_QUERY_FILE_INFORMATION 0x07 |
@@ -1411,6 +1412,43 @@ typedef struct smb_com_transaction_qfsi_rsp { | |||
1411 | __u8 Pad; /* may be three bytes *//* followed by data area */ | 1412 | __u8 Pad; /* may be three bytes *//* followed by data area */ |
1412 | } TRANSACTION2_QFSI_RSP; | 1413 | } TRANSACTION2_QFSI_RSP; |
1413 | 1414 | ||
1415 | |||
1416 | /* SETFSInfo Levels */ | ||
1417 | #define SMB_SET_CIFS_UNIX_INFO 0x200 | ||
1418 | typedef struct smb_com_transaction2_setfsi_req { | ||
1419 | struct smb_hdr hdr; /* wct = 15 */ | ||
1420 | __le16 TotalParameterCount; | ||
1421 | __le16 TotalDataCount; | ||
1422 | __le16 MaxParameterCount; | ||
1423 | __le16 MaxDataCount; | ||
1424 | __u8 MaxSetupCount; | ||
1425 | __u8 Reserved; | ||
1426 | __le16 Flags; | ||
1427 | __le32 Timeout; | ||
1428 | __u16 Reserved2; | ||
1429 | __le16 ParameterCount; /* 4 */ | ||
1430 | __le16 ParameterOffset; | ||
1431 | __le16 DataCount; /* 12 */ | ||
1432 | __le16 DataOffset; | ||
1433 | __u8 SetupCount; /* one */ | ||
1434 | __u8 Reserved3; | ||
1435 | __le16 SubCommand; /* TRANS2_SET_FS_INFORMATION */ | ||
1436 | __le16 ByteCount; | ||
1437 | __u8 Pad; | ||
1438 | __u16 FileNum; /* Parameters start. */ | ||
1439 | __le16 InformationLevel;/* Parameters end. */ | ||
1440 | __le16 ClientUnixMajor; /* Data start. */ | ||
1441 | __le16 ClientUnixMinor; | ||
1442 | __le64 ClientUnixCap; /* Data end */ | ||
1443 | } TRANSACTION2_SETFSI_REQ; | ||
1444 | |||
1445 | typedef struct smb_com_transaction2_setfsi_rsp { | ||
1446 | struct smb_hdr hdr; /* wct = 10 */ | ||
1447 | struct trans2_resp t2; | ||
1448 | __u16 ByteCount; | ||
1449 | } TRANSACTION2_SETFSI_RSP; | ||
1450 | |||
1451 | |||
1414 | typedef struct smb_com_transaction2_get_dfs_refer_req { | 1452 | typedef struct smb_com_transaction2_get_dfs_refer_req { |
1415 | struct smb_hdr hdr; /* wct = 15 */ | 1453 | struct smb_hdr hdr; /* wct = 15 */ |
1416 | __le16 TotalParameterCount; | 1454 | __le16 TotalParameterCount; |
@@ -1551,12 +1589,20 @@ typedef struct { | |||
1551 | __le16 MinorVersionNumber; | 1589 | __le16 MinorVersionNumber; |
1552 | __le64 Capability; | 1590 | __le64 Capability; |
1553 | } FILE_SYSTEM_UNIX_INFO; /* Unix extensions info, level 0x200 */ | 1591 | } FILE_SYSTEM_UNIX_INFO; /* Unix extensions info, level 0x200 */ |
1592 | |||
1593 | /* Version numbers for CIFS UNIX major and minor. */ | ||
1594 | #define CIFS_UNIX_MAJOR_VERSION 1 | ||
1595 | #define CIFS_UNIX_MINOR_VERSION 0 | ||
1596 | |||
1554 | /* Linux/Unix extensions capability flags */ | 1597 | /* Linux/Unix extensions capability flags */ |
1555 | #define CIFS_UNIX_FCNTL_CAP 0x00000001 /* support for fcntl locks */ | 1598 | #define CIFS_UNIX_FCNTL_CAP 0x00000001 /* support for fcntl locks */ |
1556 | #define CIFS_UNIX_POSIX_ACL_CAP 0x00000002 /* support getfacl/setfacl */ | 1599 | #define CIFS_UNIX_POSIX_ACL_CAP 0x00000002 /* support getfacl/setfacl */ |
1557 | #define CIFS_UNIX_XATTR_CAP 0x00000004 /* support new namespace */ | 1600 | #define CIFS_UNIX_XATTR_CAP 0x00000004 /* support new namespace */ |
1558 | #define CIFS_UNIX_EXTATTR_CAP 0x00000008 /* support chattr/chflag */ | 1601 | #define CIFS_UNIX_EXTATTR_CAP 0x00000008 /* support chattr/chflag */ |
1602 | #define CIFS_UNIX_POSIX_PATHNAMES_CAP 0x00000010 /* Use POSIX pathnames on the wire. */ | ||
1603 | |||
1559 | #define CIFS_POSIX_EXTENSIONS 0x00000010 /* support for new QFSInfo */ | 1604 | #define CIFS_POSIX_EXTENSIONS 0x00000010 /* support for new QFSInfo */ |
1605 | |||
1560 | typedef struct { | 1606 | typedef struct { |
1561 | /* For undefined recommended transfer size return -1 in that field */ | 1607 | /* For undefined recommended transfer size return -1 in that field */ |
1562 | __le32 OptimalTransferSize; /* bsize on some os, iosize on other os */ | 1608 | __le32 OptimalTransferSize; /* bsize on some os, iosize on other os */ |