Lines Matching refs:pSMB
334 static int validate_t2(struct smb_t2_rsp *pSMB) in validate_t2() argument
339 if (pSMB->hdr.WordCount < 10) in validate_t2()
343 if (get_unaligned_le16(&pSMB->t2_rsp.ParameterOffset) > 1024 || in validate_t2()
344 get_unaligned_le16(&pSMB->t2_rsp.DataOffset) > 1024) in validate_t2()
347 total_size = get_unaligned_le16(&pSMB->t2_rsp.ParameterCount); in validate_t2()
354 total_size += get_unaligned_le16(&pSMB->t2_rsp.DataCount); in validate_t2()
355 if (total_size > get_bcc(&pSMB->hdr) || in validate_t2()
361 cifs_dump_mem("Invalid transact2 SMB: ", (char *)pSMB, in validate_t2()
547 NEGOTIATE_REQ *pSMB; in CIFSSMBNegotiate() local
561 (void **) &pSMB, (void **) &pSMBr); in CIFSSMBNegotiate()
565 pSMB->hdr.Mid = get_next_mid(server); in CIFSSMBNegotiate()
566 pSMB->hdr.Flags2 |= (SMBFLG2_UNICODE | SMBFLG2_ERR_STATUS); in CIFSSMBNegotiate()
570 pSMB->hdr.Flags2 |= SMBFLG2_EXT_SEC; in CIFSSMBNegotiate()
575 strncpy(pSMB->DialectsArray+count, protocols[i].name, 16); in CIFSSMBNegotiate()
579 inc_rfc1001_len(pSMB, count); in CIFSSMBNegotiate()
580 pSMB->ByteCount = cpu_to_le16(count); in CIFSSMBNegotiate()
582 rc = SendReceive(xid, ses, (struct smb_hdr *) pSMB, in CIFSSMBNegotiate()
644 cifs_buf_release(pSMB); in CIFSSMBNegotiate()
742 LOGOFF_ANDX_REQ *pSMB; in CIFSSMBLogoff() local
759 rc = small_smb_init(SMB_COM_LOGOFF_ANDX, 2, NULL, (void **)&pSMB); in CIFSSMBLogoff()
765 pSMB->hdr.Mid = get_next_mid(ses->server); in CIFSSMBLogoff()
768 pSMB->hdr.Flags2 |= SMBFLG2_SECURITY_SIGNATURE; in CIFSSMBLogoff()
770 pSMB->hdr.Uid = ses->Suid; in CIFSSMBLogoff()
772 pSMB->AndXCommand = 0xFF; in CIFSSMBLogoff()
773 rc = SendReceiveNoRsp(xid, ses, (char *) pSMB, 0); in CIFSSMBLogoff()
790 TRANSACTION2_SPI_REQ *pSMB = NULL; in CIFSPOSIXDelFile() local
800 rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, in CIFSPOSIXDelFile()
805 if (pSMB->hdr.Flags2 & SMBFLG2_UNICODE) { in CIFSPOSIXDelFile()
807 cifsConvertToUTF16((__le16 *) pSMB->FileName, fileName, in CIFSPOSIXDelFile()
814 strncpy(pSMB->FileName, fileName, name_len); in CIFSPOSIXDelFile()
818 pSMB->MaxParameterCount = cpu_to_le16(2); in CIFSPOSIXDelFile()
819 pSMB->MaxDataCount = 0; /* BB double check this with jra */ in CIFSPOSIXDelFile()
820 pSMB->MaxSetupCount = 0; in CIFSPOSIXDelFile()
821 pSMB->Reserved = 0; in CIFSPOSIXDelFile()
822 pSMB->Flags = 0; in CIFSPOSIXDelFile()
823 pSMB->Timeout = 0; in CIFSPOSIXDelFile()
824 pSMB->Reserved2 = 0; in CIFSPOSIXDelFile()
830 pRqD = (struct unlink_psx_rq *)(((char *)&pSMB->hdr.Protocol) + offset); in CIFSPOSIXDelFile()
832 pSMB->ParameterOffset = cpu_to_le16(param_offset); in CIFSPOSIXDelFile()
833 pSMB->DataOffset = cpu_to_le16(offset); in CIFSPOSIXDelFile()
834 pSMB->SetupCount = 1; in CIFSPOSIXDelFile()
835 pSMB->Reserved3 = 0; in CIFSPOSIXDelFile()
836 pSMB->SubCommand = cpu_to_le16(TRANS2_SET_PATH_INFORMATION); in CIFSPOSIXDelFile()
839 pSMB->DataCount = cpu_to_le16(sizeof(struct unlink_psx_rq)); in CIFSPOSIXDelFile()
840 pSMB->TotalDataCount = cpu_to_le16(sizeof(struct unlink_psx_rq)); in CIFSPOSIXDelFile()
841 pSMB->ParameterCount = cpu_to_le16(params); in CIFSPOSIXDelFile()
842 pSMB->TotalParameterCount = pSMB->ParameterCount; in CIFSPOSIXDelFile()
843 pSMB->InformationLevel = cpu_to_le16(SMB_POSIX_UNLINK); in CIFSPOSIXDelFile()
844 pSMB->Reserved4 = 0; in CIFSPOSIXDelFile()
845 inc_rfc1001_len(pSMB, byte_count); in CIFSPOSIXDelFile()
846 pSMB->ByteCount = cpu_to_le16(byte_count); in CIFSPOSIXDelFile()
847 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSPOSIXDelFile()
851 cifs_buf_release(pSMB); in CIFSPOSIXDelFile()
865 DELETE_FILE_REQ *pSMB = NULL; in CIFSSMBDelFile() local
873 rc = smb_init(SMB_COM_DELETE, 1, tcon, (void **) &pSMB, in CIFSSMBDelFile()
878 if (pSMB->hdr.Flags2 & SMBFLG2_UNICODE) { in CIFSSMBDelFile()
879 name_len = cifsConvertToUTF16((__le16 *) pSMB->fileName, name, in CIFSSMBDelFile()
887 strncpy(pSMB->fileName, name, name_len); in CIFSSMBDelFile()
889 pSMB->SearchAttributes = in CIFSSMBDelFile()
891 pSMB->BufferFormat = 0x04; in CIFSSMBDelFile()
892 inc_rfc1001_len(pSMB, name_len + 1); in CIFSSMBDelFile()
893 pSMB->ByteCount = cpu_to_le16(name_len + 1); in CIFSSMBDelFile()
894 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSSMBDelFile()
900 cifs_buf_release(pSMB); in CIFSSMBDelFile()
911 DELETE_DIRECTORY_REQ *pSMB = NULL; in CIFSSMBRmDir() local
920 rc = smb_init(SMB_COM_DELETE_DIRECTORY, 0, tcon, (void **) &pSMB, in CIFSSMBRmDir()
925 if (pSMB->hdr.Flags2 & SMBFLG2_UNICODE) { in CIFSSMBRmDir()
926 name_len = cifsConvertToUTF16((__le16 *) pSMB->DirName, name, in CIFSSMBRmDir()
934 strncpy(pSMB->DirName, name, name_len); in CIFSSMBRmDir()
937 pSMB->BufferFormat = 0x04; in CIFSSMBRmDir()
938 inc_rfc1001_len(pSMB, name_len + 1); in CIFSSMBRmDir()
939 pSMB->ByteCount = cpu_to_le16(name_len + 1); in CIFSSMBRmDir()
940 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSSMBRmDir()
946 cifs_buf_release(pSMB); in CIFSSMBRmDir()
957 CREATE_DIRECTORY_REQ *pSMB = NULL; in CIFSSMBMkDir() local
965 rc = smb_init(SMB_COM_CREATE_DIRECTORY, 0, tcon, (void **) &pSMB, in CIFSSMBMkDir()
970 if (pSMB->hdr.Flags2 & SMBFLG2_UNICODE) { in CIFSSMBMkDir()
971 name_len = cifsConvertToUTF16((__le16 *) pSMB->DirName, name, in CIFSSMBMkDir()
979 strncpy(pSMB->DirName, name, name_len); in CIFSSMBMkDir()
982 pSMB->BufferFormat = 0x04; in CIFSSMBMkDir()
983 inc_rfc1001_len(pSMB, name_len + 1); in CIFSSMBMkDir()
984 pSMB->ByteCount = cpu_to_le16(name_len + 1); in CIFSSMBMkDir()
985 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSSMBMkDir()
991 cifs_buf_release(pSMB); in CIFSSMBMkDir()
1004 TRANSACTION2_SPI_REQ *pSMB = NULL; in CIFSPOSIXCreate() local
1015 rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, in CIFSPOSIXCreate()
1020 if (pSMB->hdr.Flags2 & SMBFLG2_UNICODE) { in CIFSPOSIXCreate()
1022 cifsConvertToUTF16((__le16 *) pSMB->FileName, name, in CIFSPOSIXCreate()
1029 strncpy(pSMB->FileName, name, name_len); in CIFSPOSIXCreate()
1034 pSMB->MaxParameterCount = cpu_to_le16(2); in CIFSPOSIXCreate()
1035 pSMB->MaxDataCount = cpu_to_le16(1000); /* large enough */ in CIFSPOSIXCreate()
1036 pSMB->MaxSetupCount = 0; in CIFSPOSIXCreate()
1037 pSMB->Reserved = 0; in CIFSPOSIXCreate()
1038 pSMB->Flags = 0; in CIFSPOSIXCreate()
1039 pSMB->Timeout = 0; in CIFSPOSIXCreate()
1040 pSMB->Reserved2 = 0; in CIFSPOSIXCreate()
1044 pdata = (OPEN_PSX_REQ *)(((char *)&pSMB->hdr.Protocol) + offset); in CIFSPOSIXCreate()
1049 pSMB->ParameterOffset = cpu_to_le16(param_offset); in CIFSPOSIXCreate()
1050 pSMB->DataOffset = cpu_to_le16(offset); in CIFSPOSIXCreate()
1051 pSMB->SetupCount = 1; in CIFSPOSIXCreate()
1052 pSMB->Reserved3 = 0; in CIFSPOSIXCreate()
1053 pSMB->SubCommand = cpu_to_le16(TRANS2_SET_PATH_INFORMATION); in CIFSPOSIXCreate()
1056 pSMB->DataCount = cpu_to_le16(count); in CIFSPOSIXCreate()
1057 pSMB->ParameterCount = cpu_to_le16(params); in CIFSPOSIXCreate()
1058 pSMB->TotalDataCount = pSMB->DataCount; in CIFSPOSIXCreate()
1059 pSMB->TotalParameterCount = pSMB->ParameterCount; in CIFSPOSIXCreate()
1060 pSMB->InformationLevel = cpu_to_le16(SMB_POSIX_OPEN); in CIFSPOSIXCreate()
1061 pSMB->Reserved4 = 0; in CIFSPOSIXCreate()
1062 inc_rfc1001_len(pSMB, byte_count); in CIFSPOSIXCreate()
1063 pSMB->ByteCount = cpu_to_le16(byte_count); in CIFSPOSIXCreate()
1064 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSPOSIXCreate()
1107 cifs_buf_release(pSMB); in CIFSPOSIXCreate()
1172 OPENX_REQ *pSMB = NULL; in SMBLegacyOpen() local
1179 rc = smb_init(SMB_COM_OPEN_ANDX, 15, tcon, (void **) &pSMB, in SMBLegacyOpen()
1184 pSMB->AndXCommand = 0xFF; /* none */ in SMBLegacyOpen()
1186 if (pSMB->hdr.Flags2 & SMBFLG2_UNICODE) { in SMBLegacyOpen()
1189 cifsConvertToUTF16((__le16 *) (pSMB->fileName + 1), in SMBLegacyOpen()
1197 strncpy(pSMB->fileName, fileName, name_len); in SMBLegacyOpen()
1200 pSMB->OpenFlags = cpu_to_le16(REQ_OPLOCK); in SMBLegacyOpen()
1202 pSMB->OpenFlags = cpu_to_le16(REQ_BATCHOPLOCK); in SMBLegacyOpen()
1204 pSMB->OpenFlags |= cpu_to_le16(REQ_MORE_INFO); in SMBLegacyOpen()
1205 pSMB->Mode = cpu_to_le16(access_flags_to_smbopen_mode(access_flags)); in SMBLegacyOpen()
1206 pSMB->Mode |= cpu_to_le16(0x40); /* deny none */ in SMBLegacyOpen()
1212 pSMB->FileAttributes = cpu_to_le16(ATTR_SYSTEM); in SMBLegacyOpen()
1214 pSMB->FileAttributes = cpu_to_le16(0/*ATTR_NORMAL*/); in SMBLegacyOpen()
1217 pSMB->FileAttributes |= cpu_to_le16(ATTR_READONLY); in SMBLegacyOpen()
1224 pSMB->Sattr = cpu_to_le16(ATTR_HIDDEN | ATTR_SYSTEM | ATTR_DIRECTORY); in SMBLegacyOpen()
1225 pSMB->OpenFunction = cpu_to_le16(convert_disposition(openDisposition)); in SMBLegacyOpen()
1227 inc_rfc1001_len(pSMB, count); in SMBLegacyOpen()
1229 pSMB->ByteCount = cpu_to_le16(count); in SMBLegacyOpen()
1231 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in SMBLegacyOpen()
1265 cifs_buf_release(pSMB); in SMBLegacyOpen()
1665 READ_REQ *pSMB = NULL; in CIFSSMBRead() local
1689 rc = small_smb_init(SMB_COM_READ_ANDX, wct, tcon, (void **) &pSMB); in CIFSSMBRead()
1693 pSMB->hdr.Pid = cpu_to_le16((__u16)pid); in CIFSSMBRead()
1694 pSMB->hdr.PidHigh = cpu_to_le16((__u16)(pid >> 16)); in CIFSSMBRead()
1700 pSMB->AndXCommand = 0xFF; /* none */ in CIFSSMBRead()
1701 pSMB->Fid = netfid; in CIFSSMBRead()
1702 pSMB->OffsetLow = cpu_to_le32(offset & 0xFFFFFFFF); in CIFSSMBRead()
1704 pSMB->OffsetHigh = cpu_to_le32(offset >> 32); in CIFSSMBRead()
1706 pSMB->Remaining = 0; in CIFSSMBRead()
1707 pSMB->MaxCount = cpu_to_le16(count & 0xFFFF); in CIFSSMBRead()
1708 pSMB->MaxCountHigh = cpu_to_le32(count >> 16); in CIFSSMBRead()
1710 pSMB->ByteCount = 0; /* no need to do le conversion since 0 */ in CIFSSMBRead()
1714 (struct smb_com_readx_req *)pSMB; in CIFSSMBRead()
1718 iov[0].iov_base = (char *)pSMB; in CIFSSMBRead()
1719 iov[0].iov_len = be32_to_cpu(pSMB->hdr.smb_buf_length) + 4; in CIFSSMBRead()
1775 WRITE_REQ *pSMB = NULL; in CIFSSMBWrite() local
1802 rc = smb_init(SMB_COM_WRITE_ANDX, wct, tcon, (void **) &pSMB, in CIFSSMBWrite()
1807 pSMB->hdr.Pid = cpu_to_le16((__u16)pid); in CIFSSMBWrite()
1808 pSMB->hdr.PidHigh = cpu_to_le16((__u16)(pid >> 16)); in CIFSSMBWrite()
1814 pSMB->AndXCommand = 0xFF; /* none */ in CIFSSMBWrite()
1815 pSMB->Fid = netfid; in CIFSSMBWrite()
1816 pSMB->OffsetLow = cpu_to_le32(offset & 0xFFFFFFFF); in CIFSSMBWrite()
1818 pSMB->OffsetHigh = cpu_to_le32(offset >> 32); in CIFSSMBWrite()
1820 pSMB->Reserved = 0xFFFFFFFF; in CIFSSMBWrite()
1821 pSMB->WriteMode = 0; in CIFSSMBWrite()
1822 pSMB->Remaining = 0; in CIFSSMBWrite()
1837 pSMB->DataOffset = in CIFSSMBWrite()
1840 memcpy(pSMB->Data, buf, bytes_sent); in CIFSSMBWrite()
1842 if (copy_from_user(pSMB->Data, ubuf, bytes_sent)) { in CIFSSMBWrite()
1843 cifs_buf_release(pSMB); in CIFSSMBWrite()
1848 cifs_buf_release(pSMB); in CIFSSMBWrite()
1856 pSMB->DataLengthLow = cpu_to_le16(bytes_sent & 0xFFFF); in CIFSSMBWrite()
1857 pSMB->DataLengthHigh = cpu_to_le16(bytes_sent >> 16); in CIFSSMBWrite()
1858 inc_rfc1001_len(pSMB, byte_count); in CIFSSMBWrite()
1861 pSMB->ByteCount = cpu_to_le16(byte_count); in CIFSSMBWrite()
1865 (struct smb_com_writex_req *)pSMB; in CIFSSMBWrite()
1869 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSSMBWrite()
1888 cifs_buf_release(pSMB); in CIFSSMBWrite()
2180 WRITE_REQ *pSMB = NULL; in CIFSSMBWrite2() local
2203 rc = small_smb_init(SMB_COM_WRITE_ANDX, wct, tcon, (void **) &pSMB); in CIFSSMBWrite2()
2207 pSMB->hdr.Pid = cpu_to_le16((__u16)pid); in CIFSSMBWrite2()
2208 pSMB->hdr.PidHigh = cpu_to_le16((__u16)(pid >> 16)); in CIFSSMBWrite2()
2214 pSMB->AndXCommand = 0xFF; /* none */ in CIFSSMBWrite2()
2215 pSMB->Fid = netfid; in CIFSSMBWrite2()
2216 pSMB->OffsetLow = cpu_to_le32(offset & 0xFFFFFFFF); in CIFSSMBWrite2()
2218 pSMB->OffsetHigh = cpu_to_le32(offset >> 32); in CIFSSMBWrite2()
2219 pSMB->Reserved = 0xFFFFFFFF; in CIFSSMBWrite2()
2220 pSMB->WriteMode = 0; in CIFSSMBWrite2()
2221 pSMB->Remaining = 0; in CIFSSMBWrite2()
2223 pSMB->DataOffset = in CIFSSMBWrite2()
2226 pSMB->DataLengthLow = cpu_to_le16(count & 0xFFFF); in CIFSSMBWrite2()
2227 pSMB->DataLengthHigh = cpu_to_le16(count >> 16); in CIFSSMBWrite2()
2229 smb_hdr_len = be32_to_cpu(pSMB->hdr.smb_buf_length) + 1; in CIFSSMBWrite2()
2231 inc_rfc1001_len(pSMB, count + 1); in CIFSSMBWrite2()
2233 inc_rfc1001_len(pSMB, count + 5); /* smb data starts later */ in CIFSSMBWrite2()
2235 pSMB->ByteCount = cpu_to_le16(count + 1); in CIFSSMBWrite2()
2238 (struct smb_com_writex_req *)pSMB; in CIFSSMBWrite2()
2241 iov[0].iov_base = pSMB; in CIFSSMBWrite2()
2284 LOCK_REQ *pSMB = NULL; in cifs_lockv() local
2292 rc = small_smb_init(SMB_COM_LOCKING_ANDX, 8, tcon, (void **) &pSMB); in cifs_lockv()
2296 pSMB->Timeout = 0; in cifs_lockv()
2297 pSMB->NumberOfLocks = cpu_to_le16(num_lock); in cifs_lockv()
2298 pSMB->NumberOfUnlocks = cpu_to_le16(num_unlock); in cifs_lockv()
2299 pSMB->LockType = lock_type; in cifs_lockv()
2300 pSMB->AndXCommand = 0xFF; /* none */ in cifs_lockv()
2301 pSMB->Fid = netfid; /* netfid stays le */ in cifs_lockv()
2304 inc_rfc1001_len(pSMB, count); in cifs_lockv()
2305 pSMB->ByteCount = cpu_to_le16(count); in cifs_lockv()
2307 iov[0].iov_base = (char *)pSMB; in cifs_lockv()
2308 iov[0].iov_len = be32_to_cpu(pSMB->hdr.smb_buf_length) + 4 - in cifs_lockv()
2329 LOCK_REQ *pSMB = NULL; in CIFSSMBLock() local
2337 rc = small_smb_init(SMB_COM_LOCKING_ANDX, 8, tcon, (void **) &pSMB); in CIFSSMBLock()
2345 pSMB->Timeout = 0; in CIFSSMBLock()
2348 pSMB->Timeout = cpu_to_le32(-1);/* blocking - do not time out */ in CIFSSMBLock()
2350 pSMB->Timeout = 0; in CIFSSMBLock()
2353 pSMB->NumberOfLocks = cpu_to_le16(numLock); in CIFSSMBLock()
2354 pSMB->NumberOfUnlocks = cpu_to_le16(numUnlock); in CIFSSMBLock()
2355 pSMB->LockType = lockType; in CIFSSMBLock()
2356 pSMB->OplockLevel = oplock_level; in CIFSSMBLock()
2357 pSMB->AndXCommand = 0xFF; /* none */ in CIFSSMBLock()
2358 pSMB->Fid = smb_file_id; /* netfid stays le */ in CIFSSMBLock()
2361 pSMB->Locks[0].Pid = cpu_to_le16(netpid); in CIFSSMBLock()
2363 pSMB->Locks[0].LengthLow = cpu_to_le32((u32)len); in CIFSSMBLock()
2364 pSMB->Locks[0].LengthHigh = cpu_to_le32((u32)(len>>32)); in CIFSSMBLock()
2365 pSMB->Locks[0].OffsetLow = cpu_to_le32((u32)offset); in CIFSSMBLock()
2366 pSMB->Locks[0].OffsetHigh = cpu_to_le32((u32)(offset>>32)); in CIFSSMBLock()
2372 inc_rfc1001_len(pSMB, count); in CIFSSMBLock()
2373 pSMB->ByteCount = cpu_to_le16(count); in CIFSSMBLock()
2376 rc = SendReceiveBlockingLock(xid, tcon, (struct smb_hdr *) pSMB, in CIFSSMBLock()
2377 (struct smb_hdr *) pSMB, &bytes_returned); in CIFSSMBLock()
2378 cifs_small_buf_release(pSMB); in CIFSSMBLock()
2380 rc = SendReceiveNoRsp(xid, tcon->ses, (char *)pSMB, flags); in CIFSSMBLock()
2399 struct smb_com_transaction2_sfi_req *pSMB = NULL; in CIFSSMBPosixLock() local
2411 rc = small_smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB); in CIFSSMBPosixLock()
2416 pSMBr = (struct smb_com_transaction2_sfi_rsp *)pSMB; in CIFSSMBPosixLock()
2419 pSMB->MaxSetupCount = 0; in CIFSSMBPosixLock()
2420 pSMB->Reserved = 0; in CIFSSMBPosixLock()
2421 pSMB->Flags = 0; in CIFSSMBPosixLock()
2422 pSMB->Reserved2 = 0; in CIFSSMBPosixLock()
2427 pSMB->MaxParameterCount = cpu_to_le16(2); in CIFSSMBPosixLock()
2428 pSMB->MaxDataCount = cpu_to_le16(1000); /* BB find max SMB from sess */ in CIFSSMBPosixLock()
2429 pSMB->SetupCount = 1; in CIFSSMBPosixLock()
2430 pSMB->Reserved3 = 0; in CIFSSMBPosixLock()
2432 pSMB->SubCommand = cpu_to_le16(TRANS2_QUERY_FILE_INFORMATION); in CIFSSMBPosixLock()
2434 pSMB->SubCommand = cpu_to_le16(TRANS2_SET_FILE_INFORMATION); in CIFSSMBPosixLock()
2436 pSMB->DataCount = cpu_to_le16(count); in CIFSSMBPosixLock()
2437 pSMB->ParameterCount = cpu_to_le16(params); in CIFSSMBPosixLock()
2438 pSMB->TotalDataCount = pSMB->DataCount; in CIFSSMBPosixLock()
2439 pSMB->TotalParameterCount = pSMB->ParameterCount; in CIFSSMBPosixLock()
2440 pSMB->ParameterOffset = cpu_to_le16(param_offset); in CIFSSMBPosixLock()
2442 (((char *) &pSMB->hdr.Protocol) + offset); in CIFSSMBPosixLock()
2448 pSMB->Timeout = cpu_to_le32(-1); in CIFSSMBPosixLock()
2450 pSMB->Timeout = 0; in CIFSSMBPosixLock()
2456 pSMB->DataOffset = cpu_to_le16(offset); in CIFSSMBPosixLock()
2457 pSMB->Fid = smb_file_id; in CIFSSMBPosixLock()
2458 pSMB->InformationLevel = cpu_to_le16(SMB_SET_POSIX_LOCK); in CIFSSMBPosixLock()
2459 pSMB->Reserved4 = 0; in CIFSSMBPosixLock()
2460 inc_rfc1001_len(pSMB, byte_count); in CIFSSMBPosixLock()
2461 pSMB->ByteCount = cpu_to_le16(byte_count); in CIFSSMBPosixLock()
2463 rc = SendReceiveBlockingLock(xid, tcon, (struct smb_hdr *) pSMB, in CIFSSMBPosixLock()
2466 iov[0].iov_base = (char *)pSMB; in CIFSSMBPosixLock()
2467 iov[0].iov_len = be32_to_cpu(pSMB->hdr.smb_buf_length) + 4; in CIFSSMBPosixLock()
2470 pSMB = NULL; /* request buf already freed by SendReceive2. Do in CIFSSMBPosixLock()
2513 if (pSMB) in CIFSSMBPosixLock()
2514 cifs_small_buf_release(pSMB); in CIFSSMBPosixLock()
2529 CLOSE_REQ *pSMB = NULL; in CIFSSMBClose() local
2533 rc = small_smb_init(SMB_COM_CLOSE, 3, tcon, (void **) &pSMB); in CIFSSMBClose()
2539 pSMB->FileID = (__u16) smb_file_id; in CIFSSMBClose()
2540 pSMB->LastWriteTime = 0xFFFFFFFF; in CIFSSMBClose()
2541 pSMB->ByteCount = 0; in CIFSSMBClose()
2542 rc = SendReceiveNoRsp(xid, tcon->ses, (char *) pSMB, 0); in CIFSSMBClose()
2562 FLUSH_REQ *pSMB = NULL; in CIFSSMBFlush() local
2565 rc = small_smb_init(SMB_COM_FLUSH, 1, tcon, (void **) &pSMB); in CIFSSMBFlush()
2569 pSMB->FileID = (__u16) smb_file_id; in CIFSSMBFlush()
2570 pSMB->ByteCount = 0; in CIFSSMBFlush()
2571 rc = SendReceiveNoRsp(xid, tcon->ses, (char *) pSMB, 0); in CIFSSMBFlush()
2585 RENAME_REQ *pSMB = NULL; in CIFSSMBRename() local
2594 rc = smb_init(SMB_COM_RENAME, 1, tcon, (void **) &pSMB, in CIFSSMBRename()
2599 pSMB->BufferFormat = 0x04; in CIFSSMBRename()
2600 pSMB->SearchAttributes = in CIFSSMBRename()
2604 if (pSMB->hdr.Flags2 & SMBFLG2_UNICODE) { in CIFSSMBRename()
2605 name_len = cifsConvertToUTF16((__le16 *) pSMB->OldFileName, in CIFSSMBRename()
2610 pSMB->OldFileName[name_len] = 0x04; /* pad */ in CIFSSMBRename()
2612 pSMB->OldFileName[name_len + 1] = 0x00; in CIFSSMBRename()
2614 cifsConvertToUTF16((__le16 *)&pSMB->OldFileName[name_len+2], in CIFSSMBRename()
2622 strncpy(pSMB->OldFileName, from_name, name_len); in CIFSSMBRename()
2625 pSMB->OldFileName[name_len] = 0x04; /* 2nd buffer format */ in CIFSSMBRename()
2626 strncpy(&pSMB->OldFileName[name_len + 1], to_name, name_len2); in CIFSSMBRename()
2632 inc_rfc1001_len(pSMB, count); in CIFSSMBRename()
2633 pSMB->ByteCount = cpu_to_le16(count); in CIFSSMBRename()
2635 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSSMBRename()
2641 cifs_buf_release(pSMB); in CIFSSMBRename()
2653 struct smb_com_transaction2_sfi_req *pSMB = NULL; in CIFSSMBRenameOpenFile() local
2664 rc = smb_init(SMB_COM_TRANSACTION2, 15, pTcon, (void **) &pSMB, in CIFSSMBRenameOpenFile()
2670 pSMB->MaxSetupCount = 0; in CIFSSMBRenameOpenFile()
2671 pSMB->Reserved = 0; in CIFSSMBRenameOpenFile()
2672 pSMB->Flags = 0; in CIFSSMBRenameOpenFile()
2673 pSMB->Timeout = 0; in CIFSSMBRenameOpenFile()
2674 pSMB->Reserved2 = 0; in CIFSSMBRenameOpenFile()
2678 data_offset = (char *) (&pSMB->hdr.Protocol) + offset; in CIFSSMBRenameOpenFile()
2680 pSMB->MaxParameterCount = cpu_to_le16(2); in CIFSSMBRenameOpenFile()
2681 pSMB->MaxDataCount = cpu_to_le16(1000); /* BB find max SMB from sess */ in CIFSSMBRenameOpenFile()
2682 pSMB->SetupCount = 1; in CIFSSMBRenameOpenFile()
2683 pSMB->Reserved3 = 0; in CIFSSMBRenameOpenFile()
2684 pSMB->SubCommand = cpu_to_le16(TRANS2_SET_FILE_INFORMATION); in CIFSSMBRenameOpenFile()
2686 pSMB->ParameterCount = cpu_to_le16(params); in CIFSSMBRenameOpenFile()
2687 pSMB->TotalParameterCount = pSMB->ParameterCount; in CIFSSMBRenameOpenFile()
2688 pSMB->ParameterOffset = cpu_to_le16(param_offset); in CIFSSMBRenameOpenFile()
2689 pSMB->DataOffset = cpu_to_le16(offset); in CIFSSMBRenameOpenFile()
2695 sprintf(dummy_string, "cifs%x", pSMB->hdr.Mid); in CIFSSMBRenameOpenFile()
2708 pSMB->DataCount = cpu_to_le16(count); in CIFSSMBRenameOpenFile()
2709 pSMB->TotalDataCount = pSMB->DataCount; in CIFSSMBRenameOpenFile()
2710 pSMB->Fid = netfid; in CIFSSMBRenameOpenFile()
2711 pSMB->InformationLevel = in CIFSSMBRenameOpenFile()
2713 pSMB->Reserved4 = 0; in CIFSSMBRenameOpenFile()
2714 inc_rfc1001_len(pSMB, byte_count); in CIFSSMBRenameOpenFile()
2715 pSMB->ByteCount = cpu_to_le16(byte_count); in CIFSSMBRenameOpenFile()
2716 rc = SendReceive(xid, pTcon->ses, (struct smb_hdr *) pSMB, in CIFSSMBRenameOpenFile()
2723 cifs_buf_release(pSMB); in CIFSSMBRenameOpenFile()
2737 COPY_REQ *pSMB = NULL; in CIFSSMBCopy() local
2745 rc = smb_init(SMB_COM_COPY, 1, tcon, (void **) &pSMB, in CIFSSMBCopy()
2750 pSMB->BufferFormat = 0x04; in CIFSSMBCopy()
2751 pSMB->Tid2 = target_tid; in CIFSSMBCopy()
2753 pSMB->Flags = cpu_to_le16(flags & COPY_TREE); in CIFSSMBCopy()
2755 if (pSMB->hdr.Flags2 & SMBFLG2_UNICODE) { in CIFSSMBCopy()
2756 name_len = cifsConvertToUTF16((__le16 *) pSMB->OldFileName, in CIFSSMBCopy()
2761 pSMB->OldFileName[name_len] = 0x04; /* pad */ in CIFSSMBCopy()
2763 pSMB->OldFileName[name_len + 1] = 0x00; in CIFSSMBCopy()
2765 cifsConvertToUTF16((__le16 *)&pSMB->OldFileName[name_len+2], in CIFSSMBCopy()
2772 strncpy(pSMB->OldFileName, fromName, name_len); in CIFSSMBCopy()
2775 pSMB->OldFileName[name_len] = 0x04; /* 2nd buffer format */ in CIFSSMBCopy()
2776 strncpy(&pSMB->OldFileName[name_len + 1], toName, name_len2); in CIFSSMBCopy()
2782 inc_rfc1001_len(pSMB, count); in CIFSSMBCopy()
2783 pSMB->ByteCount = cpu_to_le16(count); in CIFSSMBCopy()
2785 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSSMBCopy()
2791 cifs_buf_release(pSMB); in CIFSSMBCopy()
2804 TRANSACTION2_SPI_REQ *pSMB = NULL; in CIFSUnixCreateSymLink() local
2815 rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, in CIFSUnixCreateSymLink()
2820 if (pSMB->hdr.Flags2 & SMBFLG2_UNICODE) { in CIFSUnixCreateSymLink()
2822 cifsConvertToUTF16((__le16 *) pSMB->FileName, fromName, in CIFSUnixCreateSymLink()
2831 strncpy(pSMB->FileName, fromName, name_len); in CIFSUnixCreateSymLink()
2834 pSMB->MaxSetupCount = 0; in CIFSUnixCreateSymLink()
2835 pSMB->Reserved = 0; in CIFSUnixCreateSymLink()
2836 pSMB->Flags = 0; in CIFSUnixCreateSymLink()
2837 pSMB->Timeout = 0; in CIFSUnixCreateSymLink()
2838 pSMB->Reserved2 = 0; in CIFSUnixCreateSymLink()
2843 data_offset = (char *) (&pSMB->hdr.Protocol) + offset; in CIFSUnixCreateSymLink()
2844 if (pSMB->hdr.Flags2 & SMBFLG2_UNICODE) { in CIFSUnixCreateSymLink()
2857 pSMB->MaxParameterCount = cpu_to_le16(2); in CIFSUnixCreateSymLink()
2859 pSMB->MaxDataCount = cpu_to_le16(1000); in CIFSUnixCreateSymLink()
2860 pSMB->SetupCount = 1; in CIFSUnixCreateSymLink()
2861 pSMB->Reserved3 = 0; in CIFSUnixCreateSymLink()
2862 pSMB->SubCommand = cpu_to_le16(TRANS2_SET_PATH_INFORMATION); in CIFSUnixCreateSymLink()
2864 pSMB->DataCount = cpu_to_le16(name_len_target); in CIFSUnixCreateSymLink()
2865 pSMB->ParameterCount = cpu_to_le16(params); in CIFSUnixCreateSymLink()
2866 pSMB->TotalDataCount = pSMB->DataCount; in CIFSUnixCreateSymLink()
2867 pSMB->TotalParameterCount = pSMB->ParameterCount; in CIFSUnixCreateSymLink()
2868 pSMB->ParameterOffset = cpu_to_le16(param_offset); in CIFSUnixCreateSymLink()
2869 pSMB->DataOffset = cpu_to_le16(offset); in CIFSUnixCreateSymLink()
2870 pSMB->InformationLevel = cpu_to_le16(SMB_SET_FILE_UNIX_LINK); in CIFSUnixCreateSymLink()
2871 pSMB->Reserved4 = 0; in CIFSUnixCreateSymLink()
2872 inc_rfc1001_len(pSMB, byte_count); in CIFSUnixCreateSymLink()
2873 pSMB->ByteCount = cpu_to_le16(byte_count); in CIFSUnixCreateSymLink()
2874 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSUnixCreateSymLink()
2881 cifs_buf_release(pSMB); in CIFSUnixCreateSymLink()
2894 TRANSACTION2_SPI_REQ *pSMB = NULL; in CIFSUnixCreateHardLink() local
2905 rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, in CIFSUnixCreateHardLink()
2910 if (pSMB->hdr.Flags2 & SMBFLG2_UNICODE) { in CIFSUnixCreateHardLink()
2911 name_len = cifsConvertToUTF16((__le16 *) pSMB->FileName, toName, in CIFSUnixCreateHardLink()
2919 strncpy(pSMB->FileName, toName, name_len); in CIFSUnixCreateHardLink()
2922 pSMB->MaxSetupCount = 0; in CIFSUnixCreateHardLink()
2923 pSMB->Reserved = 0; in CIFSUnixCreateHardLink()
2924 pSMB->Flags = 0; in CIFSUnixCreateHardLink()
2925 pSMB->Timeout = 0; in CIFSUnixCreateHardLink()
2926 pSMB->Reserved2 = 0; in CIFSUnixCreateHardLink()
2931 data_offset = (char *) (&pSMB->hdr.Protocol) + offset; in CIFSUnixCreateHardLink()
2932 if (pSMB->hdr.Flags2 & SMBFLG2_UNICODE) { in CIFSUnixCreateHardLink()
2944 pSMB->MaxParameterCount = cpu_to_le16(2); in CIFSUnixCreateHardLink()
2946 pSMB->MaxDataCount = cpu_to_le16(1000); in CIFSUnixCreateHardLink()
2947 pSMB->SetupCount = 1; in CIFSUnixCreateHardLink()
2948 pSMB->Reserved3 = 0; in CIFSUnixCreateHardLink()
2949 pSMB->SubCommand = cpu_to_le16(TRANS2_SET_PATH_INFORMATION); in CIFSUnixCreateHardLink()
2951 pSMB->ParameterCount = cpu_to_le16(params); in CIFSUnixCreateHardLink()
2952 pSMB->TotalParameterCount = pSMB->ParameterCount; in CIFSUnixCreateHardLink()
2953 pSMB->DataCount = cpu_to_le16(name_len_target); in CIFSUnixCreateHardLink()
2954 pSMB->TotalDataCount = pSMB->DataCount; in CIFSUnixCreateHardLink()
2955 pSMB->ParameterOffset = cpu_to_le16(param_offset); in CIFSUnixCreateHardLink()
2956 pSMB->DataOffset = cpu_to_le16(offset); in CIFSUnixCreateHardLink()
2957 pSMB->InformationLevel = cpu_to_le16(SMB_SET_FILE_UNIX_HLINK); in CIFSUnixCreateHardLink()
2958 pSMB->Reserved4 = 0; in CIFSUnixCreateHardLink()
2959 inc_rfc1001_len(pSMB, byte_count); in CIFSUnixCreateHardLink()
2960 pSMB->ByteCount = cpu_to_le16(byte_count); in CIFSUnixCreateHardLink()
2961 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSUnixCreateHardLink()
2968 cifs_buf_release(pSMB); in CIFSUnixCreateHardLink()
2981 NT_RENAME_REQ *pSMB = NULL; in CIFSCreateHardLink() local
2991 rc = smb_init(SMB_COM_NT_RENAME, 4, tcon, (void **) &pSMB, in CIFSCreateHardLink()
2996 pSMB->SearchAttributes = in CIFSCreateHardLink()
2999 pSMB->Flags = cpu_to_le16(CREATE_HARD_LINK); in CIFSCreateHardLink()
3000 pSMB->ClusterCount = 0; in CIFSCreateHardLink()
3002 pSMB->BufferFormat = 0x04; in CIFSCreateHardLink()
3004 if (pSMB->hdr.Flags2 & SMBFLG2_UNICODE) { in CIFSCreateHardLink()
3006 cifsConvertToUTF16((__le16 *) pSMB->OldFileName, from_name, in CIFSCreateHardLink()
3012 pSMB->OldFileName[name_len] = 0x04; in CIFSCreateHardLink()
3013 pSMB->OldFileName[name_len + 1] = 0x00; /* pad */ in CIFSCreateHardLink()
3015 cifsConvertToUTF16((__le16 *)&pSMB->OldFileName[name_len+2], in CIFSCreateHardLink()
3023 strncpy(pSMB->OldFileName, from_name, name_len); in CIFSCreateHardLink()
3026 pSMB->OldFileName[name_len] = 0x04; /* 2nd buffer format */ in CIFSCreateHardLink()
3027 strncpy(&pSMB->OldFileName[name_len + 1], to_name, name_len2); in CIFSCreateHardLink()
3033 inc_rfc1001_len(pSMB, count); in CIFSCreateHardLink()
3034 pSMB->ByteCount = cpu_to_le16(count); in CIFSCreateHardLink()
3036 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSCreateHardLink()
3042 cifs_buf_release(pSMB); in CIFSCreateHardLink()
3055 TRANSACTION2_QPI_REQ *pSMB = NULL; in CIFSSMBUnixQuerySymLink() local
3066 rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, in CIFSSMBUnixQuerySymLink()
3071 if (pSMB->hdr.Flags2 & SMBFLG2_UNICODE) { in CIFSSMBUnixQuerySymLink()
3073 cifsConvertToUTF16((__le16 *) pSMB->FileName, in CIFSSMBUnixQuerySymLink()
3081 strncpy(pSMB->FileName, searchName, name_len); in CIFSSMBUnixQuerySymLink()
3085 pSMB->TotalDataCount = 0; in CIFSSMBUnixQuerySymLink()
3086 pSMB->MaxParameterCount = cpu_to_le16(2); in CIFSSMBUnixQuerySymLink()
3087 pSMB->MaxDataCount = cpu_to_le16(CIFSMaxBufSize); in CIFSSMBUnixQuerySymLink()
3088 pSMB->MaxSetupCount = 0; in CIFSSMBUnixQuerySymLink()
3089 pSMB->Reserved = 0; in CIFSSMBUnixQuerySymLink()
3090 pSMB->Flags = 0; in CIFSSMBUnixQuerySymLink()
3091 pSMB->Timeout = 0; in CIFSSMBUnixQuerySymLink()
3092 pSMB->Reserved2 = 0; in CIFSSMBUnixQuerySymLink()
3093 pSMB->ParameterOffset = cpu_to_le16(offsetof( in CIFSSMBUnixQuerySymLink()
3095 pSMB->DataCount = 0; in CIFSSMBUnixQuerySymLink()
3096 pSMB->DataOffset = 0; in CIFSSMBUnixQuerySymLink()
3097 pSMB->SetupCount = 1; in CIFSSMBUnixQuerySymLink()
3098 pSMB->Reserved3 = 0; in CIFSSMBUnixQuerySymLink()
3099 pSMB->SubCommand = cpu_to_le16(TRANS2_QUERY_PATH_INFORMATION); in CIFSSMBUnixQuerySymLink()
3101 pSMB->TotalParameterCount = cpu_to_le16(params); in CIFSSMBUnixQuerySymLink()
3102 pSMB->ParameterCount = pSMB->TotalParameterCount; in CIFSSMBUnixQuerySymLink()
3103 pSMB->InformationLevel = cpu_to_le16(SMB_QUERY_FILE_UNIX_LINK); in CIFSSMBUnixQuerySymLink()
3104 pSMB->Reserved4 = 0; in CIFSSMBUnixQuerySymLink()
3105 inc_rfc1001_len(pSMB, byte_count); in CIFSSMBUnixQuerySymLink()
3106 pSMB->ByteCount = cpu_to_le16(byte_count); in CIFSSMBUnixQuerySymLink()
3108 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSSMBUnixQuerySymLink()
3138 cifs_buf_release(pSMB); in CIFSSMBUnixQuerySymLink()
3161 struct smb_com_transaction_ioctl_req *pSMB; in CIFSSMBQuerySymLink() local
3172 rc = smb_init(SMB_COM_NT_TRANSACT, 23, tcon, (void **) &pSMB, in CIFSSMBQuerySymLink()
3177 pSMB->TotalParameterCount = 0 ; in CIFSSMBQuerySymLink()
3178 pSMB->TotalDataCount = 0; in CIFSSMBQuerySymLink()
3179 pSMB->MaxParameterCount = cpu_to_le32(2); in CIFSSMBQuerySymLink()
3181 pSMB->MaxDataCount = cpu_to_le32(CIFSMaxBufSize & 0xFFFFFF00); in CIFSSMBQuerySymLink()
3182 pSMB->MaxSetupCount = 4; in CIFSSMBQuerySymLink()
3183 pSMB->Reserved = 0; in CIFSSMBQuerySymLink()
3184 pSMB->ParameterOffset = 0; in CIFSSMBQuerySymLink()
3185 pSMB->DataCount = 0; in CIFSSMBQuerySymLink()
3186 pSMB->DataOffset = 0; in CIFSSMBQuerySymLink()
3187 pSMB->SetupCount = 4; in CIFSSMBQuerySymLink()
3188 pSMB->SubCommand = cpu_to_le16(NT_TRANSACT_IOCTL); in CIFSSMBQuerySymLink()
3189 pSMB->ParameterCount = pSMB->TotalParameterCount; in CIFSSMBQuerySymLink()
3190 pSMB->FunctionCode = cpu_to_le32(FSCTL_GET_REPARSE_POINT); in CIFSSMBQuerySymLink()
3191 pSMB->IsFsctl = 1; /* FSCTL */ in CIFSSMBQuerySymLink()
3192 pSMB->IsRootFlag = 0; in CIFSSMBQuerySymLink()
3193 pSMB->Fid = fid; /* file handle always le */ in CIFSSMBQuerySymLink()
3194 pSMB->ByteCount = 0; in CIFSSMBQuerySymLink()
3196 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSSMBQuerySymLink()
3268 cifs_buf_release(pSMB); in CIFSSMBQuerySymLink()
3283 struct smb_com_transaction_compr_ioctl_req *pSMB; in CIFSSMB_set_compression() local
3287 rc = smb_init(SMB_COM_NT_TRANSACT, 23, tcon, (void **) &pSMB, in CIFSSMB_set_compression()
3292 pSMB->compression_state = cpu_to_le16(COMPRESSION_FORMAT_DEFAULT); in CIFSSMB_set_compression()
3294 pSMB->TotalParameterCount = 0; in CIFSSMB_set_compression()
3295 pSMB->TotalDataCount = cpu_to_le32(2); in CIFSSMB_set_compression()
3296 pSMB->MaxParameterCount = 0; in CIFSSMB_set_compression()
3297 pSMB->MaxDataCount = 0; in CIFSSMB_set_compression()
3298 pSMB->MaxSetupCount = 4; in CIFSSMB_set_compression()
3299 pSMB->Reserved = 0; in CIFSSMB_set_compression()
3300 pSMB->ParameterOffset = 0; in CIFSSMB_set_compression()
3301 pSMB->DataCount = cpu_to_le32(2); in CIFSSMB_set_compression()
3302 pSMB->DataOffset = in CIFSSMB_set_compression()
3305 pSMB->SetupCount = 4; in CIFSSMB_set_compression()
3306 pSMB->SubCommand = cpu_to_le16(NT_TRANSACT_IOCTL); in CIFSSMB_set_compression()
3307 pSMB->ParameterCount = 0; in CIFSSMB_set_compression()
3308 pSMB->FunctionCode = cpu_to_le32(FSCTL_SET_COMPRESSION); in CIFSSMB_set_compression()
3309 pSMB->IsFsctl = 1; /* FSCTL */ in CIFSSMB_set_compression()
3310 pSMB->IsRootFlag = 0; in CIFSSMB_set_compression()
3311 pSMB->Fid = fid; /* file handle always le */ in CIFSSMB_set_compression()
3313 pSMB->ByteCount = cpu_to_le16(5); in CIFSSMB_set_compression()
3314 inc_rfc1001_len(pSMB, 5); in CIFSSMB_set_compression()
3316 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSSMB_set_compression()
3321 cifs_buf_release(pSMB); in CIFSSMB_set_compression()
3480 TRANSACTION2_QPI_REQ *pSMB = NULL; in CIFSSMBGetPosixACL() local
3490 rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, in CIFSSMBGetPosixACL()
3495 if (pSMB->hdr.Flags2 & SMBFLG2_UNICODE) { in CIFSSMBGetPosixACL()
3497 cifsConvertToUTF16((__le16 *) pSMB->FileName, in CIFSSMBGetPosixACL()
3502 pSMB->FileName[name_len] = 0; in CIFSSMBGetPosixACL()
3503 pSMB->FileName[name_len+1] = 0; in CIFSSMBGetPosixACL()
3507 strncpy(pSMB->FileName, searchName, name_len); in CIFSSMBGetPosixACL()
3511 pSMB->TotalDataCount = 0; in CIFSSMBGetPosixACL()
3512 pSMB->MaxParameterCount = cpu_to_le16(2); in CIFSSMBGetPosixACL()
3514 pSMB->MaxDataCount = cpu_to_le16(4000); in CIFSSMBGetPosixACL()
3515 pSMB->MaxSetupCount = 0; in CIFSSMBGetPosixACL()
3516 pSMB->Reserved = 0; in CIFSSMBGetPosixACL()
3517 pSMB->Flags = 0; in CIFSSMBGetPosixACL()
3518 pSMB->Timeout = 0; in CIFSSMBGetPosixACL()
3519 pSMB->Reserved2 = 0; in CIFSSMBGetPosixACL()
3520 pSMB->ParameterOffset = cpu_to_le16( in CIFSSMBGetPosixACL()
3523 pSMB->DataCount = 0; in CIFSSMBGetPosixACL()
3524 pSMB->DataOffset = 0; in CIFSSMBGetPosixACL()
3525 pSMB->SetupCount = 1; in CIFSSMBGetPosixACL()
3526 pSMB->Reserved3 = 0; in CIFSSMBGetPosixACL()
3527 pSMB->SubCommand = cpu_to_le16(TRANS2_QUERY_PATH_INFORMATION); in CIFSSMBGetPosixACL()
3529 pSMB->TotalParameterCount = cpu_to_le16(params); in CIFSSMBGetPosixACL()
3530 pSMB->ParameterCount = pSMB->TotalParameterCount; in CIFSSMBGetPosixACL()
3531 pSMB->InformationLevel = cpu_to_le16(SMB_QUERY_POSIX_ACL); in CIFSSMBGetPosixACL()
3532 pSMB->Reserved4 = 0; in CIFSSMBGetPosixACL()
3533 inc_rfc1001_len(pSMB, byte_count); in CIFSSMBGetPosixACL()
3534 pSMB->ByteCount = cpu_to_le16(byte_count); in CIFSSMBGetPosixACL()
3536 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSSMBGetPosixACL()
3556 cifs_buf_release(pSMB); in CIFSSMBGetPosixACL()
3569 struct smb_com_transaction2_spi_req *pSMB = NULL; in CIFSSMBSetPosixACL() local
3579 rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, in CIFSSMBSetPosixACL()
3583 if (pSMB->hdr.Flags2 & SMBFLG2_UNICODE) { in CIFSSMBSetPosixACL()
3585 cifsConvertToUTF16((__le16 *) pSMB->FileName, fileName, in CIFSSMBSetPosixACL()
3592 strncpy(pSMB->FileName, fileName, name_len); in CIFSSMBSetPosixACL()
3595 pSMB->MaxParameterCount = cpu_to_le16(2); in CIFSSMBSetPosixACL()
3597 pSMB->MaxDataCount = cpu_to_le16(1000); in CIFSSMBSetPosixACL()
3598 pSMB->MaxSetupCount = 0; in CIFSSMBSetPosixACL()
3599 pSMB->Reserved = 0; in CIFSSMBSetPosixACL()
3600 pSMB->Flags = 0; in CIFSSMBSetPosixACL()
3601 pSMB->Timeout = 0; in CIFSSMBSetPosixACL()
3602 pSMB->Reserved2 = 0; in CIFSSMBSetPosixACL()
3606 parm_data = ((char *) &pSMB->hdr.Protocol) + offset; in CIFSSMBSetPosixACL()
3607 pSMB->ParameterOffset = cpu_to_le16(param_offset); in CIFSSMBSetPosixACL()
3616 pSMB->DataOffset = cpu_to_le16(offset); in CIFSSMBSetPosixACL()
3617 pSMB->SetupCount = 1; in CIFSSMBSetPosixACL()
3618 pSMB->Reserved3 = 0; in CIFSSMBSetPosixACL()
3619 pSMB->SubCommand = cpu_to_le16(TRANS2_SET_PATH_INFORMATION); in CIFSSMBSetPosixACL()
3620 pSMB->InformationLevel = cpu_to_le16(SMB_SET_POSIX_ACL); in CIFSSMBSetPosixACL()
3622 pSMB->DataCount = cpu_to_le16(data_count); in CIFSSMBSetPosixACL()
3623 pSMB->TotalDataCount = pSMB->DataCount; in CIFSSMBSetPosixACL()
3624 pSMB->ParameterCount = cpu_to_le16(params); in CIFSSMBSetPosixACL()
3625 pSMB->TotalParameterCount = pSMB->ParameterCount; in CIFSSMBSetPosixACL()
3626 pSMB->Reserved4 = 0; in CIFSSMBSetPosixACL()
3627 inc_rfc1001_len(pSMB, byte_count); in CIFSSMBSetPosixACL()
3628 pSMB->ByteCount = cpu_to_le16(byte_count); in CIFSSMBSetPosixACL()
3629 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSSMBSetPosixACL()
3635 cifs_buf_release(pSMB); in CIFSSMBSetPosixACL()
3647 struct smb_t2_qfi_req *pSMB = NULL; in CIFSGetExtAttr() local
3657 rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, in CIFSGetExtAttr()
3663 pSMB->t2.TotalDataCount = 0; in CIFSGetExtAttr()
3664 pSMB->t2.MaxParameterCount = cpu_to_le16(4); in CIFSGetExtAttr()
3666 pSMB->t2.MaxDataCount = cpu_to_le16(4000); in CIFSGetExtAttr()
3667 pSMB->t2.MaxSetupCount = 0; in CIFSGetExtAttr()
3668 pSMB->t2.Reserved = 0; in CIFSGetExtAttr()
3669 pSMB->t2.Flags = 0; in CIFSGetExtAttr()
3670 pSMB->t2.Timeout = 0; in CIFSGetExtAttr()
3671 pSMB->t2.Reserved2 = 0; in CIFSGetExtAttr()
3672 pSMB->t2.ParameterOffset = cpu_to_le16(offsetof(struct smb_t2_qfi_req, in CIFSGetExtAttr()
3674 pSMB->t2.DataCount = 0; in CIFSGetExtAttr()
3675 pSMB->t2.DataOffset = 0; in CIFSGetExtAttr()
3676 pSMB->t2.SetupCount = 1; in CIFSGetExtAttr()
3677 pSMB->t2.Reserved3 = 0; in CIFSGetExtAttr()
3678 pSMB->t2.SubCommand = cpu_to_le16(TRANS2_QUERY_FILE_INFORMATION); in CIFSGetExtAttr()
3680 pSMB->t2.TotalParameterCount = cpu_to_le16(params); in CIFSGetExtAttr()
3681 pSMB->t2.ParameterCount = pSMB->t2.TotalParameterCount; in CIFSGetExtAttr()
3682 pSMB->InformationLevel = cpu_to_le16(SMB_QUERY_ATTR_FLAGS); in CIFSGetExtAttr()
3683 pSMB->Pad = 0; in CIFSGetExtAttr()
3684 pSMB->Fid = netfid; in CIFSGetExtAttr()
3685 inc_rfc1001_len(pSMB, byte_count); in CIFSGetExtAttr()
3686 pSMB->t2.ByteCount = cpu_to_le16(byte_count); in CIFSGetExtAttr()
3688 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSGetExtAttr()
3717 cifs_buf_release(pSMB); in CIFSGetExtAttr()
3741 struct smb_com_ntransact_req *pSMB; in smb_init_nttransact() local
3744 (void **)&pSMB); in smb_init_nttransact()
3747 *ret_buf = (void *)pSMB; in smb_init_nttransact()
3748 pSMB->Reserved = 0; in smb_init_nttransact()
3749 pSMB->TotalParameterCount = cpu_to_le32(parm_len); in smb_init_nttransact()
3750 pSMB->TotalDataCount = 0; in smb_init_nttransact()
3751 pSMB->MaxDataCount = cpu_to_le32(CIFSMaxBufSize & 0xFFFFFF00); in smb_init_nttransact()
3752 pSMB->ParameterCount = pSMB->TotalParameterCount; in smb_init_nttransact()
3753 pSMB->DataCount = pSMB->TotalDataCount; in smb_init_nttransact()
3756 pSMB->ParameterOffset = cpu_to_le32(temp_offset); in smb_init_nttransact()
3757 pSMB->DataOffset = cpu_to_le32(temp_offset + parm_len); in smb_init_nttransact()
3758 pSMB->SetupCount = setup_count; /* no need to le convert byte fields */ in smb_init_nttransact()
3759 pSMB->SubCommand = cpu_to_le16(sub_command); in smb_init_nttransact()
3823 QUERY_SEC_DESC_REQ *pSMB; in CIFSSMBGetCIFSACL() local
3832 8 /* parm len */, tcon, (void **) &pSMB); in CIFSSMBGetCIFSACL()
3836 pSMB->MaxParameterCount = cpu_to_le32(4); in CIFSSMBGetCIFSACL()
3838 pSMB->MaxSetupCount = 0; in CIFSSMBGetCIFSACL()
3839 pSMB->Fid = fid; /* file handle always le */ in CIFSSMBGetCIFSACL()
3840 pSMB->AclFlags = cpu_to_le32(CIFS_ACL_OWNER | CIFS_ACL_GROUP | in CIFSSMBGetCIFSACL()
3842 pSMB->ByteCount = cpu_to_le16(11); /* 3 bytes pad + 8 bytes parm */ in CIFSSMBGetCIFSACL()
3843 inc_rfc1001_len(pSMB, 11); in CIFSSMBGetCIFSACL()
3844 iov[0].iov_base = (char *)pSMB; in CIFSSMBGetCIFSACL()
3845 iov[0].iov_len = be32_to_cpu(pSMB->hdr.smb_buf_length) + 4; in CIFSSMBGetCIFSACL()
3913 SET_SEC_DESC_REQ *pSMB = NULL; in CIFSSMBSetCIFSACL() local
3917 rc = smb_init(SMB_COM_NT_TRANSACT, 19, tcon, (void **) &pSMB, &pSMBr); in CIFSSMBSetCIFSACL()
3921 pSMB->MaxSetupCount = 0; in CIFSSMBSetCIFSACL()
3922 pSMB->Reserved = 0; in CIFSSMBSetCIFSACL()
3930 pSMB->DataCount = cpu_to_le32(data_count); in CIFSSMBSetCIFSACL()
3931 pSMB->TotalDataCount = pSMB->DataCount; in CIFSSMBSetCIFSACL()
3932 pSMB->MaxParameterCount = cpu_to_le32(4); in CIFSSMBSetCIFSACL()
3933 pSMB->MaxDataCount = cpu_to_le32(16384); in CIFSSMBSetCIFSACL()
3934 pSMB->ParameterCount = cpu_to_le32(param_count); in CIFSSMBSetCIFSACL()
3935 pSMB->ParameterOffset = cpu_to_le32(param_offset); in CIFSSMBSetCIFSACL()
3936 pSMB->TotalParameterCount = pSMB->ParameterCount; in CIFSSMBSetCIFSACL()
3937 pSMB->DataOffset = cpu_to_le32(data_offset); in CIFSSMBSetCIFSACL()
3938 pSMB->SetupCount = 0; in CIFSSMBSetCIFSACL()
3939 pSMB->SubCommand = cpu_to_le16(NT_TRANSACT_SET_SECURITY_DESC); in CIFSSMBSetCIFSACL()
3940 pSMB->ByteCount = cpu_to_le16(byte_count+data_count); in CIFSSMBSetCIFSACL()
3942 pSMB->Fid = fid; /* file handle always le */ in CIFSSMBSetCIFSACL()
3943 pSMB->Reserved2 = 0; in CIFSSMBSetCIFSACL()
3944 pSMB->AclFlags = cpu_to_le32(aclflag); in CIFSSMBSetCIFSACL()
3949 inc_rfc1001_len(pSMB, byte_count + data_count); in CIFSSMBSetCIFSACL()
3951 inc_rfc1001_len(pSMB, byte_count); in CIFSSMBSetCIFSACL()
3953 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSSMBSetCIFSACL()
3960 cifs_buf_release(pSMB); in CIFSSMBSetCIFSACL()
3977 QUERY_INFORMATION_REQ *pSMB; in SMBQueryInformation() local
3985 rc = smb_init(SMB_COM_QUERY_INFORMATION, 0, tcon, (void **) &pSMB, in SMBQueryInformation()
3990 if (pSMB->hdr.Flags2 & SMBFLG2_UNICODE) { in SMBQueryInformation()
3992 cifsConvertToUTF16((__le16 *) pSMB->FileName, in SMBQueryInformation()
4000 strncpy(pSMB->FileName, search_name, name_len); in SMBQueryInformation()
4002 pSMB->BufferFormat = 0x04; in SMBQueryInformation()
4004 inc_rfc1001_len(pSMB, (__u16)name_len); in SMBQueryInformation()
4005 pSMB->ByteCount = cpu_to_le16(name_len); in SMBQueryInformation()
4007 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in SMBQueryInformation()
4032 cifs_buf_release(pSMB); in SMBQueryInformation()
4044 struct smb_t2_qfi_req *pSMB = NULL; in CIFSSMBQFileInfo() local
4051 rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, in CIFSSMBQFileInfo()
4057 pSMB->t2.TotalDataCount = 0; in CIFSSMBQFileInfo()
4058 pSMB->t2.MaxParameterCount = cpu_to_le16(4); in CIFSSMBQFileInfo()
4060 pSMB->t2.MaxDataCount = cpu_to_le16(CIFSMaxBufSize); in CIFSSMBQFileInfo()
4061 pSMB->t2.MaxSetupCount = 0; in CIFSSMBQFileInfo()
4062 pSMB->t2.Reserved = 0; in CIFSSMBQFileInfo()
4063 pSMB->t2.Flags = 0; in CIFSSMBQFileInfo()
4064 pSMB->t2.Timeout = 0; in CIFSSMBQFileInfo()
4065 pSMB->t2.Reserved2 = 0; in CIFSSMBQFileInfo()
4066 pSMB->t2.ParameterOffset = cpu_to_le16(offsetof(struct smb_t2_qfi_req, in CIFSSMBQFileInfo()
4068 pSMB->t2.DataCount = 0; in CIFSSMBQFileInfo()
4069 pSMB->t2.DataOffset = 0; in CIFSSMBQFileInfo()
4070 pSMB->t2.SetupCount = 1; in CIFSSMBQFileInfo()
4071 pSMB->t2.Reserved3 = 0; in CIFSSMBQFileInfo()
4072 pSMB->t2.SubCommand = cpu_to_le16(TRANS2_QUERY_FILE_INFORMATION); in CIFSSMBQFileInfo()
4074 pSMB->t2.TotalParameterCount = cpu_to_le16(params); in CIFSSMBQFileInfo()
4075 pSMB->t2.ParameterCount = pSMB->t2.TotalParameterCount; in CIFSSMBQFileInfo()
4076 pSMB->InformationLevel = cpu_to_le16(SMB_QUERY_FILE_ALL_INFO); in CIFSSMBQFileInfo()
4077 pSMB->Pad = 0; in CIFSSMBQFileInfo()
4078 pSMB->Fid = netfid; in CIFSSMBQFileInfo()
4079 inc_rfc1001_len(pSMB, byte_count); in CIFSSMBQFileInfo()
4080 pSMB->t2.ByteCount = cpu_to_le16(byte_count); in CIFSSMBQFileInfo()
4082 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSSMBQFileInfo()
4101 cifs_buf_release(pSMB); in CIFSSMBQFileInfo()
4115 TRANSACTION2_QPI_REQ *pSMB = NULL; in CIFSSMBQPathInfo() local
4124 rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, in CIFSSMBQPathInfo()
4129 if (pSMB->hdr.Flags2 & SMBFLG2_UNICODE) { in CIFSSMBQPathInfo()
4131 cifsConvertToUTF16((__le16 *) pSMB->FileName, search_name, in CIFSSMBQPathInfo()
4138 strncpy(pSMB->FileName, search_name, name_len); in CIFSSMBQPathInfo()
4142 pSMB->TotalDataCount = 0; in CIFSSMBQPathInfo()
4143 pSMB->MaxParameterCount = cpu_to_le16(2); in CIFSSMBQPathInfo()
4145 pSMB->MaxDataCount = cpu_to_le16(4000); in CIFSSMBQPathInfo()
4146 pSMB->MaxSetupCount = 0; in CIFSSMBQPathInfo()
4147 pSMB->Reserved = 0; in CIFSSMBQPathInfo()
4148 pSMB->Flags = 0; in CIFSSMBQPathInfo()
4149 pSMB->Timeout = 0; in CIFSSMBQPathInfo()
4150 pSMB->Reserved2 = 0; in CIFSSMBQPathInfo()
4151 pSMB->ParameterOffset = cpu_to_le16(offsetof( in CIFSSMBQPathInfo()
4153 pSMB->DataCount = 0; in CIFSSMBQPathInfo()
4154 pSMB->DataOffset = 0; in CIFSSMBQPathInfo()
4155 pSMB->SetupCount = 1; in CIFSSMBQPathInfo()
4156 pSMB->Reserved3 = 0; in CIFSSMBQPathInfo()
4157 pSMB->SubCommand = cpu_to_le16(TRANS2_QUERY_PATH_INFORMATION); in CIFSSMBQPathInfo()
4159 pSMB->TotalParameterCount = cpu_to_le16(params); in CIFSSMBQPathInfo()
4160 pSMB->ParameterCount = pSMB->TotalParameterCount; in CIFSSMBQPathInfo()
4162 pSMB->InformationLevel = cpu_to_le16(SMB_INFO_STANDARD); in CIFSSMBQPathInfo()
4164 pSMB->InformationLevel = cpu_to_le16(SMB_QUERY_FILE_ALL_INFO); in CIFSSMBQPathInfo()
4165 pSMB->Reserved4 = 0; in CIFSSMBQPathInfo()
4166 inc_rfc1001_len(pSMB, byte_count); in CIFSSMBQPathInfo()
4167 pSMB->ByteCount = cpu_to_le16(byte_count); in CIFSSMBQPathInfo()
4169 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSSMBQPathInfo()
4202 cifs_buf_release(pSMB); in CIFSSMBQPathInfo()
4213 struct smb_t2_qfi_req *pSMB = NULL; in CIFSSMBUnixQFileInfo() local
4220 rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, in CIFSSMBUnixQFileInfo()
4226 pSMB->t2.TotalDataCount = 0; in CIFSSMBUnixQFileInfo()
4227 pSMB->t2.MaxParameterCount = cpu_to_le16(4); in CIFSSMBUnixQFileInfo()
4229 pSMB->t2.MaxDataCount = cpu_to_le16(CIFSMaxBufSize); in CIFSSMBUnixQFileInfo()
4230 pSMB->t2.MaxSetupCount = 0; in CIFSSMBUnixQFileInfo()
4231 pSMB->t2.Reserved = 0; in CIFSSMBUnixQFileInfo()
4232 pSMB->t2.Flags = 0; in CIFSSMBUnixQFileInfo()
4233 pSMB->t2.Timeout = 0; in CIFSSMBUnixQFileInfo()
4234 pSMB->t2.Reserved2 = 0; in CIFSSMBUnixQFileInfo()
4235 pSMB->t2.ParameterOffset = cpu_to_le16(offsetof(struct smb_t2_qfi_req, in CIFSSMBUnixQFileInfo()
4237 pSMB->t2.DataCount = 0; in CIFSSMBUnixQFileInfo()
4238 pSMB->t2.DataOffset = 0; in CIFSSMBUnixQFileInfo()
4239 pSMB->t2.SetupCount = 1; in CIFSSMBUnixQFileInfo()
4240 pSMB->t2.Reserved3 = 0; in CIFSSMBUnixQFileInfo()
4241 pSMB->t2.SubCommand = cpu_to_le16(TRANS2_QUERY_FILE_INFORMATION); in CIFSSMBUnixQFileInfo()
4243 pSMB->t2.TotalParameterCount = cpu_to_le16(params); in CIFSSMBUnixQFileInfo()
4244 pSMB->t2.ParameterCount = pSMB->t2.TotalParameterCount; in CIFSSMBUnixQFileInfo()
4245 pSMB->InformationLevel = cpu_to_le16(SMB_QUERY_FILE_UNIX_BASIC); in CIFSSMBUnixQFileInfo()
4246 pSMB->Pad = 0; in CIFSSMBUnixQFileInfo()
4247 pSMB->Fid = netfid; in CIFSSMBUnixQFileInfo()
4248 inc_rfc1001_len(pSMB, byte_count); in CIFSSMBUnixQFileInfo()
4249 pSMB->t2.ByteCount = cpu_to_le16(byte_count); in CIFSSMBUnixQFileInfo()
4251 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSSMBUnixQFileInfo()
4270 cifs_buf_release(pSMB); in CIFSSMBUnixQFileInfo()
4284 TRANSACTION2_QPI_REQ *pSMB = NULL; in CIFSSMBUnixQPathInfo() local
4293 rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, in CIFSSMBUnixQPathInfo()
4298 if (pSMB->hdr.Flags2 & SMBFLG2_UNICODE) { in CIFSSMBUnixQPathInfo()
4300 cifsConvertToUTF16((__le16 *) pSMB->FileName, searchName, in CIFSSMBUnixQPathInfo()
4307 strncpy(pSMB->FileName, searchName, name_len); in CIFSSMBUnixQPathInfo()
4311 pSMB->TotalDataCount = 0; in CIFSSMBUnixQPathInfo()
4312 pSMB->MaxParameterCount = cpu_to_le16(2); in CIFSSMBUnixQPathInfo()
4314 pSMB->MaxDataCount = cpu_to_le16(4000); in CIFSSMBUnixQPathInfo()
4315 pSMB->MaxSetupCount = 0; in CIFSSMBUnixQPathInfo()
4316 pSMB->Reserved = 0; in CIFSSMBUnixQPathInfo()
4317 pSMB->Flags = 0; in CIFSSMBUnixQPathInfo()
4318 pSMB->Timeout = 0; in CIFSSMBUnixQPathInfo()
4319 pSMB->Reserved2 = 0; in CIFSSMBUnixQPathInfo()
4320 pSMB->ParameterOffset = cpu_to_le16(offsetof( in CIFSSMBUnixQPathInfo()
4322 pSMB->DataCount = 0; in CIFSSMBUnixQPathInfo()
4323 pSMB->DataOffset = 0; in CIFSSMBUnixQPathInfo()
4324 pSMB->SetupCount = 1; in CIFSSMBUnixQPathInfo()
4325 pSMB->Reserved3 = 0; in CIFSSMBUnixQPathInfo()
4326 pSMB->SubCommand = cpu_to_le16(TRANS2_QUERY_PATH_INFORMATION); in CIFSSMBUnixQPathInfo()
4328 pSMB->TotalParameterCount = cpu_to_le16(params); in CIFSSMBUnixQPathInfo()
4329 pSMB->ParameterCount = pSMB->TotalParameterCount; in CIFSSMBUnixQPathInfo()
4330 pSMB->InformationLevel = cpu_to_le16(SMB_QUERY_FILE_UNIX_BASIC); in CIFSSMBUnixQPathInfo()
4331 pSMB->Reserved4 = 0; in CIFSSMBUnixQPathInfo()
4332 inc_rfc1001_len(pSMB, byte_count); in CIFSSMBUnixQPathInfo()
4333 pSMB->ByteCount = cpu_to_le16(byte_count); in CIFSSMBUnixQPathInfo()
4335 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSSMBUnixQPathInfo()
4353 cifs_buf_release(pSMB); in CIFSSMBUnixQPathInfo()
4368 TRANSACTION2_FFIRST_REQ *pSMB = NULL; in CIFSFindFirst() local
4380 rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, in CIFSFindFirst()
4388 if (pSMB->hdr.Flags2 & SMBFLG2_UNICODE) { in CIFSFindFirst()
4390 cifsConvertToUTF16((__le16 *) pSMB->FileName, searchName, in CIFSFindFirst()
4397 pSMB->FileName[name_len] = CIFS_DIR_SEP(cifs_sb); in CIFSFindFirst()
4398 pSMB->FileName[name_len+1] = 0; in CIFSFindFirst()
4399 pSMB->FileName[name_len+2] = '*'; in CIFSFindFirst()
4400 pSMB->FileName[name_len+3] = 0; in CIFSFindFirst()
4403 pSMB->FileName[name_len] = 0; in CIFSFindFirst()
4404 pSMB->FileName[name_len+1] = 0; in CIFSFindFirst()
4412 strncpy(pSMB->FileName, searchName, name_len); in CIFSFindFirst()
4414 pSMB->FileName[name_len] = CIFS_DIR_SEP(cifs_sb); in CIFSFindFirst()
4415 pSMB->FileName[name_len+1] = '*'; in CIFSFindFirst()
4416 pSMB->FileName[name_len+2] = 0; in CIFSFindFirst()
4422 pSMB->TotalDataCount = 0; /* no EAs */ in CIFSFindFirst()
4423 pSMB->MaxParameterCount = cpu_to_le16(10); in CIFSFindFirst()
4424 pSMB->MaxDataCount = cpu_to_le16(CIFSMaxBufSize & 0xFFFFFF00); in CIFSFindFirst()
4425 pSMB->MaxSetupCount = 0; in CIFSFindFirst()
4426 pSMB->Reserved = 0; in CIFSFindFirst()
4427 pSMB->Flags = 0; in CIFSFindFirst()
4428 pSMB->Timeout = 0; in CIFSFindFirst()
4429 pSMB->Reserved2 = 0; in CIFSFindFirst()
4431 pSMB->TotalParameterCount = cpu_to_le16(params); in CIFSFindFirst()
4432 pSMB->ParameterCount = pSMB->TotalParameterCount; in CIFSFindFirst()
4433 pSMB->ParameterOffset = cpu_to_le16( in CIFSFindFirst()
4436 pSMB->DataCount = 0; in CIFSFindFirst()
4437 pSMB->DataOffset = 0; in CIFSFindFirst()
4438 pSMB->SetupCount = 1; /* one byte, no need to make endian neutral */ in CIFSFindFirst()
4439 pSMB->Reserved3 = 0; in CIFSFindFirst()
4440 pSMB->SubCommand = cpu_to_le16(TRANS2_FIND_FIRST); in CIFSFindFirst()
4441 pSMB->SearchAttributes = in CIFSFindFirst()
4444 pSMB->SearchCount = cpu_to_le16(CIFSMaxBufSize/sizeof(FILE_UNIX_INFO)); in CIFSFindFirst()
4445 pSMB->SearchFlags = cpu_to_le16(search_flags); in CIFSFindFirst()
4446 pSMB->InformationLevel = cpu_to_le16(psrch_inf->info_level); in CIFSFindFirst()
4449 pSMB->SearchStorageType = 0; in CIFSFindFirst()
4450 inc_rfc1001_len(pSMB, byte_count); in CIFSFindFirst()
4451 pSMB->ByteCount = cpu_to_le16(byte_count); in CIFSFindFirst()
4453 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSFindFirst()
4462 cifs_buf_release(pSMB); in CIFSFindFirst()
4509 cifs_buf_release(pSMB); in CIFSFindFirst()
4520 TRANSACTION2_FNEXT_REQ *pSMB = NULL; in CIFSFindNext() local
4534 rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, in CIFSFindNext()
4541 pSMB->TotalDataCount = 0; /* no EAs */ in CIFSFindNext()
4542 pSMB->MaxParameterCount = cpu_to_le16(8); in CIFSFindNext()
4543 pSMB->MaxDataCount = cpu_to_le16(CIFSMaxBufSize & 0xFFFFFF00); in CIFSFindNext()
4544 pSMB->MaxSetupCount = 0; in CIFSFindNext()
4545 pSMB->Reserved = 0; in CIFSFindNext()
4546 pSMB->Flags = 0; in CIFSFindNext()
4547 pSMB->Timeout = 0; in CIFSFindNext()
4548 pSMB->Reserved2 = 0; in CIFSFindNext()
4549 pSMB->ParameterOffset = cpu_to_le16( in CIFSFindNext()
4551 pSMB->DataCount = 0; in CIFSFindNext()
4552 pSMB->DataOffset = 0; in CIFSFindNext()
4553 pSMB->SetupCount = 1; in CIFSFindNext()
4554 pSMB->Reserved3 = 0; in CIFSFindNext()
4555 pSMB->SubCommand = cpu_to_le16(TRANS2_FIND_NEXT); in CIFSFindNext()
4556 pSMB->SearchHandle = searchHandle; /* always kept as le */ in CIFSFindNext()
4557 pSMB->SearchCount = in CIFSFindNext()
4559 pSMB->InformationLevel = cpu_to_le16(psrch_inf->info_level); in CIFSFindNext()
4560 pSMB->ResumeKey = psrch_inf->resume_key; in CIFSFindNext()
4561 pSMB->SearchFlags = cpu_to_le16(search_flags); in CIFSFindNext()
4566 memcpy(pSMB->ResumeFileName, psrch_inf->presume_name, name_len); in CIFSFindNext()
4569 pSMB->ResumeFileName[name_len] = 0; in CIFSFindNext()
4570 pSMB->ResumeFileName[name_len+1] = 0; in CIFSFindNext()
4576 pSMB->TotalParameterCount = cpu_to_le16(params); in CIFSFindNext()
4577 pSMB->ParameterCount = pSMB->TotalParameterCount; in CIFSFindNext()
4578 inc_rfc1001_len(pSMB, byte_count); in CIFSFindNext()
4579 pSMB->ByteCount = cpu_to_le16(byte_count); in CIFSFindNext()
4581 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSFindNext()
4587 cifs_buf_release(pSMB); in CIFSFindNext()
4613 psrch_inf->ntwrk_buf_start = (char *)pSMB; in CIFSFindNext()
4647 cifs_buf_release(pSMB); in CIFSFindNext()
4656 FINDCLOSE_REQ *pSMB = NULL; in CIFSFindClose() local
4659 rc = small_smb_init(SMB_COM_FIND_CLOSE2, 1, tcon, (void **)&pSMB); in CIFSFindClose()
4668 pSMB->FileID = searchHandle; in CIFSFindClose()
4669 pSMB->ByteCount = 0; in CIFSFindClose()
4670 rc = SendReceiveNoRsp(xid, tcon->ses, (char *) pSMB, 0); in CIFSFindClose()
4689 TRANSACTION2_QPI_REQ *pSMB = NULL; in CIFSGetSrvInodeNumber() local
4699 rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, in CIFSGetSrvInodeNumber()
4704 if (pSMB->hdr.Flags2 & SMBFLG2_UNICODE) { in CIFSGetSrvInodeNumber()
4706 cifsConvertToUTF16((__le16 *) pSMB->FileName, in CIFSGetSrvInodeNumber()
4714 strncpy(pSMB->FileName, search_name, name_len); in CIFSGetSrvInodeNumber()
4718 pSMB->TotalDataCount = 0; in CIFSGetSrvInodeNumber()
4719 pSMB->MaxParameterCount = cpu_to_le16(2); in CIFSGetSrvInodeNumber()
4721 pSMB->MaxDataCount = cpu_to_le16(4000); in CIFSGetSrvInodeNumber()
4722 pSMB->MaxSetupCount = 0; in CIFSGetSrvInodeNumber()
4723 pSMB->Reserved = 0; in CIFSGetSrvInodeNumber()
4724 pSMB->Flags = 0; in CIFSGetSrvInodeNumber()
4725 pSMB->Timeout = 0; in CIFSGetSrvInodeNumber()
4726 pSMB->Reserved2 = 0; in CIFSGetSrvInodeNumber()
4727 pSMB->ParameterOffset = cpu_to_le16(offsetof( in CIFSGetSrvInodeNumber()
4729 pSMB->DataCount = 0; in CIFSGetSrvInodeNumber()
4730 pSMB->DataOffset = 0; in CIFSGetSrvInodeNumber()
4731 pSMB->SetupCount = 1; in CIFSGetSrvInodeNumber()
4732 pSMB->Reserved3 = 0; in CIFSGetSrvInodeNumber()
4733 pSMB->SubCommand = cpu_to_le16(TRANS2_QUERY_PATH_INFORMATION); in CIFSGetSrvInodeNumber()
4735 pSMB->TotalParameterCount = cpu_to_le16(params); in CIFSGetSrvInodeNumber()
4736 pSMB->ParameterCount = pSMB->TotalParameterCount; in CIFSGetSrvInodeNumber()
4737 pSMB->InformationLevel = cpu_to_le16(SMB_QUERY_FILE_INTERNAL_INFO); in CIFSGetSrvInodeNumber()
4738 pSMB->Reserved4 = 0; in CIFSGetSrvInodeNumber()
4739 inc_rfc1001_len(pSMB, byte_count); in CIFSGetSrvInodeNumber()
4740 pSMB->ByteCount = cpu_to_le16(byte_count); in CIFSGetSrvInodeNumber()
4742 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSGetSrvInodeNumber()
4770 cifs_buf_release(pSMB); in CIFSGetSrvInodeNumber()
4894 TRANSACTION2_GET_DFS_REFER_REQ *pSMB = NULL; in CIFSGetDFSRefer() local
4907 rc = smb_init(SMB_COM_TRANSACTION2, 15, NULL, (void **) &pSMB, in CIFSGetDFSRefer()
4914 pSMB->hdr.Mid = get_next_mid(ses->server); in CIFSGetDFSRefer()
4915 pSMB->hdr.Tid = ses->ipc_tid; in CIFSGetDFSRefer()
4916 pSMB->hdr.Uid = ses->Suid; in CIFSGetDFSRefer()
4918 pSMB->hdr.Flags2 |= SMBFLG2_ERR_STATUS; in CIFSGetDFSRefer()
4920 pSMB->hdr.Flags2 |= SMBFLG2_DFS; in CIFSGetDFSRefer()
4923 pSMB->hdr.Flags2 |= SMBFLG2_UNICODE; in CIFSGetDFSRefer()
4925 cifsConvertToUTF16((__le16 *) pSMB->RequestFileName, in CIFSGetDFSRefer()
4933 strncpy(pSMB->RequestFileName, search_name, name_len); in CIFSGetDFSRefer()
4937 pSMB->hdr.Flags2 |= SMBFLG2_SECURITY_SIGNATURE; in CIFSGetDFSRefer()
4939 pSMB->hdr.Uid = ses->Suid; in CIFSGetDFSRefer()
4942 pSMB->TotalDataCount = 0; in CIFSGetDFSRefer()
4943 pSMB->DataCount = 0; in CIFSGetDFSRefer()
4944 pSMB->DataOffset = 0; in CIFSGetDFSRefer()
4945 pSMB->MaxParameterCount = 0; in CIFSGetDFSRefer()
4947 pSMB->MaxDataCount = cpu_to_le16(4000); in CIFSGetDFSRefer()
4948 pSMB->MaxSetupCount = 0; in CIFSGetDFSRefer()
4949 pSMB->Reserved = 0; in CIFSGetDFSRefer()
4950 pSMB->Flags = 0; in CIFSGetDFSRefer()
4951 pSMB->Timeout = 0; in CIFSGetDFSRefer()
4952 pSMB->Reserved2 = 0; in CIFSGetDFSRefer()
4953 pSMB->ParameterOffset = cpu_to_le16(offsetof( in CIFSGetDFSRefer()
4955 pSMB->SetupCount = 1; in CIFSGetDFSRefer()
4956 pSMB->Reserved3 = 0; in CIFSGetDFSRefer()
4957 pSMB->SubCommand = cpu_to_le16(TRANS2_GET_DFS_REFERRAL); in CIFSGetDFSRefer()
4959 pSMB->ParameterCount = cpu_to_le16(params); in CIFSGetDFSRefer()
4960 pSMB->TotalParameterCount = pSMB->ParameterCount; in CIFSGetDFSRefer()
4961 pSMB->MaxReferralLevel = cpu_to_le16(3); in CIFSGetDFSRefer()
4962 inc_rfc1001_len(pSMB, byte_count); in CIFSGetDFSRefer()
4963 pSMB->ByteCount = cpu_to_le16(byte_count); in CIFSGetDFSRefer()
4965 rc = SendReceive(xid, ses, (struct smb_hdr *) pSMB, in CIFSGetDFSRefer()
4988 cifs_buf_release(pSMB); in CIFSGetDFSRefer()
5002 TRANSACTION2_QFSI_REQ *pSMB = NULL; in SMBOldQFSInfo() local
5011 rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, in SMBOldQFSInfo()
5017 pSMB->TotalDataCount = 0; in SMBOldQFSInfo()
5018 pSMB->MaxParameterCount = cpu_to_le16(2); in SMBOldQFSInfo()
5019 pSMB->MaxDataCount = cpu_to_le16(1000); in SMBOldQFSInfo()
5020 pSMB->MaxSetupCount = 0; in SMBOldQFSInfo()
5021 pSMB->Reserved = 0; in SMBOldQFSInfo()
5022 pSMB->Flags = 0; in SMBOldQFSInfo()
5023 pSMB->Timeout = 0; in SMBOldQFSInfo()
5024 pSMB->Reserved2 = 0; in SMBOldQFSInfo()
5026 pSMB->TotalParameterCount = cpu_to_le16(params); in SMBOldQFSInfo()
5027 pSMB->ParameterCount = pSMB->TotalParameterCount; in SMBOldQFSInfo()
5028 pSMB->ParameterOffset = cpu_to_le16(offsetof( in SMBOldQFSInfo()
5030 pSMB->DataCount = 0; in SMBOldQFSInfo()
5031 pSMB->DataOffset = 0; in SMBOldQFSInfo()
5032 pSMB->SetupCount = 1; in SMBOldQFSInfo()
5033 pSMB->Reserved3 = 0; in SMBOldQFSInfo()
5034 pSMB->SubCommand = cpu_to_le16(TRANS2_QUERY_FS_INFORMATION); in SMBOldQFSInfo()
5035 pSMB->InformationLevel = cpu_to_le16(SMB_INFO_ALLOCATION); in SMBOldQFSInfo()
5036 inc_rfc1001_len(pSMB, byte_count); in SMBOldQFSInfo()
5037 pSMB->ByteCount = cpu_to_le16(byte_count); in SMBOldQFSInfo()
5039 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in SMBOldQFSInfo()
5069 cifs_buf_release(pSMB); in SMBOldQFSInfo()
5082 TRANSACTION2_QFSI_REQ *pSMB = NULL; in CIFSSMBQFSInfo() local
5091 rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, in CIFSSMBQFSInfo()
5097 pSMB->TotalDataCount = 0; in CIFSSMBQFSInfo()
5098 pSMB->MaxParameterCount = cpu_to_le16(2); in CIFSSMBQFSInfo()
5099 pSMB->MaxDataCount = cpu_to_le16(1000); in CIFSSMBQFSInfo()
5100 pSMB->MaxSetupCount = 0; in CIFSSMBQFSInfo()
5101 pSMB->Reserved = 0; in CIFSSMBQFSInfo()
5102 pSMB->Flags = 0; in CIFSSMBQFSInfo()
5103 pSMB->Timeout = 0; in CIFSSMBQFSInfo()
5104 pSMB->Reserved2 = 0; in CIFSSMBQFSInfo()
5106 pSMB->TotalParameterCount = cpu_to_le16(params); in CIFSSMBQFSInfo()
5107 pSMB->ParameterCount = pSMB->TotalParameterCount; in CIFSSMBQFSInfo()
5108 pSMB->ParameterOffset = cpu_to_le16(offsetof( in CIFSSMBQFSInfo()
5110 pSMB->DataCount = 0; in CIFSSMBQFSInfo()
5111 pSMB->DataOffset = 0; in CIFSSMBQFSInfo()
5112 pSMB->SetupCount = 1; in CIFSSMBQFSInfo()
5113 pSMB->Reserved3 = 0; in CIFSSMBQFSInfo()
5114 pSMB->SubCommand = cpu_to_le16(TRANS2_QUERY_FS_INFORMATION); in CIFSSMBQFSInfo()
5115 pSMB->InformationLevel = cpu_to_le16(SMB_QUERY_FS_SIZE_INFO); in CIFSSMBQFSInfo()
5116 inc_rfc1001_len(pSMB, byte_count); in CIFSSMBQFSInfo()
5117 pSMB->ByteCount = cpu_to_le16(byte_count); in CIFSSMBQFSInfo()
5119 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSSMBQFSInfo()
5149 cifs_buf_release(pSMB); in CIFSSMBQFSInfo()
5161 TRANSACTION2_QFSI_REQ *pSMB = NULL; in CIFSSMBQFSAttributeInfo() local
5170 rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, in CIFSSMBQFSAttributeInfo()
5176 pSMB->TotalDataCount = 0; in CIFSSMBQFSAttributeInfo()
5177 pSMB->MaxParameterCount = cpu_to_le16(2); in CIFSSMBQFSAttributeInfo()
5179 pSMB->MaxDataCount = cpu_to_le16(1000); in CIFSSMBQFSAttributeInfo()
5180 pSMB->MaxSetupCount = 0; in CIFSSMBQFSAttributeInfo()
5181 pSMB->Reserved = 0; in CIFSSMBQFSAttributeInfo()
5182 pSMB->Flags = 0; in CIFSSMBQFSAttributeInfo()
5183 pSMB->Timeout = 0; in CIFSSMBQFSAttributeInfo()
5184 pSMB->Reserved2 = 0; in CIFSSMBQFSAttributeInfo()
5186 pSMB->TotalParameterCount = cpu_to_le16(params); in CIFSSMBQFSAttributeInfo()
5187 pSMB->ParameterCount = pSMB->TotalParameterCount; in CIFSSMBQFSAttributeInfo()
5188 pSMB->ParameterOffset = cpu_to_le16(offsetof( in CIFSSMBQFSAttributeInfo()
5190 pSMB->DataCount = 0; in CIFSSMBQFSAttributeInfo()
5191 pSMB->DataOffset = 0; in CIFSSMBQFSAttributeInfo()
5192 pSMB->SetupCount = 1; in CIFSSMBQFSAttributeInfo()
5193 pSMB->Reserved3 = 0; in CIFSSMBQFSAttributeInfo()
5194 pSMB->SubCommand = cpu_to_le16(TRANS2_QUERY_FS_INFORMATION); in CIFSSMBQFSAttributeInfo()
5195 pSMB->InformationLevel = cpu_to_le16(SMB_QUERY_FS_ATTRIBUTE_INFO); in CIFSSMBQFSAttributeInfo()
5196 inc_rfc1001_len(pSMB, byte_count); in CIFSSMBQFSAttributeInfo()
5197 pSMB->ByteCount = cpu_to_le16(byte_count); in CIFSSMBQFSAttributeInfo()
5199 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSSMBQFSAttributeInfo()
5219 cifs_buf_release(pSMB); in CIFSSMBQFSAttributeInfo()
5231 TRANSACTION2_QFSI_REQ *pSMB = NULL; in CIFSSMBQFSDeviceInfo() local
5240 rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, in CIFSSMBQFSDeviceInfo()
5246 pSMB->TotalDataCount = 0; in CIFSSMBQFSDeviceInfo()
5247 pSMB->MaxParameterCount = cpu_to_le16(2); in CIFSSMBQFSDeviceInfo()
5249 pSMB->MaxDataCount = cpu_to_le16(1000); in CIFSSMBQFSDeviceInfo()
5250 pSMB->MaxSetupCount = 0; in CIFSSMBQFSDeviceInfo()
5251 pSMB->Reserved = 0; in CIFSSMBQFSDeviceInfo()
5252 pSMB->Flags = 0; in CIFSSMBQFSDeviceInfo()
5253 pSMB->Timeout = 0; in CIFSSMBQFSDeviceInfo()
5254 pSMB->Reserved2 = 0; in CIFSSMBQFSDeviceInfo()
5256 pSMB->TotalParameterCount = cpu_to_le16(params); in CIFSSMBQFSDeviceInfo()
5257 pSMB->ParameterCount = pSMB->TotalParameterCount; in CIFSSMBQFSDeviceInfo()
5258 pSMB->ParameterOffset = cpu_to_le16(offsetof( in CIFSSMBQFSDeviceInfo()
5261 pSMB->DataCount = 0; in CIFSSMBQFSDeviceInfo()
5262 pSMB->DataOffset = 0; in CIFSSMBQFSDeviceInfo()
5263 pSMB->SetupCount = 1; in CIFSSMBQFSDeviceInfo()
5264 pSMB->Reserved3 = 0; in CIFSSMBQFSDeviceInfo()
5265 pSMB->SubCommand = cpu_to_le16(TRANS2_QUERY_FS_INFORMATION); in CIFSSMBQFSDeviceInfo()
5266 pSMB->InformationLevel = cpu_to_le16(SMB_QUERY_FS_DEVICE_INFO); in CIFSSMBQFSDeviceInfo()
5267 inc_rfc1001_len(pSMB, byte_count); in CIFSSMBQFSDeviceInfo()
5268 pSMB->ByteCount = cpu_to_le16(byte_count); in CIFSSMBQFSDeviceInfo()
5270 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSSMBQFSDeviceInfo()
5290 cifs_buf_release(pSMB); in CIFSSMBQFSDeviceInfo()
5302 TRANSACTION2_QFSI_REQ *pSMB = NULL; in CIFSSMBQFSUnixInfo() local
5312 (void **) &pSMB, (void **) &pSMBr); in CIFSSMBQFSUnixInfo()
5317 pSMB->TotalDataCount = 0; in CIFSSMBQFSUnixInfo()
5318 pSMB->DataCount = 0; in CIFSSMBQFSUnixInfo()
5319 pSMB->DataOffset = 0; in CIFSSMBQFSUnixInfo()
5320 pSMB->MaxParameterCount = cpu_to_le16(2); in CIFSSMBQFSUnixInfo()
5322 pSMB->MaxDataCount = cpu_to_le16(100); in CIFSSMBQFSUnixInfo()
5323 pSMB->MaxSetupCount = 0; in CIFSSMBQFSUnixInfo()
5324 pSMB->Reserved = 0; in CIFSSMBQFSUnixInfo()
5325 pSMB->Flags = 0; in CIFSSMBQFSUnixInfo()
5326 pSMB->Timeout = 0; in CIFSSMBQFSUnixInfo()
5327 pSMB->Reserved2 = 0; in CIFSSMBQFSUnixInfo()
5329 pSMB->ParameterCount = cpu_to_le16(params); in CIFSSMBQFSUnixInfo()
5330 pSMB->TotalParameterCount = pSMB->ParameterCount; in CIFSSMBQFSUnixInfo()
5331 pSMB->ParameterOffset = cpu_to_le16(offsetof(struct in CIFSSMBQFSUnixInfo()
5333 pSMB->SetupCount = 1; in CIFSSMBQFSUnixInfo()
5334 pSMB->Reserved3 = 0; in CIFSSMBQFSUnixInfo()
5335 pSMB->SubCommand = cpu_to_le16(TRANS2_QUERY_FS_INFORMATION); in CIFSSMBQFSUnixInfo()
5336 pSMB->InformationLevel = cpu_to_le16(SMB_QUERY_CIFS_UNIX_INFO); in CIFSSMBQFSUnixInfo()
5337 inc_rfc1001_len(pSMB, byte_count); in CIFSSMBQFSUnixInfo()
5338 pSMB->ByteCount = cpu_to_le16(byte_count); in CIFSSMBQFSUnixInfo()
5340 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSSMBQFSUnixInfo()
5359 cifs_buf_release(pSMB); in CIFSSMBQFSUnixInfo()
5372 TRANSACTION2_SETFSI_REQ *pSMB = NULL; in CIFSSMBSetFSUnixInfo() local
5382 (void **) &pSMB, (void **) &pSMBr); in CIFSSMBSetFSUnixInfo()
5387 pSMB->MaxSetupCount = 0; in CIFSSMBSetFSUnixInfo()
5388 pSMB->Reserved = 0; in CIFSSMBSetFSUnixInfo()
5389 pSMB->Flags = 0; in CIFSSMBSetFSUnixInfo()
5390 pSMB->Timeout = 0; in CIFSSMBSetFSUnixInfo()
5391 pSMB->Reserved2 = 0; in CIFSSMBSetFSUnixInfo()
5396 pSMB->MaxParameterCount = cpu_to_le16(4); in CIFSSMBSetFSUnixInfo()
5398 pSMB->MaxDataCount = cpu_to_le16(100); in CIFSSMBSetFSUnixInfo()
5399 pSMB->SetupCount = 1; in CIFSSMBSetFSUnixInfo()
5400 pSMB->Reserved3 = 0; in CIFSSMBSetFSUnixInfo()
5401 pSMB->SubCommand = cpu_to_le16(TRANS2_SET_FS_INFORMATION); in CIFSSMBSetFSUnixInfo()
5404 pSMB->DataCount = cpu_to_le16(12); in CIFSSMBSetFSUnixInfo()
5405 pSMB->ParameterCount = cpu_to_le16(params); in CIFSSMBSetFSUnixInfo()
5406 pSMB->TotalDataCount = pSMB->DataCount; in CIFSSMBSetFSUnixInfo()
5407 pSMB->TotalParameterCount = pSMB->ParameterCount; in CIFSSMBSetFSUnixInfo()
5408 pSMB->ParameterOffset = cpu_to_le16(param_offset); in CIFSSMBSetFSUnixInfo()
5409 pSMB->DataOffset = cpu_to_le16(offset); in CIFSSMBSetFSUnixInfo()
5412 pSMB->FileNum = 0; in CIFSSMBSetFSUnixInfo()
5413 pSMB->InformationLevel = cpu_to_le16(SMB_SET_CIFS_UNIX_INFO); in CIFSSMBSetFSUnixInfo()
5416 pSMB->ClientUnixMajor = cpu_to_le16(CIFS_UNIX_MAJOR_VERSION); in CIFSSMBSetFSUnixInfo()
5417 pSMB->ClientUnixMinor = cpu_to_le16(CIFS_UNIX_MINOR_VERSION); in CIFSSMBSetFSUnixInfo()
5418 pSMB->ClientUnixCap = cpu_to_le64(cap); in CIFSSMBSetFSUnixInfo()
5420 inc_rfc1001_len(pSMB, byte_count); in CIFSSMBSetFSUnixInfo()
5421 pSMB->ByteCount = cpu_to_le16(byte_count); in CIFSSMBSetFSUnixInfo()
5423 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSSMBSetFSUnixInfo()
5432 cifs_buf_release(pSMB); in CIFSSMBSetFSUnixInfo()
5447 TRANSACTION2_QFSI_REQ *pSMB = NULL; in CIFSSMBQFSPosixInfo() local
5456 rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, in CIFSSMBQFSPosixInfo()
5462 pSMB->TotalDataCount = 0; in CIFSSMBQFSPosixInfo()
5463 pSMB->DataCount = 0; in CIFSSMBQFSPosixInfo()
5464 pSMB->DataOffset = 0; in CIFSSMBQFSPosixInfo()
5465 pSMB->MaxParameterCount = cpu_to_le16(2); in CIFSSMBQFSPosixInfo()
5467 pSMB->MaxDataCount = cpu_to_le16(100); in CIFSSMBQFSPosixInfo()
5468 pSMB->MaxSetupCount = 0; in CIFSSMBQFSPosixInfo()
5469 pSMB->Reserved = 0; in CIFSSMBQFSPosixInfo()
5470 pSMB->Flags = 0; in CIFSSMBQFSPosixInfo()
5471 pSMB->Timeout = 0; in CIFSSMBQFSPosixInfo()
5472 pSMB->Reserved2 = 0; in CIFSSMBQFSPosixInfo()
5474 pSMB->ParameterCount = cpu_to_le16(params); in CIFSSMBQFSPosixInfo()
5475 pSMB->TotalParameterCount = pSMB->ParameterCount; in CIFSSMBQFSPosixInfo()
5476 pSMB->ParameterOffset = cpu_to_le16(offsetof(struct in CIFSSMBQFSPosixInfo()
5478 pSMB->SetupCount = 1; in CIFSSMBQFSPosixInfo()
5479 pSMB->Reserved3 = 0; in CIFSSMBQFSPosixInfo()
5480 pSMB->SubCommand = cpu_to_le16(TRANS2_QUERY_FS_INFORMATION); in CIFSSMBQFSPosixInfo()
5481 pSMB->InformationLevel = cpu_to_le16(SMB_QUERY_POSIX_FS_INFO); in CIFSSMBQFSPosixInfo()
5482 inc_rfc1001_len(pSMB, byte_count); in CIFSSMBQFSPosixInfo()
5483 pSMB->ByteCount = cpu_to_le16(byte_count); in CIFSSMBQFSPosixInfo()
5485 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSSMBQFSPosixInfo()
5520 cifs_buf_release(pSMB); in CIFSSMBQFSPosixInfo()
5540 struct smb_com_transaction2_spi_req *pSMB = NULL; in CIFSSMBSetEOF() local
5552 rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, in CIFSSMBSetEOF()
5557 if (pSMB->hdr.Flags2 & SMBFLG2_UNICODE) { in CIFSSMBSetEOF()
5559 cifsConvertToUTF16((__le16 *) pSMB->FileName, file_name, in CIFSSMBSetEOF()
5566 strncpy(pSMB->FileName, file_name, name_len); in CIFSSMBSetEOF()
5570 pSMB->MaxParameterCount = cpu_to_le16(2); in CIFSSMBSetEOF()
5571 pSMB->MaxDataCount = cpu_to_le16(4100); in CIFSSMBSetEOF()
5572 pSMB->MaxSetupCount = 0; in CIFSSMBSetEOF()
5573 pSMB->Reserved = 0; in CIFSSMBSetEOF()
5574 pSMB->Flags = 0; in CIFSSMBSetEOF()
5575 pSMB->Timeout = 0; in CIFSSMBSetEOF()
5576 pSMB->Reserved2 = 0; in CIFSSMBSetEOF()
5582 pSMB->InformationLevel = in CIFSSMBSetEOF()
5585 pSMB->InformationLevel = in CIFSSMBSetEOF()
5589 pSMB->InformationLevel = in CIFSSMBSetEOF()
5592 pSMB->InformationLevel = in CIFSSMBSetEOF()
5597 (struct file_end_of_file_info *) (((char *) &pSMB->hdr.Protocol) + in CIFSSMBSetEOF()
5599 pSMB->ParameterOffset = cpu_to_le16(param_offset); in CIFSSMBSetEOF()
5600 pSMB->DataOffset = cpu_to_le16(offset); in CIFSSMBSetEOF()
5601 pSMB->SetupCount = 1; in CIFSSMBSetEOF()
5602 pSMB->Reserved3 = 0; in CIFSSMBSetEOF()
5603 pSMB->SubCommand = cpu_to_le16(TRANS2_SET_PATH_INFORMATION); in CIFSSMBSetEOF()
5605 pSMB->DataCount = cpu_to_le16(data_count); in CIFSSMBSetEOF()
5606 pSMB->TotalDataCount = pSMB->DataCount; in CIFSSMBSetEOF()
5607 pSMB->ParameterCount = cpu_to_le16(params); in CIFSSMBSetEOF()
5608 pSMB->TotalParameterCount = pSMB->ParameterCount; in CIFSSMBSetEOF()
5609 pSMB->Reserved4 = 0; in CIFSSMBSetEOF()
5610 inc_rfc1001_len(pSMB, byte_count); in CIFSSMBSetEOF()
5612 pSMB->ByteCount = cpu_to_le16(byte_count); in CIFSSMBSetEOF()
5613 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSSMBSetEOF()
5618 cifs_buf_release(pSMB); in CIFSSMBSetEOF()
5630 struct smb_com_transaction2_sfi_req *pSMB = NULL; in CIFSSMBSetFileSize() local
5637 rc = small_smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB); in CIFSSMBSetFileSize()
5642 pSMB->hdr.Pid = cpu_to_le16((__u16)cfile->pid); in CIFSSMBSetFileSize()
5643 pSMB->hdr.PidHigh = cpu_to_le16((__u16)(cfile->pid >> 16)); in CIFSSMBSetFileSize()
5646 pSMB->MaxSetupCount = 0; in CIFSSMBSetFileSize()
5647 pSMB->Reserved = 0; in CIFSSMBSetFileSize()
5648 pSMB->Flags = 0; in CIFSSMBSetFileSize()
5649 pSMB->Timeout = 0; in CIFSSMBSetFileSize()
5650 pSMB->Reserved2 = 0; in CIFSSMBSetFileSize()
5655 pSMB->MaxParameterCount = cpu_to_le16(2); in CIFSSMBSetFileSize()
5657 pSMB->MaxDataCount = cpu_to_le16(1000); in CIFSSMBSetFileSize()
5658 pSMB->SetupCount = 1; in CIFSSMBSetFileSize()
5659 pSMB->Reserved3 = 0; in CIFSSMBSetFileSize()
5660 pSMB->SubCommand = cpu_to_le16(TRANS2_SET_FILE_INFORMATION); in CIFSSMBSetFileSize()
5662 pSMB->DataCount = cpu_to_le16(count); in CIFSSMBSetFileSize()
5663 pSMB->ParameterCount = cpu_to_le16(params); in CIFSSMBSetFileSize()
5664 pSMB->TotalDataCount = pSMB->DataCount; in CIFSSMBSetFileSize()
5665 pSMB->TotalParameterCount = pSMB->ParameterCount; in CIFSSMBSetFileSize()
5666 pSMB->ParameterOffset = cpu_to_le16(param_offset); in CIFSSMBSetFileSize()
5668 (struct file_end_of_file_info *) (((char *) &pSMB->hdr.Protocol) in CIFSSMBSetFileSize()
5670 pSMB->DataOffset = cpu_to_le16(offset); in CIFSSMBSetFileSize()
5672 pSMB->Fid = cfile->fid.netfid; in CIFSSMBSetFileSize()
5675 pSMB->InformationLevel = in CIFSSMBSetFileSize()
5678 pSMB->InformationLevel = in CIFSSMBSetFileSize()
5682 pSMB->InformationLevel = in CIFSSMBSetFileSize()
5685 pSMB->InformationLevel = in CIFSSMBSetFileSize()
5688 pSMB->Reserved4 = 0; in CIFSSMBSetFileSize()
5689 inc_rfc1001_len(pSMB, byte_count); in CIFSSMBSetFileSize()
5690 pSMB->ByteCount = cpu_to_le16(byte_count); in CIFSSMBSetFileSize()
5691 rc = SendReceiveNoRsp(xid, tcon->ses, (char *) pSMB, 0); in CIFSSMBSetFileSize()
5713 struct smb_com_transaction2_sfi_req *pSMB = NULL; in CIFSSMBSetFileInfo() local
5719 rc = small_smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB); in CIFSSMBSetFileInfo()
5724 pSMB->hdr.Pid = cpu_to_le16((__u16)pid_of_opener); in CIFSSMBSetFileInfo()
5725 pSMB->hdr.PidHigh = cpu_to_le16((__u16)(pid_of_opener >> 16)); in CIFSSMBSetFileInfo()
5728 pSMB->MaxSetupCount = 0; in CIFSSMBSetFileInfo()
5729 pSMB->Reserved = 0; in CIFSSMBSetFileInfo()
5730 pSMB->Flags = 0; in CIFSSMBSetFileInfo()
5731 pSMB->Timeout = 0; in CIFSSMBSetFileInfo()
5732 pSMB->Reserved2 = 0; in CIFSSMBSetFileInfo()
5736 data_offset = (char *)pSMB + in CIFSSMBSetFileInfo()
5740 pSMB->MaxParameterCount = cpu_to_le16(2); in CIFSSMBSetFileInfo()
5742 pSMB->MaxDataCount = cpu_to_le16(1000); in CIFSSMBSetFileInfo()
5743 pSMB->SetupCount = 1; in CIFSSMBSetFileInfo()
5744 pSMB->Reserved3 = 0; in CIFSSMBSetFileInfo()
5745 pSMB->SubCommand = cpu_to_le16(TRANS2_SET_FILE_INFORMATION); in CIFSSMBSetFileInfo()
5747 pSMB->DataCount = cpu_to_le16(count); in CIFSSMBSetFileInfo()
5748 pSMB->ParameterCount = cpu_to_le16(params); in CIFSSMBSetFileInfo()
5749 pSMB->TotalDataCount = pSMB->DataCount; in CIFSSMBSetFileInfo()
5750 pSMB->TotalParameterCount = pSMB->ParameterCount; in CIFSSMBSetFileInfo()
5751 pSMB->ParameterOffset = cpu_to_le16(param_offset); in CIFSSMBSetFileInfo()
5752 pSMB->DataOffset = cpu_to_le16(offset); in CIFSSMBSetFileInfo()
5753 pSMB->Fid = fid; in CIFSSMBSetFileInfo()
5755 pSMB->InformationLevel = cpu_to_le16(SMB_SET_FILE_BASIC_INFO2); in CIFSSMBSetFileInfo()
5757 pSMB->InformationLevel = cpu_to_le16(SMB_SET_FILE_BASIC_INFO); in CIFSSMBSetFileInfo()
5758 pSMB->Reserved4 = 0; in CIFSSMBSetFileInfo()
5759 inc_rfc1001_len(pSMB, byte_count); in CIFSSMBSetFileInfo()
5760 pSMB->ByteCount = cpu_to_le16(byte_count); in CIFSSMBSetFileInfo()
5762 rc = SendReceiveNoRsp(xid, tcon->ses, (char *) pSMB, 0); in CIFSSMBSetFileInfo()
5777 struct smb_com_transaction2_sfi_req *pSMB = NULL; in CIFSSMBSetFileDisposition() local
5783 rc = small_smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB); in CIFSSMBSetFileDisposition()
5788 pSMB->hdr.Pid = cpu_to_le16((__u16)pid_of_opener); in CIFSSMBSetFileDisposition()
5789 pSMB->hdr.PidHigh = cpu_to_le16((__u16)(pid_of_opener >> 16)); in CIFSSMBSetFileDisposition()
5792 pSMB->MaxSetupCount = 0; in CIFSSMBSetFileDisposition()
5793 pSMB->Reserved = 0; in CIFSSMBSetFileDisposition()
5794 pSMB->Flags = 0; in CIFSSMBSetFileDisposition()
5795 pSMB->Timeout = 0; in CIFSSMBSetFileDisposition()
5796 pSMB->Reserved2 = 0; in CIFSSMBSetFileDisposition()
5800 data_offset = (char *) (&pSMB->hdr.Protocol) + offset; in CIFSSMBSetFileDisposition()
5803 pSMB->MaxParameterCount = cpu_to_le16(2); in CIFSSMBSetFileDisposition()
5805 pSMB->MaxDataCount = cpu_to_le16(1000); in CIFSSMBSetFileDisposition()
5806 pSMB->SetupCount = 1; in CIFSSMBSetFileDisposition()
5807 pSMB->Reserved3 = 0; in CIFSSMBSetFileDisposition()
5808 pSMB->SubCommand = cpu_to_le16(TRANS2_SET_FILE_INFORMATION); in CIFSSMBSetFileDisposition()
5810 pSMB->DataCount = cpu_to_le16(count); in CIFSSMBSetFileDisposition()
5811 pSMB->ParameterCount = cpu_to_le16(params); in CIFSSMBSetFileDisposition()
5812 pSMB->TotalDataCount = pSMB->DataCount; in CIFSSMBSetFileDisposition()
5813 pSMB->TotalParameterCount = pSMB->ParameterCount; in CIFSSMBSetFileDisposition()
5814 pSMB->ParameterOffset = cpu_to_le16(param_offset); in CIFSSMBSetFileDisposition()
5815 pSMB->DataOffset = cpu_to_le16(offset); in CIFSSMBSetFileDisposition()
5816 pSMB->Fid = fid; in CIFSSMBSetFileDisposition()
5817 pSMB->InformationLevel = cpu_to_le16(SMB_SET_FILE_DISPOSITION_INFO); in CIFSSMBSetFileDisposition()
5818 pSMB->Reserved4 = 0; in CIFSSMBSetFileDisposition()
5819 inc_rfc1001_len(pSMB, byte_count); in CIFSSMBSetFileDisposition()
5820 pSMB->ByteCount = cpu_to_le16(byte_count); in CIFSSMBSetFileDisposition()
5822 rc = SendReceiveNoRsp(xid, tcon->ses, (char *) pSMB, 0); in CIFSSMBSetFileDisposition()
5834 TRANSACTION2_SPI_REQ *pSMB = NULL; in CIFSSMBSetPathInfo() local
5845 rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, in CIFSSMBSetPathInfo()
5850 if (pSMB->hdr.Flags2 & SMBFLG2_UNICODE) { in CIFSSMBSetPathInfo()
5852 cifsConvertToUTF16((__le16 *) pSMB->FileName, fileName, in CIFSSMBSetPathInfo()
5859 strncpy(pSMB->FileName, fileName, name_len); in CIFSSMBSetPathInfo()
5864 pSMB->MaxParameterCount = cpu_to_le16(2); in CIFSSMBSetPathInfo()
5866 pSMB->MaxDataCount = cpu_to_le16(1000); in CIFSSMBSetPathInfo()
5867 pSMB->MaxSetupCount = 0; in CIFSSMBSetPathInfo()
5868 pSMB->Reserved = 0; in CIFSSMBSetPathInfo()
5869 pSMB->Flags = 0; in CIFSSMBSetPathInfo()
5870 pSMB->Timeout = 0; in CIFSSMBSetPathInfo()
5871 pSMB->Reserved2 = 0; in CIFSSMBSetPathInfo()
5875 data_offset = (char *) (&pSMB->hdr.Protocol) + offset; in CIFSSMBSetPathInfo()
5876 pSMB->ParameterOffset = cpu_to_le16(param_offset); in CIFSSMBSetPathInfo()
5877 pSMB->DataOffset = cpu_to_le16(offset); in CIFSSMBSetPathInfo()
5878 pSMB->SetupCount = 1; in CIFSSMBSetPathInfo()
5879 pSMB->Reserved3 = 0; in CIFSSMBSetPathInfo()
5880 pSMB->SubCommand = cpu_to_le16(TRANS2_SET_PATH_INFORMATION); in CIFSSMBSetPathInfo()
5883 pSMB->DataCount = cpu_to_le16(count); in CIFSSMBSetPathInfo()
5884 pSMB->ParameterCount = cpu_to_le16(params); in CIFSSMBSetPathInfo()
5885 pSMB->TotalDataCount = pSMB->DataCount; in CIFSSMBSetPathInfo()
5886 pSMB->TotalParameterCount = pSMB->ParameterCount; in CIFSSMBSetPathInfo()
5888 pSMB->InformationLevel = cpu_to_le16(SMB_SET_FILE_BASIC_INFO2); in CIFSSMBSetPathInfo()
5890 pSMB->InformationLevel = cpu_to_le16(SMB_SET_FILE_BASIC_INFO); in CIFSSMBSetPathInfo()
5891 pSMB->Reserved4 = 0; in CIFSSMBSetPathInfo()
5892 inc_rfc1001_len(pSMB, byte_count); in CIFSSMBSetPathInfo()
5894 pSMB->ByteCount = cpu_to_le16(byte_count); in CIFSSMBSetPathInfo()
5895 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSSMBSetPathInfo()
5900 cifs_buf_release(pSMB); in CIFSSMBSetPathInfo()
5917 SETATTR_REQ *pSMB = NULL;
5926 rc = smb_init(SMB_COM_SETATTR, 8, tcon, (void **) &pSMB,
5931 if (pSMB->hdr.Flags2 & SMBFLG2_UNICODE) {
5933 ConvertToUTF16((__le16 *) pSMB->fileName, fileName,
5940 strncpy(pSMB->fileName, fileName, name_len);
5942 pSMB->attr = cpu_to_le16(dos_attrs);
5943 pSMB->BufferFormat = 0x04;
5944 inc_rfc1001_len(pSMB, name_len + 1);
5945 pSMB->ByteCount = cpu_to_le16(name_len + 1);
5946 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB,
5951 cifs_buf_release(pSMB);
6012 struct smb_com_transaction2_sfi_req *pSMB = NULL; in CIFSSMBUnixSetFileInfo() local
6018 rc = small_smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB); in CIFSSMBUnixSetFileInfo()
6023 pSMB->hdr.Pid = cpu_to_le16((__u16)pid_of_opener); in CIFSSMBUnixSetFileInfo()
6024 pSMB->hdr.PidHigh = cpu_to_le16((__u16)(pid_of_opener >> 16)); in CIFSSMBUnixSetFileInfo()
6027 pSMB->MaxSetupCount = 0; in CIFSSMBUnixSetFileInfo()
6028 pSMB->Reserved = 0; in CIFSSMBUnixSetFileInfo()
6029 pSMB->Flags = 0; in CIFSSMBUnixSetFileInfo()
6030 pSMB->Timeout = 0; in CIFSSMBUnixSetFileInfo()
6031 pSMB->Reserved2 = 0; in CIFSSMBUnixSetFileInfo()
6035 data_offset = (char *)pSMB + in CIFSSMBUnixSetFileInfo()
6040 pSMB->MaxParameterCount = cpu_to_le16(2); in CIFSSMBUnixSetFileInfo()
6042 pSMB->MaxDataCount = cpu_to_le16(1000); in CIFSSMBUnixSetFileInfo()
6043 pSMB->SetupCount = 1; in CIFSSMBUnixSetFileInfo()
6044 pSMB->Reserved3 = 0; in CIFSSMBUnixSetFileInfo()
6045 pSMB->SubCommand = cpu_to_le16(TRANS2_SET_FILE_INFORMATION); in CIFSSMBUnixSetFileInfo()
6047 pSMB->DataCount = cpu_to_le16(count); in CIFSSMBUnixSetFileInfo()
6048 pSMB->ParameterCount = cpu_to_le16(params); in CIFSSMBUnixSetFileInfo()
6049 pSMB->TotalDataCount = pSMB->DataCount; in CIFSSMBUnixSetFileInfo()
6050 pSMB->TotalParameterCount = pSMB->ParameterCount; in CIFSSMBUnixSetFileInfo()
6051 pSMB->ParameterOffset = cpu_to_le16(param_offset); in CIFSSMBUnixSetFileInfo()
6052 pSMB->DataOffset = cpu_to_le16(offset); in CIFSSMBUnixSetFileInfo()
6053 pSMB->Fid = fid; in CIFSSMBUnixSetFileInfo()
6054 pSMB->InformationLevel = cpu_to_le16(SMB_SET_FILE_UNIX_BASIC); in CIFSSMBUnixSetFileInfo()
6055 pSMB->Reserved4 = 0; in CIFSSMBUnixSetFileInfo()
6056 inc_rfc1001_len(pSMB, byte_count); in CIFSSMBUnixSetFileInfo()
6057 pSMB->ByteCount = cpu_to_le16(byte_count); in CIFSSMBUnixSetFileInfo()
6061 rc = SendReceiveNoRsp(xid, tcon->ses, (char *) pSMB, 0); in CIFSSMBUnixSetFileInfo()
6078 TRANSACTION2_SPI_REQ *pSMB = NULL; in CIFSSMBUnixSetPathInfo() local
6088 rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, in CIFSSMBUnixSetPathInfo()
6093 if (pSMB->hdr.Flags2 & SMBFLG2_UNICODE) { in CIFSSMBUnixSetPathInfo()
6095 cifsConvertToUTF16((__le16 *) pSMB->FileName, file_name, in CIFSSMBUnixSetPathInfo()
6102 strncpy(pSMB->FileName, file_name, name_len); in CIFSSMBUnixSetPathInfo()
6107 pSMB->MaxParameterCount = cpu_to_le16(2); in CIFSSMBUnixSetPathInfo()
6109 pSMB->MaxDataCount = cpu_to_le16(1000); in CIFSSMBUnixSetPathInfo()
6110 pSMB->MaxSetupCount = 0; in CIFSSMBUnixSetPathInfo()
6111 pSMB->Reserved = 0; in CIFSSMBUnixSetPathInfo()
6112 pSMB->Flags = 0; in CIFSSMBUnixSetPathInfo()
6113 pSMB->Timeout = 0; in CIFSSMBUnixSetPathInfo()
6114 pSMB->Reserved2 = 0; in CIFSSMBUnixSetPathInfo()
6119 (FILE_UNIX_BASIC_INFO *) ((char *) &pSMB->hdr.Protocol + in CIFSSMBUnixSetPathInfo()
6122 pSMB->DataOffset = cpu_to_le16(offset); in CIFSSMBUnixSetPathInfo()
6123 pSMB->ParameterOffset = cpu_to_le16(param_offset); in CIFSSMBUnixSetPathInfo()
6124 pSMB->SetupCount = 1; in CIFSSMBUnixSetPathInfo()
6125 pSMB->Reserved3 = 0; in CIFSSMBUnixSetPathInfo()
6126 pSMB->SubCommand = cpu_to_le16(TRANS2_SET_PATH_INFORMATION); in CIFSSMBUnixSetPathInfo()
6128 pSMB->ParameterCount = cpu_to_le16(params); in CIFSSMBUnixSetPathInfo()
6129 pSMB->DataCount = cpu_to_le16(count); in CIFSSMBUnixSetPathInfo()
6130 pSMB->TotalParameterCount = pSMB->ParameterCount; in CIFSSMBUnixSetPathInfo()
6131 pSMB->TotalDataCount = pSMB->DataCount; in CIFSSMBUnixSetPathInfo()
6132 pSMB->InformationLevel = cpu_to_le16(SMB_SET_FILE_UNIX_BASIC); in CIFSSMBUnixSetPathInfo()
6133 pSMB->Reserved4 = 0; in CIFSSMBUnixSetPathInfo()
6134 inc_rfc1001_len(pSMB, byte_count); in CIFSSMBUnixSetPathInfo()
6138 pSMB->ByteCount = cpu_to_le16(byte_count); in CIFSSMBUnixSetPathInfo()
6139 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSSMBUnixSetPathInfo()
6144 cifs_buf_release(pSMB); in CIFSSMBUnixSetPathInfo()
6167 TRANSACTION2_QPI_REQ *pSMB = NULL; in CIFSSMBQAllEAs() local
6181 rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, in CIFSSMBQAllEAs()
6186 if (pSMB->hdr.Flags2 & SMBFLG2_UNICODE) { in CIFSSMBQAllEAs()
6188 cifsConvertToUTF16((__le16 *) pSMB->FileName, searchName, in CIFSSMBQAllEAs()
6195 strncpy(pSMB->FileName, searchName, list_len); in CIFSSMBQAllEAs()
6199 pSMB->TotalDataCount = 0; in CIFSSMBQAllEAs()
6200 pSMB->MaxParameterCount = cpu_to_le16(2); in CIFSSMBQAllEAs()
6202 pSMB->MaxDataCount = cpu_to_le16(CIFSMaxBufSize); in CIFSSMBQAllEAs()
6203 pSMB->MaxSetupCount = 0; in CIFSSMBQAllEAs()
6204 pSMB->Reserved = 0; in CIFSSMBQAllEAs()
6205 pSMB->Flags = 0; in CIFSSMBQAllEAs()
6206 pSMB->Timeout = 0; in CIFSSMBQAllEAs()
6207 pSMB->Reserved2 = 0; in CIFSSMBQAllEAs()
6208 pSMB->ParameterOffset = cpu_to_le16(offsetof( in CIFSSMBQAllEAs()
6210 pSMB->DataCount = 0; in CIFSSMBQAllEAs()
6211 pSMB->DataOffset = 0; in CIFSSMBQAllEAs()
6212 pSMB->SetupCount = 1; in CIFSSMBQAllEAs()
6213 pSMB->Reserved3 = 0; in CIFSSMBQAllEAs()
6214 pSMB->SubCommand = cpu_to_le16(TRANS2_QUERY_PATH_INFORMATION); in CIFSSMBQAllEAs()
6216 pSMB->TotalParameterCount = cpu_to_le16(params); in CIFSSMBQAllEAs()
6217 pSMB->ParameterCount = pSMB->TotalParameterCount; in CIFSSMBQAllEAs()
6218 pSMB->InformationLevel = cpu_to_le16(SMB_INFO_QUERY_ALL_EAS); in CIFSSMBQAllEAs()
6219 pSMB->Reserved4 = 0; in CIFSSMBQAllEAs()
6220 inc_rfc1001_len(pSMB, byte_count); in CIFSSMBQAllEAs()
6221 pSMB->ByteCount = cpu_to_le16(byte_count); in CIFSSMBQAllEAs()
6223 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSSMBQAllEAs()
6339 cifs_buf_release(pSMB); in CIFSSMBQAllEAs()
6352 struct smb_com_transaction2_spi_req *pSMB = NULL; in CIFSSMBSetEA() local
6362 rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, in CIFSSMBSetEA()
6367 if (pSMB->hdr.Flags2 & SMBFLG2_UNICODE) { in CIFSSMBSetEA()
6369 cifsConvertToUTF16((__le16 *) pSMB->FileName, fileName, in CIFSSMBSetEA()
6376 strncpy(pSMB->FileName, fileName, name_len); in CIFSSMBSetEA()
6390 pSMB->MaxParameterCount = cpu_to_le16(2); in CIFSSMBSetEA()
6392 pSMB->MaxDataCount = cpu_to_le16(1000); in CIFSSMBSetEA()
6393 pSMB->MaxSetupCount = 0; in CIFSSMBSetEA()
6394 pSMB->Reserved = 0; in CIFSSMBSetEA()
6395 pSMB->Flags = 0; in CIFSSMBSetEA()
6396 pSMB->Timeout = 0; in CIFSSMBSetEA()
6397 pSMB->Reserved2 = 0; in CIFSSMBSetEA()
6401 pSMB->InformationLevel = in CIFSSMBSetEA()
6405 (struct fealist *) (((char *) &pSMB->hdr.Protocol) + in CIFSSMBSetEA()
6407 pSMB->ParameterOffset = cpu_to_le16(param_offset); in CIFSSMBSetEA()
6408 pSMB->DataOffset = cpu_to_le16(offset); in CIFSSMBSetEA()
6409 pSMB->SetupCount = 1; in CIFSSMBSetEA()
6410 pSMB->Reserved3 = 0; in CIFSSMBSetEA()
6411 pSMB->SubCommand = cpu_to_le16(TRANS2_SET_PATH_INFORMATION); in CIFSSMBSetEA()
6413 pSMB->DataCount = cpu_to_le16(count); in CIFSSMBSetEA()
6433 pSMB->TotalDataCount = pSMB->DataCount; in CIFSSMBSetEA()
6434 pSMB->ParameterCount = cpu_to_le16(params); in CIFSSMBSetEA()
6435 pSMB->TotalParameterCount = pSMB->ParameterCount; in CIFSSMBSetEA()
6436 pSMB->Reserved4 = 0; in CIFSSMBSetEA()
6437 inc_rfc1001_len(pSMB, byte_count); in CIFSSMBSetEA()
6438 pSMB->ByteCount = cpu_to_le16(byte_count); in CIFSSMBSetEA()
6439 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSSMBSetEA()
6444 cifs_buf_release(pSMB); in CIFSSMBSetEA()
6480 struct smb_com_transaction_change_notify_req *pSMB = NULL; in CIFSSMBNotify() local
6486 rc = smb_init(SMB_COM_NT_TRANSACT, 23, tcon, (void **) &pSMB, in CIFSSMBNotify()
6491 pSMB->TotalParameterCount = 0 ; in CIFSSMBNotify()
6492 pSMB->TotalDataCount = 0; in CIFSSMBNotify()
6493 pSMB->MaxParameterCount = cpu_to_le32(2); in CIFSSMBNotify()
6494 pSMB->MaxDataCount = cpu_to_le32(CIFSMaxBufSize & 0xFFFFFF00); in CIFSSMBNotify()
6495 pSMB->MaxSetupCount = 4; in CIFSSMBNotify()
6496 pSMB->Reserved = 0; in CIFSSMBNotify()
6497 pSMB->ParameterOffset = 0; in CIFSSMBNotify()
6498 pSMB->DataCount = 0; in CIFSSMBNotify()
6499 pSMB->DataOffset = 0; in CIFSSMBNotify()
6500 pSMB->SetupCount = 4; /* single byte does not need le conversion */ in CIFSSMBNotify()
6501 pSMB->SubCommand = cpu_to_le16(NT_TRANSACT_NOTIFY_CHANGE); in CIFSSMBNotify()
6502 pSMB->ParameterCount = pSMB->TotalParameterCount; in CIFSSMBNotify()
6504 pSMB->WatchTree = 1; /* one byte - no le conversion needed */ in CIFSSMBNotify()
6505 pSMB->Reserved2 = 0; in CIFSSMBNotify()
6506 pSMB->CompletionFilter = cpu_to_le32(filter); in CIFSSMBNotify()
6507 pSMB->Fid = netfid; /* file handle always le */ in CIFSSMBNotify()
6508 pSMB->ByteCount = 0; in CIFSSMBNotify()
6510 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSSMBNotify()
6522 dnotify_req->Pid = pSMB->hdr.Pid; in CIFSSMBNotify()
6523 dnotify_req->PidHigh = pSMB->hdr.PidHigh; in CIFSSMBNotify()
6524 dnotify_req->Mid = pSMB->hdr.Mid; in CIFSSMBNotify()
6525 dnotify_req->Tid = pSMB->hdr.Tid; in CIFSSMBNotify()
6526 dnotify_req->Uid = pSMB->hdr.Uid; in CIFSSMBNotify()
6538 cifs_buf_release(pSMB); in CIFSSMBNotify()