Lines Matching refs:pSMB

375 static int validate_t2(struct smb_t2_rsp *pSMB)  in validate_t2()  argument
380 if (pSMB->hdr.WordCount < 10) in validate_t2()
384 if (get_unaligned_le16(&pSMB->t2_rsp.ParameterOffset) > 1024 || in validate_t2()
385 get_unaligned_le16(&pSMB->t2_rsp.DataOffset) > 1024) in validate_t2()
388 total_size = get_unaligned_le16(&pSMB->t2_rsp.ParameterCount); in validate_t2()
395 total_size += get_unaligned_le16(&pSMB->t2_rsp.DataCount); in validate_t2()
396 if (total_size > get_bcc(&pSMB->hdr) || in validate_t2()
402 cifs_dump_mem("Invalid transact2 SMB: ", (char *)pSMB, in validate_t2()
593 NEGOTIATE_REQ *pSMB; in CIFSSMBNegotiate() local
607 (void **) &pSMB, (void **) &pSMBr); in CIFSSMBNegotiate()
611 pSMB->hdr.Mid = get_next_mid(server); in CIFSSMBNegotiate()
612 pSMB->hdr.Flags2 |= (SMBFLG2_UNICODE | SMBFLG2_ERR_STATUS); in CIFSSMBNegotiate()
616 pSMB->hdr.Flags2 |= SMBFLG2_EXT_SEC; in CIFSSMBNegotiate()
627 memcpy(pSMB->DialectsArray+count, protocols[i].name, len); in CIFSSMBNegotiate()
630 inc_rfc1001_len(pSMB, count); in CIFSSMBNegotiate()
631 pSMB->ByteCount = cpu_to_le16(count); in CIFSSMBNegotiate()
633 rc = SendReceive(xid, ses, (struct smb_hdr *) pSMB, in CIFSSMBNegotiate()
696 cifs_buf_release(pSMB); in CIFSSMBNegotiate()
802 LOGOFF_ANDX_REQ *pSMB; in CIFSSMBLogoff() local
819 rc = small_smb_init(SMB_COM_LOGOFF_ANDX, 2, NULL, (void **)&pSMB); in CIFSSMBLogoff()
825 pSMB->hdr.Mid = get_next_mid(ses->server); in CIFSSMBLogoff()
828 pSMB->hdr.Flags2 |= SMBFLG2_SECURITY_SIGNATURE; in CIFSSMBLogoff()
830 pSMB->hdr.Uid = ses->Suid; in CIFSSMBLogoff()
832 pSMB->AndXCommand = 0xFF; in CIFSSMBLogoff()
833 rc = SendReceiveNoRsp(xid, ses, (char *) pSMB, 0); in CIFSSMBLogoff()
834 cifs_small_buf_release(pSMB); in CIFSSMBLogoff()
851 TRANSACTION2_SPI_REQ *pSMB = NULL; in CIFSPOSIXDelFile() local
861 rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, in CIFSPOSIXDelFile()
866 if (pSMB->hdr.Flags2 & SMBFLG2_UNICODE) { in CIFSPOSIXDelFile()
868 cifsConvertToUTF16((__le16 *) pSMB->FileName, fileName, in CIFSPOSIXDelFile()
873 name_len = copy_path_name(pSMB->FileName, fileName); in CIFSPOSIXDelFile()
877 pSMB->MaxParameterCount = cpu_to_le16(2); in CIFSPOSIXDelFile()
878 pSMB->MaxDataCount = 0; /* BB double check this with jra */ in CIFSPOSIXDelFile()
879 pSMB->MaxSetupCount = 0; in CIFSPOSIXDelFile()
880 pSMB->Reserved = 0; in CIFSPOSIXDelFile()
881 pSMB->Flags = 0; in CIFSPOSIXDelFile()
882 pSMB->Timeout = 0; in CIFSPOSIXDelFile()
883 pSMB->Reserved2 = 0; in CIFSPOSIXDelFile()
889 pRqD = (struct unlink_psx_rq *)(((char *)&pSMB->hdr.Protocol) + offset); in CIFSPOSIXDelFile()
891 pSMB->ParameterOffset = cpu_to_le16(param_offset); in CIFSPOSIXDelFile()
892 pSMB->DataOffset = cpu_to_le16(offset); in CIFSPOSIXDelFile()
893 pSMB->SetupCount = 1; in CIFSPOSIXDelFile()
894 pSMB->Reserved3 = 0; in CIFSPOSIXDelFile()
895 pSMB->SubCommand = cpu_to_le16(TRANS2_SET_PATH_INFORMATION); in CIFSPOSIXDelFile()
898 pSMB->DataCount = cpu_to_le16(sizeof(struct unlink_psx_rq)); in CIFSPOSIXDelFile()
899 pSMB->TotalDataCount = cpu_to_le16(sizeof(struct unlink_psx_rq)); in CIFSPOSIXDelFile()
900 pSMB->ParameterCount = cpu_to_le16(params); in CIFSPOSIXDelFile()
901 pSMB->TotalParameterCount = pSMB->ParameterCount; in CIFSPOSIXDelFile()
902 pSMB->InformationLevel = cpu_to_le16(SMB_POSIX_UNLINK); in CIFSPOSIXDelFile()
903 pSMB->Reserved4 = 0; in CIFSPOSIXDelFile()
904 inc_rfc1001_len(pSMB, byte_count); in CIFSPOSIXDelFile()
905 pSMB->ByteCount = cpu_to_le16(byte_count); in CIFSPOSIXDelFile()
906 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSPOSIXDelFile()
910 cifs_buf_release(pSMB); in CIFSPOSIXDelFile()
924 DELETE_FILE_REQ *pSMB = NULL; in CIFSSMBDelFile() local
932 rc = smb_init(SMB_COM_DELETE, 1, tcon, (void **) &pSMB, in CIFSSMBDelFile()
937 if (pSMB->hdr.Flags2 & SMBFLG2_UNICODE) { in CIFSSMBDelFile()
938 name_len = cifsConvertToUTF16((__le16 *) pSMB->fileName, name, in CIFSSMBDelFile()
944 name_len = copy_path_name(pSMB->fileName, name); in CIFSSMBDelFile()
946 pSMB->SearchAttributes = in CIFSSMBDelFile()
948 pSMB->BufferFormat = 0x04; in CIFSSMBDelFile()
949 inc_rfc1001_len(pSMB, name_len + 1); in CIFSSMBDelFile()
950 pSMB->ByteCount = cpu_to_le16(name_len + 1); in CIFSSMBDelFile()
951 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSSMBDelFile()
957 cifs_buf_release(pSMB); in CIFSSMBDelFile()
968 DELETE_DIRECTORY_REQ *pSMB = NULL; in CIFSSMBRmDir() local
977 rc = smb_init(SMB_COM_DELETE_DIRECTORY, 0, tcon, (void **) &pSMB, in CIFSSMBRmDir()
982 if (pSMB->hdr.Flags2 & SMBFLG2_UNICODE) { in CIFSSMBRmDir()
983 name_len = cifsConvertToUTF16((__le16 *) pSMB->DirName, name, in CIFSSMBRmDir()
989 name_len = copy_path_name(pSMB->DirName, name); in CIFSSMBRmDir()
992 pSMB->BufferFormat = 0x04; in CIFSSMBRmDir()
993 inc_rfc1001_len(pSMB, name_len + 1); in CIFSSMBRmDir()
994 pSMB->ByteCount = cpu_to_le16(name_len + 1); in CIFSSMBRmDir()
995 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSSMBRmDir()
1001 cifs_buf_release(pSMB); in CIFSSMBRmDir()
1013 CREATE_DIRECTORY_REQ *pSMB = NULL; in CIFSSMBMkDir() local
1021 rc = smb_init(SMB_COM_CREATE_DIRECTORY, 0, tcon, (void **) &pSMB, in CIFSSMBMkDir()
1026 if (pSMB->hdr.Flags2 & SMBFLG2_UNICODE) { in CIFSSMBMkDir()
1027 name_len = cifsConvertToUTF16((__le16 *) pSMB->DirName, name, in CIFSSMBMkDir()
1033 name_len = copy_path_name(pSMB->DirName, name); in CIFSSMBMkDir()
1036 pSMB->BufferFormat = 0x04; in CIFSSMBMkDir()
1037 inc_rfc1001_len(pSMB, name_len + 1); in CIFSSMBMkDir()
1038 pSMB->ByteCount = cpu_to_le16(name_len + 1); in CIFSSMBMkDir()
1039 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSSMBMkDir()
1045 cifs_buf_release(pSMB); in CIFSSMBMkDir()
1058 TRANSACTION2_SPI_REQ *pSMB = NULL; in CIFSPOSIXCreate() local
1069 rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, in CIFSPOSIXCreate()
1074 if (pSMB->hdr.Flags2 & SMBFLG2_UNICODE) { in CIFSPOSIXCreate()
1076 cifsConvertToUTF16((__le16 *) pSMB->FileName, name, in CIFSPOSIXCreate()
1081 name_len = copy_path_name(pSMB->FileName, name); in CIFSPOSIXCreate()
1086 pSMB->MaxParameterCount = cpu_to_le16(2); in CIFSPOSIXCreate()
1087 pSMB->MaxDataCount = cpu_to_le16(1000); /* large enough */ in CIFSPOSIXCreate()
1088 pSMB->MaxSetupCount = 0; in CIFSPOSIXCreate()
1089 pSMB->Reserved = 0; in CIFSPOSIXCreate()
1090 pSMB->Flags = 0; in CIFSPOSIXCreate()
1091 pSMB->Timeout = 0; in CIFSPOSIXCreate()
1092 pSMB->Reserved2 = 0; in CIFSPOSIXCreate()
1096 pdata = (OPEN_PSX_REQ *)(((char *)&pSMB->hdr.Protocol) + offset); in CIFSPOSIXCreate()
1101 pSMB->ParameterOffset = cpu_to_le16(param_offset); in CIFSPOSIXCreate()
1102 pSMB->DataOffset = cpu_to_le16(offset); in CIFSPOSIXCreate()
1103 pSMB->SetupCount = 1; in CIFSPOSIXCreate()
1104 pSMB->Reserved3 = 0; in CIFSPOSIXCreate()
1105 pSMB->SubCommand = cpu_to_le16(TRANS2_SET_PATH_INFORMATION); in CIFSPOSIXCreate()
1108 pSMB->DataCount = cpu_to_le16(count); in CIFSPOSIXCreate()
1109 pSMB->ParameterCount = cpu_to_le16(params); in CIFSPOSIXCreate()
1110 pSMB->TotalDataCount = pSMB->DataCount; in CIFSPOSIXCreate()
1111 pSMB->TotalParameterCount = pSMB->ParameterCount; in CIFSPOSIXCreate()
1112 pSMB->InformationLevel = cpu_to_le16(SMB_POSIX_OPEN); in CIFSPOSIXCreate()
1113 pSMB->Reserved4 = 0; in CIFSPOSIXCreate()
1114 inc_rfc1001_len(pSMB, byte_count); in CIFSPOSIXCreate()
1115 pSMB->ByteCount = cpu_to_le16(byte_count); in CIFSPOSIXCreate()
1116 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSPOSIXCreate()
1159 cifs_buf_release(pSMB); in CIFSPOSIXCreate()
1224 OPENX_REQ *pSMB = NULL; in SMBLegacyOpen() local
1231 rc = smb_init(SMB_COM_OPEN_ANDX, 15, tcon, (void **) &pSMB, in SMBLegacyOpen()
1236 pSMB->AndXCommand = 0xFF; /* none */ in SMBLegacyOpen()
1238 if (pSMB->hdr.Flags2 & SMBFLG2_UNICODE) { in SMBLegacyOpen()
1241 cifsConvertToUTF16((__le16 *) (pSMB->fileName + 1), in SMBLegacyOpen()
1247 name_len = copy_path_name(pSMB->fileName, fileName); in SMBLegacyOpen()
1250 pSMB->OpenFlags = cpu_to_le16(REQ_OPLOCK); in SMBLegacyOpen()
1252 pSMB->OpenFlags = cpu_to_le16(REQ_BATCHOPLOCK); in SMBLegacyOpen()
1254 pSMB->OpenFlags |= cpu_to_le16(REQ_MORE_INFO); in SMBLegacyOpen()
1255 pSMB->Mode = cpu_to_le16(access_flags_to_smbopen_mode(access_flags)); in SMBLegacyOpen()
1256 pSMB->Mode |= cpu_to_le16(0x40); /* deny none */ in SMBLegacyOpen()
1262 pSMB->FileAttributes = cpu_to_le16(ATTR_SYSTEM); in SMBLegacyOpen()
1264 pSMB->FileAttributes = cpu_to_le16(0/*ATTR_NORMAL*/); in SMBLegacyOpen()
1267 pSMB->FileAttributes |= cpu_to_le16(ATTR_READONLY); in SMBLegacyOpen()
1274 pSMB->Sattr = cpu_to_le16(ATTR_HIDDEN | ATTR_SYSTEM | ATTR_DIRECTORY); in SMBLegacyOpen()
1275 pSMB->OpenFunction = cpu_to_le16(convert_disposition(openDisposition)); in SMBLegacyOpen()
1277 inc_rfc1001_len(pSMB, count); in SMBLegacyOpen()
1279 pSMB->ByteCount = cpu_to_le16(count); in SMBLegacyOpen()
1280 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in SMBLegacyOpen()
1314 cifs_buf_release(pSMB); in SMBLegacyOpen()
1744 READ_REQ *pSMB = NULL; in CIFSSMBRead() local
1769 rc = small_smb_init(SMB_COM_READ_ANDX, wct, tcon, (void **) &pSMB); in CIFSSMBRead()
1773 pSMB->hdr.Pid = cpu_to_le16((__u16)pid); in CIFSSMBRead()
1774 pSMB->hdr.PidHigh = cpu_to_le16((__u16)(pid >> 16)); in CIFSSMBRead()
1780 pSMB->AndXCommand = 0xFF; /* none */ in CIFSSMBRead()
1781 pSMB->Fid = netfid; in CIFSSMBRead()
1782 pSMB->OffsetLow = cpu_to_le32(offset & 0xFFFFFFFF); in CIFSSMBRead()
1784 pSMB->OffsetHigh = cpu_to_le32(offset >> 32); in CIFSSMBRead()
1786 pSMB->Remaining = 0; in CIFSSMBRead()
1787 pSMB->MaxCount = cpu_to_le16(count & 0xFFFF); in CIFSSMBRead()
1788 pSMB->MaxCountHigh = cpu_to_le32(count >> 16); in CIFSSMBRead()
1790 pSMB->ByteCount = 0; /* no need to do le conversion since 0 */ in CIFSSMBRead()
1794 (struct smb_com_readx_req *)pSMB; in CIFSSMBRead()
1798 iov[0].iov_base = (char *)pSMB; in CIFSSMBRead()
1799 iov[0].iov_len = be32_to_cpu(pSMB->hdr.smb_buf_length) + 4; in CIFSSMBRead()
1802 cifs_small_buf_release(pSMB); in CIFSSMBRead()
1854 WRITE_REQ *pSMB = NULL; in CIFSSMBWrite() local
1881 rc = smb_init(SMB_COM_WRITE_ANDX, wct, tcon, (void **) &pSMB, in CIFSSMBWrite()
1886 pSMB->hdr.Pid = cpu_to_le16((__u16)pid); in CIFSSMBWrite()
1887 pSMB->hdr.PidHigh = cpu_to_le16((__u16)(pid >> 16)); in CIFSSMBWrite()
1893 pSMB->AndXCommand = 0xFF; /* none */ in CIFSSMBWrite()
1894 pSMB->Fid = netfid; in CIFSSMBWrite()
1895 pSMB->OffsetLow = cpu_to_le32(offset & 0xFFFFFFFF); in CIFSSMBWrite()
1897 pSMB->OffsetHigh = cpu_to_le32(offset >> 32); in CIFSSMBWrite()
1899 pSMB->Reserved = 0xFFFFFFFF; in CIFSSMBWrite()
1900 pSMB->WriteMode = 0; in CIFSSMBWrite()
1901 pSMB->Remaining = 0; in CIFSSMBWrite()
1916 pSMB->DataOffset = in CIFSSMBWrite()
1919 memcpy(pSMB->Data, buf, bytes_sent); in CIFSSMBWrite()
1922 cifs_buf_release(pSMB); in CIFSSMBWrite()
1930 pSMB->DataLengthLow = cpu_to_le16(bytes_sent & 0xFFFF); in CIFSSMBWrite()
1931 pSMB->DataLengthHigh = cpu_to_le16(bytes_sent >> 16); in CIFSSMBWrite()
1932 inc_rfc1001_len(pSMB, byte_count); in CIFSSMBWrite()
1935 pSMB->ByteCount = cpu_to_le16(byte_count); in CIFSSMBWrite()
1939 (struct smb_com_writex_req *)pSMB; in CIFSSMBWrite()
1943 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSSMBWrite()
1962 cifs_buf_release(pSMB); in CIFSSMBWrite()
2288 WRITE_REQ *pSMB = NULL; in CIFSSMBWrite2() local
2312 rc = small_smb_init(SMB_COM_WRITE_ANDX, wct, tcon, (void **) &pSMB); in CIFSSMBWrite2()
2316 pSMB->hdr.Pid = cpu_to_le16((__u16)pid); in CIFSSMBWrite2()
2317 pSMB->hdr.PidHigh = cpu_to_le16((__u16)(pid >> 16)); in CIFSSMBWrite2()
2323 pSMB->AndXCommand = 0xFF; /* none */ in CIFSSMBWrite2()
2324 pSMB->Fid = netfid; in CIFSSMBWrite2()
2325 pSMB->OffsetLow = cpu_to_le32(offset & 0xFFFFFFFF); in CIFSSMBWrite2()
2327 pSMB->OffsetHigh = cpu_to_le32(offset >> 32); in CIFSSMBWrite2()
2328 pSMB->Reserved = 0xFFFFFFFF; in CIFSSMBWrite2()
2329 pSMB->WriteMode = 0; in CIFSSMBWrite2()
2330 pSMB->Remaining = 0; in CIFSSMBWrite2()
2332 pSMB->DataOffset = in CIFSSMBWrite2()
2335 pSMB->DataLengthLow = cpu_to_le16(count & 0xFFFF); in CIFSSMBWrite2()
2336 pSMB->DataLengthHigh = cpu_to_le16(count >> 16); in CIFSSMBWrite2()
2338 smb_hdr_len = be32_to_cpu(pSMB->hdr.smb_buf_length) + 1; in CIFSSMBWrite2()
2340 inc_rfc1001_len(pSMB, count + 1); in CIFSSMBWrite2()
2342 inc_rfc1001_len(pSMB, count + 5); /* smb data starts later */ in CIFSSMBWrite2()
2344 pSMB->ByteCount = cpu_to_le16(count + 1); in CIFSSMBWrite2()
2347 (struct smb_com_writex_req *)pSMB; in CIFSSMBWrite2()
2350 iov[0].iov_base = pSMB; in CIFSSMBWrite2()
2358 cifs_small_buf_release(pSMB); in CIFSSMBWrite2()
2393 LOCK_REQ *pSMB = NULL; in cifs_lockv() local
2402 rc = small_smb_init(SMB_COM_LOCKING_ANDX, 8, tcon, (void **) &pSMB); in cifs_lockv()
2406 pSMB->Timeout = 0; in cifs_lockv()
2407 pSMB->NumberOfLocks = cpu_to_le16(num_lock); in cifs_lockv()
2408 pSMB->NumberOfUnlocks = cpu_to_le16(num_unlock); in cifs_lockv()
2409 pSMB->LockType = lock_type; in cifs_lockv()
2410 pSMB->AndXCommand = 0xFF; /* none */ in cifs_lockv()
2411 pSMB->Fid = netfid; /* netfid stays le */ in cifs_lockv()
2414 inc_rfc1001_len(pSMB, count); in cifs_lockv()
2415 pSMB->ByteCount = cpu_to_le16(count); in cifs_lockv()
2417 iov[0].iov_base = (char *)pSMB; in cifs_lockv()
2418 iov[0].iov_len = be32_to_cpu(pSMB->hdr.smb_buf_length) + 4 - in cifs_lockv()
2426 cifs_small_buf_release(pSMB); in cifs_lockv()
2441 LOCK_REQ *pSMB = NULL; in CIFSSMBLock() local
2449 rc = small_smb_init(SMB_COM_LOCKING_ANDX, 8, tcon, (void **) &pSMB); in CIFSSMBLock()
2457 pSMB->Timeout = 0; in CIFSSMBLock()
2460 pSMB->Timeout = cpu_to_le32(-1);/* blocking - do not time out */ in CIFSSMBLock()
2462 pSMB->Timeout = 0; in CIFSSMBLock()
2465 pSMB->NumberOfLocks = cpu_to_le16(numLock); in CIFSSMBLock()
2466 pSMB->NumberOfUnlocks = cpu_to_le16(numUnlock); in CIFSSMBLock()
2467 pSMB->LockType = lockType; in CIFSSMBLock()
2468 pSMB->OplockLevel = oplock_level; in CIFSSMBLock()
2469 pSMB->AndXCommand = 0xFF; /* none */ in CIFSSMBLock()
2470 pSMB->Fid = smb_file_id; /* netfid stays le */ in CIFSSMBLock()
2473 pSMB->Locks[0].Pid = cpu_to_le16(netpid); in CIFSSMBLock()
2475 pSMB->Locks[0].LengthLow = cpu_to_le32((u32)len); in CIFSSMBLock()
2476 pSMB->Locks[0].LengthHigh = cpu_to_le32((u32)(len>>32)); in CIFSSMBLock()
2477 pSMB->Locks[0].OffsetLow = cpu_to_le32((u32)offset); in CIFSSMBLock()
2478 pSMB->Locks[0].OffsetHigh = cpu_to_le32((u32)(offset>>32)); in CIFSSMBLock()
2484 inc_rfc1001_len(pSMB, count); in CIFSSMBLock()
2485 pSMB->ByteCount = cpu_to_le16(count); in CIFSSMBLock()
2488 rc = SendReceiveBlockingLock(xid, tcon, (struct smb_hdr *) pSMB, in CIFSSMBLock()
2489 (struct smb_hdr *) pSMB, &bytes_returned); in CIFSSMBLock()
2491 rc = SendReceiveNoRsp(xid, tcon->ses, (char *)pSMB, flags); in CIFSSMBLock()
2492 cifs_small_buf_release(pSMB); in CIFSSMBLock()
2509 struct smb_com_transaction2_sfi_req *pSMB = NULL; in CIFSSMBPosixLock() local
2522 rc = small_smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB); in CIFSSMBPosixLock()
2527 pSMBr = (struct smb_com_transaction2_sfi_rsp *)pSMB; in CIFSSMBPosixLock()
2530 pSMB->MaxSetupCount = 0; in CIFSSMBPosixLock()
2531 pSMB->Reserved = 0; in CIFSSMBPosixLock()
2532 pSMB->Flags = 0; in CIFSSMBPosixLock()
2533 pSMB->Reserved2 = 0; in CIFSSMBPosixLock()
2538 pSMB->MaxParameterCount = cpu_to_le16(2); in CIFSSMBPosixLock()
2539 pSMB->MaxDataCount = cpu_to_le16(1000); /* BB find max SMB from sess */ in CIFSSMBPosixLock()
2540 pSMB->SetupCount = 1; in CIFSSMBPosixLock()
2541 pSMB->Reserved3 = 0; in CIFSSMBPosixLock()
2543 pSMB->SubCommand = cpu_to_le16(TRANS2_QUERY_FILE_INFORMATION); in CIFSSMBPosixLock()
2545 pSMB->SubCommand = cpu_to_le16(TRANS2_SET_FILE_INFORMATION); in CIFSSMBPosixLock()
2547 pSMB->DataCount = cpu_to_le16(count); in CIFSSMBPosixLock()
2548 pSMB->ParameterCount = cpu_to_le16(params); in CIFSSMBPosixLock()
2549 pSMB->TotalDataCount = pSMB->DataCount; in CIFSSMBPosixLock()
2550 pSMB->TotalParameterCount = pSMB->ParameterCount; in CIFSSMBPosixLock()
2551 pSMB->ParameterOffset = cpu_to_le16(param_offset); in CIFSSMBPosixLock()
2553 (((char *) &pSMB->hdr.Protocol) + offset); in CIFSSMBPosixLock()
2559 pSMB->Timeout = cpu_to_le32(-1); in CIFSSMBPosixLock()
2561 pSMB->Timeout = 0; in CIFSSMBPosixLock()
2567 pSMB->DataOffset = cpu_to_le16(offset); in CIFSSMBPosixLock()
2568 pSMB->Fid = smb_file_id; in CIFSSMBPosixLock()
2569 pSMB->InformationLevel = cpu_to_le16(SMB_SET_POSIX_LOCK); in CIFSSMBPosixLock()
2570 pSMB->Reserved4 = 0; in CIFSSMBPosixLock()
2571 inc_rfc1001_len(pSMB, byte_count); in CIFSSMBPosixLock()
2572 pSMB->ByteCount = cpu_to_le16(byte_count); in CIFSSMBPosixLock()
2574 rc = SendReceiveBlockingLock(xid, tcon, (struct smb_hdr *) pSMB, in CIFSSMBPosixLock()
2577 iov[0].iov_base = (char *)pSMB; in CIFSSMBPosixLock()
2578 iov[0].iov_len = be32_to_cpu(pSMB->hdr.smb_buf_length) + 4; in CIFSSMBPosixLock()
2583 cifs_small_buf_release(pSMB); in CIFSSMBPosixLock()
2636 CLOSE_REQ *pSMB = NULL; in CIFSSMBClose() local
2640 rc = small_smb_init(SMB_COM_CLOSE, 3, tcon, (void **) &pSMB); in CIFSSMBClose()
2646 pSMB->FileID = (__u16) smb_file_id; in CIFSSMBClose()
2647 pSMB->LastWriteTime = 0xFFFFFFFF; in CIFSSMBClose()
2648 pSMB->ByteCount = 0; in CIFSSMBClose()
2649 rc = SendReceiveNoRsp(xid, tcon->ses, (char *) pSMB, 0); in CIFSSMBClose()
2650 cifs_small_buf_release(pSMB); in CIFSSMBClose()
2670 FLUSH_REQ *pSMB = NULL; in CIFSSMBFlush() local
2673 rc = small_smb_init(SMB_COM_FLUSH, 1, tcon, (void **) &pSMB); in CIFSSMBFlush()
2677 pSMB->FileID = (__u16) smb_file_id; in CIFSSMBFlush()
2678 pSMB->ByteCount = 0; in CIFSSMBFlush()
2679 rc = SendReceiveNoRsp(xid, tcon->ses, (char *) pSMB, 0); in CIFSSMBFlush()
2680 cifs_small_buf_release(pSMB); in CIFSSMBFlush()
2694 RENAME_REQ *pSMB = NULL; in CIFSSMBRename() local
2703 rc = smb_init(SMB_COM_RENAME, 1, tcon, (void **) &pSMB, in CIFSSMBRename()
2708 pSMB->BufferFormat = 0x04; in CIFSSMBRename()
2709 pSMB->SearchAttributes = in CIFSSMBRename()
2713 if (pSMB->hdr.Flags2 & SMBFLG2_UNICODE) { in CIFSSMBRename()
2714 name_len = cifsConvertToUTF16((__le16 *) pSMB->OldFileName, in CIFSSMBRename()
2719 pSMB->OldFileName[name_len] = 0x04; /* pad */ in CIFSSMBRename()
2721 pSMB->OldFileName[name_len + 1] = 0x00; in CIFSSMBRename()
2723 cifsConvertToUTF16((__le16 *)&pSMB->OldFileName[name_len+2], in CIFSSMBRename()
2729 name_len = copy_path_name(pSMB->OldFileName, from_name); in CIFSSMBRename()
2730 name_len2 = copy_path_name(pSMB->OldFileName+name_len+1, to_name); in CIFSSMBRename()
2731 pSMB->OldFileName[name_len] = 0x04; /* 2nd buffer format */ in CIFSSMBRename()
2736 inc_rfc1001_len(pSMB, count); in CIFSSMBRename()
2737 pSMB->ByteCount = cpu_to_le16(count); in CIFSSMBRename()
2739 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSSMBRename()
2745 cifs_buf_release(pSMB); in CIFSSMBRename()
2757 struct smb_com_transaction2_sfi_req *pSMB = NULL; in CIFSSMBRenameOpenFile() local
2768 rc = smb_init(SMB_COM_TRANSACTION2, 15, pTcon, (void **) &pSMB, in CIFSSMBRenameOpenFile()
2774 pSMB->MaxSetupCount = 0; in CIFSSMBRenameOpenFile()
2775 pSMB->Reserved = 0; in CIFSSMBRenameOpenFile()
2776 pSMB->Flags = 0; in CIFSSMBRenameOpenFile()
2777 pSMB->Timeout = 0; in CIFSSMBRenameOpenFile()
2778 pSMB->Reserved2 = 0; in CIFSSMBRenameOpenFile()
2782 data_offset = (char *) (&pSMB->hdr.Protocol) + offset; in CIFSSMBRenameOpenFile()
2784 pSMB->MaxParameterCount = cpu_to_le16(2); in CIFSSMBRenameOpenFile()
2785 pSMB->MaxDataCount = cpu_to_le16(1000); /* BB find max SMB from sess */ in CIFSSMBRenameOpenFile()
2786 pSMB->SetupCount = 1; in CIFSSMBRenameOpenFile()
2787 pSMB->Reserved3 = 0; in CIFSSMBRenameOpenFile()
2788 pSMB->SubCommand = cpu_to_le16(TRANS2_SET_FILE_INFORMATION); in CIFSSMBRenameOpenFile()
2790 pSMB->ParameterCount = cpu_to_le16(params); in CIFSSMBRenameOpenFile()
2791 pSMB->TotalParameterCount = pSMB->ParameterCount; in CIFSSMBRenameOpenFile()
2792 pSMB->ParameterOffset = cpu_to_le16(param_offset); in CIFSSMBRenameOpenFile()
2793 pSMB->DataOffset = cpu_to_le16(offset); in CIFSSMBRenameOpenFile()
2799 sprintf(dummy_string, "cifs%x", pSMB->hdr.Mid); in CIFSSMBRenameOpenFile()
2812 pSMB->DataCount = cpu_to_le16(count); in CIFSSMBRenameOpenFile()
2813 pSMB->TotalDataCount = pSMB->DataCount; in CIFSSMBRenameOpenFile()
2814 pSMB->Fid = netfid; in CIFSSMBRenameOpenFile()
2815 pSMB->InformationLevel = in CIFSSMBRenameOpenFile()
2817 pSMB->Reserved4 = 0; in CIFSSMBRenameOpenFile()
2818 inc_rfc1001_len(pSMB, byte_count); in CIFSSMBRenameOpenFile()
2819 pSMB->ByteCount = cpu_to_le16(byte_count); in CIFSSMBRenameOpenFile()
2820 rc = SendReceive(xid, pTcon->ses, (struct smb_hdr *) pSMB, in CIFSSMBRenameOpenFile()
2827 cifs_buf_release(pSMB); in CIFSSMBRenameOpenFile()
2841 COPY_REQ *pSMB = NULL; in CIFSSMBCopy() local
2849 rc = smb_init(SMB_COM_COPY, 1, tcon, (void **) &pSMB, in CIFSSMBCopy()
2854 pSMB->BufferFormat = 0x04; in CIFSSMBCopy()
2855 pSMB->Tid2 = target_tid; in CIFSSMBCopy()
2857 pSMB->Flags = cpu_to_le16(flags & COPY_TREE); in CIFSSMBCopy()
2859 if (pSMB->hdr.Flags2 & SMBFLG2_UNICODE) { in CIFSSMBCopy()
2860 name_len = cifsConvertToUTF16((__le16 *) pSMB->OldFileName, in CIFSSMBCopy()
2865 pSMB->OldFileName[name_len] = 0x04; /* pad */ in CIFSSMBCopy()
2867 pSMB->OldFileName[name_len + 1] = 0x00; in CIFSSMBCopy()
2869 cifsConvertToUTF16((__le16 *)&pSMB->OldFileName[name_len+2], in CIFSSMBCopy()
2874 name_len = copy_path_name(pSMB->OldFileName, fromName); in CIFSSMBCopy()
2875 pSMB->OldFileName[name_len] = 0x04; /* 2nd buffer format */ in CIFSSMBCopy()
2876 name_len2 = copy_path_name(pSMB->OldFileName+name_len+1, toName); in CIFSSMBCopy()
2881 inc_rfc1001_len(pSMB, count); in CIFSSMBCopy()
2882 pSMB->ByteCount = cpu_to_le16(count); in CIFSSMBCopy()
2884 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSSMBCopy()
2890 cifs_buf_release(pSMB); in CIFSSMBCopy()
2903 TRANSACTION2_SPI_REQ *pSMB = NULL; in CIFSUnixCreateSymLink() local
2914 rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, in CIFSUnixCreateSymLink()
2919 if (pSMB->hdr.Flags2 & SMBFLG2_UNICODE) { in CIFSUnixCreateSymLink()
2921 cifsConvertToUTF16((__le16 *) pSMB->FileName, fromName, in CIFSUnixCreateSymLink()
2928 name_len = copy_path_name(pSMB->FileName, fromName); in CIFSUnixCreateSymLink()
2931 pSMB->MaxSetupCount = 0; in CIFSUnixCreateSymLink()
2932 pSMB->Reserved = 0; in CIFSUnixCreateSymLink()
2933 pSMB->Flags = 0; in CIFSUnixCreateSymLink()
2934 pSMB->Timeout = 0; in CIFSUnixCreateSymLink()
2935 pSMB->Reserved2 = 0; in CIFSUnixCreateSymLink()
2940 data_offset = (char *) (&pSMB->hdr.Protocol) + offset; in CIFSUnixCreateSymLink()
2941 if (pSMB->hdr.Flags2 & SMBFLG2_UNICODE) { in CIFSUnixCreateSymLink()
2952 pSMB->MaxParameterCount = cpu_to_le16(2); in CIFSUnixCreateSymLink()
2954 pSMB->MaxDataCount = cpu_to_le16(1000); in CIFSUnixCreateSymLink()
2955 pSMB->SetupCount = 1; in CIFSUnixCreateSymLink()
2956 pSMB->Reserved3 = 0; in CIFSUnixCreateSymLink()
2957 pSMB->SubCommand = cpu_to_le16(TRANS2_SET_PATH_INFORMATION); in CIFSUnixCreateSymLink()
2959 pSMB->DataCount = cpu_to_le16(name_len_target); in CIFSUnixCreateSymLink()
2960 pSMB->ParameterCount = cpu_to_le16(params); in CIFSUnixCreateSymLink()
2961 pSMB->TotalDataCount = pSMB->DataCount; in CIFSUnixCreateSymLink()
2962 pSMB->TotalParameterCount = pSMB->ParameterCount; in CIFSUnixCreateSymLink()
2963 pSMB->ParameterOffset = cpu_to_le16(param_offset); in CIFSUnixCreateSymLink()
2964 pSMB->DataOffset = cpu_to_le16(offset); in CIFSUnixCreateSymLink()
2965 pSMB->InformationLevel = cpu_to_le16(SMB_SET_FILE_UNIX_LINK); in CIFSUnixCreateSymLink()
2966 pSMB->Reserved4 = 0; in CIFSUnixCreateSymLink()
2967 inc_rfc1001_len(pSMB, byte_count); in CIFSUnixCreateSymLink()
2968 pSMB->ByteCount = cpu_to_le16(byte_count); in CIFSUnixCreateSymLink()
2969 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSUnixCreateSymLink()
2976 cifs_buf_release(pSMB); in CIFSUnixCreateSymLink()
2989 TRANSACTION2_SPI_REQ *pSMB = NULL; in CIFSUnixCreateHardLink() local
3000 rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, in CIFSUnixCreateHardLink()
3005 if (pSMB->hdr.Flags2 & SMBFLG2_UNICODE) { in CIFSUnixCreateHardLink()
3006 name_len = cifsConvertToUTF16((__le16 *) pSMB->FileName, toName, in CIFSUnixCreateHardLink()
3012 name_len = copy_path_name(pSMB->FileName, toName); in CIFSUnixCreateHardLink()
3015 pSMB->MaxSetupCount = 0; in CIFSUnixCreateHardLink()
3016 pSMB->Reserved = 0; in CIFSUnixCreateHardLink()
3017 pSMB->Flags = 0; in CIFSUnixCreateHardLink()
3018 pSMB->Timeout = 0; in CIFSUnixCreateHardLink()
3019 pSMB->Reserved2 = 0; in CIFSUnixCreateHardLink()
3024 data_offset = (char *) (&pSMB->hdr.Protocol) + offset; in CIFSUnixCreateHardLink()
3025 if (pSMB->hdr.Flags2 & SMBFLG2_UNICODE) { in CIFSUnixCreateHardLink()
3035 pSMB->MaxParameterCount = cpu_to_le16(2); in CIFSUnixCreateHardLink()
3037 pSMB->MaxDataCount = cpu_to_le16(1000); in CIFSUnixCreateHardLink()
3038 pSMB->SetupCount = 1; in CIFSUnixCreateHardLink()
3039 pSMB->Reserved3 = 0; in CIFSUnixCreateHardLink()
3040 pSMB->SubCommand = cpu_to_le16(TRANS2_SET_PATH_INFORMATION); in CIFSUnixCreateHardLink()
3042 pSMB->ParameterCount = cpu_to_le16(params); in CIFSUnixCreateHardLink()
3043 pSMB->TotalParameterCount = pSMB->ParameterCount; in CIFSUnixCreateHardLink()
3044 pSMB->DataCount = cpu_to_le16(name_len_target); in CIFSUnixCreateHardLink()
3045 pSMB->TotalDataCount = pSMB->DataCount; in CIFSUnixCreateHardLink()
3046 pSMB->ParameterOffset = cpu_to_le16(param_offset); in CIFSUnixCreateHardLink()
3047 pSMB->DataOffset = cpu_to_le16(offset); in CIFSUnixCreateHardLink()
3048 pSMB->InformationLevel = cpu_to_le16(SMB_SET_FILE_UNIX_HLINK); in CIFSUnixCreateHardLink()
3049 pSMB->Reserved4 = 0; in CIFSUnixCreateHardLink()
3050 inc_rfc1001_len(pSMB, byte_count); in CIFSUnixCreateHardLink()
3051 pSMB->ByteCount = cpu_to_le16(byte_count); in CIFSUnixCreateHardLink()
3052 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSUnixCreateHardLink()
3059 cifs_buf_release(pSMB); in CIFSUnixCreateHardLink()
3072 NT_RENAME_REQ *pSMB = NULL; in CIFSCreateHardLink() local
3082 rc = smb_init(SMB_COM_NT_RENAME, 4, tcon, (void **) &pSMB, in CIFSCreateHardLink()
3087 pSMB->SearchAttributes = in CIFSCreateHardLink()
3090 pSMB->Flags = cpu_to_le16(CREATE_HARD_LINK); in CIFSCreateHardLink()
3091 pSMB->ClusterCount = 0; in CIFSCreateHardLink()
3093 pSMB->BufferFormat = 0x04; in CIFSCreateHardLink()
3095 if (pSMB->hdr.Flags2 & SMBFLG2_UNICODE) { in CIFSCreateHardLink()
3097 cifsConvertToUTF16((__le16 *) pSMB->OldFileName, from_name, in CIFSCreateHardLink()
3103 pSMB->OldFileName[name_len] = 0x04; in CIFSCreateHardLink()
3104 pSMB->OldFileName[name_len + 1] = 0x00; /* pad */ in CIFSCreateHardLink()
3106 cifsConvertToUTF16((__le16 *)&pSMB->OldFileName[name_len+2], in CIFSCreateHardLink()
3112 name_len = copy_path_name(pSMB->OldFileName, from_name); in CIFSCreateHardLink()
3113 pSMB->OldFileName[name_len] = 0x04; /* 2nd buffer format */ in CIFSCreateHardLink()
3114 name_len2 = copy_path_name(pSMB->OldFileName+name_len+1, to_name); in CIFSCreateHardLink()
3119 inc_rfc1001_len(pSMB, count); in CIFSCreateHardLink()
3120 pSMB->ByteCount = cpu_to_le16(count); in CIFSCreateHardLink()
3122 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSCreateHardLink()
3128 cifs_buf_release(pSMB); in CIFSCreateHardLink()
3141 TRANSACTION2_QPI_REQ *pSMB = NULL; in CIFSSMBUnixQuerySymLink() local
3152 rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, in CIFSSMBUnixQuerySymLink()
3157 if (pSMB->hdr.Flags2 & SMBFLG2_UNICODE) { in CIFSSMBUnixQuerySymLink()
3159 cifsConvertToUTF16((__le16 *) pSMB->FileName, in CIFSSMBUnixQuerySymLink()
3165 name_len = copy_path_name(pSMB->FileName, searchName); in CIFSSMBUnixQuerySymLink()
3169 pSMB->TotalDataCount = 0; in CIFSSMBUnixQuerySymLink()
3170 pSMB->MaxParameterCount = cpu_to_le16(2); in CIFSSMBUnixQuerySymLink()
3171 pSMB->MaxDataCount = cpu_to_le16(CIFSMaxBufSize); in CIFSSMBUnixQuerySymLink()
3172 pSMB->MaxSetupCount = 0; in CIFSSMBUnixQuerySymLink()
3173 pSMB->Reserved = 0; in CIFSSMBUnixQuerySymLink()
3174 pSMB->Flags = 0; in CIFSSMBUnixQuerySymLink()
3175 pSMB->Timeout = 0; in CIFSSMBUnixQuerySymLink()
3176 pSMB->Reserved2 = 0; in CIFSSMBUnixQuerySymLink()
3177 pSMB->ParameterOffset = cpu_to_le16(offsetof( in CIFSSMBUnixQuerySymLink()
3179 pSMB->DataCount = 0; in CIFSSMBUnixQuerySymLink()
3180 pSMB->DataOffset = 0; in CIFSSMBUnixQuerySymLink()
3181 pSMB->SetupCount = 1; in CIFSSMBUnixQuerySymLink()
3182 pSMB->Reserved3 = 0; in CIFSSMBUnixQuerySymLink()
3183 pSMB->SubCommand = cpu_to_le16(TRANS2_QUERY_PATH_INFORMATION); in CIFSSMBUnixQuerySymLink()
3185 pSMB->TotalParameterCount = cpu_to_le16(params); in CIFSSMBUnixQuerySymLink()
3186 pSMB->ParameterCount = pSMB->TotalParameterCount; in CIFSSMBUnixQuerySymLink()
3187 pSMB->InformationLevel = cpu_to_le16(SMB_QUERY_FILE_UNIX_LINK); in CIFSSMBUnixQuerySymLink()
3188 pSMB->Reserved4 = 0; in CIFSSMBUnixQuerySymLink()
3189 inc_rfc1001_len(pSMB, byte_count); in CIFSSMBUnixQuerySymLink()
3190 pSMB->ByteCount = cpu_to_le16(byte_count); in CIFSSMBUnixQuerySymLink()
3192 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSSMBUnixQuerySymLink()
3222 cifs_buf_release(pSMB); in CIFSSMBUnixQuerySymLink()
3245 struct smb_com_transaction_ioctl_req *pSMB; in CIFSSMBQuerySymLink() local
3256 rc = smb_init(SMB_COM_NT_TRANSACT, 23, tcon, (void **) &pSMB, in CIFSSMBQuerySymLink()
3261 pSMB->TotalParameterCount = 0 ; in CIFSSMBQuerySymLink()
3262 pSMB->TotalDataCount = 0; in CIFSSMBQuerySymLink()
3263 pSMB->MaxParameterCount = cpu_to_le32(2); in CIFSSMBQuerySymLink()
3265 pSMB->MaxDataCount = cpu_to_le32(CIFSMaxBufSize & 0xFFFFFF00); in CIFSSMBQuerySymLink()
3266 pSMB->MaxSetupCount = 4; in CIFSSMBQuerySymLink()
3267 pSMB->Reserved = 0; in CIFSSMBQuerySymLink()
3268 pSMB->ParameterOffset = 0; in CIFSSMBQuerySymLink()
3269 pSMB->DataCount = 0; in CIFSSMBQuerySymLink()
3270 pSMB->DataOffset = 0; in CIFSSMBQuerySymLink()
3271 pSMB->SetupCount = 4; in CIFSSMBQuerySymLink()
3272 pSMB->SubCommand = cpu_to_le16(NT_TRANSACT_IOCTL); in CIFSSMBQuerySymLink()
3273 pSMB->ParameterCount = pSMB->TotalParameterCount; in CIFSSMBQuerySymLink()
3274 pSMB->FunctionCode = cpu_to_le32(FSCTL_GET_REPARSE_POINT); in CIFSSMBQuerySymLink()
3275 pSMB->IsFsctl = 1; /* FSCTL */ in CIFSSMBQuerySymLink()
3276 pSMB->IsRootFlag = 0; in CIFSSMBQuerySymLink()
3277 pSMB->Fid = fid; /* file handle always le */ in CIFSSMBQuerySymLink()
3278 pSMB->ByteCount = 0; in CIFSSMBQuerySymLink()
3280 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSSMBQuerySymLink()
3352 cifs_buf_release(pSMB); in CIFSSMBQuerySymLink()
3367 struct smb_com_transaction_compr_ioctl_req *pSMB; in CIFSSMB_set_compression() local
3371 rc = smb_init(SMB_COM_NT_TRANSACT, 23, tcon, (void **) &pSMB, in CIFSSMB_set_compression()
3376 pSMB->compression_state = cpu_to_le16(COMPRESSION_FORMAT_DEFAULT); in CIFSSMB_set_compression()
3378 pSMB->TotalParameterCount = 0; in CIFSSMB_set_compression()
3379 pSMB->TotalDataCount = cpu_to_le32(2); in CIFSSMB_set_compression()
3380 pSMB->MaxParameterCount = 0; in CIFSSMB_set_compression()
3381 pSMB->MaxDataCount = 0; in CIFSSMB_set_compression()
3382 pSMB->MaxSetupCount = 4; in CIFSSMB_set_compression()
3383 pSMB->Reserved = 0; in CIFSSMB_set_compression()
3384 pSMB->ParameterOffset = 0; in CIFSSMB_set_compression()
3385 pSMB->DataCount = cpu_to_le32(2); in CIFSSMB_set_compression()
3386 pSMB->DataOffset = in CIFSSMB_set_compression()
3389 pSMB->SetupCount = 4; in CIFSSMB_set_compression()
3390 pSMB->SubCommand = cpu_to_le16(NT_TRANSACT_IOCTL); in CIFSSMB_set_compression()
3391 pSMB->ParameterCount = 0; in CIFSSMB_set_compression()
3392 pSMB->FunctionCode = cpu_to_le32(FSCTL_SET_COMPRESSION); in CIFSSMB_set_compression()
3393 pSMB->IsFsctl = 1; /* FSCTL */ in CIFSSMB_set_compression()
3394 pSMB->IsRootFlag = 0; in CIFSSMB_set_compression()
3395 pSMB->Fid = fid; /* file handle always le */ in CIFSSMB_set_compression()
3397 pSMB->ByteCount = cpu_to_le16(5); in CIFSSMB_set_compression()
3398 inc_rfc1001_len(pSMB, 5); in CIFSSMB_set_compression()
3400 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSSMB_set_compression()
3405 cifs_buf_release(pSMB); in CIFSSMB_set_compression()
3558 TRANSACTION2_QPI_REQ *pSMB = NULL; in CIFSSMBGetPosixACL() local
3568 rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, in CIFSSMBGetPosixACL()
3573 if (pSMB->hdr.Flags2 & SMBFLG2_UNICODE) { in CIFSSMBGetPosixACL()
3575 cifsConvertToUTF16((__le16 *) pSMB->FileName, in CIFSSMBGetPosixACL()
3580 pSMB->FileName[name_len] = 0; in CIFSSMBGetPosixACL()
3581 pSMB->FileName[name_len+1] = 0; in CIFSSMBGetPosixACL()
3583 name_len = copy_path_name(pSMB->FileName, searchName); in CIFSSMBGetPosixACL()
3587 pSMB->TotalDataCount = 0; in CIFSSMBGetPosixACL()
3588 pSMB->MaxParameterCount = cpu_to_le16(2); in CIFSSMBGetPosixACL()
3590 pSMB->MaxDataCount = cpu_to_le16(4000); in CIFSSMBGetPosixACL()
3591 pSMB->MaxSetupCount = 0; in CIFSSMBGetPosixACL()
3592 pSMB->Reserved = 0; in CIFSSMBGetPosixACL()
3593 pSMB->Flags = 0; in CIFSSMBGetPosixACL()
3594 pSMB->Timeout = 0; in CIFSSMBGetPosixACL()
3595 pSMB->Reserved2 = 0; in CIFSSMBGetPosixACL()
3596 pSMB->ParameterOffset = cpu_to_le16( in CIFSSMBGetPosixACL()
3599 pSMB->DataCount = 0; in CIFSSMBGetPosixACL()
3600 pSMB->DataOffset = 0; in CIFSSMBGetPosixACL()
3601 pSMB->SetupCount = 1; in CIFSSMBGetPosixACL()
3602 pSMB->Reserved3 = 0; in CIFSSMBGetPosixACL()
3603 pSMB->SubCommand = cpu_to_le16(TRANS2_QUERY_PATH_INFORMATION); in CIFSSMBGetPosixACL()
3605 pSMB->TotalParameterCount = cpu_to_le16(params); in CIFSSMBGetPosixACL()
3606 pSMB->ParameterCount = pSMB->TotalParameterCount; in CIFSSMBGetPosixACL()
3607 pSMB->InformationLevel = cpu_to_le16(SMB_QUERY_POSIX_ACL); in CIFSSMBGetPosixACL()
3608 pSMB->Reserved4 = 0; in CIFSSMBGetPosixACL()
3609 inc_rfc1001_len(pSMB, byte_count); in CIFSSMBGetPosixACL()
3610 pSMB->ByteCount = cpu_to_le16(byte_count); in CIFSSMBGetPosixACL()
3612 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSSMBGetPosixACL()
3632 cifs_buf_release(pSMB); in CIFSSMBGetPosixACL()
3645 struct smb_com_transaction2_spi_req *pSMB = NULL; in CIFSSMBSetPosixACL() local
3655 rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, in CIFSSMBSetPosixACL()
3659 if (pSMB->hdr.Flags2 & SMBFLG2_UNICODE) { in CIFSSMBSetPosixACL()
3661 cifsConvertToUTF16((__le16 *) pSMB->FileName, fileName, in CIFSSMBSetPosixACL()
3666 name_len = copy_path_name(pSMB->FileName, fileName); in CIFSSMBSetPosixACL()
3669 pSMB->MaxParameterCount = cpu_to_le16(2); in CIFSSMBSetPosixACL()
3671 pSMB->MaxDataCount = cpu_to_le16(1000); in CIFSSMBSetPosixACL()
3672 pSMB->MaxSetupCount = 0; in CIFSSMBSetPosixACL()
3673 pSMB->Reserved = 0; in CIFSSMBSetPosixACL()
3674 pSMB->Flags = 0; in CIFSSMBSetPosixACL()
3675 pSMB->Timeout = 0; in CIFSSMBSetPosixACL()
3676 pSMB->Reserved2 = 0; in CIFSSMBSetPosixACL()
3680 parm_data = ((char *) &pSMB->hdr.Protocol) + offset; in CIFSSMBSetPosixACL()
3681 pSMB->ParameterOffset = cpu_to_le16(param_offset); in CIFSSMBSetPosixACL()
3690 pSMB->DataOffset = cpu_to_le16(offset); in CIFSSMBSetPosixACL()
3691 pSMB->SetupCount = 1; in CIFSSMBSetPosixACL()
3692 pSMB->Reserved3 = 0; in CIFSSMBSetPosixACL()
3693 pSMB->SubCommand = cpu_to_le16(TRANS2_SET_PATH_INFORMATION); in CIFSSMBSetPosixACL()
3694 pSMB->InformationLevel = cpu_to_le16(SMB_SET_POSIX_ACL); in CIFSSMBSetPosixACL()
3696 pSMB->DataCount = cpu_to_le16(data_count); in CIFSSMBSetPosixACL()
3697 pSMB->TotalDataCount = pSMB->DataCount; in CIFSSMBSetPosixACL()
3698 pSMB->ParameterCount = cpu_to_le16(params); in CIFSSMBSetPosixACL()
3699 pSMB->TotalParameterCount = pSMB->ParameterCount; in CIFSSMBSetPosixACL()
3700 pSMB->Reserved4 = 0; in CIFSSMBSetPosixACL()
3701 inc_rfc1001_len(pSMB, byte_count); in CIFSSMBSetPosixACL()
3702 pSMB->ByteCount = cpu_to_le16(byte_count); in CIFSSMBSetPosixACL()
3703 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSSMBSetPosixACL()
3709 cifs_buf_release(pSMB); in CIFSSMBSetPosixACL()
3721 struct smb_t2_qfi_req *pSMB = NULL; in CIFSGetExtAttr() local
3731 rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, in CIFSGetExtAttr()
3737 pSMB->t2.TotalDataCount = 0; in CIFSGetExtAttr()
3738 pSMB->t2.MaxParameterCount = cpu_to_le16(4); in CIFSGetExtAttr()
3740 pSMB->t2.MaxDataCount = cpu_to_le16(4000); in CIFSGetExtAttr()
3741 pSMB->t2.MaxSetupCount = 0; in CIFSGetExtAttr()
3742 pSMB->t2.Reserved = 0; in CIFSGetExtAttr()
3743 pSMB->t2.Flags = 0; in CIFSGetExtAttr()
3744 pSMB->t2.Timeout = 0; in CIFSGetExtAttr()
3745 pSMB->t2.Reserved2 = 0; in CIFSGetExtAttr()
3746 pSMB->t2.ParameterOffset = cpu_to_le16(offsetof(struct smb_t2_qfi_req, in CIFSGetExtAttr()
3748 pSMB->t2.DataCount = 0; in CIFSGetExtAttr()
3749 pSMB->t2.DataOffset = 0; in CIFSGetExtAttr()
3750 pSMB->t2.SetupCount = 1; in CIFSGetExtAttr()
3751 pSMB->t2.Reserved3 = 0; in CIFSGetExtAttr()
3752 pSMB->t2.SubCommand = cpu_to_le16(TRANS2_QUERY_FILE_INFORMATION); in CIFSGetExtAttr()
3754 pSMB->t2.TotalParameterCount = cpu_to_le16(params); in CIFSGetExtAttr()
3755 pSMB->t2.ParameterCount = pSMB->t2.TotalParameterCount; in CIFSGetExtAttr()
3756 pSMB->InformationLevel = cpu_to_le16(SMB_QUERY_ATTR_FLAGS); in CIFSGetExtAttr()
3757 pSMB->Pad = 0; in CIFSGetExtAttr()
3758 pSMB->Fid = netfid; in CIFSGetExtAttr()
3759 inc_rfc1001_len(pSMB, byte_count); in CIFSGetExtAttr()
3760 pSMB->t2.ByteCount = cpu_to_le16(byte_count); in CIFSGetExtAttr()
3762 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSGetExtAttr()
3791 cifs_buf_release(pSMB); in CIFSGetExtAttr()
3814 struct smb_com_ntransact_req *pSMB; in smb_init_nttransact() local
3817 (void **)&pSMB); in smb_init_nttransact()
3820 *ret_buf = (void *)pSMB; in smb_init_nttransact()
3821 pSMB->Reserved = 0; in smb_init_nttransact()
3822 pSMB->TotalParameterCount = cpu_to_le32(parm_len); in smb_init_nttransact()
3823 pSMB->TotalDataCount = 0; in smb_init_nttransact()
3824 pSMB->MaxDataCount = cpu_to_le32(CIFSMaxBufSize & 0xFFFFFF00); in smb_init_nttransact()
3825 pSMB->ParameterCount = pSMB->TotalParameterCount; in smb_init_nttransact()
3826 pSMB->DataCount = pSMB->TotalDataCount; in smb_init_nttransact()
3829 pSMB->ParameterOffset = cpu_to_le32(temp_offset); in smb_init_nttransact()
3830 pSMB->DataOffset = cpu_to_le32(temp_offset + parm_len); in smb_init_nttransact()
3831 pSMB->SetupCount = setup_count; /* no need to le convert byte fields */ in smb_init_nttransact()
3832 pSMB->SubCommand = cpu_to_le16(sub_command); in smb_init_nttransact()
3896 QUERY_SEC_DESC_REQ *pSMB; in CIFSSMBGetCIFSACL() local
3906 8 /* parm len */, tcon, (void **) &pSMB); in CIFSSMBGetCIFSACL()
3910 pSMB->MaxParameterCount = cpu_to_le32(4); in CIFSSMBGetCIFSACL()
3912 pSMB->MaxSetupCount = 0; in CIFSSMBGetCIFSACL()
3913 pSMB->Fid = fid; /* file handle always le */ in CIFSSMBGetCIFSACL()
3914 pSMB->AclFlags = cpu_to_le32(CIFS_ACL_OWNER | CIFS_ACL_GROUP | in CIFSSMBGetCIFSACL()
3916 pSMB->ByteCount = cpu_to_le16(11); /* 3 bytes pad + 8 bytes parm */ in CIFSSMBGetCIFSACL()
3917 inc_rfc1001_len(pSMB, 11); in CIFSSMBGetCIFSACL()
3918 iov[0].iov_base = (char *)pSMB; in CIFSSMBGetCIFSACL()
3919 iov[0].iov_len = be32_to_cpu(pSMB->hdr.smb_buf_length) + 4; in CIFSSMBGetCIFSACL()
3923 cifs_small_buf_release(pSMB); in CIFSSMBGetCIFSACL()
3987 SET_SEC_DESC_REQ *pSMB = NULL; in CIFSSMBSetCIFSACL() local
3991 rc = smb_init(SMB_COM_NT_TRANSACT, 19, tcon, (void **) &pSMB, &pSMBr); in CIFSSMBSetCIFSACL()
3995 pSMB->MaxSetupCount = 0; in CIFSSMBSetCIFSACL()
3996 pSMB->Reserved = 0; in CIFSSMBSetCIFSACL()
4004 pSMB->DataCount = cpu_to_le32(data_count); in CIFSSMBSetCIFSACL()
4005 pSMB->TotalDataCount = pSMB->DataCount; in CIFSSMBSetCIFSACL()
4006 pSMB->MaxParameterCount = cpu_to_le32(4); in CIFSSMBSetCIFSACL()
4007 pSMB->MaxDataCount = cpu_to_le32(16384); in CIFSSMBSetCIFSACL()
4008 pSMB->ParameterCount = cpu_to_le32(param_count); in CIFSSMBSetCIFSACL()
4009 pSMB->ParameterOffset = cpu_to_le32(param_offset); in CIFSSMBSetCIFSACL()
4010 pSMB->TotalParameterCount = pSMB->ParameterCount; in CIFSSMBSetCIFSACL()
4011 pSMB->DataOffset = cpu_to_le32(data_offset); in CIFSSMBSetCIFSACL()
4012 pSMB->SetupCount = 0; in CIFSSMBSetCIFSACL()
4013 pSMB->SubCommand = cpu_to_le16(NT_TRANSACT_SET_SECURITY_DESC); in CIFSSMBSetCIFSACL()
4014 pSMB->ByteCount = cpu_to_le16(byte_count+data_count); in CIFSSMBSetCIFSACL()
4016 pSMB->Fid = fid; /* file handle always le */ in CIFSSMBSetCIFSACL()
4017 pSMB->Reserved2 = 0; in CIFSSMBSetCIFSACL()
4018 pSMB->AclFlags = cpu_to_le32(aclflag); in CIFSSMBSetCIFSACL()
4023 inc_rfc1001_len(pSMB, byte_count + data_count); in CIFSSMBSetCIFSACL()
4025 inc_rfc1001_len(pSMB, byte_count); in CIFSSMBSetCIFSACL()
4027 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSSMBSetCIFSACL()
4034 cifs_buf_release(pSMB); in CIFSSMBSetCIFSACL()
4050 QUERY_INFORMATION_REQ *pSMB; in SMBQueryInformation() local
4058 rc = smb_init(SMB_COM_QUERY_INFORMATION, 0, tcon, (void **) &pSMB, in SMBQueryInformation()
4063 if (pSMB->hdr.Flags2 & SMBFLG2_UNICODE) { in SMBQueryInformation()
4065 cifsConvertToUTF16((__le16 *) pSMB->FileName, in SMBQueryInformation()
4071 name_len = copy_path_name(pSMB->FileName, search_name); in SMBQueryInformation()
4073 pSMB->BufferFormat = 0x04; in SMBQueryInformation()
4075 inc_rfc1001_len(pSMB, (__u16)name_len); in SMBQueryInformation()
4076 pSMB->ByteCount = cpu_to_le16(name_len); in SMBQueryInformation()
4078 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in SMBQueryInformation()
4103 cifs_buf_release(pSMB); in SMBQueryInformation()
4115 struct smb_t2_qfi_req *pSMB = NULL; in CIFSSMBQFileInfo() local
4122 rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, in CIFSSMBQFileInfo()
4128 pSMB->t2.TotalDataCount = 0; in CIFSSMBQFileInfo()
4129 pSMB->t2.MaxParameterCount = cpu_to_le16(4); in CIFSSMBQFileInfo()
4131 pSMB->t2.MaxDataCount = cpu_to_le16(CIFSMaxBufSize); in CIFSSMBQFileInfo()
4132 pSMB->t2.MaxSetupCount = 0; in CIFSSMBQFileInfo()
4133 pSMB->t2.Reserved = 0; in CIFSSMBQFileInfo()
4134 pSMB->t2.Flags = 0; in CIFSSMBQFileInfo()
4135 pSMB->t2.Timeout = 0; in CIFSSMBQFileInfo()
4136 pSMB->t2.Reserved2 = 0; in CIFSSMBQFileInfo()
4137 pSMB->t2.ParameterOffset = cpu_to_le16(offsetof(struct smb_t2_qfi_req, in CIFSSMBQFileInfo()
4139 pSMB->t2.DataCount = 0; in CIFSSMBQFileInfo()
4140 pSMB->t2.DataOffset = 0; in CIFSSMBQFileInfo()
4141 pSMB->t2.SetupCount = 1; in CIFSSMBQFileInfo()
4142 pSMB->t2.Reserved3 = 0; in CIFSSMBQFileInfo()
4143 pSMB->t2.SubCommand = cpu_to_le16(TRANS2_QUERY_FILE_INFORMATION); in CIFSSMBQFileInfo()
4145 pSMB->t2.TotalParameterCount = cpu_to_le16(params); in CIFSSMBQFileInfo()
4146 pSMB->t2.ParameterCount = pSMB->t2.TotalParameterCount; in CIFSSMBQFileInfo()
4147 pSMB->InformationLevel = cpu_to_le16(SMB_QUERY_FILE_ALL_INFO); in CIFSSMBQFileInfo()
4148 pSMB->Pad = 0; in CIFSSMBQFileInfo()
4149 pSMB->Fid = netfid; in CIFSSMBQFileInfo()
4150 inc_rfc1001_len(pSMB, byte_count); in CIFSSMBQFileInfo()
4151 pSMB->t2.ByteCount = cpu_to_le16(byte_count); in CIFSSMBQFileInfo()
4153 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSSMBQFileInfo()
4172 cifs_buf_release(pSMB); in CIFSSMBQFileInfo()
4186 TRANSACTION2_QPI_REQ *pSMB = NULL; in CIFSSMBQPathInfo() local
4195 rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, in CIFSSMBQPathInfo()
4200 if (pSMB->hdr.Flags2 & SMBFLG2_UNICODE) { in CIFSSMBQPathInfo()
4202 cifsConvertToUTF16((__le16 *) pSMB->FileName, search_name, in CIFSSMBQPathInfo()
4207 name_len = copy_path_name(pSMB->FileName, search_name); in CIFSSMBQPathInfo()
4211 pSMB->TotalDataCount = 0; in CIFSSMBQPathInfo()
4212 pSMB->MaxParameterCount = cpu_to_le16(2); in CIFSSMBQPathInfo()
4214 pSMB->MaxDataCount = cpu_to_le16(4000); in CIFSSMBQPathInfo()
4215 pSMB->MaxSetupCount = 0; in CIFSSMBQPathInfo()
4216 pSMB->Reserved = 0; in CIFSSMBQPathInfo()
4217 pSMB->Flags = 0; in CIFSSMBQPathInfo()
4218 pSMB->Timeout = 0; in CIFSSMBQPathInfo()
4219 pSMB->Reserved2 = 0; in CIFSSMBQPathInfo()
4220 pSMB->ParameterOffset = cpu_to_le16(offsetof( in CIFSSMBQPathInfo()
4222 pSMB->DataCount = 0; in CIFSSMBQPathInfo()
4223 pSMB->DataOffset = 0; in CIFSSMBQPathInfo()
4224 pSMB->SetupCount = 1; in CIFSSMBQPathInfo()
4225 pSMB->Reserved3 = 0; in CIFSSMBQPathInfo()
4226 pSMB->SubCommand = cpu_to_le16(TRANS2_QUERY_PATH_INFORMATION); in CIFSSMBQPathInfo()
4228 pSMB->TotalParameterCount = cpu_to_le16(params); in CIFSSMBQPathInfo()
4229 pSMB->ParameterCount = pSMB->TotalParameterCount; in CIFSSMBQPathInfo()
4231 pSMB->InformationLevel = cpu_to_le16(SMB_INFO_STANDARD); in CIFSSMBQPathInfo()
4233 pSMB->InformationLevel = cpu_to_le16(SMB_QUERY_FILE_ALL_INFO); in CIFSSMBQPathInfo()
4234 pSMB->Reserved4 = 0; in CIFSSMBQPathInfo()
4235 inc_rfc1001_len(pSMB, byte_count); in CIFSSMBQPathInfo()
4236 pSMB->ByteCount = cpu_to_le16(byte_count); in CIFSSMBQPathInfo()
4238 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSSMBQPathInfo()
4271 cifs_buf_release(pSMB); in CIFSSMBQPathInfo()
4282 struct smb_t2_qfi_req *pSMB = NULL; in CIFSSMBUnixQFileInfo() local
4289 rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, in CIFSSMBUnixQFileInfo()
4295 pSMB->t2.TotalDataCount = 0; in CIFSSMBUnixQFileInfo()
4296 pSMB->t2.MaxParameterCount = cpu_to_le16(4); in CIFSSMBUnixQFileInfo()
4298 pSMB->t2.MaxDataCount = cpu_to_le16(CIFSMaxBufSize); in CIFSSMBUnixQFileInfo()
4299 pSMB->t2.MaxSetupCount = 0; in CIFSSMBUnixQFileInfo()
4300 pSMB->t2.Reserved = 0; in CIFSSMBUnixQFileInfo()
4301 pSMB->t2.Flags = 0; in CIFSSMBUnixQFileInfo()
4302 pSMB->t2.Timeout = 0; in CIFSSMBUnixQFileInfo()
4303 pSMB->t2.Reserved2 = 0; in CIFSSMBUnixQFileInfo()
4304 pSMB->t2.ParameterOffset = cpu_to_le16(offsetof(struct smb_t2_qfi_req, in CIFSSMBUnixQFileInfo()
4306 pSMB->t2.DataCount = 0; in CIFSSMBUnixQFileInfo()
4307 pSMB->t2.DataOffset = 0; in CIFSSMBUnixQFileInfo()
4308 pSMB->t2.SetupCount = 1; in CIFSSMBUnixQFileInfo()
4309 pSMB->t2.Reserved3 = 0; in CIFSSMBUnixQFileInfo()
4310 pSMB->t2.SubCommand = cpu_to_le16(TRANS2_QUERY_FILE_INFORMATION); in CIFSSMBUnixQFileInfo()
4312 pSMB->t2.TotalParameterCount = cpu_to_le16(params); in CIFSSMBUnixQFileInfo()
4313 pSMB->t2.ParameterCount = pSMB->t2.TotalParameterCount; in CIFSSMBUnixQFileInfo()
4314 pSMB->InformationLevel = cpu_to_le16(SMB_QUERY_FILE_UNIX_BASIC); in CIFSSMBUnixQFileInfo()
4315 pSMB->Pad = 0; in CIFSSMBUnixQFileInfo()
4316 pSMB->Fid = netfid; in CIFSSMBUnixQFileInfo()
4317 inc_rfc1001_len(pSMB, byte_count); in CIFSSMBUnixQFileInfo()
4318 pSMB->t2.ByteCount = cpu_to_le16(byte_count); in CIFSSMBUnixQFileInfo()
4320 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSSMBUnixQFileInfo()
4339 cifs_buf_release(pSMB); in CIFSSMBUnixQFileInfo()
4353 TRANSACTION2_QPI_REQ *pSMB = NULL; in CIFSSMBUnixQPathInfo() local
4362 rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, in CIFSSMBUnixQPathInfo()
4367 if (pSMB->hdr.Flags2 & SMBFLG2_UNICODE) { in CIFSSMBUnixQPathInfo()
4369 cifsConvertToUTF16((__le16 *) pSMB->FileName, searchName, in CIFSSMBUnixQPathInfo()
4374 name_len = copy_path_name(pSMB->FileName, searchName); in CIFSSMBUnixQPathInfo()
4378 pSMB->TotalDataCount = 0; in CIFSSMBUnixQPathInfo()
4379 pSMB->MaxParameterCount = cpu_to_le16(2); in CIFSSMBUnixQPathInfo()
4381 pSMB->MaxDataCount = cpu_to_le16(4000); in CIFSSMBUnixQPathInfo()
4382 pSMB->MaxSetupCount = 0; in CIFSSMBUnixQPathInfo()
4383 pSMB->Reserved = 0; in CIFSSMBUnixQPathInfo()
4384 pSMB->Flags = 0; in CIFSSMBUnixQPathInfo()
4385 pSMB->Timeout = 0; in CIFSSMBUnixQPathInfo()
4386 pSMB->Reserved2 = 0; in CIFSSMBUnixQPathInfo()
4387 pSMB->ParameterOffset = cpu_to_le16(offsetof( in CIFSSMBUnixQPathInfo()
4389 pSMB->DataCount = 0; in CIFSSMBUnixQPathInfo()
4390 pSMB->DataOffset = 0; in CIFSSMBUnixQPathInfo()
4391 pSMB->SetupCount = 1; in CIFSSMBUnixQPathInfo()
4392 pSMB->Reserved3 = 0; in CIFSSMBUnixQPathInfo()
4393 pSMB->SubCommand = cpu_to_le16(TRANS2_QUERY_PATH_INFORMATION); in CIFSSMBUnixQPathInfo()
4395 pSMB->TotalParameterCount = cpu_to_le16(params); in CIFSSMBUnixQPathInfo()
4396 pSMB->ParameterCount = pSMB->TotalParameterCount; in CIFSSMBUnixQPathInfo()
4397 pSMB->InformationLevel = cpu_to_le16(SMB_QUERY_FILE_UNIX_BASIC); in CIFSSMBUnixQPathInfo()
4398 pSMB->Reserved4 = 0; in CIFSSMBUnixQPathInfo()
4399 inc_rfc1001_len(pSMB, byte_count); in CIFSSMBUnixQPathInfo()
4400 pSMB->ByteCount = cpu_to_le16(byte_count); in CIFSSMBUnixQPathInfo()
4402 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSSMBUnixQPathInfo()
4420 cifs_buf_release(pSMB); in CIFSSMBUnixQPathInfo()
4435 TRANSACTION2_FFIRST_REQ *pSMB = NULL; in CIFSFindFirst() local
4447 rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, in CIFSFindFirst()
4455 if (pSMB->hdr.Flags2 & SMBFLG2_UNICODE) { in CIFSFindFirst()
4457 cifsConvertToUTF16((__le16 *) pSMB->FileName, searchName, in CIFSFindFirst()
4464 pSMB->FileName[name_len] = CIFS_DIR_SEP(cifs_sb); in CIFSFindFirst()
4465 pSMB->FileName[name_len+1] = 0; in CIFSFindFirst()
4466 pSMB->FileName[name_len+2] = '*'; in CIFSFindFirst()
4467 pSMB->FileName[name_len+3] = 0; in CIFSFindFirst()
4470 pSMB->FileName[name_len] = 0; in CIFSFindFirst()
4471 pSMB->FileName[name_len+1] = 0; in CIFSFindFirst()
4475 name_len = copy_path_name(pSMB->FileName, searchName); in CIFSFindFirst()
4480 pSMB->FileName[name_len-1] = CIFS_DIR_SEP(cifs_sb); in CIFSFindFirst()
4481 pSMB->FileName[name_len] = '*'; in CIFSFindFirst()
4482 pSMB->FileName[name_len+1] = 0; in CIFSFindFirst()
4488 pSMB->TotalDataCount = 0; /* no EAs */ in CIFSFindFirst()
4489 pSMB->MaxParameterCount = cpu_to_le16(10); in CIFSFindFirst()
4490 pSMB->MaxDataCount = cpu_to_le16(CIFSMaxBufSize & 0xFFFFFF00); in CIFSFindFirst()
4491 pSMB->MaxSetupCount = 0; in CIFSFindFirst()
4492 pSMB->Reserved = 0; in CIFSFindFirst()
4493 pSMB->Flags = 0; in CIFSFindFirst()
4494 pSMB->Timeout = 0; in CIFSFindFirst()
4495 pSMB->Reserved2 = 0; in CIFSFindFirst()
4497 pSMB->TotalParameterCount = cpu_to_le16(params); in CIFSFindFirst()
4498 pSMB->ParameterCount = pSMB->TotalParameterCount; in CIFSFindFirst()
4499 pSMB->ParameterOffset = cpu_to_le16( in CIFSFindFirst()
4502 pSMB->DataCount = 0; in CIFSFindFirst()
4503 pSMB->DataOffset = 0; in CIFSFindFirst()
4504 pSMB->SetupCount = 1; /* one byte, no need to make endian neutral */ in CIFSFindFirst()
4505 pSMB->Reserved3 = 0; in CIFSFindFirst()
4506 pSMB->SubCommand = cpu_to_le16(TRANS2_FIND_FIRST); in CIFSFindFirst()
4507 pSMB->SearchAttributes = in CIFSFindFirst()
4510 pSMB->SearchCount = cpu_to_le16(CIFSMaxBufSize/sizeof(FILE_UNIX_INFO)); in CIFSFindFirst()
4511 pSMB->SearchFlags = cpu_to_le16(search_flags); in CIFSFindFirst()
4512 pSMB->InformationLevel = cpu_to_le16(psrch_inf->info_level); in CIFSFindFirst()
4515 pSMB->SearchStorageType = 0; in CIFSFindFirst()
4516 inc_rfc1001_len(pSMB, byte_count); in CIFSFindFirst()
4517 pSMB->ByteCount = cpu_to_le16(byte_count); in CIFSFindFirst()
4519 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSFindFirst()
4528 cifs_buf_release(pSMB); in CIFSFindFirst()
4575 cifs_buf_release(pSMB); in CIFSFindFirst()
4586 TRANSACTION2_FNEXT_REQ *pSMB = NULL; in CIFSFindNext() local
4600 rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, in CIFSFindNext()
4607 pSMB->TotalDataCount = 0; /* no EAs */ in CIFSFindNext()
4608 pSMB->MaxParameterCount = cpu_to_le16(8); in CIFSFindNext()
4609 pSMB->MaxDataCount = cpu_to_le16(CIFSMaxBufSize & 0xFFFFFF00); in CIFSFindNext()
4610 pSMB->MaxSetupCount = 0; in CIFSFindNext()
4611 pSMB->Reserved = 0; in CIFSFindNext()
4612 pSMB->Flags = 0; in CIFSFindNext()
4613 pSMB->Timeout = 0; in CIFSFindNext()
4614 pSMB->Reserved2 = 0; in CIFSFindNext()
4615 pSMB->ParameterOffset = cpu_to_le16( in CIFSFindNext()
4617 pSMB->DataCount = 0; in CIFSFindNext()
4618 pSMB->DataOffset = 0; in CIFSFindNext()
4619 pSMB->SetupCount = 1; in CIFSFindNext()
4620 pSMB->Reserved3 = 0; in CIFSFindNext()
4621 pSMB->SubCommand = cpu_to_le16(TRANS2_FIND_NEXT); in CIFSFindNext()
4622 pSMB->SearchHandle = searchHandle; /* always kept as le */ in CIFSFindNext()
4623 pSMB->SearchCount = in CIFSFindNext()
4625 pSMB->InformationLevel = cpu_to_le16(psrch_inf->info_level); in CIFSFindNext()
4626 pSMB->ResumeKey = psrch_inf->resume_key; in CIFSFindNext()
4627 pSMB->SearchFlags = cpu_to_le16(search_flags); in CIFSFindNext()
4632 memcpy(pSMB->ResumeFileName, psrch_inf->presume_name, name_len); in CIFSFindNext()
4635 pSMB->ResumeFileName[name_len] = 0; in CIFSFindNext()
4636 pSMB->ResumeFileName[name_len+1] = 0; in CIFSFindNext()
4642 pSMB->TotalParameterCount = cpu_to_le16(params); in CIFSFindNext()
4643 pSMB->ParameterCount = pSMB->TotalParameterCount; in CIFSFindNext()
4644 inc_rfc1001_len(pSMB, byte_count); in CIFSFindNext()
4645 pSMB->ByteCount = cpu_to_le16(byte_count); in CIFSFindNext()
4647 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSFindNext()
4653 cifs_buf_release(pSMB); in CIFSFindNext()
4679 psrch_inf->ntwrk_buf_start = (char *)pSMB; in CIFSFindNext()
4713 cifs_buf_release(pSMB); in CIFSFindNext()
4722 FINDCLOSE_REQ *pSMB = NULL; in CIFSFindClose() local
4725 rc = small_smb_init(SMB_COM_FIND_CLOSE2, 1, tcon, (void **)&pSMB); in CIFSFindClose()
4734 pSMB->FileID = searchHandle; in CIFSFindClose()
4735 pSMB->ByteCount = 0; in CIFSFindClose()
4736 rc = SendReceiveNoRsp(xid, tcon->ses, (char *) pSMB, 0); in CIFSFindClose()
4737 cifs_small_buf_release(pSMB); in CIFSFindClose()
4756 TRANSACTION2_QPI_REQ *pSMB = NULL; in CIFSGetSrvInodeNumber() local
4766 rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, in CIFSGetSrvInodeNumber()
4771 if (pSMB->hdr.Flags2 & SMBFLG2_UNICODE) { in CIFSGetSrvInodeNumber()
4773 cifsConvertToUTF16((__le16 *) pSMB->FileName, in CIFSGetSrvInodeNumber()
4779 name_len = copy_path_name(pSMB->FileName, search_name); in CIFSGetSrvInodeNumber()
4783 pSMB->TotalDataCount = 0; in CIFSGetSrvInodeNumber()
4784 pSMB->MaxParameterCount = cpu_to_le16(2); in CIFSGetSrvInodeNumber()
4786 pSMB->MaxDataCount = cpu_to_le16(4000); in CIFSGetSrvInodeNumber()
4787 pSMB->MaxSetupCount = 0; in CIFSGetSrvInodeNumber()
4788 pSMB->Reserved = 0; in CIFSGetSrvInodeNumber()
4789 pSMB->Flags = 0; in CIFSGetSrvInodeNumber()
4790 pSMB->Timeout = 0; in CIFSGetSrvInodeNumber()
4791 pSMB->Reserved2 = 0; in CIFSGetSrvInodeNumber()
4792 pSMB->ParameterOffset = cpu_to_le16(offsetof( in CIFSGetSrvInodeNumber()
4794 pSMB->DataCount = 0; in CIFSGetSrvInodeNumber()
4795 pSMB->DataOffset = 0; in CIFSGetSrvInodeNumber()
4796 pSMB->SetupCount = 1; in CIFSGetSrvInodeNumber()
4797 pSMB->Reserved3 = 0; in CIFSGetSrvInodeNumber()
4798 pSMB->SubCommand = cpu_to_le16(TRANS2_QUERY_PATH_INFORMATION); in CIFSGetSrvInodeNumber()
4800 pSMB->TotalParameterCount = cpu_to_le16(params); in CIFSGetSrvInodeNumber()
4801 pSMB->ParameterCount = pSMB->TotalParameterCount; in CIFSGetSrvInodeNumber()
4802 pSMB->InformationLevel = cpu_to_le16(SMB_QUERY_FILE_INTERNAL_INFO); in CIFSGetSrvInodeNumber()
4803 pSMB->Reserved4 = 0; in CIFSGetSrvInodeNumber()
4804 inc_rfc1001_len(pSMB, byte_count); in CIFSGetSrvInodeNumber()
4805 pSMB->ByteCount = cpu_to_le16(byte_count); in CIFSGetSrvInodeNumber()
4807 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSGetSrvInodeNumber()
4835 cifs_buf_release(pSMB); in CIFSGetSrvInodeNumber()
4848 TRANSACTION2_GET_DFS_REFER_REQ *pSMB = NULL; in CIFSGetDFSRefer() local
4862 rc = smb_init(SMB_COM_TRANSACTION2, 15, ses->tcon_ipc, (void **) &pSMB, in CIFSGetDFSRefer()
4869 pSMB->hdr.Mid = get_next_mid(ses->server); in CIFSGetDFSRefer()
4870 pSMB->hdr.Tid = ses->tcon_ipc->tid; in CIFSGetDFSRefer()
4871 pSMB->hdr.Uid = ses->Suid; in CIFSGetDFSRefer()
4873 pSMB->hdr.Flags2 |= SMBFLG2_ERR_STATUS; in CIFSGetDFSRefer()
4875 pSMB->hdr.Flags2 |= SMBFLG2_DFS; in CIFSGetDFSRefer()
4878 pSMB->hdr.Flags2 |= SMBFLG2_UNICODE; in CIFSGetDFSRefer()
4880 cifsConvertToUTF16((__le16 *) pSMB->RequestFileName, in CIFSGetDFSRefer()
4886 name_len = copy_path_name(pSMB->RequestFileName, search_name); in CIFSGetDFSRefer()
4890 pSMB->hdr.Flags2 |= SMBFLG2_SECURITY_SIGNATURE; in CIFSGetDFSRefer()
4892 pSMB->hdr.Uid = ses->Suid; in CIFSGetDFSRefer()
4895 pSMB->TotalDataCount = 0; in CIFSGetDFSRefer()
4896 pSMB->DataCount = 0; in CIFSGetDFSRefer()
4897 pSMB->DataOffset = 0; in CIFSGetDFSRefer()
4898 pSMB->MaxParameterCount = 0; in CIFSGetDFSRefer()
4900 pSMB->MaxDataCount = cpu_to_le16(4000); in CIFSGetDFSRefer()
4901 pSMB->MaxSetupCount = 0; in CIFSGetDFSRefer()
4902 pSMB->Reserved = 0; in CIFSGetDFSRefer()
4903 pSMB->Flags = 0; in CIFSGetDFSRefer()
4904 pSMB->Timeout = 0; in CIFSGetDFSRefer()
4905 pSMB->Reserved2 = 0; in CIFSGetDFSRefer()
4906 pSMB->ParameterOffset = cpu_to_le16(offsetof( in CIFSGetDFSRefer()
4908 pSMB->SetupCount = 1; in CIFSGetDFSRefer()
4909 pSMB->Reserved3 = 0; in CIFSGetDFSRefer()
4910 pSMB->SubCommand = cpu_to_le16(TRANS2_GET_DFS_REFERRAL); in CIFSGetDFSRefer()
4912 pSMB->ParameterCount = cpu_to_le16(params); in CIFSGetDFSRefer()
4913 pSMB->TotalParameterCount = pSMB->ParameterCount; in CIFSGetDFSRefer()
4914 pSMB->MaxReferralLevel = cpu_to_le16(3); in CIFSGetDFSRefer()
4915 inc_rfc1001_len(pSMB, byte_count); in CIFSGetDFSRefer()
4916 pSMB->ByteCount = cpu_to_le16(byte_count); in CIFSGetDFSRefer()
4918 rc = SendReceive(xid, ses, (struct smb_hdr *) pSMB, in CIFSGetDFSRefer()
4943 cifs_buf_release(pSMB); in CIFSGetDFSRefer()
4957 TRANSACTION2_QFSI_REQ *pSMB = NULL; in SMBOldQFSInfo() local
4966 rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, in SMBOldQFSInfo()
4972 pSMB->TotalDataCount = 0; in SMBOldQFSInfo()
4973 pSMB->MaxParameterCount = cpu_to_le16(2); in SMBOldQFSInfo()
4974 pSMB->MaxDataCount = cpu_to_le16(1000); in SMBOldQFSInfo()
4975 pSMB->MaxSetupCount = 0; in SMBOldQFSInfo()
4976 pSMB->Reserved = 0; in SMBOldQFSInfo()
4977 pSMB->Flags = 0; in SMBOldQFSInfo()
4978 pSMB->Timeout = 0; in SMBOldQFSInfo()
4979 pSMB->Reserved2 = 0; in SMBOldQFSInfo()
4981 pSMB->TotalParameterCount = cpu_to_le16(params); in SMBOldQFSInfo()
4982 pSMB->ParameterCount = pSMB->TotalParameterCount; in SMBOldQFSInfo()
4983 pSMB->ParameterOffset = cpu_to_le16(offsetof( in SMBOldQFSInfo()
4985 pSMB->DataCount = 0; in SMBOldQFSInfo()
4986 pSMB->DataOffset = 0; in SMBOldQFSInfo()
4987 pSMB->SetupCount = 1; in SMBOldQFSInfo()
4988 pSMB->Reserved3 = 0; in SMBOldQFSInfo()
4989 pSMB->SubCommand = cpu_to_le16(TRANS2_QUERY_FS_INFORMATION); in SMBOldQFSInfo()
4990 pSMB->InformationLevel = cpu_to_le16(SMB_INFO_ALLOCATION); in SMBOldQFSInfo()
4991 inc_rfc1001_len(pSMB, byte_count); in SMBOldQFSInfo()
4992 pSMB->ByteCount = cpu_to_le16(byte_count); in SMBOldQFSInfo()
4994 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in SMBOldQFSInfo()
5031 cifs_buf_release(pSMB); in SMBOldQFSInfo()
5044 TRANSACTION2_QFSI_REQ *pSMB = NULL; in CIFSSMBQFSInfo() local
5053 rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, in CIFSSMBQFSInfo()
5059 pSMB->TotalDataCount = 0; in CIFSSMBQFSInfo()
5060 pSMB->MaxParameterCount = cpu_to_le16(2); in CIFSSMBQFSInfo()
5061 pSMB->MaxDataCount = cpu_to_le16(1000); in CIFSSMBQFSInfo()
5062 pSMB->MaxSetupCount = 0; in CIFSSMBQFSInfo()
5063 pSMB->Reserved = 0; in CIFSSMBQFSInfo()
5064 pSMB->Flags = 0; in CIFSSMBQFSInfo()
5065 pSMB->Timeout = 0; in CIFSSMBQFSInfo()
5066 pSMB->Reserved2 = 0; in CIFSSMBQFSInfo()
5068 pSMB->TotalParameterCount = cpu_to_le16(params); in CIFSSMBQFSInfo()
5069 pSMB->ParameterCount = pSMB->TotalParameterCount; in CIFSSMBQFSInfo()
5070 pSMB->ParameterOffset = cpu_to_le16(offsetof( in CIFSSMBQFSInfo()
5072 pSMB->DataCount = 0; in CIFSSMBQFSInfo()
5073 pSMB->DataOffset = 0; in CIFSSMBQFSInfo()
5074 pSMB->SetupCount = 1; in CIFSSMBQFSInfo()
5075 pSMB->Reserved3 = 0; in CIFSSMBQFSInfo()
5076 pSMB->SubCommand = cpu_to_le16(TRANS2_QUERY_FS_INFORMATION); in CIFSSMBQFSInfo()
5077 pSMB->InformationLevel = cpu_to_le16(SMB_QUERY_FS_SIZE_INFO); in CIFSSMBQFSInfo()
5078 inc_rfc1001_len(pSMB, byte_count); in CIFSSMBQFSInfo()
5079 pSMB->ByteCount = cpu_to_le16(byte_count); in CIFSSMBQFSInfo()
5081 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSSMBQFSInfo()
5118 cifs_buf_release(pSMB); in CIFSSMBQFSInfo()
5130 TRANSACTION2_QFSI_REQ *pSMB = NULL; in CIFSSMBQFSAttributeInfo() local
5139 rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, in CIFSSMBQFSAttributeInfo()
5145 pSMB->TotalDataCount = 0; in CIFSSMBQFSAttributeInfo()
5146 pSMB->MaxParameterCount = cpu_to_le16(2); in CIFSSMBQFSAttributeInfo()
5148 pSMB->MaxDataCount = cpu_to_le16(1000); in CIFSSMBQFSAttributeInfo()
5149 pSMB->MaxSetupCount = 0; in CIFSSMBQFSAttributeInfo()
5150 pSMB->Reserved = 0; in CIFSSMBQFSAttributeInfo()
5151 pSMB->Flags = 0; in CIFSSMBQFSAttributeInfo()
5152 pSMB->Timeout = 0; in CIFSSMBQFSAttributeInfo()
5153 pSMB->Reserved2 = 0; in CIFSSMBQFSAttributeInfo()
5155 pSMB->TotalParameterCount = cpu_to_le16(params); in CIFSSMBQFSAttributeInfo()
5156 pSMB->ParameterCount = pSMB->TotalParameterCount; in CIFSSMBQFSAttributeInfo()
5157 pSMB->ParameterOffset = cpu_to_le16(offsetof( in CIFSSMBQFSAttributeInfo()
5159 pSMB->DataCount = 0; in CIFSSMBQFSAttributeInfo()
5160 pSMB->DataOffset = 0; in CIFSSMBQFSAttributeInfo()
5161 pSMB->SetupCount = 1; in CIFSSMBQFSAttributeInfo()
5162 pSMB->Reserved3 = 0; in CIFSSMBQFSAttributeInfo()
5163 pSMB->SubCommand = cpu_to_le16(TRANS2_QUERY_FS_INFORMATION); in CIFSSMBQFSAttributeInfo()
5164 pSMB->InformationLevel = cpu_to_le16(SMB_QUERY_FS_ATTRIBUTE_INFO); in CIFSSMBQFSAttributeInfo()
5165 inc_rfc1001_len(pSMB, byte_count); in CIFSSMBQFSAttributeInfo()
5166 pSMB->ByteCount = cpu_to_le16(byte_count); in CIFSSMBQFSAttributeInfo()
5168 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSSMBQFSAttributeInfo()
5188 cifs_buf_release(pSMB); in CIFSSMBQFSAttributeInfo()
5200 TRANSACTION2_QFSI_REQ *pSMB = NULL; in CIFSSMBQFSDeviceInfo() local
5209 rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, in CIFSSMBQFSDeviceInfo()
5215 pSMB->TotalDataCount = 0; in CIFSSMBQFSDeviceInfo()
5216 pSMB->MaxParameterCount = cpu_to_le16(2); in CIFSSMBQFSDeviceInfo()
5218 pSMB->MaxDataCount = cpu_to_le16(1000); in CIFSSMBQFSDeviceInfo()
5219 pSMB->MaxSetupCount = 0; in CIFSSMBQFSDeviceInfo()
5220 pSMB->Reserved = 0; in CIFSSMBQFSDeviceInfo()
5221 pSMB->Flags = 0; in CIFSSMBQFSDeviceInfo()
5222 pSMB->Timeout = 0; in CIFSSMBQFSDeviceInfo()
5223 pSMB->Reserved2 = 0; in CIFSSMBQFSDeviceInfo()
5225 pSMB->TotalParameterCount = cpu_to_le16(params); in CIFSSMBQFSDeviceInfo()
5226 pSMB->ParameterCount = pSMB->TotalParameterCount; in CIFSSMBQFSDeviceInfo()
5227 pSMB->ParameterOffset = cpu_to_le16(offsetof( in CIFSSMBQFSDeviceInfo()
5230 pSMB->DataCount = 0; in CIFSSMBQFSDeviceInfo()
5231 pSMB->DataOffset = 0; in CIFSSMBQFSDeviceInfo()
5232 pSMB->SetupCount = 1; in CIFSSMBQFSDeviceInfo()
5233 pSMB->Reserved3 = 0; in CIFSSMBQFSDeviceInfo()
5234 pSMB->SubCommand = cpu_to_le16(TRANS2_QUERY_FS_INFORMATION); in CIFSSMBQFSDeviceInfo()
5235 pSMB->InformationLevel = cpu_to_le16(SMB_QUERY_FS_DEVICE_INFO); in CIFSSMBQFSDeviceInfo()
5236 inc_rfc1001_len(pSMB, byte_count); in CIFSSMBQFSDeviceInfo()
5237 pSMB->ByteCount = cpu_to_le16(byte_count); in CIFSSMBQFSDeviceInfo()
5239 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSSMBQFSDeviceInfo()
5259 cifs_buf_release(pSMB); in CIFSSMBQFSDeviceInfo()
5271 TRANSACTION2_QFSI_REQ *pSMB = NULL; in CIFSSMBQFSUnixInfo() local
5281 (void **) &pSMB, (void **) &pSMBr); in CIFSSMBQFSUnixInfo()
5286 pSMB->TotalDataCount = 0; in CIFSSMBQFSUnixInfo()
5287 pSMB->DataCount = 0; in CIFSSMBQFSUnixInfo()
5288 pSMB->DataOffset = 0; in CIFSSMBQFSUnixInfo()
5289 pSMB->MaxParameterCount = cpu_to_le16(2); in CIFSSMBQFSUnixInfo()
5291 pSMB->MaxDataCount = cpu_to_le16(100); in CIFSSMBQFSUnixInfo()
5292 pSMB->MaxSetupCount = 0; in CIFSSMBQFSUnixInfo()
5293 pSMB->Reserved = 0; in CIFSSMBQFSUnixInfo()
5294 pSMB->Flags = 0; in CIFSSMBQFSUnixInfo()
5295 pSMB->Timeout = 0; in CIFSSMBQFSUnixInfo()
5296 pSMB->Reserved2 = 0; in CIFSSMBQFSUnixInfo()
5298 pSMB->ParameterCount = cpu_to_le16(params); in CIFSSMBQFSUnixInfo()
5299 pSMB->TotalParameterCount = pSMB->ParameterCount; in CIFSSMBQFSUnixInfo()
5300 pSMB->ParameterOffset = cpu_to_le16(offsetof(struct in CIFSSMBQFSUnixInfo()
5302 pSMB->SetupCount = 1; in CIFSSMBQFSUnixInfo()
5303 pSMB->Reserved3 = 0; in CIFSSMBQFSUnixInfo()
5304 pSMB->SubCommand = cpu_to_le16(TRANS2_QUERY_FS_INFORMATION); in CIFSSMBQFSUnixInfo()
5305 pSMB->InformationLevel = cpu_to_le16(SMB_QUERY_CIFS_UNIX_INFO); in CIFSSMBQFSUnixInfo()
5306 inc_rfc1001_len(pSMB, byte_count); in CIFSSMBQFSUnixInfo()
5307 pSMB->ByteCount = cpu_to_le16(byte_count); in CIFSSMBQFSUnixInfo()
5309 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSSMBQFSUnixInfo()
5328 cifs_buf_release(pSMB); in CIFSSMBQFSUnixInfo()
5341 TRANSACTION2_SETFSI_REQ *pSMB = NULL; in CIFSSMBSetFSUnixInfo() local
5351 (void **) &pSMB, (void **) &pSMBr); in CIFSSMBSetFSUnixInfo()
5356 pSMB->MaxSetupCount = 0; in CIFSSMBSetFSUnixInfo()
5357 pSMB->Reserved = 0; in CIFSSMBSetFSUnixInfo()
5358 pSMB->Flags = 0; in CIFSSMBSetFSUnixInfo()
5359 pSMB->Timeout = 0; in CIFSSMBSetFSUnixInfo()
5360 pSMB->Reserved2 = 0; in CIFSSMBSetFSUnixInfo()
5365 pSMB->MaxParameterCount = cpu_to_le16(4); in CIFSSMBSetFSUnixInfo()
5367 pSMB->MaxDataCount = cpu_to_le16(100); in CIFSSMBSetFSUnixInfo()
5368 pSMB->SetupCount = 1; in CIFSSMBSetFSUnixInfo()
5369 pSMB->Reserved3 = 0; in CIFSSMBSetFSUnixInfo()
5370 pSMB->SubCommand = cpu_to_le16(TRANS2_SET_FS_INFORMATION); in CIFSSMBSetFSUnixInfo()
5373 pSMB->DataCount = cpu_to_le16(12); in CIFSSMBSetFSUnixInfo()
5374 pSMB->ParameterCount = cpu_to_le16(params); in CIFSSMBSetFSUnixInfo()
5375 pSMB->TotalDataCount = pSMB->DataCount; in CIFSSMBSetFSUnixInfo()
5376 pSMB->TotalParameterCount = pSMB->ParameterCount; in CIFSSMBSetFSUnixInfo()
5377 pSMB->ParameterOffset = cpu_to_le16(param_offset); in CIFSSMBSetFSUnixInfo()
5378 pSMB->DataOffset = cpu_to_le16(offset); in CIFSSMBSetFSUnixInfo()
5381 pSMB->FileNum = 0; in CIFSSMBSetFSUnixInfo()
5382 pSMB->InformationLevel = cpu_to_le16(SMB_SET_CIFS_UNIX_INFO); in CIFSSMBSetFSUnixInfo()
5385 pSMB->ClientUnixMajor = cpu_to_le16(CIFS_UNIX_MAJOR_VERSION); in CIFSSMBSetFSUnixInfo()
5386 pSMB->ClientUnixMinor = cpu_to_le16(CIFS_UNIX_MINOR_VERSION); in CIFSSMBSetFSUnixInfo()
5387 pSMB->ClientUnixCap = cpu_to_le64(cap); in CIFSSMBSetFSUnixInfo()
5389 inc_rfc1001_len(pSMB, byte_count); in CIFSSMBSetFSUnixInfo()
5390 pSMB->ByteCount = cpu_to_le16(byte_count); in CIFSSMBSetFSUnixInfo()
5392 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSSMBSetFSUnixInfo()
5401 cifs_buf_release(pSMB); in CIFSSMBSetFSUnixInfo()
5416 TRANSACTION2_QFSI_REQ *pSMB = NULL; in CIFSSMBQFSPosixInfo() local
5425 rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, in CIFSSMBQFSPosixInfo()
5431 pSMB->TotalDataCount = 0; in CIFSSMBQFSPosixInfo()
5432 pSMB->DataCount = 0; in CIFSSMBQFSPosixInfo()
5433 pSMB->DataOffset = 0; in CIFSSMBQFSPosixInfo()
5434 pSMB->MaxParameterCount = cpu_to_le16(2); in CIFSSMBQFSPosixInfo()
5436 pSMB->MaxDataCount = cpu_to_le16(100); in CIFSSMBQFSPosixInfo()
5437 pSMB->MaxSetupCount = 0; in CIFSSMBQFSPosixInfo()
5438 pSMB->Reserved = 0; in CIFSSMBQFSPosixInfo()
5439 pSMB->Flags = 0; in CIFSSMBQFSPosixInfo()
5440 pSMB->Timeout = 0; in CIFSSMBQFSPosixInfo()
5441 pSMB->Reserved2 = 0; in CIFSSMBQFSPosixInfo()
5443 pSMB->ParameterCount = cpu_to_le16(params); in CIFSSMBQFSPosixInfo()
5444 pSMB->TotalParameterCount = pSMB->ParameterCount; in CIFSSMBQFSPosixInfo()
5445 pSMB->ParameterOffset = cpu_to_le16(offsetof(struct in CIFSSMBQFSPosixInfo()
5447 pSMB->SetupCount = 1; in CIFSSMBQFSPosixInfo()
5448 pSMB->Reserved3 = 0; in CIFSSMBQFSPosixInfo()
5449 pSMB->SubCommand = cpu_to_le16(TRANS2_QUERY_FS_INFORMATION); in CIFSSMBQFSPosixInfo()
5450 pSMB->InformationLevel = cpu_to_le16(SMB_QUERY_POSIX_FS_INFO); in CIFSSMBQFSPosixInfo()
5451 inc_rfc1001_len(pSMB, byte_count); in CIFSSMBQFSPosixInfo()
5452 pSMB->ByteCount = cpu_to_le16(byte_count); in CIFSSMBQFSPosixInfo()
5454 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSSMBQFSPosixInfo()
5496 cifs_buf_release(pSMB); in CIFSSMBQFSPosixInfo()
5516 struct smb_com_transaction2_spi_req *pSMB = NULL; in CIFSSMBSetEOF() local
5528 rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, in CIFSSMBSetEOF()
5533 if (pSMB->hdr.Flags2 & SMBFLG2_UNICODE) { in CIFSSMBSetEOF()
5535 cifsConvertToUTF16((__le16 *) pSMB->FileName, file_name, in CIFSSMBSetEOF()
5540 name_len = copy_path_name(pSMB->FileName, file_name); in CIFSSMBSetEOF()
5544 pSMB->MaxParameterCount = cpu_to_le16(2); in CIFSSMBSetEOF()
5545 pSMB->MaxDataCount = cpu_to_le16(4100); in CIFSSMBSetEOF()
5546 pSMB->MaxSetupCount = 0; in CIFSSMBSetEOF()
5547 pSMB->Reserved = 0; in CIFSSMBSetEOF()
5548 pSMB->Flags = 0; in CIFSSMBSetEOF()
5549 pSMB->Timeout = 0; in CIFSSMBSetEOF()
5550 pSMB->Reserved2 = 0; in CIFSSMBSetEOF()
5556 pSMB->InformationLevel = in CIFSSMBSetEOF()
5559 pSMB->InformationLevel = in CIFSSMBSetEOF()
5563 pSMB->InformationLevel = in CIFSSMBSetEOF()
5566 pSMB->InformationLevel = in CIFSSMBSetEOF()
5571 (struct file_end_of_file_info *) (((char *) &pSMB->hdr.Protocol) + in CIFSSMBSetEOF()
5573 pSMB->ParameterOffset = cpu_to_le16(param_offset); in CIFSSMBSetEOF()
5574 pSMB->DataOffset = cpu_to_le16(offset); in CIFSSMBSetEOF()
5575 pSMB->SetupCount = 1; in CIFSSMBSetEOF()
5576 pSMB->Reserved3 = 0; in CIFSSMBSetEOF()
5577 pSMB->SubCommand = cpu_to_le16(TRANS2_SET_PATH_INFORMATION); in CIFSSMBSetEOF()
5579 pSMB->DataCount = cpu_to_le16(data_count); in CIFSSMBSetEOF()
5580 pSMB->TotalDataCount = pSMB->DataCount; in CIFSSMBSetEOF()
5581 pSMB->ParameterCount = cpu_to_le16(params); in CIFSSMBSetEOF()
5582 pSMB->TotalParameterCount = pSMB->ParameterCount; in CIFSSMBSetEOF()
5583 pSMB->Reserved4 = 0; in CIFSSMBSetEOF()
5584 inc_rfc1001_len(pSMB, byte_count); in CIFSSMBSetEOF()
5586 pSMB->ByteCount = cpu_to_le16(byte_count); in CIFSSMBSetEOF()
5587 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSSMBSetEOF()
5592 cifs_buf_release(pSMB); in CIFSSMBSetEOF()
5604 struct smb_com_transaction2_sfi_req *pSMB = NULL; in CIFSSMBSetFileSize() local
5611 rc = small_smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB); in CIFSSMBSetFileSize()
5616 pSMB->hdr.Pid = cpu_to_le16((__u16)cfile->pid); in CIFSSMBSetFileSize()
5617 pSMB->hdr.PidHigh = cpu_to_le16((__u16)(cfile->pid >> 16)); in CIFSSMBSetFileSize()
5620 pSMB->MaxSetupCount = 0; in CIFSSMBSetFileSize()
5621 pSMB->Reserved = 0; in CIFSSMBSetFileSize()
5622 pSMB->Flags = 0; in CIFSSMBSetFileSize()
5623 pSMB->Timeout = 0; in CIFSSMBSetFileSize()
5624 pSMB->Reserved2 = 0; in CIFSSMBSetFileSize()
5629 pSMB->MaxParameterCount = cpu_to_le16(2); in CIFSSMBSetFileSize()
5631 pSMB->MaxDataCount = cpu_to_le16(1000); in CIFSSMBSetFileSize()
5632 pSMB->SetupCount = 1; in CIFSSMBSetFileSize()
5633 pSMB->Reserved3 = 0; in CIFSSMBSetFileSize()
5634 pSMB->SubCommand = cpu_to_le16(TRANS2_SET_FILE_INFORMATION); in CIFSSMBSetFileSize()
5636 pSMB->DataCount = cpu_to_le16(count); in CIFSSMBSetFileSize()
5637 pSMB->ParameterCount = cpu_to_le16(params); in CIFSSMBSetFileSize()
5638 pSMB->TotalDataCount = pSMB->DataCount; in CIFSSMBSetFileSize()
5639 pSMB->TotalParameterCount = pSMB->ParameterCount; in CIFSSMBSetFileSize()
5640 pSMB->ParameterOffset = cpu_to_le16(param_offset); in CIFSSMBSetFileSize()
5642 (struct file_end_of_file_info *) (((char *) &pSMB->hdr.Protocol) in CIFSSMBSetFileSize()
5644 pSMB->DataOffset = cpu_to_le16(offset); in CIFSSMBSetFileSize()
5646 pSMB->Fid = cfile->fid.netfid; in CIFSSMBSetFileSize()
5649 pSMB->InformationLevel = in CIFSSMBSetFileSize()
5652 pSMB->InformationLevel = in CIFSSMBSetFileSize()
5656 pSMB->InformationLevel = in CIFSSMBSetFileSize()
5659 pSMB->InformationLevel = in CIFSSMBSetFileSize()
5662 pSMB->Reserved4 = 0; in CIFSSMBSetFileSize()
5663 inc_rfc1001_len(pSMB, byte_count); in CIFSSMBSetFileSize()
5664 pSMB->ByteCount = cpu_to_le16(byte_count); in CIFSSMBSetFileSize()
5665 rc = SendReceiveNoRsp(xid, tcon->ses, (char *) pSMB, 0); in CIFSSMBSetFileSize()
5666 cifs_small_buf_release(pSMB); in CIFSSMBSetFileSize()
5688 struct smb_com_transaction2_sfi_req *pSMB = NULL; in CIFSSMBSetFileInfo() local
5694 rc = small_smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB); in CIFSSMBSetFileInfo()
5699 pSMB->hdr.Pid = cpu_to_le16((__u16)pid_of_opener); in CIFSSMBSetFileInfo()
5700 pSMB->hdr.PidHigh = cpu_to_le16((__u16)(pid_of_opener >> 16)); in CIFSSMBSetFileInfo()
5703 pSMB->MaxSetupCount = 0; in CIFSSMBSetFileInfo()
5704 pSMB->Reserved = 0; in CIFSSMBSetFileInfo()
5705 pSMB->Flags = 0; in CIFSSMBSetFileInfo()
5706 pSMB->Timeout = 0; in CIFSSMBSetFileInfo()
5707 pSMB->Reserved2 = 0; in CIFSSMBSetFileInfo()
5711 data_offset = (char *)pSMB + in CIFSSMBSetFileInfo()
5715 pSMB->MaxParameterCount = cpu_to_le16(2); in CIFSSMBSetFileInfo()
5717 pSMB->MaxDataCount = cpu_to_le16(1000); in CIFSSMBSetFileInfo()
5718 pSMB->SetupCount = 1; in CIFSSMBSetFileInfo()
5719 pSMB->Reserved3 = 0; in CIFSSMBSetFileInfo()
5720 pSMB->SubCommand = cpu_to_le16(TRANS2_SET_FILE_INFORMATION); in CIFSSMBSetFileInfo()
5722 pSMB->DataCount = cpu_to_le16(count); in CIFSSMBSetFileInfo()
5723 pSMB->ParameterCount = cpu_to_le16(params); in CIFSSMBSetFileInfo()
5724 pSMB->TotalDataCount = pSMB->DataCount; in CIFSSMBSetFileInfo()
5725 pSMB->TotalParameterCount = pSMB->ParameterCount; in CIFSSMBSetFileInfo()
5726 pSMB->ParameterOffset = cpu_to_le16(param_offset); in CIFSSMBSetFileInfo()
5727 pSMB->DataOffset = cpu_to_le16(offset); in CIFSSMBSetFileInfo()
5728 pSMB->Fid = fid; in CIFSSMBSetFileInfo()
5730 pSMB->InformationLevel = cpu_to_le16(SMB_SET_FILE_BASIC_INFO2); in CIFSSMBSetFileInfo()
5732 pSMB->InformationLevel = cpu_to_le16(SMB_SET_FILE_BASIC_INFO); in CIFSSMBSetFileInfo()
5733 pSMB->Reserved4 = 0; in CIFSSMBSetFileInfo()
5734 inc_rfc1001_len(pSMB, byte_count); in CIFSSMBSetFileInfo()
5735 pSMB->ByteCount = cpu_to_le16(byte_count); in CIFSSMBSetFileInfo()
5737 rc = SendReceiveNoRsp(xid, tcon->ses, (char *) pSMB, 0); in CIFSSMBSetFileInfo()
5738 cifs_small_buf_release(pSMB); in CIFSSMBSetFileInfo()
5753 struct smb_com_transaction2_sfi_req *pSMB = NULL; in CIFSSMBSetFileDisposition() local
5759 rc = small_smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB); in CIFSSMBSetFileDisposition()
5764 pSMB->hdr.Pid = cpu_to_le16((__u16)pid_of_opener); in CIFSSMBSetFileDisposition()
5765 pSMB->hdr.PidHigh = cpu_to_le16((__u16)(pid_of_opener >> 16)); in CIFSSMBSetFileDisposition()
5768 pSMB->MaxSetupCount = 0; in CIFSSMBSetFileDisposition()
5769 pSMB->Reserved = 0; in CIFSSMBSetFileDisposition()
5770 pSMB->Flags = 0; in CIFSSMBSetFileDisposition()
5771 pSMB->Timeout = 0; in CIFSSMBSetFileDisposition()
5772 pSMB->Reserved2 = 0; in CIFSSMBSetFileDisposition()
5776 data_offset = (char *) (&pSMB->hdr.Protocol) + offset; in CIFSSMBSetFileDisposition()
5779 pSMB->MaxParameterCount = cpu_to_le16(2); in CIFSSMBSetFileDisposition()
5781 pSMB->MaxDataCount = cpu_to_le16(1000); in CIFSSMBSetFileDisposition()
5782 pSMB->SetupCount = 1; in CIFSSMBSetFileDisposition()
5783 pSMB->Reserved3 = 0; in CIFSSMBSetFileDisposition()
5784 pSMB->SubCommand = cpu_to_le16(TRANS2_SET_FILE_INFORMATION); in CIFSSMBSetFileDisposition()
5786 pSMB->DataCount = cpu_to_le16(count); in CIFSSMBSetFileDisposition()
5787 pSMB->ParameterCount = cpu_to_le16(params); in CIFSSMBSetFileDisposition()
5788 pSMB->TotalDataCount = pSMB->DataCount; in CIFSSMBSetFileDisposition()
5789 pSMB->TotalParameterCount = pSMB->ParameterCount; in CIFSSMBSetFileDisposition()
5790 pSMB->ParameterOffset = cpu_to_le16(param_offset); in CIFSSMBSetFileDisposition()
5791 pSMB->DataOffset = cpu_to_le16(offset); in CIFSSMBSetFileDisposition()
5792 pSMB->Fid = fid; in CIFSSMBSetFileDisposition()
5793 pSMB->InformationLevel = cpu_to_le16(SMB_SET_FILE_DISPOSITION_INFO); in CIFSSMBSetFileDisposition()
5794 pSMB->Reserved4 = 0; in CIFSSMBSetFileDisposition()
5795 inc_rfc1001_len(pSMB, byte_count); in CIFSSMBSetFileDisposition()
5796 pSMB->ByteCount = cpu_to_le16(byte_count); in CIFSSMBSetFileDisposition()
5798 rc = SendReceiveNoRsp(xid, tcon->ses, (char *) pSMB, 0); in CIFSSMBSetFileDisposition()
5799 cifs_small_buf_release(pSMB); in CIFSSMBSetFileDisposition()
5843 TRANSACTION2_SPI_REQ *pSMB = NULL; in CIFSSMBSetPathInfo() local
5855 rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, in CIFSSMBSetPathInfo()
5860 if (pSMB->hdr.Flags2 & SMBFLG2_UNICODE) { in CIFSSMBSetPathInfo()
5862 cifsConvertToUTF16((__le16 *) pSMB->FileName, fileName, in CIFSSMBSetPathInfo()
5867 name_len = copy_path_name(pSMB->FileName, fileName); in CIFSSMBSetPathInfo()
5872 pSMB->MaxParameterCount = cpu_to_le16(2); in CIFSSMBSetPathInfo()
5874 pSMB->MaxDataCount = cpu_to_le16(1000); in CIFSSMBSetPathInfo()
5875 pSMB->MaxSetupCount = 0; in CIFSSMBSetPathInfo()
5876 pSMB->Reserved = 0; in CIFSSMBSetPathInfo()
5877 pSMB->Flags = 0; in CIFSSMBSetPathInfo()
5878 pSMB->Timeout = 0; in CIFSSMBSetPathInfo()
5879 pSMB->Reserved2 = 0; in CIFSSMBSetPathInfo()
5883 data_offset = (char *) (&pSMB->hdr.Protocol) + offset; in CIFSSMBSetPathInfo()
5884 pSMB->ParameterOffset = cpu_to_le16(param_offset); in CIFSSMBSetPathInfo()
5885 pSMB->DataOffset = cpu_to_le16(offset); in CIFSSMBSetPathInfo()
5886 pSMB->SetupCount = 1; in CIFSSMBSetPathInfo()
5887 pSMB->Reserved3 = 0; in CIFSSMBSetPathInfo()
5888 pSMB->SubCommand = cpu_to_le16(TRANS2_SET_PATH_INFORMATION); in CIFSSMBSetPathInfo()
5891 pSMB->DataCount = cpu_to_le16(count); in CIFSSMBSetPathInfo()
5892 pSMB->ParameterCount = cpu_to_le16(params); in CIFSSMBSetPathInfo()
5893 pSMB->TotalDataCount = pSMB->DataCount; in CIFSSMBSetPathInfo()
5894 pSMB->TotalParameterCount = pSMB->ParameterCount; in CIFSSMBSetPathInfo()
5896 pSMB->InformationLevel = cpu_to_le16(SMB_SET_FILE_BASIC_INFO2); in CIFSSMBSetPathInfo()
5898 pSMB->InformationLevel = cpu_to_le16(SMB_SET_FILE_BASIC_INFO); in CIFSSMBSetPathInfo()
5899 pSMB->Reserved4 = 0; in CIFSSMBSetPathInfo()
5900 inc_rfc1001_len(pSMB, byte_count); in CIFSSMBSetPathInfo()
5902 pSMB->ByteCount = cpu_to_le16(byte_count); in CIFSSMBSetPathInfo()
5903 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSSMBSetPathInfo()
5908 cifs_buf_release(pSMB); in CIFSSMBSetPathInfo()
5929 SETATTR_REQ *pSMB = NULL;
5938 rc = smb_init(SMB_COM_SETATTR, 8, tcon, (void **) &pSMB,
5943 if (pSMB->hdr.Flags2 & SMBFLG2_UNICODE) {
5945 ConvertToUTF16((__le16 *) pSMB->fileName, fileName,
5950 name_len = copy_path_name(pSMB->fileName, fileName);
5952 pSMB->attr = cpu_to_le16(dos_attrs);
5953 pSMB->BufferFormat = 0x04;
5954 inc_rfc1001_len(pSMB, name_len + 1);
5955 pSMB->ByteCount = cpu_to_le16(name_len + 1);
5956 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB,
5961 cifs_buf_release(pSMB);
6022 struct smb_com_transaction2_sfi_req *pSMB = NULL; in CIFSSMBUnixSetFileInfo() local
6028 rc = small_smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB); in CIFSSMBUnixSetFileInfo()
6033 pSMB->hdr.Pid = cpu_to_le16((__u16)pid_of_opener); in CIFSSMBUnixSetFileInfo()
6034 pSMB->hdr.PidHigh = cpu_to_le16((__u16)(pid_of_opener >> 16)); in CIFSSMBUnixSetFileInfo()
6037 pSMB->MaxSetupCount = 0; in CIFSSMBUnixSetFileInfo()
6038 pSMB->Reserved = 0; in CIFSSMBUnixSetFileInfo()
6039 pSMB->Flags = 0; in CIFSSMBUnixSetFileInfo()
6040 pSMB->Timeout = 0; in CIFSSMBUnixSetFileInfo()
6041 pSMB->Reserved2 = 0; in CIFSSMBUnixSetFileInfo()
6045 data_offset = (char *)pSMB + in CIFSSMBUnixSetFileInfo()
6050 pSMB->MaxParameterCount = cpu_to_le16(2); in CIFSSMBUnixSetFileInfo()
6052 pSMB->MaxDataCount = cpu_to_le16(1000); in CIFSSMBUnixSetFileInfo()
6053 pSMB->SetupCount = 1; in CIFSSMBUnixSetFileInfo()
6054 pSMB->Reserved3 = 0; in CIFSSMBUnixSetFileInfo()
6055 pSMB->SubCommand = cpu_to_le16(TRANS2_SET_FILE_INFORMATION); in CIFSSMBUnixSetFileInfo()
6057 pSMB->DataCount = cpu_to_le16(count); in CIFSSMBUnixSetFileInfo()
6058 pSMB->ParameterCount = cpu_to_le16(params); in CIFSSMBUnixSetFileInfo()
6059 pSMB->TotalDataCount = pSMB->DataCount; in CIFSSMBUnixSetFileInfo()
6060 pSMB->TotalParameterCount = pSMB->ParameterCount; in CIFSSMBUnixSetFileInfo()
6061 pSMB->ParameterOffset = cpu_to_le16(param_offset); in CIFSSMBUnixSetFileInfo()
6062 pSMB->DataOffset = cpu_to_le16(offset); in CIFSSMBUnixSetFileInfo()
6063 pSMB->Fid = fid; in CIFSSMBUnixSetFileInfo()
6064 pSMB->InformationLevel = cpu_to_le16(SMB_SET_FILE_UNIX_BASIC); in CIFSSMBUnixSetFileInfo()
6065 pSMB->Reserved4 = 0; in CIFSSMBUnixSetFileInfo()
6066 inc_rfc1001_len(pSMB, byte_count); in CIFSSMBUnixSetFileInfo()
6067 pSMB->ByteCount = cpu_to_le16(byte_count); in CIFSSMBUnixSetFileInfo()
6071 rc = SendReceiveNoRsp(xid, tcon->ses, (char *) pSMB, 0); in CIFSSMBUnixSetFileInfo()
6072 cifs_small_buf_release(pSMB); in CIFSSMBUnixSetFileInfo()
6089 TRANSACTION2_SPI_REQ *pSMB = NULL; in CIFSSMBUnixSetPathInfo() local
6099 rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, in CIFSSMBUnixSetPathInfo()
6104 if (pSMB->hdr.Flags2 & SMBFLG2_UNICODE) { in CIFSSMBUnixSetPathInfo()
6106 cifsConvertToUTF16((__le16 *) pSMB->FileName, file_name, in CIFSSMBUnixSetPathInfo()
6111 name_len = copy_path_name(pSMB->FileName, file_name); in CIFSSMBUnixSetPathInfo()
6116 pSMB->MaxParameterCount = cpu_to_le16(2); in CIFSSMBUnixSetPathInfo()
6118 pSMB->MaxDataCount = cpu_to_le16(1000); in CIFSSMBUnixSetPathInfo()
6119 pSMB->MaxSetupCount = 0; in CIFSSMBUnixSetPathInfo()
6120 pSMB->Reserved = 0; in CIFSSMBUnixSetPathInfo()
6121 pSMB->Flags = 0; in CIFSSMBUnixSetPathInfo()
6122 pSMB->Timeout = 0; in CIFSSMBUnixSetPathInfo()
6123 pSMB->Reserved2 = 0; in CIFSSMBUnixSetPathInfo()
6128 (FILE_UNIX_BASIC_INFO *) ((char *) &pSMB->hdr.Protocol + in CIFSSMBUnixSetPathInfo()
6131 pSMB->DataOffset = cpu_to_le16(offset); in CIFSSMBUnixSetPathInfo()
6132 pSMB->ParameterOffset = cpu_to_le16(param_offset); in CIFSSMBUnixSetPathInfo()
6133 pSMB->SetupCount = 1; in CIFSSMBUnixSetPathInfo()
6134 pSMB->Reserved3 = 0; in CIFSSMBUnixSetPathInfo()
6135 pSMB->SubCommand = cpu_to_le16(TRANS2_SET_PATH_INFORMATION); in CIFSSMBUnixSetPathInfo()
6137 pSMB->ParameterCount = cpu_to_le16(params); in CIFSSMBUnixSetPathInfo()
6138 pSMB->DataCount = cpu_to_le16(count); in CIFSSMBUnixSetPathInfo()
6139 pSMB->TotalParameterCount = pSMB->ParameterCount; in CIFSSMBUnixSetPathInfo()
6140 pSMB->TotalDataCount = pSMB->DataCount; in CIFSSMBUnixSetPathInfo()
6141 pSMB->InformationLevel = cpu_to_le16(SMB_SET_FILE_UNIX_BASIC); in CIFSSMBUnixSetPathInfo()
6142 pSMB->Reserved4 = 0; in CIFSSMBUnixSetPathInfo()
6143 inc_rfc1001_len(pSMB, byte_count); in CIFSSMBUnixSetPathInfo()
6147 pSMB->ByteCount = cpu_to_le16(byte_count); in CIFSSMBUnixSetPathInfo()
6148 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSSMBUnixSetPathInfo()
6153 cifs_buf_release(pSMB); in CIFSSMBUnixSetPathInfo()
6176 TRANSACTION2_QPI_REQ *pSMB = NULL; in CIFSSMBQAllEAs() local
6192 rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, in CIFSSMBQAllEAs()
6197 if (pSMB->hdr.Flags2 & SMBFLG2_UNICODE) { in CIFSSMBQAllEAs()
6199 cifsConvertToUTF16((__le16 *) pSMB->FileName, searchName, in CIFSSMBQAllEAs()
6204 list_len = copy_path_name(pSMB->FileName, searchName); in CIFSSMBQAllEAs()
6208 pSMB->TotalDataCount = 0; in CIFSSMBQAllEAs()
6209 pSMB->MaxParameterCount = cpu_to_le16(2); in CIFSSMBQAllEAs()
6211 pSMB->MaxDataCount = cpu_to_le16(CIFSMaxBufSize); in CIFSSMBQAllEAs()
6212 pSMB->MaxSetupCount = 0; in CIFSSMBQAllEAs()
6213 pSMB->Reserved = 0; in CIFSSMBQAllEAs()
6214 pSMB->Flags = 0; in CIFSSMBQAllEAs()
6215 pSMB->Timeout = 0; in CIFSSMBQAllEAs()
6216 pSMB->Reserved2 = 0; in CIFSSMBQAllEAs()
6217 pSMB->ParameterOffset = cpu_to_le16(offsetof( in CIFSSMBQAllEAs()
6219 pSMB->DataCount = 0; in CIFSSMBQAllEAs()
6220 pSMB->DataOffset = 0; in CIFSSMBQAllEAs()
6221 pSMB->SetupCount = 1; in CIFSSMBQAllEAs()
6222 pSMB->Reserved3 = 0; in CIFSSMBQAllEAs()
6223 pSMB->SubCommand = cpu_to_le16(TRANS2_QUERY_PATH_INFORMATION); in CIFSSMBQAllEAs()
6225 pSMB->TotalParameterCount = cpu_to_le16(params); in CIFSSMBQAllEAs()
6226 pSMB->ParameterCount = pSMB->TotalParameterCount; in CIFSSMBQAllEAs()
6227 pSMB->InformationLevel = cpu_to_le16(SMB_INFO_QUERY_ALL_EAS); in CIFSSMBQAllEAs()
6228 pSMB->Reserved4 = 0; in CIFSSMBQAllEAs()
6229 inc_rfc1001_len(pSMB, byte_count); in CIFSSMBQAllEAs()
6230 pSMB->ByteCount = cpu_to_le16(byte_count); in CIFSSMBQAllEAs()
6232 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSSMBQAllEAs()
6348 cifs_buf_release(pSMB); in CIFSSMBQAllEAs()
6361 struct smb_com_transaction2_spi_req *pSMB = NULL; in CIFSSMBSetEA() local
6372 rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, in CIFSSMBSetEA()
6377 if (pSMB->hdr.Flags2 & SMBFLG2_UNICODE) { in CIFSSMBSetEA()
6379 cifsConvertToUTF16((__le16 *) pSMB->FileName, fileName, in CIFSSMBSetEA()
6384 name_len = copy_path_name(pSMB->FileName, fileName); in CIFSSMBSetEA()
6398 pSMB->MaxParameterCount = cpu_to_le16(2); in CIFSSMBSetEA()
6400 pSMB->MaxDataCount = cpu_to_le16(1000); in CIFSSMBSetEA()
6401 pSMB->MaxSetupCount = 0; in CIFSSMBSetEA()
6402 pSMB->Reserved = 0; in CIFSSMBSetEA()
6403 pSMB->Flags = 0; in CIFSSMBSetEA()
6404 pSMB->Timeout = 0; in CIFSSMBSetEA()
6405 pSMB->Reserved2 = 0; in CIFSSMBSetEA()
6409 pSMB->InformationLevel = in CIFSSMBSetEA()
6412 parm_data = (void *)pSMB + offsetof(struct smb_hdr, Protocol) + offset; in CIFSSMBSetEA()
6413 pSMB->ParameterOffset = cpu_to_le16(param_offset); in CIFSSMBSetEA()
6414 pSMB->DataOffset = cpu_to_le16(offset); in CIFSSMBSetEA()
6415 pSMB->SetupCount = 1; in CIFSSMBSetEA()
6416 pSMB->Reserved3 = 0; in CIFSSMBSetEA()
6417 pSMB->SubCommand = cpu_to_le16(TRANS2_SET_PATH_INFORMATION); in CIFSSMBSetEA()
6419 pSMB->DataCount = cpu_to_le16(count); in CIFSSMBSetEA()
6439 pSMB->TotalDataCount = pSMB->DataCount; in CIFSSMBSetEA()
6440 pSMB->ParameterCount = cpu_to_le16(params); in CIFSSMBSetEA()
6441 pSMB->TotalParameterCount = pSMB->ParameterCount; in CIFSSMBSetEA()
6442 pSMB->Reserved4 = 0; in CIFSSMBSetEA()
6443 inc_rfc1001_len(pSMB, byte_count); in CIFSSMBSetEA()
6444 pSMB->ByteCount = cpu_to_le16(byte_count); in CIFSSMBSetEA()
6445 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSSMBSetEA()
6450 cifs_buf_release(pSMB); in CIFSSMBSetEA()