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()
643 cifs_buf_release(pSMB); in CIFSSMBNegotiate()
743 LOGOFF_ANDX_REQ *pSMB; in CIFSSMBLogoff() local
760 rc = small_smb_init(SMB_COM_LOGOFF_ANDX, 2, NULL, (void **)&pSMB); in CIFSSMBLogoff()
766 pSMB->hdr.Mid = get_next_mid(ses->server); in CIFSSMBLogoff()
769 pSMB->hdr.Flags2 |= SMBFLG2_SECURITY_SIGNATURE; in CIFSSMBLogoff()
771 pSMB->hdr.Uid = ses->Suid; in CIFSSMBLogoff()
773 pSMB->AndXCommand = 0xFF; in CIFSSMBLogoff()
774 rc = SendReceiveNoRsp(xid, ses, (char *) pSMB, 0); in CIFSSMBLogoff()
791 TRANSACTION2_SPI_REQ *pSMB = NULL; in CIFSPOSIXDelFile() local
801 rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, in CIFSPOSIXDelFile()
806 if (pSMB->hdr.Flags2 & SMBFLG2_UNICODE) { in CIFSPOSIXDelFile()
808 cifsConvertToUTF16((__le16 *) pSMB->FileName, fileName, in CIFSPOSIXDelFile()
815 strncpy(pSMB->FileName, fileName, name_len); in CIFSPOSIXDelFile()
819 pSMB->MaxParameterCount = cpu_to_le16(2); in CIFSPOSIXDelFile()
820 pSMB->MaxDataCount = 0; /* BB double check this with jra */ in CIFSPOSIXDelFile()
821 pSMB->MaxSetupCount = 0; in CIFSPOSIXDelFile()
822 pSMB->Reserved = 0; in CIFSPOSIXDelFile()
823 pSMB->Flags = 0; in CIFSPOSIXDelFile()
824 pSMB->Timeout = 0; in CIFSPOSIXDelFile()
825 pSMB->Reserved2 = 0; in CIFSPOSIXDelFile()
831 pRqD = (struct unlink_psx_rq *)(((char *)&pSMB->hdr.Protocol) + offset); in CIFSPOSIXDelFile()
833 pSMB->ParameterOffset = cpu_to_le16(param_offset); in CIFSPOSIXDelFile()
834 pSMB->DataOffset = cpu_to_le16(offset); in CIFSPOSIXDelFile()
835 pSMB->SetupCount = 1; in CIFSPOSIXDelFile()
836 pSMB->Reserved3 = 0; in CIFSPOSIXDelFile()
837 pSMB->SubCommand = cpu_to_le16(TRANS2_SET_PATH_INFORMATION); in CIFSPOSIXDelFile()
840 pSMB->DataCount = cpu_to_le16(sizeof(struct unlink_psx_rq)); in CIFSPOSIXDelFile()
841 pSMB->TotalDataCount = cpu_to_le16(sizeof(struct unlink_psx_rq)); in CIFSPOSIXDelFile()
842 pSMB->ParameterCount = cpu_to_le16(params); in CIFSPOSIXDelFile()
843 pSMB->TotalParameterCount = pSMB->ParameterCount; in CIFSPOSIXDelFile()
844 pSMB->InformationLevel = cpu_to_le16(SMB_POSIX_UNLINK); in CIFSPOSIXDelFile()
845 pSMB->Reserved4 = 0; in CIFSPOSIXDelFile()
846 inc_rfc1001_len(pSMB, byte_count); in CIFSPOSIXDelFile()
847 pSMB->ByteCount = cpu_to_le16(byte_count); in CIFSPOSIXDelFile()
848 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSPOSIXDelFile()
852 cifs_buf_release(pSMB); in CIFSPOSIXDelFile()
866 DELETE_FILE_REQ *pSMB = NULL; in CIFSSMBDelFile() local
874 rc = smb_init(SMB_COM_DELETE, 1, tcon, (void **) &pSMB, in CIFSSMBDelFile()
879 if (pSMB->hdr.Flags2 & SMBFLG2_UNICODE) { in CIFSSMBDelFile()
880 name_len = cifsConvertToUTF16((__le16 *) pSMB->fileName, name, in CIFSSMBDelFile()
888 strncpy(pSMB->fileName, name, name_len); in CIFSSMBDelFile()
890 pSMB->SearchAttributes = in CIFSSMBDelFile()
892 pSMB->BufferFormat = 0x04; in CIFSSMBDelFile()
893 inc_rfc1001_len(pSMB, name_len + 1); in CIFSSMBDelFile()
894 pSMB->ByteCount = cpu_to_le16(name_len + 1); in CIFSSMBDelFile()
895 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSSMBDelFile()
901 cifs_buf_release(pSMB); in CIFSSMBDelFile()
912 DELETE_DIRECTORY_REQ *pSMB = NULL; in CIFSSMBRmDir() local
921 rc = smb_init(SMB_COM_DELETE_DIRECTORY, 0, tcon, (void **) &pSMB, in CIFSSMBRmDir()
926 if (pSMB->hdr.Flags2 & SMBFLG2_UNICODE) { in CIFSSMBRmDir()
927 name_len = cifsConvertToUTF16((__le16 *) pSMB->DirName, name, in CIFSSMBRmDir()
935 strncpy(pSMB->DirName, name, name_len); in CIFSSMBRmDir()
938 pSMB->BufferFormat = 0x04; in CIFSSMBRmDir()
939 inc_rfc1001_len(pSMB, name_len + 1); in CIFSSMBRmDir()
940 pSMB->ByteCount = cpu_to_le16(name_len + 1); in CIFSSMBRmDir()
941 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSSMBRmDir()
947 cifs_buf_release(pSMB); in CIFSSMBRmDir()
958 CREATE_DIRECTORY_REQ *pSMB = NULL; in CIFSSMBMkDir() local
966 rc = smb_init(SMB_COM_CREATE_DIRECTORY, 0, tcon, (void **) &pSMB, in CIFSSMBMkDir()
971 if (pSMB->hdr.Flags2 & SMBFLG2_UNICODE) { in CIFSSMBMkDir()
972 name_len = cifsConvertToUTF16((__le16 *) pSMB->DirName, name, in CIFSSMBMkDir()
980 strncpy(pSMB->DirName, name, name_len); in CIFSSMBMkDir()
983 pSMB->BufferFormat = 0x04; in CIFSSMBMkDir()
984 inc_rfc1001_len(pSMB, name_len + 1); in CIFSSMBMkDir()
985 pSMB->ByteCount = cpu_to_le16(name_len + 1); in CIFSSMBMkDir()
986 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSSMBMkDir()
992 cifs_buf_release(pSMB); in CIFSSMBMkDir()
1005 TRANSACTION2_SPI_REQ *pSMB = NULL; in CIFSPOSIXCreate() local
1016 rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, in CIFSPOSIXCreate()
1021 if (pSMB->hdr.Flags2 & SMBFLG2_UNICODE) { in CIFSPOSIXCreate()
1023 cifsConvertToUTF16((__le16 *) pSMB->FileName, name, in CIFSPOSIXCreate()
1030 strncpy(pSMB->FileName, name, name_len); in CIFSPOSIXCreate()
1035 pSMB->MaxParameterCount = cpu_to_le16(2); in CIFSPOSIXCreate()
1036 pSMB->MaxDataCount = cpu_to_le16(1000); /* large enough */ in CIFSPOSIXCreate()
1037 pSMB->MaxSetupCount = 0; in CIFSPOSIXCreate()
1038 pSMB->Reserved = 0; in CIFSPOSIXCreate()
1039 pSMB->Flags = 0; in CIFSPOSIXCreate()
1040 pSMB->Timeout = 0; in CIFSPOSIXCreate()
1041 pSMB->Reserved2 = 0; in CIFSPOSIXCreate()
1045 pdata = (OPEN_PSX_REQ *)(((char *)&pSMB->hdr.Protocol) + offset); in CIFSPOSIXCreate()
1050 pSMB->ParameterOffset = cpu_to_le16(param_offset); in CIFSPOSIXCreate()
1051 pSMB->DataOffset = cpu_to_le16(offset); in CIFSPOSIXCreate()
1052 pSMB->SetupCount = 1; in CIFSPOSIXCreate()
1053 pSMB->Reserved3 = 0; in CIFSPOSIXCreate()
1054 pSMB->SubCommand = cpu_to_le16(TRANS2_SET_PATH_INFORMATION); in CIFSPOSIXCreate()
1057 pSMB->DataCount = cpu_to_le16(count); in CIFSPOSIXCreate()
1058 pSMB->ParameterCount = cpu_to_le16(params); in CIFSPOSIXCreate()
1059 pSMB->TotalDataCount = pSMB->DataCount; in CIFSPOSIXCreate()
1060 pSMB->TotalParameterCount = pSMB->ParameterCount; in CIFSPOSIXCreate()
1061 pSMB->InformationLevel = cpu_to_le16(SMB_POSIX_OPEN); in CIFSPOSIXCreate()
1062 pSMB->Reserved4 = 0; in CIFSPOSIXCreate()
1063 inc_rfc1001_len(pSMB, byte_count); in CIFSPOSIXCreate()
1064 pSMB->ByteCount = cpu_to_le16(byte_count); in CIFSPOSIXCreate()
1065 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSPOSIXCreate()
1108 cifs_buf_release(pSMB); in CIFSPOSIXCreate()
1173 OPENX_REQ *pSMB = NULL; in SMBLegacyOpen() local
1180 rc = smb_init(SMB_COM_OPEN_ANDX, 15, tcon, (void **) &pSMB, in SMBLegacyOpen()
1185 pSMB->AndXCommand = 0xFF; /* none */ in SMBLegacyOpen()
1187 if (pSMB->hdr.Flags2 & SMBFLG2_UNICODE) { in SMBLegacyOpen()
1190 cifsConvertToUTF16((__le16 *) (pSMB->fileName + 1), in SMBLegacyOpen()
1198 strncpy(pSMB->fileName, fileName, name_len); in SMBLegacyOpen()
1201 pSMB->OpenFlags = cpu_to_le16(REQ_OPLOCK); in SMBLegacyOpen()
1203 pSMB->OpenFlags = cpu_to_le16(REQ_BATCHOPLOCK); in SMBLegacyOpen()
1205 pSMB->OpenFlags |= cpu_to_le16(REQ_MORE_INFO); in SMBLegacyOpen()
1206 pSMB->Mode = cpu_to_le16(access_flags_to_smbopen_mode(access_flags)); in SMBLegacyOpen()
1207 pSMB->Mode |= cpu_to_le16(0x40); /* deny none */ in SMBLegacyOpen()
1213 pSMB->FileAttributes = cpu_to_le16(ATTR_SYSTEM); in SMBLegacyOpen()
1215 pSMB->FileAttributes = cpu_to_le16(0/*ATTR_NORMAL*/); in SMBLegacyOpen()
1218 pSMB->FileAttributes |= cpu_to_le16(ATTR_READONLY); in SMBLegacyOpen()
1225 pSMB->Sattr = cpu_to_le16(ATTR_HIDDEN | ATTR_SYSTEM | ATTR_DIRECTORY); in SMBLegacyOpen()
1226 pSMB->OpenFunction = cpu_to_le16(convert_disposition(openDisposition)); in SMBLegacyOpen()
1228 inc_rfc1001_len(pSMB, count); in SMBLegacyOpen()
1230 pSMB->ByteCount = cpu_to_le16(count); in SMBLegacyOpen()
1232 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in SMBLegacyOpen()
1266 cifs_buf_release(pSMB); in SMBLegacyOpen()
1668 READ_REQ *pSMB = NULL; in CIFSSMBRead() local
1692 rc = small_smb_init(SMB_COM_READ_ANDX, wct, tcon, (void **) &pSMB); in CIFSSMBRead()
1696 pSMB->hdr.Pid = cpu_to_le16((__u16)pid); in CIFSSMBRead()
1697 pSMB->hdr.PidHigh = cpu_to_le16((__u16)(pid >> 16)); in CIFSSMBRead()
1703 pSMB->AndXCommand = 0xFF; /* none */ in CIFSSMBRead()
1704 pSMB->Fid = netfid; in CIFSSMBRead()
1705 pSMB->OffsetLow = cpu_to_le32(offset & 0xFFFFFFFF); in CIFSSMBRead()
1707 pSMB->OffsetHigh = cpu_to_le32(offset >> 32); in CIFSSMBRead()
1709 pSMB->Remaining = 0; in CIFSSMBRead()
1710 pSMB->MaxCount = cpu_to_le16(count & 0xFFFF); in CIFSSMBRead()
1711 pSMB->MaxCountHigh = cpu_to_le32(count >> 16); in CIFSSMBRead()
1713 pSMB->ByteCount = 0; /* no need to do le conversion since 0 */ in CIFSSMBRead()
1717 (struct smb_com_readx_req *)pSMB; in CIFSSMBRead()
1721 iov[0].iov_base = (char *)pSMB; in CIFSSMBRead()
1722 iov[0].iov_len = be32_to_cpu(pSMB->hdr.smb_buf_length) + 4; in CIFSSMBRead()
1778 WRITE_REQ *pSMB = NULL; in CIFSSMBWrite() local
1805 rc = smb_init(SMB_COM_WRITE_ANDX, wct, tcon, (void **) &pSMB, in CIFSSMBWrite()
1810 pSMB->hdr.Pid = cpu_to_le16((__u16)pid); in CIFSSMBWrite()
1811 pSMB->hdr.PidHigh = cpu_to_le16((__u16)(pid >> 16)); in CIFSSMBWrite()
1817 pSMB->AndXCommand = 0xFF; /* none */ in CIFSSMBWrite()
1818 pSMB->Fid = netfid; in CIFSSMBWrite()
1819 pSMB->OffsetLow = cpu_to_le32(offset & 0xFFFFFFFF); in CIFSSMBWrite()
1821 pSMB->OffsetHigh = cpu_to_le32(offset >> 32); in CIFSSMBWrite()
1823 pSMB->Reserved = 0xFFFFFFFF; in CIFSSMBWrite()
1824 pSMB->WriteMode = 0; in CIFSSMBWrite()
1825 pSMB->Remaining = 0; in CIFSSMBWrite()
1840 pSMB->DataOffset = in CIFSSMBWrite()
1843 memcpy(pSMB->Data, buf, bytes_sent); in CIFSSMBWrite()
1845 if (copy_from_user(pSMB->Data, ubuf, bytes_sent)) { in CIFSSMBWrite()
1846 cifs_buf_release(pSMB); in CIFSSMBWrite()
1851 cifs_buf_release(pSMB); in CIFSSMBWrite()
1859 pSMB->DataLengthLow = cpu_to_le16(bytes_sent & 0xFFFF); in CIFSSMBWrite()
1860 pSMB->DataLengthHigh = cpu_to_le16(bytes_sent >> 16); in CIFSSMBWrite()
1861 inc_rfc1001_len(pSMB, byte_count); in CIFSSMBWrite()
1864 pSMB->ByteCount = cpu_to_le16(byte_count); in CIFSSMBWrite()
1868 (struct smb_com_writex_req *)pSMB; in CIFSSMBWrite()
1872 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSSMBWrite()
1891 cifs_buf_release(pSMB); in CIFSSMBWrite()
2186 WRITE_REQ *pSMB = NULL; in CIFSSMBWrite2() local
2209 rc = small_smb_init(SMB_COM_WRITE_ANDX, wct, tcon, (void **) &pSMB); in CIFSSMBWrite2()
2213 pSMB->hdr.Pid = cpu_to_le16((__u16)pid); in CIFSSMBWrite2()
2214 pSMB->hdr.PidHigh = cpu_to_le16((__u16)(pid >> 16)); in CIFSSMBWrite2()
2220 pSMB->AndXCommand = 0xFF; /* none */ in CIFSSMBWrite2()
2221 pSMB->Fid = netfid; in CIFSSMBWrite2()
2222 pSMB->OffsetLow = cpu_to_le32(offset & 0xFFFFFFFF); in CIFSSMBWrite2()
2224 pSMB->OffsetHigh = cpu_to_le32(offset >> 32); in CIFSSMBWrite2()
2225 pSMB->Reserved = 0xFFFFFFFF; in CIFSSMBWrite2()
2226 pSMB->WriteMode = 0; in CIFSSMBWrite2()
2227 pSMB->Remaining = 0; in CIFSSMBWrite2()
2229 pSMB->DataOffset = in CIFSSMBWrite2()
2232 pSMB->DataLengthLow = cpu_to_le16(count & 0xFFFF); in CIFSSMBWrite2()
2233 pSMB->DataLengthHigh = cpu_to_le16(count >> 16); in CIFSSMBWrite2()
2235 smb_hdr_len = be32_to_cpu(pSMB->hdr.smb_buf_length) + 1; in CIFSSMBWrite2()
2237 inc_rfc1001_len(pSMB, count + 1); in CIFSSMBWrite2()
2239 inc_rfc1001_len(pSMB, count + 5); /* smb data starts later */ in CIFSSMBWrite2()
2241 pSMB->ByteCount = cpu_to_le16(count + 1); in CIFSSMBWrite2()
2244 (struct smb_com_writex_req *)pSMB; in CIFSSMBWrite2()
2247 iov[0].iov_base = pSMB; in CIFSSMBWrite2()
2290 LOCK_REQ *pSMB = NULL; in cifs_lockv() local
2298 rc = small_smb_init(SMB_COM_LOCKING_ANDX, 8, tcon, (void **) &pSMB); in cifs_lockv()
2302 pSMB->Timeout = 0; in cifs_lockv()
2303 pSMB->NumberOfLocks = cpu_to_le16(num_lock); in cifs_lockv()
2304 pSMB->NumberOfUnlocks = cpu_to_le16(num_unlock); in cifs_lockv()
2305 pSMB->LockType = lock_type; in cifs_lockv()
2306 pSMB->AndXCommand = 0xFF; /* none */ in cifs_lockv()
2307 pSMB->Fid = netfid; /* netfid stays le */ in cifs_lockv()
2310 inc_rfc1001_len(pSMB, count); in cifs_lockv()
2311 pSMB->ByteCount = cpu_to_le16(count); in cifs_lockv()
2313 iov[0].iov_base = (char *)pSMB; in cifs_lockv()
2314 iov[0].iov_len = be32_to_cpu(pSMB->hdr.smb_buf_length) + 4 - in cifs_lockv()
2335 LOCK_REQ *pSMB = NULL; in CIFSSMBLock() local
2343 rc = small_smb_init(SMB_COM_LOCKING_ANDX, 8, tcon, (void **) &pSMB); in CIFSSMBLock()
2351 pSMB->Timeout = 0; in CIFSSMBLock()
2354 pSMB->Timeout = cpu_to_le32(-1);/* blocking - do not time out */ in CIFSSMBLock()
2356 pSMB->Timeout = 0; in CIFSSMBLock()
2359 pSMB->NumberOfLocks = cpu_to_le16(numLock); in CIFSSMBLock()
2360 pSMB->NumberOfUnlocks = cpu_to_le16(numUnlock); in CIFSSMBLock()
2361 pSMB->LockType = lockType; in CIFSSMBLock()
2362 pSMB->OplockLevel = oplock_level; in CIFSSMBLock()
2363 pSMB->AndXCommand = 0xFF; /* none */ in CIFSSMBLock()
2364 pSMB->Fid = smb_file_id; /* netfid stays le */ in CIFSSMBLock()
2367 pSMB->Locks[0].Pid = cpu_to_le16(netpid); in CIFSSMBLock()
2369 pSMB->Locks[0].LengthLow = cpu_to_le32((u32)len); in CIFSSMBLock()
2370 pSMB->Locks[0].LengthHigh = cpu_to_le32((u32)(len>>32)); in CIFSSMBLock()
2371 pSMB->Locks[0].OffsetLow = cpu_to_le32((u32)offset); in CIFSSMBLock()
2372 pSMB->Locks[0].OffsetHigh = cpu_to_le32((u32)(offset>>32)); in CIFSSMBLock()
2378 inc_rfc1001_len(pSMB, count); in CIFSSMBLock()
2379 pSMB->ByteCount = cpu_to_le16(count); in CIFSSMBLock()
2382 rc = SendReceiveBlockingLock(xid, tcon, (struct smb_hdr *) pSMB, in CIFSSMBLock()
2383 (struct smb_hdr *) pSMB, &bytes_returned); in CIFSSMBLock()
2384 cifs_small_buf_release(pSMB); in CIFSSMBLock()
2386 rc = SendReceiveNoRsp(xid, tcon->ses, (char *)pSMB, flags); in CIFSSMBLock()
2405 struct smb_com_transaction2_sfi_req *pSMB = NULL; in CIFSSMBPosixLock() local
2417 rc = small_smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB); in CIFSSMBPosixLock()
2422 pSMBr = (struct smb_com_transaction2_sfi_rsp *)pSMB; in CIFSSMBPosixLock()
2425 pSMB->MaxSetupCount = 0; in CIFSSMBPosixLock()
2426 pSMB->Reserved = 0; in CIFSSMBPosixLock()
2427 pSMB->Flags = 0; in CIFSSMBPosixLock()
2428 pSMB->Reserved2 = 0; in CIFSSMBPosixLock()
2433 pSMB->MaxParameterCount = cpu_to_le16(2); in CIFSSMBPosixLock()
2434 pSMB->MaxDataCount = cpu_to_le16(1000); /* BB find max SMB from sess */ in CIFSSMBPosixLock()
2435 pSMB->SetupCount = 1; in CIFSSMBPosixLock()
2436 pSMB->Reserved3 = 0; in CIFSSMBPosixLock()
2438 pSMB->SubCommand = cpu_to_le16(TRANS2_QUERY_FILE_INFORMATION); in CIFSSMBPosixLock()
2440 pSMB->SubCommand = cpu_to_le16(TRANS2_SET_FILE_INFORMATION); in CIFSSMBPosixLock()
2442 pSMB->DataCount = cpu_to_le16(count); in CIFSSMBPosixLock()
2443 pSMB->ParameterCount = cpu_to_le16(params); in CIFSSMBPosixLock()
2444 pSMB->TotalDataCount = pSMB->DataCount; in CIFSSMBPosixLock()
2445 pSMB->TotalParameterCount = pSMB->ParameterCount; in CIFSSMBPosixLock()
2446 pSMB->ParameterOffset = cpu_to_le16(param_offset); in CIFSSMBPosixLock()
2448 (((char *) &pSMB->hdr.Protocol) + offset); in CIFSSMBPosixLock()
2454 pSMB->Timeout = cpu_to_le32(-1); in CIFSSMBPosixLock()
2456 pSMB->Timeout = 0; in CIFSSMBPosixLock()
2462 pSMB->DataOffset = cpu_to_le16(offset); in CIFSSMBPosixLock()
2463 pSMB->Fid = smb_file_id; in CIFSSMBPosixLock()
2464 pSMB->InformationLevel = cpu_to_le16(SMB_SET_POSIX_LOCK); in CIFSSMBPosixLock()
2465 pSMB->Reserved4 = 0; in CIFSSMBPosixLock()
2466 inc_rfc1001_len(pSMB, byte_count); in CIFSSMBPosixLock()
2467 pSMB->ByteCount = cpu_to_le16(byte_count); in CIFSSMBPosixLock()
2469 rc = SendReceiveBlockingLock(xid, tcon, (struct smb_hdr *) pSMB, in CIFSSMBPosixLock()
2472 iov[0].iov_base = (char *)pSMB; in CIFSSMBPosixLock()
2473 iov[0].iov_len = be32_to_cpu(pSMB->hdr.smb_buf_length) + 4; in CIFSSMBPosixLock()
2476 pSMB = NULL; /* request buf already freed by SendReceive2. Do in CIFSSMBPosixLock()
2519 if (pSMB) in CIFSSMBPosixLock()
2520 cifs_small_buf_release(pSMB); in CIFSSMBPosixLock()
2535 CLOSE_REQ *pSMB = NULL; in CIFSSMBClose() local
2539 rc = small_smb_init(SMB_COM_CLOSE, 3, tcon, (void **) &pSMB); in CIFSSMBClose()
2545 pSMB->FileID = (__u16) smb_file_id; in CIFSSMBClose()
2546 pSMB->LastWriteTime = 0xFFFFFFFF; in CIFSSMBClose()
2547 pSMB->ByteCount = 0; in CIFSSMBClose()
2548 rc = SendReceiveNoRsp(xid, tcon->ses, (char *) pSMB, 0); in CIFSSMBClose()
2568 FLUSH_REQ *pSMB = NULL; in CIFSSMBFlush() local
2571 rc = small_smb_init(SMB_COM_FLUSH, 1, tcon, (void **) &pSMB); in CIFSSMBFlush()
2575 pSMB->FileID = (__u16) smb_file_id; in CIFSSMBFlush()
2576 pSMB->ByteCount = 0; in CIFSSMBFlush()
2577 rc = SendReceiveNoRsp(xid, tcon->ses, (char *) pSMB, 0); in CIFSSMBFlush()
2591 RENAME_REQ *pSMB = NULL; in CIFSSMBRename() local
2600 rc = smb_init(SMB_COM_RENAME, 1, tcon, (void **) &pSMB, in CIFSSMBRename()
2605 pSMB->BufferFormat = 0x04; in CIFSSMBRename()
2606 pSMB->SearchAttributes = in CIFSSMBRename()
2610 if (pSMB->hdr.Flags2 & SMBFLG2_UNICODE) { in CIFSSMBRename()
2611 name_len = cifsConvertToUTF16((__le16 *) pSMB->OldFileName, in CIFSSMBRename()
2616 pSMB->OldFileName[name_len] = 0x04; /* pad */ in CIFSSMBRename()
2618 pSMB->OldFileName[name_len + 1] = 0x00; in CIFSSMBRename()
2620 cifsConvertToUTF16((__le16 *)&pSMB->OldFileName[name_len+2], in CIFSSMBRename()
2628 strncpy(pSMB->OldFileName, from_name, name_len); in CIFSSMBRename()
2631 pSMB->OldFileName[name_len] = 0x04; /* 2nd buffer format */ in CIFSSMBRename()
2632 strncpy(&pSMB->OldFileName[name_len + 1], to_name, name_len2); in CIFSSMBRename()
2638 inc_rfc1001_len(pSMB, count); in CIFSSMBRename()
2639 pSMB->ByteCount = cpu_to_le16(count); in CIFSSMBRename()
2641 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSSMBRename()
2647 cifs_buf_release(pSMB); in CIFSSMBRename()
2659 struct smb_com_transaction2_sfi_req *pSMB = NULL; in CIFSSMBRenameOpenFile() local
2670 rc = smb_init(SMB_COM_TRANSACTION2, 15, pTcon, (void **) &pSMB, in CIFSSMBRenameOpenFile()
2676 pSMB->MaxSetupCount = 0; in CIFSSMBRenameOpenFile()
2677 pSMB->Reserved = 0; in CIFSSMBRenameOpenFile()
2678 pSMB->Flags = 0; in CIFSSMBRenameOpenFile()
2679 pSMB->Timeout = 0; in CIFSSMBRenameOpenFile()
2680 pSMB->Reserved2 = 0; in CIFSSMBRenameOpenFile()
2684 data_offset = (char *) (&pSMB->hdr.Protocol) + offset; in CIFSSMBRenameOpenFile()
2686 pSMB->MaxParameterCount = cpu_to_le16(2); in CIFSSMBRenameOpenFile()
2687 pSMB->MaxDataCount = cpu_to_le16(1000); /* BB find max SMB from sess */ in CIFSSMBRenameOpenFile()
2688 pSMB->SetupCount = 1; in CIFSSMBRenameOpenFile()
2689 pSMB->Reserved3 = 0; in CIFSSMBRenameOpenFile()
2690 pSMB->SubCommand = cpu_to_le16(TRANS2_SET_FILE_INFORMATION); in CIFSSMBRenameOpenFile()
2692 pSMB->ParameterCount = cpu_to_le16(params); in CIFSSMBRenameOpenFile()
2693 pSMB->TotalParameterCount = pSMB->ParameterCount; in CIFSSMBRenameOpenFile()
2694 pSMB->ParameterOffset = cpu_to_le16(param_offset); in CIFSSMBRenameOpenFile()
2695 pSMB->DataOffset = cpu_to_le16(offset); in CIFSSMBRenameOpenFile()
2701 sprintf(dummy_string, "cifs%x", pSMB->hdr.Mid); in CIFSSMBRenameOpenFile()
2714 pSMB->DataCount = cpu_to_le16(count); in CIFSSMBRenameOpenFile()
2715 pSMB->TotalDataCount = pSMB->DataCount; in CIFSSMBRenameOpenFile()
2716 pSMB->Fid = netfid; in CIFSSMBRenameOpenFile()
2717 pSMB->InformationLevel = in CIFSSMBRenameOpenFile()
2719 pSMB->Reserved4 = 0; in CIFSSMBRenameOpenFile()
2720 inc_rfc1001_len(pSMB, byte_count); in CIFSSMBRenameOpenFile()
2721 pSMB->ByteCount = cpu_to_le16(byte_count); in CIFSSMBRenameOpenFile()
2722 rc = SendReceive(xid, pTcon->ses, (struct smb_hdr *) pSMB, in CIFSSMBRenameOpenFile()
2729 cifs_buf_release(pSMB); in CIFSSMBRenameOpenFile()
2743 COPY_REQ *pSMB = NULL; in CIFSSMBCopy() local
2751 rc = smb_init(SMB_COM_COPY, 1, tcon, (void **) &pSMB, in CIFSSMBCopy()
2756 pSMB->BufferFormat = 0x04; in CIFSSMBCopy()
2757 pSMB->Tid2 = target_tid; in CIFSSMBCopy()
2759 pSMB->Flags = cpu_to_le16(flags & COPY_TREE); in CIFSSMBCopy()
2761 if (pSMB->hdr.Flags2 & SMBFLG2_UNICODE) { in CIFSSMBCopy()
2762 name_len = cifsConvertToUTF16((__le16 *) pSMB->OldFileName, in CIFSSMBCopy()
2767 pSMB->OldFileName[name_len] = 0x04; /* pad */ in CIFSSMBCopy()
2769 pSMB->OldFileName[name_len + 1] = 0x00; in CIFSSMBCopy()
2771 cifsConvertToUTF16((__le16 *)&pSMB->OldFileName[name_len+2], in CIFSSMBCopy()
2778 strncpy(pSMB->OldFileName, fromName, name_len); in CIFSSMBCopy()
2781 pSMB->OldFileName[name_len] = 0x04; /* 2nd buffer format */ in CIFSSMBCopy()
2782 strncpy(&pSMB->OldFileName[name_len + 1], toName, name_len2); in CIFSSMBCopy()
2788 inc_rfc1001_len(pSMB, count); in CIFSSMBCopy()
2789 pSMB->ByteCount = cpu_to_le16(count); in CIFSSMBCopy()
2791 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSSMBCopy()
2797 cifs_buf_release(pSMB); in CIFSSMBCopy()
2810 TRANSACTION2_SPI_REQ *pSMB = NULL; in CIFSUnixCreateSymLink() local
2821 rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, in CIFSUnixCreateSymLink()
2826 if (pSMB->hdr.Flags2 & SMBFLG2_UNICODE) { in CIFSUnixCreateSymLink()
2828 cifsConvertToUTF16((__le16 *) pSMB->FileName, fromName, in CIFSUnixCreateSymLink()
2837 strncpy(pSMB->FileName, fromName, name_len); in CIFSUnixCreateSymLink()
2840 pSMB->MaxSetupCount = 0; in CIFSUnixCreateSymLink()
2841 pSMB->Reserved = 0; in CIFSUnixCreateSymLink()
2842 pSMB->Flags = 0; in CIFSUnixCreateSymLink()
2843 pSMB->Timeout = 0; in CIFSUnixCreateSymLink()
2844 pSMB->Reserved2 = 0; in CIFSUnixCreateSymLink()
2849 data_offset = (char *) (&pSMB->hdr.Protocol) + offset; in CIFSUnixCreateSymLink()
2850 if (pSMB->hdr.Flags2 & SMBFLG2_UNICODE) { in CIFSUnixCreateSymLink()
2863 pSMB->MaxParameterCount = cpu_to_le16(2); in CIFSUnixCreateSymLink()
2865 pSMB->MaxDataCount = cpu_to_le16(1000); in CIFSUnixCreateSymLink()
2866 pSMB->SetupCount = 1; in CIFSUnixCreateSymLink()
2867 pSMB->Reserved3 = 0; in CIFSUnixCreateSymLink()
2868 pSMB->SubCommand = cpu_to_le16(TRANS2_SET_PATH_INFORMATION); in CIFSUnixCreateSymLink()
2870 pSMB->DataCount = cpu_to_le16(name_len_target); in CIFSUnixCreateSymLink()
2871 pSMB->ParameterCount = cpu_to_le16(params); in CIFSUnixCreateSymLink()
2872 pSMB->TotalDataCount = pSMB->DataCount; in CIFSUnixCreateSymLink()
2873 pSMB->TotalParameterCount = pSMB->ParameterCount; in CIFSUnixCreateSymLink()
2874 pSMB->ParameterOffset = cpu_to_le16(param_offset); in CIFSUnixCreateSymLink()
2875 pSMB->DataOffset = cpu_to_le16(offset); in CIFSUnixCreateSymLink()
2876 pSMB->InformationLevel = cpu_to_le16(SMB_SET_FILE_UNIX_LINK); in CIFSUnixCreateSymLink()
2877 pSMB->Reserved4 = 0; in CIFSUnixCreateSymLink()
2878 inc_rfc1001_len(pSMB, byte_count); in CIFSUnixCreateSymLink()
2879 pSMB->ByteCount = cpu_to_le16(byte_count); in CIFSUnixCreateSymLink()
2880 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSUnixCreateSymLink()
2887 cifs_buf_release(pSMB); in CIFSUnixCreateSymLink()
2900 TRANSACTION2_SPI_REQ *pSMB = NULL; in CIFSUnixCreateHardLink() local
2911 rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, in CIFSUnixCreateHardLink()
2916 if (pSMB->hdr.Flags2 & SMBFLG2_UNICODE) { in CIFSUnixCreateHardLink()
2917 name_len = cifsConvertToUTF16((__le16 *) pSMB->FileName, toName, in CIFSUnixCreateHardLink()
2925 strncpy(pSMB->FileName, toName, name_len); in CIFSUnixCreateHardLink()
2928 pSMB->MaxSetupCount = 0; in CIFSUnixCreateHardLink()
2929 pSMB->Reserved = 0; in CIFSUnixCreateHardLink()
2930 pSMB->Flags = 0; in CIFSUnixCreateHardLink()
2931 pSMB->Timeout = 0; in CIFSUnixCreateHardLink()
2932 pSMB->Reserved2 = 0; in CIFSUnixCreateHardLink()
2937 data_offset = (char *) (&pSMB->hdr.Protocol) + offset; in CIFSUnixCreateHardLink()
2938 if (pSMB->hdr.Flags2 & SMBFLG2_UNICODE) { in CIFSUnixCreateHardLink()
2950 pSMB->MaxParameterCount = cpu_to_le16(2); in CIFSUnixCreateHardLink()
2952 pSMB->MaxDataCount = cpu_to_le16(1000); in CIFSUnixCreateHardLink()
2953 pSMB->SetupCount = 1; in CIFSUnixCreateHardLink()
2954 pSMB->Reserved3 = 0; in CIFSUnixCreateHardLink()
2955 pSMB->SubCommand = cpu_to_le16(TRANS2_SET_PATH_INFORMATION); in CIFSUnixCreateHardLink()
2957 pSMB->ParameterCount = cpu_to_le16(params); in CIFSUnixCreateHardLink()
2958 pSMB->TotalParameterCount = pSMB->ParameterCount; in CIFSUnixCreateHardLink()
2959 pSMB->DataCount = cpu_to_le16(name_len_target); in CIFSUnixCreateHardLink()
2960 pSMB->TotalDataCount = pSMB->DataCount; in CIFSUnixCreateHardLink()
2961 pSMB->ParameterOffset = cpu_to_le16(param_offset); in CIFSUnixCreateHardLink()
2962 pSMB->DataOffset = cpu_to_le16(offset); in CIFSUnixCreateHardLink()
2963 pSMB->InformationLevel = cpu_to_le16(SMB_SET_FILE_UNIX_HLINK); in CIFSUnixCreateHardLink()
2964 pSMB->Reserved4 = 0; in CIFSUnixCreateHardLink()
2965 inc_rfc1001_len(pSMB, byte_count); in CIFSUnixCreateHardLink()
2966 pSMB->ByteCount = cpu_to_le16(byte_count); in CIFSUnixCreateHardLink()
2967 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSUnixCreateHardLink()
2974 cifs_buf_release(pSMB); in CIFSUnixCreateHardLink()
2987 NT_RENAME_REQ *pSMB = NULL; in CIFSCreateHardLink() local
2997 rc = smb_init(SMB_COM_NT_RENAME, 4, tcon, (void **) &pSMB, in CIFSCreateHardLink()
3002 pSMB->SearchAttributes = in CIFSCreateHardLink()
3005 pSMB->Flags = cpu_to_le16(CREATE_HARD_LINK); in CIFSCreateHardLink()
3006 pSMB->ClusterCount = 0; in CIFSCreateHardLink()
3008 pSMB->BufferFormat = 0x04; in CIFSCreateHardLink()
3010 if (pSMB->hdr.Flags2 & SMBFLG2_UNICODE) { in CIFSCreateHardLink()
3012 cifsConvertToUTF16((__le16 *) pSMB->OldFileName, from_name, in CIFSCreateHardLink()
3018 pSMB->OldFileName[name_len] = 0x04; in CIFSCreateHardLink()
3019 pSMB->OldFileName[name_len + 1] = 0x00; /* pad */ in CIFSCreateHardLink()
3021 cifsConvertToUTF16((__le16 *)&pSMB->OldFileName[name_len+2], in CIFSCreateHardLink()
3029 strncpy(pSMB->OldFileName, from_name, name_len); in CIFSCreateHardLink()
3032 pSMB->OldFileName[name_len] = 0x04; /* 2nd buffer format */ in CIFSCreateHardLink()
3033 strncpy(&pSMB->OldFileName[name_len + 1], to_name, name_len2); in CIFSCreateHardLink()
3039 inc_rfc1001_len(pSMB, count); in CIFSCreateHardLink()
3040 pSMB->ByteCount = cpu_to_le16(count); in CIFSCreateHardLink()
3042 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSCreateHardLink()
3048 cifs_buf_release(pSMB); in CIFSCreateHardLink()
3061 TRANSACTION2_QPI_REQ *pSMB = NULL; in CIFSSMBUnixQuerySymLink() local
3072 rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, in CIFSSMBUnixQuerySymLink()
3077 if (pSMB->hdr.Flags2 & SMBFLG2_UNICODE) { in CIFSSMBUnixQuerySymLink()
3079 cifsConvertToUTF16((__le16 *) pSMB->FileName, in CIFSSMBUnixQuerySymLink()
3087 strncpy(pSMB->FileName, searchName, name_len); in CIFSSMBUnixQuerySymLink()
3091 pSMB->TotalDataCount = 0; in CIFSSMBUnixQuerySymLink()
3092 pSMB->MaxParameterCount = cpu_to_le16(2); in CIFSSMBUnixQuerySymLink()
3093 pSMB->MaxDataCount = cpu_to_le16(CIFSMaxBufSize); in CIFSSMBUnixQuerySymLink()
3094 pSMB->MaxSetupCount = 0; in CIFSSMBUnixQuerySymLink()
3095 pSMB->Reserved = 0; in CIFSSMBUnixQuerySymLink()
3096 pSMB->Flags = 0; in CIFSSMBUnixQuerySymLink()
3097 pSMB->Timeout = 0; in CIFSSMBUnixQuerySymLink()
3098 pSMB->Reserved2 = 0; in CIFSSMBUnixQuerySymLink()
3099 pSMB->ParameterOffset = cpu_to_le16(offsetof( in CIFSSMBUnixQuerySymLink()
3101 pSMB->DataCount = 0; in CIFSSMBUnixQuerySymLink()
3102 pSMB->DataOffset = 0; in CIFSSMBUnixQuerySymLink()
3103 pSMB->SetupCount = 1; in CIFSSMBUnixQuerySymLink()
3104 pSMB->Reserved3 = 0; in CIFSSMBUnixQuerySymLink()
3105 pSMB->SubCommand = cpu_to_le16(TRANS2_QUERY_PATH_INFORMATION); in CIFSSMBUnixQuerySymLink()
3107 pSMB->TotalParameterCount = cpu_to_le16(params); in CIFSSMBUnixQuerySymLink()
3108 pSMB->ParameterCount = pSMB->TotalParameterCount; in CIFSSMBUnixQuerySymLink()
3109 pSMB->InformationLevel = cpu_to_le16(SMB_QUERY_FILE_UNIX_LINK); in CIFSSMBUnixQuerySymLink()
3110 pSMB->Reserved4 = 0; in CIFSSMBUnixQuerySymLink()
3111 inc_rfc1001_len(pSMB, byte_count); in CIFSSMBUnixQuerySymLink()
3112 pSMB->ByteCount = cpu_to_le16(byte_count); in CIFSSMBUnixQuerySymLink()
3114 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSSMBUnixQuerySymLink()
3144 cifs_buf_release(pSMB); in CIFSSMBUnixQuerySymLink()
3167 struct smb_com_transaction_ioctl_req *pSMB; in CIFSSMBQuerySymLink() local
3178 rc = smb_init(SMB_COM_NT_TRANSACT, 23, tcon, (void **) &pSMB, in CIFSSMBQuerySymLink()
3183 pSMB->TotalParameterCount = 0 ; in CIFSSMBQuerySymLink()
3184 pSMB->TotalDataCount = 0; in CIFSSMBQuerySymLink()
3185 pSMB->MaxParameterCount = cpu_to_le32(2); in CIFSSMBQuerySymLink()
3187 pSMB->MaxDataCount = cpu_to_le32(CIFSMaxBufSize & 0xFFFFFF00); in CIFSSMBQuerySymLink()
3188 pSMB->MaxSetupCount = 4; in CIFSSMBQuerySymLink()
3189 pSMB->Reserved = 0; in CIFSSMBQuerySymLink()
3190 pSMB->ParameterOffset = 0; in CIFSSMBQuerySymLink()
3191 pSMB->DataCount = 0; in CIFSSMBQuerySymLink()
3192 pSMB->DataOffset = 0; in CIFSSMBQuerySymLink()
3193 pSMB->SetupCount = 4; in CIFSSMBQuerySymLink()
3194 pSMB->SubCommand = cpu_to_le16(NT_TRANSACT_IOCTL); in CIFSSMBQuerySymLink()
3195 pSMB->ParameterCount = pSMB->TotalParameterCount; in CIFSSMBQuerySymLink()
3196 pSMB->FunctionCode = cpu_to_le32(FSCTL_GET_REPARSE_POINT); in CIFSSMBQuerySymLink()
3197 pSMB->IsFsctl = 1; /* FSCTL */ in CIFSSMBQuerySymLink()
3198 pSMB->IsRootFlag = 0; in CIFSSMBQuerySymLink()
3199 pSMB->Fid = fid; /* file handle always le */ in CIFSSMBQuerySymLink()
3200 pSMB->ByteCount = 0; in CIFSSMBQuerySymLink()
3202 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSSMBQuerySymLink()
3274 cifs_buf_release(pSMB); in CIFSSMBQuerySymLink()
3289 struct smb_com_transaction_compr_ioctl_req *pSMB; in CIFSSMB_set_compression() local
3293 rc = smb_init(SMB_COM_NT_TRANSACT, 23, tcon, (void **) &pSMB, in CIFSSMB_set_compression()
3298 pSMB->compression_state = cpu_to_le16(COMPRESSION_FORMAT_DEFAULT); in CIFSSMB_set_compression()
3300 pSMB->TotalParameterCount = 0; in CIFSSMB_set_compression()
3301 pSMB->TotalDataCount = cpu_to_le32(2); in CIFSSMB_set_compression()
3302 pSMB->MaxParameterCount = 0; in CIFSSMB_set_compression()
3303 pSMB->MaxDataCount = 0; in CIFSSMB_set_compression()
3304 pSMB->MaxSetupCount = 4; in CIFSSMB_set_compression()
3305 pSMB->Reserved = 0; in CIFSSMB_set_compression()
3306 pSMB->ParameterOffset = 0; in CIFSSMB_set_compression()
3307 pSMB->DataCount = cpu_to_le32(2); in CIFSSMB_set_compression()
3308 pSMB->DataOffset = in CIFSSMB_set_compression()
3311 pSMB->SetupCount = 4; in CIFSSMB_set_compression()
3312 pSMB->SubCommand = cpu_to_le16(NT_TRANSACT_IOCTL); in CIFSSMB_set_compression()
3313 pSMB->ParameterCount = 0; in CIFSSMB_set_compression()
3314 pSMB->FunctionCode = cpu_to_le32(FSCTL_SET_COMPRESSION); in CIFSSMB_set_compression()
3315 pSMB->IsFsctl = 1; /* FSCTL */ in CIFSSMB_set_compression()
3316 pSMB->IsRootFlag = 0; in CIFSSMB_set_compression()
3317 pSMB->Fid = fid; /* file handle always le */ in CIFSSMB_set_compression()
3319 pSMB->ByteCount = cpu_to_le16(5); in CIFSSMB_set_compression()
3320 inc_rfc1001_len(pSMB, 5); in CIFSSMB_set_compression()
3322 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSSMB_set_compression()
3327 cifs_buf_release(pSMB); in CIFSSMB_set_compression()
3486 TRANSACTION2_QPI_REQ *pSMB = NULL; in CIFSSMBGetPosixACL() local
3496 rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, in CIFSSMBGetPosixACL()
3501 if (pSMB->hdr.Flags2 & SMBFLG2_UNICODE) { in CIFSSMBGetPosixACL()
3503 cifsConvertToUTF16((__le16 *) pSMB->FileName, in CIFSSMBGetPosixACL()
3508 pSMB->FileName[name_len] = 0; in CIFSSMBGetPosixACL()
3509 pSMB->FileName[name_len+1] = 0; in CIFSSMBGetPosixACL()
3513 strncpy(pSMB->FileName, searchName, name_len); in CIFSSMBGetPosixACL()
3517 pSMB->TotalDataCount = 0; in CIFSSMBGetPosixACL()
3518 pSMB->MaxParameterCount = cpu_to_le16(2); in CIFSSMBGetPosixACL()
3520 pSMB->MaxDataCount = cpu_to_le16(4000); in CIFSSMBGetPosixACL()
3521 pSMB->MaxSetupCount = 0; in CIFSSMBGetPosixACL()
3522 pSMB->Reserved = 0; in CIFSSMBGetPosixACL()
3523 pSMB->Flags = 0; in CIFSSMBGetPosixACL()
3524 pSMB->Timeout = 0; in CIFSSMBGetPosixACL()
3525 pSMB->Reserved2 = 0; in CIFSSMBGetPosixACL()
3526 pSMB->ParameterOffset = cpu_to_le16( in CIFSSMBGetPosixACL()
3529 pSMB->DataCount = 0; in CIFSSMBGetPosixACL()
3530 pSMB->DataOffset = 0; in CIFSSMBGetPosixACL()
3531 pSMB->SetupCount = 1; in CIFSSMBGetPosixACL()
3532 pSMB->Reserved3 = 0; in CIFSSMBGetPosixACL()
3533 pSMB->SubCommand = cpu_to_le16(TRANS2_QUERY_PATH_INFORMATION); in CIFSSMBGetPosixACL()
3535 pSMB->TotalParameterCount = cpu_to_le16(params); in CIFSSMBGetPosixACL()
3536 pSMB->ParameterCount = pSMB->TotalParameterCount; in CIFSSMBGetPosixACL()
3537 pSMB->InformationLevel = cpu_to_le16(SMB_QUERY_POSIX_ACL); in CIFSSMBGetPosixACL()
3538 pSMB->Reserved4 = 0; in CIFSSMBGetPosixACL()
3539 inc_rfc1001_len(pSMB, byte_count); in CIFSSMBGetPosixACL()
3540 pSMB->ByteCount = cpu_to_le16(byte_count); in CIFSSMBGetPosixACL()
3542 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSSMBGetPosixACL()
3562 cifs_buf_release(pSMB); in CIFSSMBGetPosixACL()
3575 struct smb_com_transaction2_spi_req *pSMB = NULL; in CIFSSMBSetPosixACL() local
3585 rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, in CIFSSMBSetPosixACL()
3589 if (pSMB->hdr.Flags2 & SMBFLG2_UNICODE) { in CIFSSMBSetPosixACL()
3591 cifsConvertToUTF16((__le16 *) pSMB->FileName, fileName, in CIFSSMBSetPosixACL()
3598 strncpy(pSMB->FileName, fileName, name_len); in CIFSSMBSetPosixACL()
3601 pSMB->MaxParameterCount = cpu_to_le16(2); in CIFSSMBSetPosixACL()
3603 pSMB->MaxDataCount = cpu_to_le16(1000); in CIFSSMBSetPosixACL()
3604 pSMB->MaxSetupCount = 0; in CIFSSMBSetPosixACL()
3605 pSMB->Reserved = 0; in CIFSSMBSetPosixACL()
3606 pSMB->Flags = 0; in CIFSSMBSetPosixACL()
3607 pSMB->Timeout = 0; in CIFSSMBSetPosixACL()
3608 pSMB->Reserved2 = 0; in CIFSSMBSetPosixACL()
3612 parm_data = ((char *) &pSMB->hdr.Protocol) + offset; in CIFSSMBSetPosixACL()
3613 pSMB->ParameterOffset = cpu_to_le16(param_offset); in CIFSSMBSetPosixACL()
3622 pSMB->DataOffset = cpu_to_le16(offset); in CIFSSMBSetPosixACL()
3623 pSMB->SetupCount = 1; in CIFSSMBSetPosixACL()
3624 pSMB->Reserved3 = 0; in CIFSSMBSetPosixACL()
3625 pSMB->SubCommand = cpu_to_le16(TRANS2_SET_PATH_INFORMATION); in CIFSSMBSetPosixACL()
3626 pSMB->InformationLevel = cpu_to_le16(SMB_SET_POSIX_ACL); in CIFSSMBSetPosixACL()
3628 pSMB->DataCount = cpu_to_le16(data_count); in CIFSSMBSetPosixACL()
3629 pSMB->TotalDataCount = pSMB->DataCount; in CIFSSMBSetPosixACL()
3630 pSMB->ParameterCount = cpu_to_le16(params); in CIFSSMBSetPosixACL()
3631 pSMB->TotalParameterCount = pSMB->ParameterCount; in CIFSSMBSetPosixACL()
3632 pSMB->Reserved4 = 0; in CIFSSMBSetPosixACL()
3633 inc_rfc1001_len(pSMB, byte_count); in CIFSSMBSetPosixACL()
3634 pSMB->ByteCount = cpu_to_le16(byte_count); in CIFSSMBSetPosixACL()
3635 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSSMBSetPosixACL()
3641 cifs_buf_release(pSMB); in CIFSSMBSetPosixACL()
3653 struct smb_t2_qfi_req *pSMB = NULL; in CIFSGetExtAttr() local
3663 rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, in CIFSGetExtAttr()
3669 pSMB->t2.TotalDataCount = 0; in CIFSGetExtAttr()
3670 pSMB->t2.MaxParameterCount = cpu_to_le16(4); in CIFSGetExtAttr()
3672 pSMB->t2.MaxDataCount = cpu_to_le16(4000); in CIFSGetExtAttr()
3673 pSMB->t2.MaxSetupCount = 0; in CIFSGetExtAttr()
3674 pSMB->t2.Reserved = 0; in CIFSGetExtAttr()
3675 pSMB->t2.Flags = 0; in CIFSGetExtAttr()
3676 pSMB->t2.Timeout = 0; in CIFSGetExtAttr()
3677 pSMB->t2.Reserved2 = 0; in CIFSGetExtAttr()
3678 pSMB->t2.ParameterOffset = cpu_to_le16(offsetof(struct smb_t2_qfi_req, in CIFSGetExtAttr()
3680 pSMB->t2.DataCount = 0; in CIFSGetExtAttr()
3681 pSMB->t2.DataOffset = 0; in CIFSGetExtAttr()
3682 pSMB->t2.SetupCount = 1; in CIFSGetExtAttr()
3683 pSMB->t2.Reserved3 = 0; in CIFSGetExtAttr()
3684 pSMB->t2.SubCommand = cpu_to_le16(TRANS2_QUERY_FILE_INFORMATION); in CIFSGetExtAttr()
3686 pSMB->t2.TotalParameterCount = cpu_to_le16(params); in CIFSGetExtAttr()
3687 pSMB->t2.ParameterCount = pSMB->t2.TotalParameterCount; in CIFSGetExtAttr()
3688 pSMB->InformationLevel = cpu_to_le16(SMB_QUERY_ATTR_FLAGS); in CIFSGetExtAttr()
3689 pSMB->Pad = 0; in CIFSGetExtAttr()
3690 pSMB->Fid = netfid; in CIFSGetExtAttr()
3691 inc_rfc1001_len(pSMB, byte_count); in CIFSGetExtAttr()
3692 pSMB->t2.ByteCount = cpu_to_le16(byte_count); in CIFSGetExtAttr()
3694 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSGetExtAttr()
3723 cifs_buf_release(pSMB); in CIFSGetExtAttr()
3747 struct smb_com_ntransact_req *pSMB; in smb_init_nttransact() local
3750 (void **)&pSMB); in smb_init_nttransact()
3753 *ret_buf = (void *)pSMB; in smb_init_nttransact()
3754 pSMB->Reserved = 0; in smb_init_nttransact()
3755 pSMB->TotalParameterCount = cpu_to_le32(parm_len); in smb_init_nttransact()
3756 pSMB->TotalDataCount = 0; in smb_init_nttransact()
3757 pSMB->MaxDataCount = cpu_to_le32(CIFSMaxBufSize & 0xFFFFFF00); in smb_init_nttransact()
3758 pSMB->ParameterCount = pSMB->TotalParameterCount; in smb_init_nttransact()
3759 pSMB->DataCount = pSMB->TotalDataCount; in smb_init_nttransact()
3762 pSMB->ParameterOffset = cpu_to_le32(temp_offset); in smb_init_nttransact()
3763 pSMB->DataOffset = cpu_to_le32(temp_offset + parm_len); in smb_init_nttransact()
3764 pSMB->SetupCount = setup_count; /* no need to le convert byte fields */ in smb_init_nttransact()
3765 pSMB->SubCommand = cpu_to_le16(sub_command); in smb_init_nttransact()
3829 QUERY_SEC_DESC_REQ *pSMB; in CIFSSMBGetCIFSACL() local
3838 8 /* parm len */, tcon, (void **) &pSMB); in CIFSSMBGetCIFSACL()
3842 pSMB->MaxParameterCount = cpu_to_le32(4); in CIFSSMBGetCIFSACL()
3844 pSMB->MaxSetupCount = 0; in CIFSSMBGetCIFSACL()
3845 pSMB->Fid = fid; /* file handle always le */ in CIFSSMBGetCIFSACL()
3846 pSMB->AclFlags = cpu_to_le32(CIFS_ACL_OWNER | CIFS_ACL_GROUP | in CIFSSMBGetCIFSACL()
3848 pSMB->ByteCount = cpu_to_le16(11); /* 3 bytes pad + 8 bytes parm */ in CIFSSMBGetCIFSACL()
3849 inc_rfc1001_len(pSMB, 11); in CIFSSMBGetCIFSACL()
3850 iov[0].iov_base = (char *)pSMB; in CIFSSMBGetCIFSACL()
3851 iov[0].iov_len = be32_to_cpu(pSMB->hdr.smb_buf_length) + 4; in CIFSSMBGetCIFSACL()
3919 SET_SEC_DESC_REQ *pSMB = NULL; in CIFSSMBSetCIFSACL() local
3923 rc = smb_init(SMB_COM_NT_TRANSACT, 19, tcon, (void **) &pSMB, &pSMBr); in CIFSSMBSetCIFSACL()
3927 pSMB->MaxSetupCount = 0; in CIFSSMBSetCIFSACL()
3928 pSMB->Reserved = 0; in CIFSSMBSetCIFSACL()
3936 pSMB->DataCount = cpu_to_le32(data_count); in CIFSSMBSetCIFSACL()
3937 pSMB->TotalDataCount = pSMB->DataCount; in CIFSSMBSetCIFSACL()
3938 pSMB->MaxParameterCount = cpu_to_le32(4); in CIFSSMBSetCIFSACL()
3939 pSMB->MaxDataCount = cpu_to_le32(16384); in CIFSSMBSetCIFSACL()
3940 pSMB->ParameterCount = cpu_to_le32(param_count); in CIFSSMBSetCIFSACL()
3941 pSMB->ParameterOffset = cpu_to_le32(param_offset); in CIFSSMBSetCIFSACL()
3942 pSMB->TotalParameterCount = pSMB->ParameterCount; in CIFSSMBSetCIFSACL()
3943 pSMB->DataOffset = cpu_to_le32(data_offset); in CIFSSMBSetCIFSACL()
3944 pSMB->SetupCount = 0; in CIFSSMBSetCIFSACL()
3945 pSMB->SubCommand = cpu_to_le16(NT_TRANSACT_SET_SECURITY_DESC); in CIFSSMBSetCIFSACL()
3946 pSMB->ByteCount = cpu_to_le16(byte_count+data_count); in CIFSSMBSetCIFSACL()
3948 pSMB->Fid = fid; /* file handle always le */ in CIFSSMBSetCIFSACL()
3949 pSMB->Reserved2 = 0; in CIFSSMBSetCIFSACL()
3950 pSMB->AclFlags = cpu_to_le32(aclflag); in CIFSSMBSetCIFSACL()
3955 inc_rfc1001_len(pSMB, byte_count + data_count); in CIFSSMBSetCIFSACL()
3957 inc_rfc1001_len(pSMB, byte_count); in CIFSSMBSetCIFSACL()
3959 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSSMBSetCIFSACL()
3966 cifs_buf_release(pSMB); in CIFSSMBSetCIFSACL()
3983 QUERY_INFORMATION_REQ *pSMB; in SMBQueryInformation() local
3991 rc = smb_init(SMB_COM_QUERY_INFORMATION, 0, tcon, (void **) &pSMB, in SMBQueryInformation()
3996 if (pSMB->hdr.Flags2 & SMBFLG2_UNICODE) { in SMBQueryInformation()
3998 cifsConvertToUTF16((__le16 *) pSMB->FileName, in SMBQueryInformation()
4006 strncpy(pSMB->FileName, search_name, name_len); in SMBQueryInformation()
4008 pSMB->BufferFormat = 0x04; in SMBQueryInformation()
4010 inc_rfc1001_len(pSMB, (__u16)name_len); in SMBQueryInformation()
4011 pSMB->ByteCount = cpu_to_le16(name_len); in SMBQueryInformation()
4013 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in SMBQueryInformation()
4038 cifs_buf_release(pSMB); in SMBQueryInformation()
4050 struct smb_t2_qfi_req *pSMB = NULL; in CIFSSMBQFileInfo() local
4057 rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, in CIFSSMBQFileInfo()
4063 pSMB->t2.TotalDataCount = 0; in CIFSSMBQFileInfo()
4064 pSMB->t2.MaxParameterCount = cpu_to_le16(4); in CIFSSMBQFileInfo()
4066 pSMB->t2.MaxDataCount = cpu_to_le16(CIFSMaxBufSize); in CIFSSMBQFileInfo()
4067 pSMB->t2.MaxSetupCount = 0; in CIFSSMBQFileInfo()
4068 pSMB->t2.Reserved = 0; in CIFSSMBQFileInfo()
4069 pSMB->t2.Flags = 0; in CIFSSMBQFileInfo()
4070 pSMB->t2.Timeout = 0; in CIFSSMBQFileInfo()
4071 pSMB->t2.Reserved2 = 0; in CIFSSMBQFileInfo()
4072 pSMB->t2.ParameterOffset = cpu_to_le16(offsetof(struct smb_t2_qfi_req, in CIFSSMBQFileInfo()
4074 pSMB->t2.DataCount = 0; in CIFSSMBQFileInfo()
4075 pSMB->t2.DataOffset = 0; in CIFSSMBQFileInfo()
4076 pSMB->t2.SetupCount = 1; in CIFSSMBQFileInfo()
4077 pSMB->t2.Reserved3 = 0; in CIFSSMBQFileInfo()
4078 pSMB->t2.SubCommand = cpu_to_le16(TRANS2_QUERY_FILE_INFORMATION); in CIFSSMBQFileInfo()
4080 pSMB->t2.TotalParameterCount = cpu_to_le16(params); in CIFSSMBQFileInfo()
4081 pSMB->t2.ParameterCount = pSMB->t2.TotalParameterCount; in CIFSSMBQFileInfo()
4082 pSMB->InformationLevel = cpu_to_le16(SMB_QUERY_FILE_ALL_INFO); in CIFSSMBQFileInfo()
4083 pSMB->Pad = 0; in CIFSSMBQFileInfo()
4084 pSMB->Fid = netfid; in CIFSSMBQFileInfo()
4085 inc_rfc1001_len(pSMB, byte_count); in CIFSSMBQFileInfo()
4086 pSMB->t2.ByteCount = cpu_to_le16(byte_count); in CIFSSMBQFileInfo()
4088 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSSMBQFileInfo()
4107 cifs_buf_release(pSMB); in CIFSSMBQFileInfo()
4121 TRANSACTION2_QPI_REQ *pSMB = NULL; in CIFSSMBQPathInfo() local
4130 rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, in CIFSSMBQPathInfo()
4135 if (pSMB->hdr.Flags2 & SMBFLG2_UNICODE) { in CIFSSMBQPathInfo()
4137 cifsConvertToUTF16((__le16 *) pSMB->FileName, search_name, in CIFSSMBQPathInfo()
4144 strncpy(pSMB->FileName, search_name, name_len); in CIFSSMBQPathInfo()
4148 pSMB->TotalDataCount = 0; in CIFSSMBQPathInfo()
4149 pSMB->MaxParameterCount = cpu_to_le16(2); in CIFSSMBQPathInfo()
4151 pSMB->MaxDataCount = cpu_to_le16(4000); in CIFSSMBQPathInfo()
4152 pSMB->MaxSetupCount = 0; in CIFSSMBQPathInfo()
4153 pSMB->Reserved = 0; in CIFSSMBQPathInfo()
4154 pSMB->Flags = 0; in CIFSSMBQPathInfo()
4155 pSMB->Timeout = 0; in CIFSSMBQPathInfo()
4156 pSMB->Reserved2 = 0; in CIFSSMBQPathInfo()
4157 pSMB->ParameterOffset = cpu_to_le16(offsetof( in CIFSSMBQPathInfo()
4159 pSMB->DataCount = 0; in CIFSSMBQPathInfo()
4160 pSMB->DataOffset = 0; in CIFSSMBQPathInfo()
4161 pSMB->SetupCount = 1; in CIFSSMBQPathInfo()
4162 pSMB->Reserved3 = 0; in CIFSSMBQPathInfo()
4163 pSMB->SubCommand = cpu_to_le16(TRANS2_QUERY_PATH_INFORMATION); in CIFSSMBQPathInfo()
4165 pSMB->TotalParameterCount = cpu_to_le16(params); in CIFSSMBQPathInfo()
4166 pSMB->ParameterCount = pSMB->TotalParameterCount; in CIFSSMBQPathInfo()
4168 pSMB->InformationLevel = cpu_to_le16(SMB_INFO_STANDARD); in CIFSSMBQPathInfo()
4170 pSMB->InformationLevel = cpu_to_le16(SMB_QUERY_FILE_ALL_INFO); in CIFSSMBQPathInfo()
4171 pSMB->Reserved4 = 0; in CIFSSMBQPathInfo()
4172 inc_rfc1001_len(pSMB, byte_count); in CIFSSMBQPathInfo()
4173 pSMB->ByteCount = cpu_to_le16(byte_count); in CIFSSMBQPathInfo()
4175 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSSMBQPathInfo()
4208 cifs_buf_release(pSMB); in CIFSSMBQPathInfo()
4219 struct smb_t2_qfi_req *pSMB = NULL; in CIFSSMBUnixQFileInfo() local
4226 rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, in CIFSSMBUnixQFileInfo()
4232 pSMB->t2.TotalDataCount = 0; in CIFSSMBUnixQFileInfo()
4233 pSMB->t2.MaxParameterCount = cpu_to_le16(4); in CIFSSMBUnixQFileInfo()
4235 pSMB->t2.MaxDataCount = cpu_to_le16(CIFSMaxBufSize); in CIFSSMBUnixQFileInfo()
4236 pSMB->t2.MaxSetupCount = 0; in CIFSSMBUnixQFileInfo()
4237 pSMB->t2.Reserved = 0; in CIFSSMBUnixQFileInfo()
4238 pSMB->t2.Flags = 0; in CIFSSMBUnixQFileInfo()
4239 pSMB->t2.Timeout = 0; in CIFSSMBUnixQFileInfo()
4240 pSMB->t2.Reserved2 = 0; in CIFSSMBUnixQFileInfo()
4241 pSMB->t2.ParameterOffset = cpu_to_le16(offsetof(struct smb_t2_qfi_req, in CIFSSMBUnixQFileInfo()
4243 pSMB->t2.DataCount = 0; in CIFSSMBUnixQFileInfo()
4244 pSMB->t2.DataOffset = 0; in CIFSSMBUnixQFileInfo()
4245 pSMB->t2.SetupCount = 1; in CIFSSMBUnixQFileInfo()
4246 pSMB->t2.Reserved3 = 0; in CIFSSMBUnixQFileInfo()
4247 pSMB->t2.SubCommand = cpu_to_le16(TRANS2_QUERY_FILE_INFORMATION); in CIFSSMBUnixQFileInfo()
4249 pSMB->t2.TotalParameterCount = cpu_to_le16(params); in CIFSSMBUnixQFileInfo()
4250 pSMB->t2.ParameterCount = pSMB->t2.TotalParameterCount; in CIFSSMBUnixQFileInfo()
4251 pSMB->InformationLevel = cpu_to_le16(SMB_QUERY_FILE_UNIX_BASIC); in CIFSSMBUnixQFileInfo()
4252 pSMB->Pad = 0; in CIFSSMBUnixQFileInfo()
4253 pSMB->Fid = netfid; in CIFSSMBUnixQFileInfo()
4254 inc_rfc1001_len(pSMB, byte_count); in CIFSSMBUnixQFileInfo()
4255 pSMB->t2.ByteCount = cpu_to_le16(byte_count); in CIFSSMBUnixQFileInfo()
4257 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSSMBUnixQFileInfo()
4276 cifs_buf_release(pSMB); in CIFSSMBUnixQFileInfo()
4290 TRANSACTION2_QPI_REQ *pSMB = NULL; in CIFSSMBUnixQPathInfo() local
4299 rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, in CIFSSMBUnixQPathInfo()
4304 if (pSMB->hdr.Flags2 & SMBFLG2_UNICODE) { in CIFSSMBUnixQPathInfo()
4306 cifsConvertToUTF16((__le16 *) pSMB->FileName, searchName, in CIFSSMBUnixQPathInfo()
4313 strncpy(pSMB->FileName, searchName, name_len); in CIFSSMBUnixQPathInfo()
4317 pSMB->TotalDataCount = 0; in CIFSSMBUnixQPathInfo()
4318 pSMB->MaxParameterCount = cpu_to_le16(2); in CIFSSMBUnixQPathInfo()
4320 pSMB->MaxDataCount = cpu_to_le16(4000); in CIFSSMBUnixQPathInfo()
4321 pSMB->MaxSetupCount = 0; in CIFSSMBUnixQPathInfo()
4322 pSMB->Reserved = 0; in CIFSSMBUnixQPathInfo()
4323 pSMB->Flags = 0; in CIFSSMBUnixQPathInfo()
4324 pSMB->Timeout = 0; in CIFSSMBUnixQPathInfo()
4325 pSMB->Reserved2 = 0; in CIFSSMBUnixQPathInfo()
4326 pSMB->ParameterOffset = cpu_to_le16(offsetof( in CIFSSMBUnixQPathInfo()
4328 pSMB->DataCount = 0; in CIFSSMBUnixQPathInfo()
4329 pSMB->DataOffset = 0; in CIFSSMBUnixQPathInfo()
4330 pSMB->SetupCount = 1; in CIFSSMBUnixQPathInfo()
4331 pSMB->Reserved3 = 0; in CIFSSMBUnixQPathInfo()
4332 pSMB->SubCommand = cpu_to_le16(TRANS2_QUERY_PATH_INFORMATION); in CIFSSMBUnixQPathInfo()
4334 pSMB->TotalParameterCount = cpu_to_le16(params); in CIFSSMBUnixQPathInfo()
4335 pSMB->ParameterCount = pSMB->TotalParameterCount; in CIFSSMBUnixQPathInfo()
4336 pSMB->InformationLevel = cpu_to_le16(SMB_QUERY_FILE_UNIX_BASIC); in CIFSSMBUnixQPathInfo()
4337 pSMB->Reserved4 = 0; in CIFSSMBUnixQPathInfo()
4338 inc_rfc1001_len(pSMB, byte_count); in CIFSSMBUnixQPathInfo()
4339 pSMB->ByteCount = cpu_to_le16(byte_count); in CIFSSMBUnixQPathInfo()
4341 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSSMBUnixQPathInfo()
4359 cifs_buf_release(pSMB); in CIFSSMBUnixQPathInfo()
4374 TRANSACTION2_FFIRST_REQ *pSMB = NULL; in CIFSFindFirst() local
4386 rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, in CIFSFindFirst()
4394 if (pSMB->hdr.Flags2 & SMBFLG2_UNICODE) { in CIFSFindFirst()
4396 cifsConvertToUTF16((__le16 *) pSMB->FileName, searchName, in CIFSFindFirst()
4403 pSMB->FileName[name_len] = CIFS_DIR_SEP(cifs_sb); in CIFSFindFirst()
4404 pSMB->FileName[name_len+1] = 0; in CIFSFindFirst()
4405 pSMB->FileName[name_len+2] = '*'; in CIFSFindFirst()
4406 pSMB->FileName[name_len+3] = 0; in CIFSFindFirst()
4409 pSMB->FileName[name_len] = 0; in CIFSFindFirst()
4410 pSMB->FileName[name_len+1] = 0; in CIFSFindFirst()
4418 strncpy(pSMB->FileName, searchName, name_len); in CIFSFindFirst()
4420 pSMB->FileName[name_len] = CIFS_DIR_SEP(cifs_sb); in CIFSFindFirst()
4421 pSMB->FileName[name_len+1] = '*'; in CIFSFindFirst()
4422 pSMB->FileName[name_len+2] = 0; in CIFSFindFirst()
4428 pSMB->TotalDataCount = 0; /* no EAs */ in CIFSFindFirst()
4429 pSMB->MaxParameterCount = cpu_to_le16(10); in CIFSFindFirst()
4430 pSMB->MaxDataCount = cpu_to_le16(CIFSMaxBufSize & 0xFFFFFF00); in CIFSFindFirst()
4431 pSMB->MaxSetupCount = 0; in CIFSFindFirst()
4432 pSMB->Reserved = 0; in CIFSFindFirst()
4433 pSMB->Flags = 0; in CIFSFindFirst()
4434 pSMB->Timeout = 0; in CIFSFindFirst()
4435 pSMB->Reserved2 = 0; in CIFSFindFirst()
4437 pSMB->TotalParameterCount = cpu_to_le16(params); in CIFSFindFirst()
4438 pSMB->ParameterCount = pSMB->TotalParameterCount; in CIFSFindFirst()
4439 pSMB->ParameterOffset = cpu_to_le16( in CIFSFindFirst()
4442 pSMB->DataCount = 0; in CIFSFindFirst()
4443 pSMB->DataOffset = 0; in CIFSFindFirst()
4444 pSMB->SetupCount = 1; /* one byte, no need to make endian neutral */ in CIFSFindFirst()
4445 pSMB->Reserved3 = 0; in CIFSFindFirst()
4446 pSMB->SubCommand = cpu_to_le16(TRANS2_FIND_FIRST); in CIFSFindFirst()
4447 pSMB->SearchAttributes = in CIFSFindFirst()
4450 pSMB->SearchCount = cpu_to_le16(CIFSMaxBufSize/sizeof(FILE_UNIX_INFO)); in CIFSFindFirst()
4451 pSMB->SearchFlags = cpu_to_le16(search_flags); in CIFSFindFirst()
4452 pSMB->InformationLevel = cpu_to_le16(psrch_inf->info_level); in CIFSFindFirst()
4455 pSMB->SearchStorageType = 0; in CIFSFindFirst()
4456 inc_rfc1001_len(pSMB, byte_count); in CIFSFindFirst()
4457 pSMB->ByteCount = cpu_to_le16(byte_count); in CIFSFindFirst()
4459 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSFindFirst()
4468 cifs_buf_release(pSMB); in CIFSFindFirst()
4515 cifs_buf_release(pSMB); in CIFSFindFirst()
4526 TRANSACTION2_FNEXT_REQ *pSMB = NULL; in CIFSFindNext() local
4540 rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, in CIFSFindNext()
4547 pSMB->TotalDataCount = 0; /* no EAs */ in CIFSFindNext()
4548 pSMB->MaxParameterCount = cpu_to_le16(8); in CIFSFindNext()
4549 pSMB->MaxDataCount = cpu_to_le16(CIFSMaxBufSize & 0xFFFFFF00); in CIFSFindNext()
4550 pSMB->MaxSetupCount = 0; in CIFSFindNext()
4551 pSMB->Reserved = 0; in CIFSFindNext()
4552 pSMB->Flags = 0; in CIFSFindNext()
4553 pSMB->Timeout = 0; in CIFSFindNext()
4554 pSMB->Reserved2 = 0; in CIFSFindNext()
4555 pSMB->ParameterOffset = cpu_to_le16( in CIFSFindNext()
4557 pSMB->DataCount = 0; in CIFSFindNext()
4558 pSMB->DataOffset = 0; in CIFSFindNext()
4559 pSMB->SetupCount = 1; in CIFSFindNext()
4560 pSMB->Reserved3 = 0; in CIFSFindNext()
4561 pSMB->SubCommand = cpu_to_le16(TRANS2_FIND_NEXT); in CIFSFindNext()
4562 pSMB->SearchHandle = searchHandle; /* always kept as le */ in CIFSFindNext()
4563 pSMB->SearchCount = in CIFSFindNext()
4565 pSMB->InformationLevel = cpu_to_le16(psrch_inf->info_level); in CIFSFindNext()
4566 pSMB->ResumeKey = psrch_inf->resume_key; in CIFSFindNext()
4567 pSMB->SearchFlags = cpu_to_le16(search_flags); in CIFSFindNext()
4572 memcpy(pSMB->ResumeFileName, psrch_inf->presume_name, name_len); in CIFSFindNext()
4575 pSMB->ResumeFileName[name_len] = 0; in CIFSFindNext()
4576 pSMB->ResumeFileName[name_len+1] = 0; in CIFSFindNext()
4582 pSMB->TotalParameterCount = cpu_to_le16(params); in CIFSFindNext()
4583 pSMB->ParameterCount = pSMB->TotalParameterCount; in CIFSFindNext()
4584 inc_rfc1001_len(pSMB, byte_count); in CIFSFindNext()
4585 pSMB->ByteCount = cpu_to_le16(byte_count); in CIFSFindNext()
4587 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSFindNext()
4593 cifs_buf_release(pSMB); in CIFSFindNext()
4619 psrch_inf->ntwrk_buf_start = (char *)pSMB; in CIFSFindNext()
4653 cifs_buf_release(pSMB); in CIFSFindNext()
4662 FINDCLOSE_REQ *pSMB = NULL; in CIFSFindClose() local
4665 rc = small_smb_init(SMB_COM_FIND_CLOSE2, 1, tcon, (void **)&pSMB); in CIFSFindClose()
4674 pSMB->FileID = searchHandle; in CIFSFindClose()
4675 pSMB->ByteCount = 0; in CIFSFindClose()
4676 rc = SendReceiveNoRsp(xid, tcon->ses, (char *) pSMB, 0); in CIFSFindClose()
4695 TRANSACTION2_QPI_REQ *pSMB = NULL; in CIFSGetSrvInodeNumber() local
4705 rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, in CIFSGetSrvInodeNumber()
4710 if (pSMB->hdr.Flags2 & SMBFLG2_UNICODE) { in CIFSGetSrvInodeNumber()
4712 cifsConvertToUTF16((__le16 *) pSMB->FileName, in CIFSGetSrvInodeNumber()
4720 strncpy(pSMB->FileName, search_name, name_len); in CIFSGetSrvInodeNumber()
4724 pSMB->TotalDataCount = 0; in CIFSGetSrvInodeNumber()
4725 pSMB->MaxParameterCount = cpu_to_le16(2); in CIFSGetSrvInodeNumber()
4727 pSMB->MaxDataCount = cpu_to_le16(4000); in CIFSGetSrvInodeNumber()
4728 pSMB->MaxSetupCount = 0; in CIFSGetSrvInodeNumber()
4729 pSMB->Reserved = 0; in CIFSGetSrvInodeNumber()
4730 pSMB->Flags = 0; in CIFSGetSrvInodeNumber()
4731 pSMB->Timeout = 0; in CIFSGetSrvInodeNumber()
4732 pSMB->Reserved2 = 0; in CIFSGetSrvInodeNumber()
4733 pSMB->ParameterOffset = cpu_to_le16(offsetof( in CIFSGetSrvInodeNumber()
4735 pSMB->DataCount = 0; in CIFSGetSrvInodeNumber()
4736 pSMB->DataOffset = 0; in CIFSGetSrvInodeNumber()
4737 pSMB->SetupCount = 1; in CIFSGetSrvInodeNumber()
4738 pSMB->Reserved3 = 0; in CIFSGetSrvInodeNumber()
4739 pSMB->SubCommand = cpu_to_le16(TRANS2_QUERY_PATH_INFORMATION); in CIFSGetSrvInodeNumber()
4741 pSMB->TotalParameterCount = cpu_to_le16(params); in CIFSGetSrvInodeNumber()
4742 pSMB->ParameterCount = pSMB->TotalParameterCount; in CIFSGetSrvInodeNumber()
4743 pSMB->InformationLevel = cpu_to_le16(SMB_QUERY_FILE_INTERNAL_INFO); in CIFSGetSrvInodeNumber()
4744 pSMB->Reserved4 = 0; in CIFSGetSrvInodeNumber()
4745 inc_rfc1001_len(pSMB, byte_count); in CIFSGetSrvInodeNumber()
4746 pSMB->ByteCount = cpu_to_le16(byte_count); in CIFSGetSrvInodeNumber()
4748 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSGetSrvInodeNumber()
4776 cifs_buf_release(pSMB); in CIFSGetSrvInodeNumber()
4900 TRANSACTION2_GET_DFS_REFER_REQ *pSMB = NULL; in CIFSGetDFSRefer() local
4913 rc = smb_init(SMB_COM_TRANSACTION2, 15, NULL, (void **) &pSMB, in CIFSGetDFSRefer()
4920 pSMB->hdr.Mid = get_next_mid(ses->server); in CIFSGetDFSRefer()
4921 pSMB->hdr.Tid = ses->ipc_tid; in CIFSGetDFSRefer()
4922 pSMB->hdr.Uid = ses->Suid; in CIFSGetDFSRefer()
4924 pSMB->hdr.Flags2 |= SMBFLG2_ERR_STATUS; in CIFSGetDFSRefer()
4926 pSMB->hdr.Flags2 |= SMBFLG2_DFS; in CIFSGetDFSRefer()
4929 pSMB->hdr.Flags2 |= SMBFLG2_UNICODE; in CIFSGetDFSRefer()
4931 cifsConvertToUTF16((__le16 *) pSMB->RequestFileName, in CIFSGetDFSRefer()
4939 strncpy(pSMB->RequestFileName, search_name, name_len); in CIFSGetDFSRefer()
4943 pSMB->hdr.Flags2 |= SMBFLG2_SECURITY_SIGNATURE; in CIFSGetDFSRefer()
4945 pSMB->hdr.Uid = ses->Suid; in CIFSGetDFSRefer()
4948 pSMB->TotalDataCount = 0; in CIFSGetDFSRefer()
4949 pSMB->DataCount = 0; in CIFSGetDFSRefer()
4950 pSMB->DataOffset = 0; in CIFSGetDFSRefer()
4951 pSMB->MaxParameterCount = 0; in CIFSGetDFSRefer()
4953 pSMB->MaxDataCount = cpu_to_le16(4000); in CIFSGetDFSRefer()
4954 pSMB->MaxSetupCount = 0; in CIFSGetDFSRefer()
4955 pSMB->Reserved = 0; in CIFSGetDFSRefer()
4956 pSMB->Flags = 0; in CIFSGetDFSRefer()
4957 pSMB->Timeout = 0; in CIFSGetDFSRefer()
4958 pSMB->Reserved2 = 0; in CIFSGetDFSRefer()
4959 pSMB->ParameterOffset = cpu_to_le16(offsetof( in CIFSGetDFSRefer()
4961 pSMB->SetupCount = 1; in CIFSGetDFSRefer()
4962 pSMB->Reserved3 = 0; in CIFSGetDFSRefer()
4963 pSMB->SubCommand = cpu_to_le16(TRANS2_GET_DFS_REFERRAL); in CIFSGetDFSRefer()
4965 pSMB->ParameterCount = cpu_to_le16(params); in CIFSGetDFSRefer()
4966 pSMB->TotalParameterCount = pSMB->ParameterCount; in CIFSGetDFSRefer()
4967 pSMB->MaxReferralLevel = cpu_to_le16(3); in CIFSGetDFSRefer()
4968 inc_rfc1001_len(pSMB, byte_count); in CIFSGetDFSRefer()
4969 pSMB->ByteCount = cpu_to_le16(byte_count); in CIFSGetDFSRefer()
4971 rc = SendReceive(xid, ses, (struct smb_hdr *) pSMB, in CIFSGetDFSRefer()
4994 cifs_buf_release(pSMB); in CIFSGetDFSRefer()
5008 TRANSACTION2_QFSI_REQ *pSMB = NULL; in SMBOldQFSInfo() local
5017 rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, in SMBOldQFSInfo()
5023 pSMB->TotalDataCount = 0; in SMBOldQFSInfo()
5024 pSMB->MaxParameterCount = cpu_to_le16(2); in SMBOldQFSInfo()
5025 pSMB->MaxDataCount = cpu_to_le16(1000); in SMBOldQFSInfo()
5026 pSMB->MaxSetupCount = 0; in SMBOldQFSInfo()
5027 pSMB->Reserved = 0; in SMBOldQFSInfo()
5028 pSMB->Flags = 0; in SMBOldQFSInfo()
5029 pSMB->Timeout = 0; in SMBOldQFSInfo()
5030 pSMB->Reserved2 = 0; in SMBOldQFSInfo()
5032 pSMB->TotalParameterCount = cpu_to_le16(params); in SMBOldQFSInfo()
5033 pSMB->ParameterCount = pSMB->TotalParameterCount; in SMBOldQFSInfo()
5034 pSMB->ParameterOffset = cpu_to_le16(offsetof( in SMBOldQFSInfo()
5036 pSMB->DataCount = 0; in SMBOldQFSInfo()
5037 pSMB->DataOffset = 0; in SMBOldQFSInfo()
5038 pSMB->SetupCount = 1; in SMBOldQFSInfo()
5039 pSMB->Reserved3 = 0; in SMBOldQFSInfo()
5040 pSMB->SubCommand = cpu_to_le16(TRANS2_QUERY_FS_INFORMATION); in SMBOldQFSInfo()
5041 pSMB->InformationLevel = cpu_to_le16(SMB_INFO_ALLOCATION); in SMBOldQFSInfo()
5042 inc_rfc1001_len(pSMB, byte_count); in SMBOldQFSInfo()
5043 pSMB->ByteCount = cpu_to_le16(byte_count); in SMBOldQFSInfo()
5045 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in SMBOldQFSInfo()
5075 cifs_buf_release(pSMB); in SMBOldQFSInfo()
5088 TRANSACTION2_QFSI_REQ *pSMB = NULL; in CIFSSMBQFSInfo() local
5097 rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, in CIFSSMBQFSInfo()
5103 pSMB->TotalDataCount = 0; in CIFSSMBQFSInfo()
5104 pSMB->MaxParameterCount = cpu_to_le16(2); in CIFSSMBQFSInfo()
5105 pSMB->MaxDataCount = cpu_to_le16(1000); in CIFSSMBQFSInfo()
5106 pSMB->MaxSetupCount = 0; in CIFSSMBQFSInfo()
5107 pSMB->Reserved = 0; in CIFSSMBQFSInfo()
5108 pSMB->Flags = 0; in CIFSSMBQFSInfo()
5109 pSMB->Timeout = 0; in CIFSSMBQFSInfo()
5110 pSMB->Reserved2 = 0; in CIFSSMBQFSInfo()
5112 pSMB->TotalParameterCount = cpu_to_le16(params); in CIFSSMBQFSInfo()
5113 pSMB->ParameterCount = pSMB->TotalParameterCount; in CIFSSMBQFSInfo()
5114 pSMB->ParameterOffset = cpu_to_le16(offsetof( in CIFSSMBQFSInfo()
5116 pSMB->DataCount = 0; in CIFSSMBQFSInfo()
5117 pSMB->DataOffset = 0; in CIFSSMBQFSInfo()
5118 pSMB->SetupCount = 1; in CIFSSMBQFSInfo()
5119 pSMB->Reserved3 = 0; in CIFSSMBQFSInfo()
5120 pSMB->SubCommand = cpu_to_le16(TRANS2_QUERY_FS_INFORMATION); in CIFSSMBQFSInfo()
5121 pSMB->InformationLevel = cpu_to_le16(SMB_QUERY_FS_SIZE_INFO); in CIFSSMBQFSInfo()
5122 inc_rfc1001_len(pSMB, byte_count); in CIFSSMBQFSInfo()
5123 pSMB->ByteCount = cpu_to_le16(byte_count); in CIFSSMBQFSInfo()
5125 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSSMBQFSInfo()
5155 cifs_buf_release(pSMB); in CIFSSMBQFSInfo()
5167 TRANSACTION2_QFSI_REQ *pSMB = NULL; in CIFSSMBQFSAttributeInfo() local
5176 rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, in CIFSSMBQFSAttributeInfo()
5182 pSMB->TotalDataCount = 0; in CIFSSMBQFSAttributeInfo()
5183 pSMB->MaxParameterCount = cpu_to_le16(2); in CIFSSMBQFSAttributeInfo()
5185 pSMB->MaxDataCount = cpu_to_le16(1000); in CIFSSMBQFSAttributeInfo()
5186 pSMB->MaxSetupCount = 0; in CIFSSMBQFSAttributeInfo()
5187 pSMB->Reserved = 0; in CIFSSMBQFSAttributeInfo()
5188 pSMB->Flags = 0; in CIFSSMBQFSAttributeInfo()
5189 pSMB->Timeout = 0; in CIFSSMBQFSAttributeInfo()
5190 pSMB->Reserved2 = 0; in CIFSSMBQFSAttributeInfo()
5192 pSMB->TotalParameterCount = cpu_to_le16(params); in CIFSSMBQFSAttributeInfo()
5193 pSMB->ParameterCount = pSMB->TotalParameterCount; in CIFSSMBQFSAttributeInfo()
5194 pSMB->ParameterOffset = cpu_to_le16(offsetof( in CIFSSMBQFSAttributeInfo()
5196 pSMB->DataCount = 0; in CIFSSMBQFSAttributeInfo()
5197 pSMB->DataOffset = 0; in CIFSSMBQFSAttributeInfo()
5198 pSMB->SetupCount = 1; in CIFSSMBQFSAttributeInfo()
5199 pSMB->Reserved3 = 0; in CIFSSMBQFSAttributeInfo()
5200 pSMB->SubCommand = cpu_to_le16(TRANS2_QUERY_FS_INFORMATION); in CIFSSMBQFSAttributeInfo()
5201 pSMB->InformationLevel = cpu_to_le16(SMB_QUERY_FS_ATTRIBUTE_INFO); in CIFSSMBQFSAttributeInfo()
5202 inc_rfc1001_len(pSMB, byte_count); in CIFSSMBQFSAttributeInfo()
5203 pSMB->ByteCount = cpu_to_le16(byte_count); in CIFSSMBQFSAttributeInfo()
5205 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSSMBQFSAttributeInfo()
5225 cifs_buf_release(pSMB); in CIFSSMBQFSAttributeInfo()
5237 TRANSACTION2_QFSI_REQ *pSMB = NULL; in CIFSSMBQFSDeviceInfo() local
5246 rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, in CIFSSMBQFSDeviceInfo()
5252 pSMB->TotalDataCount = 0; in CIFSSMBQFSDeviceInfo()
5253 pSMB->MaxParameterCount = cpu_to_le16(2); in CIFSSMBQFSDeviceInfo()
5255 pSMB->MaxDataCount = cpu_to_le16(1000); in CIFSSMBQFSDeviceInfo()
5256 pSMB->MaxSetupCount = 0; in CIFSSMBQFSDeviceInfo()
5257 pSMB->Reserved = 0; in CIFSSMBQFSDeviceInfo()
5258 pSMB->Flags = 0; in CIFSSMBQFSDeviceInfo()
5259 pSMB->Timeout = 0; in CIFSSMBQFSDeviceInfo()
5260 pSMB->Reserved2 = 0; in CIFSSMBQFSDeviceInfo()
5262 pSMB->TotalParameterCount = cpu_to_le16(params); in CIFSSMBQFSDeviceInfo()
5263 pSMB->ParameterCount = pSMB->TotalParameterCount; in CIFSSMBQFSDeviceInfo()
5264 pSMB->ParameterOffset = cpu_to_le16(offsetof( in CIFSSMBQFSDeviceInfo()
5267 pSMB->DataCount = 0; in CIFSSMBQFSDeviceInfo()
5268 pSMB->DataOffset = 0; in CIFSSMBQFSDeviceInfo()
5269 pSMB->SetupCount = 1; in CIFSSMBQFSDeviceInfo()
5270 pSMB->Reserved3 = 0; in CIFSSMBQFSDeviceInfo()
5271 pSMB->SubCommand = cpu_to_le16(TRANS2_QUERY_FS_INFORMATION); in CIFSSMBQFSDeviceInfo()
5272 pSMB->InformationLevel = cpu_to_le16(SMB_QUERY_FS_DEVICE_INFO); in CIFSSMBQFSDeviceInfo()
5273 inc_rfc1001_len(pSMB, byte_count); in CIFSSMBQFSDeviceInfo()
5274 pSMB->ByteCount = cpu_to_le16(byte_count); in CIFSSMBQFSDeviceInfo()
5276 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSSMBQFSDeviceInfo()
5296 cifs_buf_release(pSMB); in CIFSSMBQFSDeviceInfo()
5308 TRANSACTION2_QFSI_REQ *pSMB = NULL; in CIFSSMBQFSUnixInfo() local
5318 (void **) &pSMB, (void **) &pSMBr); in CIFSSMBQFSUnixInfo()
5323 pSMB->TotalDataCount = 0; in CIFSSMBQFSUnixInfo()
5324 pSMB->DataCount = 0; in CIFSSMBQFSUnixInfo()
5325 pSMB->DataOffset = 0; in CIFSSMBQFSUnixInfo()
5326 pSMB->MaxParameterCount = cpu_to_le16(2); in CIFSSMBQFSUnixInfo()
5328 pSMB->MaxDataCount = cpu_to_le16(100); in CIFSSMBQFSUnixInfo()
5329 pSMB->MaxSetupCount = 0; in CIFSSMBQFSUnixInfo()
5330 pSMB->Reserved = 0; in CIFSSMBQFSUnixInfo()
5331 pSMB->Flags = 0; in CIFSSMBQFSUnixInfo()
5332 pSMB->Timeout = 0; in CIFSSMBQFSUnixInfo()
5333 pSMB->Reserved2 = 0; in CIFSSMBQFSUnixInfo()
5335 pSMB->ParameterCount = cpu_to_le16(params); in CIFSSMBQFSUnixInfo()
5336 pSMB->TotalParameterCount = pSMB->ParameterCount; in CIFSSMBQFSUnixInfo()
5337 pSMB->ParameterOffset = cpu_to_le16(offsetof(struct in CIFSSMBQFSUnixInfo()
5339 pSMB->SetupCount = 1; in CIFSSMBQFSUnixInfo()
5340 pSMB->Reserved3 = 0; in CIFSSMBQFSUnixInfo()
5341 pSMB->SubCommand = cpu_to_le16(TRANS2_QUERY_FS_INFORMATION); in CIFSSMBQFSUnixInfo()
5342 pSMB->InformationLevel = cpu_to_le16(SMB_QUERY_CIFS_UNIX_INFO); in CIFSSMBQFSUnixInfo()
5343 inc_rfc1001_len(pSMB, byte_count); in CIFSSMBQFSUnixInfo()
5344 pSMB->ByteCount = cpu_to_le16(byte_count); in CIFSSMBQFSUnixInfo()
5346 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSSMBQFSUnixInfo()
5365 cifs_buf_release(pSMB); in CIFSSMBQFSUnixInfo()
5378 TRANSACTION2_SETFSI_REQ *pSMB = NULL; in CIFSSMBSetFSUnixInfo() local
5388 (void **) &pSMB, (void **) &pSMBr); in CIFSSMBSetFSUnixInfo()
5393 pSMB->MaxSetupCount = 0; in CIFSSMBSetFSUnixInfo()
5394 pSMB->Reserved = 0; in CIFSSMBSetFSUnixInfo()
5395 pSMB->Flags = 0; in CIFSSMBSetFSUnixInfo()
5396 pSMB->Timeout = 0; in CIFSSMBSetFSUnixInfo()
5397 pSMB->Reserved2 = 0; in CIFSSMBSetFSUnixInfo()
5402 pSMB->MaxParameterCount = cpu_to_le16(4); in CIFSSMBSetFSUnixInfo()
5404 pSMB->MaxDataCount = cpu_to_le16(100); in CIFSSMBSetFSUnixInfo()
5405 pSMB->SetupCount = 1; in CIFSSMBSetFSUnixInfo()
5406 pSMB->Reserved3 = 0; in CIFSSMBSetFSUnixInfo()
5407 pSMB->SubCommand = cpu_to_le16(TRANS2_SET_FS_INFORMATION); in CIFSSMBSetFSUnixInfo()
5410 pSMB->DataCount = cpu_to_le16(12); in CIFSSMBSetFSUnixInfo()
5411 pSMB->ParameterCount = cpu_to_le16(params); in CIFSSMBSetFSUnixInfo()
5412 pSMB->TotalDataCount = pSMB->DataCount; in CIFSSMBSetFSUnixInfo()
5413 pSMB->TotalParameterCount = pSMB->ParameterCount; in CIFSSMBSetFSUnixInfo()
5414 pSMB->ParameterOffset = cpu_to_le16(param_offset); in CIFSSMBSetFSUnixInfo()
5415 pSMB->DataOffset = cpu_to_le16(offset); in CIFSSMBSetFSUnixInfo()
5418 pSMB->FileNum = 0; in CIFSSMBSetFSUnixInfo()
5419 pSMB->InformationLevel = cpu_to_le16(SMB_SET_CIFS_UNIX_INFO); in CIFSSMBSetFSUnixInfo()
5422 pSMB->ClientUnixMajor = cpu_to_le16(CIFS_UNIX_MAJOR_VERSION); in CIFSSMBSetFSUnixInfo()
5423 pSMB->ClientUnixMinor = cpu_to_le16(CIFS_UNIX_MINOR_VERSION); in CIFSSMBSetFSUnixInfo()
5424 pSMB->ClientUnixCap = cpu_to_le64(cap); in CIFSSMBSetFSUnixInfo()
5426 inc_rfc1001_len(pSMB, byte_count); in CIFSSMBSetFSUnixInfo()
5427 pSMB->ByteCount = cpu_to_le16(byte_count); in CIFSSMBSetFSUnixInfo()
5429 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSSMBSetFSUnixInfo()
5438 cifs_buf_release(pSMB); in CIFSSMBSetFSUnixInfo()
5453 TRANSACTION2_QFSI_REQ *pSMB = NULL; in CIFSSMBQFSPosixInfo() local
5462 rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, in CIFSSMBQFSPosixInfo()
5468 pSMB->TotalDataCount = 0; in CIFSSMBQFSPosixInfo()
5469 pSMB->DataCount = 0; in CIFSSMBQFSPosixInfo()
5470 pSMB->DataOffset = 0; in CIFSSMBQFSPosixInfo()
5471 pSMB->MaxParameterCount = cpu_to_le16(2); in CIFSSMBQFSPosixInfo()
5473 pSMB->MaxDataCount = cpu_to_le16(100); in CIFSSMBQFSPosixInfo()
5474 pSMB->MaxSetupCount = 0; in CIFSSMBQFSPosixInfo()
5475 pSMB->Reserved = 0; in CIFSSMBQFSPosixInfo()
5476 pSMB->Flags = 0; in CIFSSMBQFSPosixInfo()
5477 pSMB->Timeout = 0; in CIFSSMBQFSPosixInfo()
5478 pSMB->Reserved2 = 0; in CIFSSMBQFSPosixInfo()
5480 pSMB->ParameterCount = cpu_to_le16(params); in CIFSSMBQFSPosixInfo()
5481 pSMB->TotalParameterCount = pSMB->ParameterCount; in CIFSSMBQFSPosixInfo()
5482 pSMB->ParameterOffset = cpu_to_le16(offsetof(struct in CIFSSMBQFSPosixInfo()
5484 pSMB->SetupCount = 1; in CIFSSMBQFSPosixInfo()
5485 pSMB->Reserved3 = 0; in CIFSSMBQFSPosixInfo()
5486 pSMB->SubCommand = cpu_to_le16(TRANS2_QUERY_FS_INFORMATION); in CIFSSMBQFSPosixInfo()
5487 pSMB->InformationLevel = cpu_to_le16(SMB_QUERY_POSIX_FS_INFO); in CIFSSMBQFSPosixInfo()
5488 inc_rfc1001_len(pSMB, byte_count); in CIFSSMBQFSPosixInfo()
5489 pSMB->ByteCount = cpu_to_le16(byte_count); in CIFSSMBQFSPosixInfo()
5491 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSSMBQFSPosixInfo()
5526 cifs_buf_release(pSMB); in CIFSSMBQFSPosixInfo()
5546 struct smb_com_transaction2_spi_req *pSMB = NULL; in CIFSSMBSetEOF() local
5558 rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, in CIFSSMBSetEOF()
5563 if (pSMB->hdr.Flags2 & SMBFLG2_UNICODE) { in CIFSSMBSetEOF()
5565 cifsConvertToUTF16((__le16 *) pSMB->FileName, file_name, in CIFSSMBSetEOF()
5572 strncpy(pSMB->FileName, file_name, name_len); in CIFSSMBSetEOF()
5576 pSMB->MaxParameterCount = cpu_to_le16(2); in CIFSSMBSetEOF()
5577 pSMB->MaxDataCount = cpu_to_le16(4100); in CIFSSMBSetEOF()
5578 pSMB->MaxSetupCount = 0; in CIFSSMBSetEOF()
5579 pSMB->Reserved = 0; in CIFSSMBSetEOF()
5580 pSMB->Flags = 0; in CIFSSMBSetEOF()
5581 pSMB->Timeout = 0; in CIFSSMBSetEOF()
5582 pSMB->Reserved2 = 0; in CIFSSMBSetEOF()
5588 pSMB->InformationLevel = in CIFSSMBSetEOF()
5591 pSMB->InformationLevel = in CIFSSMBSetEOF()
5595 pSMB->InformationLevel = in CIFSSMBSetEOF()
5598 pSMB->InformationLevel = in CIFSSMBSetEOF()
5603 (struct file_end_of_file_info *) (((char *) &pSMB->hdr.Protocol) + in CIFSSMBSetEOF()
5605 pSMB->ParameterOffset = cpu_to_le16(param_offset); in CIFSSMBSetEOF()
5606 pSMB->DataOffset = cpu_to_le16(offset); in CIFSSMBSetEOF()
5607 pSMB->SetupCount = 1; in CIFSSMBSetEOF()
5608 pSMB->Reserved3 = 0; in CIFSSMBSetEOF()
5609 pSMB->SubCommand = cpu_to_le16(TRANS2_SET_PATH_INFORMATION); in CIFSSMBSetEOF()
5611 pSMB->DataCount = cpu_to_le16(data_count); in CIFSSMBSetEOF()
5612 pSMB->TotalDataCount = pSMB->DataCount; in CIFSSMBSetEOF()
5613 pSMB->ParameterCount = cpu_to_le16(params); in CIFSSMBSetEOF()
5614 pSMB->TotalParameterCount = pSMB->ParameterCount; in CIFSSMBSetEOF()
5615 pSMB->Reserved4 = 0; in CIFSSMBSetEOF()
5616 inc_rfc1001_len(pSMB, byte_count); in CIFSSMBSetEOF()
5618 pSMB->ByteCount = cpu_to_le16(byte_count); in CIFSSMBSetEOF()
5619 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSSMBSetEOF()
5624 cifs_buf_release(pSMB); in CIFSSMBSetEOF()
5636 struct smb_com_transaction2_sfi_req *pSMB = NULL; in CIFSSMBSetFileSize() local
5643 rc = small_smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB); in CIFSSMBSetFileSize()
5648 pSMB->hdr.Pid = cpu_to_le16((__u16)cfile->pid); in CIFSSMBSetFileSize()
5649 pSMB->hdr.PidHigh = cpu_to_le16((__u16)(cfile->pid >> 16)); in CIFSSMBSetFileSize()
5652 pSMB->MaxSetupCount = 0; in CIFSSMBSetFileSize()
5653 pSMB->Reserved = 0; in CIFSSMBSetFileSize()
5654 pSMB->Flags = 0; in CIFSSMBSetFileSize()
5655 pSMB->Timeout = 0; in CIFSSMBSetFileSize()
5656 pSMB->Reserved2 = 0; in CIFSSMBSetFileSize()
5661 pSMB->MaxParameterCount = cpu_to_le16(2); in CIFSSMBSetFileSize()
5663 pSMB->MaxDataCount = cpu_to_le16(1000); in CIFSSMBSetFileSize()
5664 pSMB->SetupCount = 1; in CIFSSMBSetFileSize()
5665 pSMB->Reserved3 = 0; in CIFSSMBSetFileSize()
5666 pSMB->SubCommand = cpu_to_le16(TRANS2_SET_FILE_INFORMATION); in CIFSSMBSetFileSize()
5668 pSMB->DataCount = cpu_to_le16(count); in CIFSSMBSetFileSize()
5669 pSMB->ParameterCount = cpu_to_le16(params); in CIFSSMBSetFileSize()
5670 pSMB->TotalDataCount = pSMB->DataCount; in CIFSSMBSetFileSize()
5671 pSMB->TotalParameterCount = pSMB->ParameterCount; in CIFSSMBSetFileSize()
5672 pSMB->ParameterOffset = cpu_to_le16(param_offset); in CIFSSMBSetFileSize()
5674 (struct file_end_of_file_info *) (((char *) &pSMB->hdr.Protocol) in CIFSSMBSetFileSize()
5676 pSMB->DataOffset = cpu_to_le16(offset); in CIFSSMBSetFileSize()
5678 pSMB->Fid = cfile->fid.netfid; in CIFSSMBSetFileSize()
5681 pSMB->InformationLevel = in CIFSSMBSetFileSize()
5684 pSMB->InformationLevel = in CIFSSMBSetFileSize()
5688 pSMB->InformationLevel = in CIFSSMBSetFileSize()
5691 pSMB->InformationLevel = in CIFSSMBSetFileSize()
5694 pSMB->Reserved4 = 0; in CIFSSMBSetFileSize()
5695 inc_rfc1001_len(pSMB, byte_count); in CIFSSMBSetFileSize()
5696 pSMB->ByteCount = cpu_to_le16(byte_count); in CIFSSMBSetFileSize()
5697 rc = SendReceiveNoRsp(xid, tcon->ses, (char *) pSMB, 0); in CIFSSMBSetFileSize()
5719 struct smb_com_transaction2_sfi_req *pSMB = NULL; in CIFSSMBSetFileInfo() local
5725 rc = small_smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB); in CIFSSMBSetFileInfo()
5730 pSMB->hdr.Pid = cpu_to_le16((__u16)pid_of_opener); in CIFSSMBSetFileInfo()
5731 pSMB->hdr.PidHigh = cpu_to_le16((__u16)(pid_of_opener >> 16)); in CIFSSMBSetFileInfo()
5734 pSMB->MaxSetupCount = 0; in CIFSSMBSetFileInfo()
5735 pSMB->Reserved = 0; in CIFSSMBSetFileInfo()
5736 pSMB->Flags = 0; in CIFSSMBSetFileInfo()
5737 pSMB->Timeout = 0; in CIFSSMBSetFileInfo()
5738 pSMB->Reserved2 = 0; in CIFSSMBSetFileInfo()
5742 data_offset = (char *)pSMB + in CIFSSMBSetFileInfo()
5746 pSMB->MaxParameterCount = cpu_to_le16(2); in CIFSSMBSetFileInfo()
5748 pSMB->MaxDataCount = cpu_to_le16(1000); in CIFSSMBSetFileInfo()
5749 pSMB->SetupCount = 1; in CIFSSMBSetFileInfo()
5750 pSMB->Reserved3 = 0; in CIFSSMBSetFileInfo()
5751 pSMB->SubCommand = cpu_to_le16(TRANS2_SET_FILE_INFORMATION); in CIFSSMBSetFileInfo()
5753 pSMB->DataCount = cpu_to_le16(count); in CIFSSMBSetFileInfo()
5754 pSMB->ParameterCount = cpu_to_le16(params); in CIFSSMBSetFileInfo()
5755 pSMB->TotalDataCount = pSMB->DataCount; in CIFSSMBSetFileInfo()
5756 pSMB->TotalParameterCount = pSMB->ParameterCount; in CIFSSMBSetFileInfo()
5757 pSMB->ParameterOffset = cpu_to_le16(param_offset); in CIFSSMBSetFileInfo()
5758 pSMB->DataOffset = cpu_to_le16(offset); in CIFSSMBSetFileInfo()
5759 pSMB->Fid = fid; in CIFSSMBSetFileInfo()
5761 pSMB->InformationLevel = cpu_to_le16(SMB_SET_FILE_BASIC_INFO2); in CIFSSMBSetFileInfo()
5763 pSMB->InformationLevel = cpu_to_le16(SMB_SET_FILE_BASIC_INFO); in CIFSSMBSetFileInfo()
5764 pSMB->Reserved4 = 0; in CIFSSMBSetFileInfo()
5765 inc_rfc1001_len(pSMB, byte_count); in CIFSSMBSetFileInfo()
5766 pSMB->ByteCount = cpu_to_le16(byte_count); in CIFSSMBSetFileInfo()
5768 rc = SendReceiveNoRsp(xid, tcon->ses, (char *) pSMB, 0); in CIFSSMBSetFileInfo()
5783 struct smb_com_transaction2_sfi_req *pSMB = NULL; in CIFSSMBSetFileDisposition() local
5789 rc = small_smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB); in CIFSSMBSetFileDisposition()
5794 pSMB->hdr.Pid = cpu_to_le16((__u16)pid_of_opener); in CIFSSMBSetFileDisposition()
5795 pSMB->hdr.PidHigh = cpu_to_le16((__u16)(pid_of_opener >> 16)); in CIFSSMBSetFileDisposition()
5798 pSMB->MaxSetupCount = 0; in CIFSSMBSetFileDisposition()
5799 pSMB->Reserved = 0; in CIFSSMBSetFileDisposition()
5800 pSMB->Flags = 0; in CIFSSMBSetFileDisposition()
5801 pSMB->Timeout = 0; in CIFSSMBSetFileDisposition()
5802 pSMB->Reserved2 = 0; in CIFSSMBSetFileDisposition()
5806 data_offset = (char *) (&pSMB->hdr.Protocol) + offset; in CIFSSMBSetFileDisposition()
5809 pSMB->MaxParameterCount = cpu_to_le16(2); in CIFSSMBSetFileDisposition()
5811 pSMB->MaxDataCount = cpu_to_le16(1000); in CIFSSMBSetFileDisposition()
5812 pSMB->SetupCount = 1; in CIFSSMBSetFileDisposition()
5813 pSMB->Reserved3 = 0; in CIFSSMBSetFileDisposition()
5814 pSMB->SubCommand = cpu_to_le16(TRANS2_SET_FILE_INFORMATION); in CIFSSMBSetFileDisposition()
5816 pSMB->DataCount = cpu_to_le16(count); in CIFSSMBSetFileDisposition()
5817 pSMB->ParameterCount = cpu_to_le16(params); in CIFSSMBSetFileDisposition()
5818 pSMB->TotalDataCount = pSMB->DataCount; in CIFSSMBSetFileDisposition()
5819 pSMB->TotalParameterCount = pSMB->ParameterCount; in CIFSSMBSetFileDisposition()
5820 pSMB->ParameterOffset = cpu_to_le16(param_offset); in CIFSSMBSetFileDisposition()
5821 pSMB->DataOffset = cpu_to_le16(offset); in CIFSSMBSetFileDisposition()
5822 pSMB->Fid = fid; in CIFSSMBSetFileDisposition()
5823 pSMB->InformationLevel = cpu_to_le16(SMB_SET_FILE_DISPOSITION_INFO); in CIFSSMBSetFileDisposition()
5824 pSMB->Reserved4 = 0; in CIFSSMBSetFileDisposition()
5825 inc_rfc1001_len(pSMB, byte_count); in CIFSSMBSetFileDisposition()
5826 pSMB->ByteCount = cpu_to_le16(byte_count); in CIFSSMBSetFileDisposition()
5828 rc = SendReceiveNoRsp(xid, tcon->ses, (char *) pSMB, 0); in CIFSSMBSetFileDisposition()
5840 TRANSACTION2_SPI_REQ *pSMB = NULL; in CIFSSMBSetPathInfo() local
5851 rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, in CIFSSMBSetPathInfo()
5856 if (pSMB->hdr.Flags2 & SMBFLG2_UNICODE) { in CIFSSMBSetPathInfo()
5858 cifsConvertToUTF16((__le16 *) pSMB->FileName, fileName, in CIFSSMBSetPathInfo()
5865 strncpy(pSMB->FileName, fileName, name_len); in CIFSSMBSetPathInfo()
5870 pSMB->MaxParameterCount = cpu_to_le16(2); in CIFSSMBSetPathInfo()
5872 pSMB->MaxDataCount = cpu_to_le16(1000); in CIFSSMBSetPathInfo()
5873 pSMB->MaxSetupCount = 0; in CIFSSMBSetPathInfo()
5874 pSMB->Reserved = 0; in CIFSSMBSetPathInfo()
5875 pSMB->Flags = 0; in CIFSSMBSetPathInfo()
5876 pSMB->Timeout = 0; in CIFSSMBSetPathInfo()
5877 pSMB->Reserved2 = 0; in CIFSSMBSetPathInfo()
5881 data_offset = (char *) (&pSMB->hdr.Protocol) + offset; in CIFSSMBSetPathInfo()
5882 pSMB->ParameterOffset = cpu_to_le16(param_offset); in CIFSSMBSetPathInfo()
5883 pSMB->DataOffset = cpu_to_le16(offset); in CIFSSMBSetPathInfo()
5884 pSMB->SetupCount = 1; in CIFSSMBSetPathInfo()
5885 pSMB->Reserved3 = 0; in CIFSSMBSetPathInfo()
5886 pSMB->SubCommand = cpu_to_le16(TRANS2_SET_PATH_INFORMATION); in CIFSSMBSetPathInfo()
5889 pSMB->DataCount = cpu_to_le16(count); in CIFSSMBSetPathInfo()
5890 pSMB->ParameterCount = cpu_to_le16(params); in CIFSSMBSetPathInfo()
5891 pSMB->TotalDataCount = pSMB->DataCount; in CIFSSMBSetPathInfo()
5892 pSMB->TotalParameterCount = pSMB->ParameterCount; in CIFSSMBSetPathInfo()
5894 pSMB->InformationLevel = cpu_to_le16(SMB_SET_FILE_BASIC_INFO2); in CIFSSMBSetPathInfo()
5896 pSMB->InformationLevel = cpu_to_le16(SMB_SET_FILE_BASIC_INFO); in CIFSSMBSetPathInfo()
5897 pSMB->Reserved4 = 0; in CIFSSMBSetPathInfo()
5898 inc_rfc1001_len(pSMB, byte_count); in CIFSSMBSetPathInfo()
5900 pSMB->ByteCount = cpu_to_le16(byte_count); in CIFSSMBSetPathInfo()
5901 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSSMBSetPathInfo()
5906 cifs_buf_release(pSMB); in CIFSSMBSetPathInfo()
5923 SETATTR_REQ *pSMB = NULL;
5932 rc = smb_init(SMB_COM_SETATTR, 8, tcon, (void **) &pSMB,
5937 if (pSMB->hdr.Flags2 & SMBFLG2_UNICODE) {
5939 ConvertToUTF16((__le16 *) pSMB->fileName, fileName,
5946 strncpy(pSMB->fileName, fileName, name_len);
5948 pSMB->attr = cpu_to_le16(dos_attrs);
5949 pSMB->BufferFormat = 0x04;
5950 inc_rfc1001_len(pSMB, name_len + 1);
5951 pSMB->ByteCount = cpu_to_le16(name_len + 1);
5952 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB,
5957 cifs_buf_release(pSMB);
6018 struct smb_com_transaction2_sfi_req *pSMB = NULL; in CIFSSMBUnixSetFileInfo() local
6024 rc = small_smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB); in CIFSSMBUnixSetFileInfo()
6029 pSMB->hdr.Pid = cpu_to_le16((__u16)pid_of_opener); in CIFSSMBUnixSetFileInfo()
6030 pSMB->hdr.PidHigh = cpu_to_le16((__u16)(pid_of_opener >> 16)); in CIFSSMBUnixSetFileInfo()
6033 pSMB->MaxSetupCount = 0; in CIFSSMBUnixSetFileInfo()
6034 pSMB->Reserved = 0; in CIFSSMBUnixSetFileInfo()
6035 pSMB->Flags = 0; in CIFSSMBUnixSetFileInfo()
6036 pSMB->Timeout = 0; in CIFSSMBUnixSetFileInfo()
6037 pSMB->Reserved2 = 0; in CIFSSMBUnixSetFileInfo()
6041 data_offset = (char *)pSMB + in CIFSSMBUnixSetFileInfo()
6046 pSMB->MaxParameterCount = cpu_to_le16(2); in CIFSSMBUnixSetFileInfo()
6048 pSMB->MaxDataCount = cpu_to_le16(1000); in CIFSSMBUnixSetFileInfo()
6049 pSMB->SetupCount = 1; in CIFSSMBUnixSetFileInfo()
6050 pSMB->Reserved3 = 0; in CIFSSMBUnixSetFileInfo()
6051 pSMB->SubCommand = cpu_to_le16(TRANS2_SET_FILE_INFORMATION); in CIFSSMBUnixSetFileInfo()
6053 pSMB->DataCount = cpu_to_le16(count); in CIFSSMBUnixSetFileInfo()
6054 pSMB->ParameterCount = cpu_to_le16(params); in CIFSSMBUnixSetFileInfo()
6055 pSMB->TotalDataCount = pSMB->DataCount; in CIFSSMBUnixSetFileInfo()
6056 pSMB->TotalParameterCount = pSMB->ParameterCount; in CIFSSMBUnixSetFileInfo()
6057 pSMB->ParameterOffset = cpu_to_le16(param_offset); in CIFSSMBUnixSetFileInfo()
6058 pSMB->DataOffset = cpu_to_le16(offset); in CIFSSMBUnixSetFileInfo()
6059 pSMB->Fid = fid; in CIFSSMBUnixSetFileInfo()
6060 pSMB->InformationLevel = cpu_to_le16(SMB_SET_FILE_UNIX_BASIC); in CIFSSMBUnixSetFileInfo()
6061 pSMB->Reserved4 = 0; in CIFSSMBUnixSetFileInfo()
6062 inc_rfc1001_len(pSMB, byte_count); in CIFSSMBUnixSetFileInfo()
6063 pSMB->ByteCount = cpu_to_le16(byte_count); in CIFSSMBUnixSetFileInfo()
6067 rc = SendReceiveNoRsp(xid, tcon->ses, (char *) pSMB, 0); in CIFSSMBUnixSetFileInfo()
6084 TRANSACTION2_SPI_REQ *pSMB = NULL; in CIFSSMBUnixSetPathInfo() local
6094 rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, in CIFSSMBUnixSetPathInfo()
6099 if (pSMB->hdr.Flags2 & SMBFLG2_UNICODE) { in CIFSSMBUnixSetPathInfo()
6101 cifsConvertToUTF16((__le16 *) pSMB->FileName, file_name, in CIFSSMBUnixSetPathInfo()
6108 strncpy(pSMB->FileName, file_name, name_len); in CIFSSMBUnixSetPathInfo()
6113 pSMB->MaxParameterCount = cpu_to_le16(2); in CIFSSMBUnixSetPathInfo()
6115 pSMB->MaxDataCount = cpu_to_le16(1000); in CIFSSMBUnixSetPathInfo()
6116 pSMB->MaxSetupCount = 0; in CIFSSMBUnixSetPathInfo()
6117 pSMB->Reserved = 0; in CIFSSMBUnixSetPathInfo()
6118 pSMB->Flags = 0; in CIFSSMBUnixSetPathInfo()
6119 pSMB->Timeout = 0; in CIFSSMBUnixSetPathInfo()
6120 pSMB->Reserved2 = 0; in CIFSSMBUnixSetPathInfo()
6125 (FILE_UNIX_BASIC_INFO *) ((char *) &pSMB->hdr.Protocol + in CIFSSMBUnixSetPathInfo()
6128 pSMB->DataOffset = cpu_to_le16(offset); in CIFSSMBUnixSetPathInfo()
6129 pSMB->ParameterOffset = cpu_to_le16(param_offset); in CIFSSMBUnixSetPathInfo()
6130 pSMB->SetupCount = 1; in CIFSSMBUnixSetPathInfo()
6131 pSMB->Reserved3 = 0; in CIFSSMBUnixSetPathInfo()
6132 pSMB->SubCommand = cpu_to_le16(TRANS2_SET_PATH_INFORMATION); in CIFSSMBUnixSetPathInfo()
6134 pSMB->ParameterCount = cpu_to_le16(params); in CIFSSMBUnixSetPathInfo()
6135 pSMB->DataCount = cpu_to_le16(count); in CIFSSMBUnixSetPathInfo()
6136 pSMB->TotalParameterCount = pSMB->ParameterCount; in CIFSSMBUnixSetPathInfo()
6137 pSMB->TotalDataCount = pSMB->DataCount; in CIFSSMBUnixSetPathInfo()
6138 pSMB->InformationLevel = cpu_to_le16(SMB_SET_FILE_UNIX_BASIC); in CIFSSMBUnixSetPathInfo()
6139 pSMB->Reserved4 = 0; in CIFSSMBUnixSetPathInfo()
6140 inc_rfc1001_len(pSMB, byte_count); in CIFSSMBUnixSetPathInfo()
6144 pSMB->ByteCount = cpu_to_le16(byte_count); in CIFSSMBUnixSetPathInfo()
6145 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSSMBUnixSetPathInfo()
6150 cifs_buf_release(pSMB); in CIFSSMBUnixSetPathInfo()
6173 TRANSACTION2_QPI_REQ *pSMB = NULL; in CIFSSMBQAllEAs() local
6187 rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, in CIFSSMBQAllEAs()
6192 if (pSMB->hdr.Flags2 & SMBFLG2_UNICODE) { in CIFSSMBQAllEAs()
6194 cifsConvertToUTF16((__le16 *) pSMB->FileName, searchName, in CIFSSMBQAllEAs()
6201 strncpy(pSMB->FileName, searchName, list_len); in CIFSSMBQAllEAs()
6205 pSMB->TotalDataCount = 0; in CIFSSMBQAllEAs()
6206 pSMB->MaxParameterCount = cpu_to_le16(2); in CIFSSMBQAllEAs()
6208 pSMB->MaxDataCount = cpu_to_le16(CIFSMaxBufSize); in CIFSSMBQAllEAs()
6209 pSMB->MaxSetupCount = 0; in CIFSSMBQAllEAs()
6210 pSMB->Reserved = 0; in CIFSSMBQAllEAs()
6211 pSMB->Flags = 0; in CIFSSMBQAllEAs()
6212 pSMB->Timeout = 0; in CIFSSMBQAllEAs()
6213 pSMB->Reserved2 = 0; in CIFSSMBQAllEAs()
6214 pSMB->ParameterOffset = cpu_to_le16(offsetof( in CIFSSMBQAllEAs()
6216 pSMB->DataCount = 0; in CIFSSMBQAllEAs()
6217 pSMB->DataOffset = 0; in CIFSSMBQAllEAs()
6218 pSMB->SetupCount = 1; in CIFSSMBQAllEAs()
6219 pSMB->Reserved3 = 0; in CIFSSMBQAllEAs()
6220 pSMB->SubCommand = cpu_to_le16(TRANS2_QUERY_PATH_INFORMATION); in CIFSSMBQAllEAs()
6222 pSMB->TotalParameterCount = cpu_to_le16(params); in CIFSSMBQAllEAs()
6223 pSMB->ParameterCount = pSMB->TotalParameterCount; in CIFSSMBQAllEAs()
6224 pSMB->InformationLevel = cpu_to_le16(SMB_INFO_QUERY_ALL_EAS); in CIFSSMBQAllEAs()
6225 pSMB->Reserved4 = 0; in CIFSSMBQAllEAs()
6226 inc_rfc1001_len(pSMB, byte_count); in CIFSSMBQAllEAs()
6227 pSMB->ByteCount = cpu_to_le16(byte_count); in CIFSSMBQAllEAs()
6229 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSSMBQAllEAs()
6345 cifs_buf_release(pSMB); in CIFSSMBQAllEAs()
6358 struct smb_com_transaction2_spi_req *pSMB = NULL; in CIFSSMBSetEA() local
6368 rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, in CIFSSMBSetEA()
6373 if (pSMB->hdr.Flags2 & SMBFLG2_UNICODE) { in CIFSSMBSetEA()
6375 cifsConvertToUTF16((__le16 *) pSMB->FileName, fileName, in CIFSSMBSetEA()
6382 strncpy(pSMB->FileName, fileName, name_len); in CIFSSMBSetEA()
6396 pSMB->MaxParameterCount = cpu_to_le16(2); in CIFSSMBSetEA()
6398 pSMB->MaxDataCount = cpu_to_le16(1000); in CIFSSMBSetEA()
6399 pSMB->MaxSetupCount = 0; in CIFSSMBSetEA()
6400 pSMB->Reserved = 0; in CIFSSMBSetEA()
6401 pSMB->Flags = 0; in CIFSSMBSetEA()
6402 pSMB->Timeout = 0; in CIFSSMBSetEA()
6403 pSMB->Reserved2 = 0; in CIFSSMBSetEA()
6407 pSMB->InformationLevel = in CIFSSMBSetEA()
6411 (struct fealist *) (((char *) &pSMB->hdr.Protocol) + 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()
6486 struct smb_com_transaction_change_notify_req *pSMB = NULL; in CIFSSMBNotify() local
6492 rc = smb_init(SMB_COM_NT_TRANSACT, 23, tcon, (void **) &pSMB, in CIFSSMBNotify()
6497 pSMB->TotalParameterCount = 0 ; in CIFSSMBNotify()
6498 pSMB->TotalDataCount = 0; in CIFSSMBNotify()
6499 pSMB->MaxParameterCount = cpu_to_le32(2); in CIFSSMBNotify()
6500 pSMB->MaxDataCount = cpu_to_le32(CIFSMaxBufSize & 0xFFFFFF00); in CIFSSMBNotify()
6501 pSMB->MaxSetupCount = 4; in CIFSSMBNotify()
6502 pSMB->Reserved = 0; in CIFSSMBNotify()
6503 pSMB->ParameterOffset = 0; in CIFSSMBNotify()
6504 pSMB->DataCount = 0; in CIFSSMBNotify()
6505 pSMB->DataOffset = 0; in CIFSSMBNotify()
6506 pSMB->SetupCount = 4; /* single byte does not need le conversion */ in CIFSSMBNotify()
6507 pSMB->SubCommand = cpu_to_le16(NT_TRANSACT_NOTIFY_CHANGE); in CIFSSMBNotify()
6508 pSMB->ParameterCount = pSMB->TotalParameterCount; in CIFSSMBNotify()
6510 pSMB->WatchTree = 1; /* one byte - no le conversion needed */ in CIFSSMBNotify()
6511 pSMB->Reserved2 = 0; in CIFSSMBNotify()
6512 pSMB->CompletionFilter = cpu_to_le32(filter); in CIFSSMBNotify()
6513 pSMB->Fid = netfid; /* file handle always le */ in CIFSSMBNotify()
6514 pSMB->ByteCount = 0; in CIFSSMBNotify()
6516 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSSMBNotify()
6528 dnotify_req->Pid = pSMB->hdr.Pid; in CIFSSMBNotify()
6529 dnotify_req->PidHigh = pSMB->hdr.PidHigh; in CIFSSMBNotify()
6530 dnotify_req->Mid = pSMB->hdr.Mid; in CIFSSMBNotify()
6531 dnotify_req->Tid = pSMB->hdr.Tid; in CIFSSMBNotify()
6532 dnotify_req->Uid = pSMB->hdr.Uid; in CIFSSMBNotify()
6544 cifs_buf_release(pSMB); in CIFSSMBNotify()