Lines Matching refs:pSMB

361 static int validate_t2(struct smb_t2_rsp *pSMB)  in validate_t2()  argument
366 if (pSMB->hdr.WordCount < 10) in validate_t2()
370 if (get_unaligned_le16(&pSMB->t2_rsp.ParameterOffset) > 1024 || in validate_t2()
371 get_unaligned_le16(&pSMB->t2_rsp.DataOffset) > 1024) in validate_t2()
374 total_size = get_unaligned_le16(&pSMB->t2_rsp.ParameterCount); in validate_t2()
381 total_size += get_unaligned_le16(&pSMB->t2_rsp.DataCount); in validate_t2()
382 if (total_size > get_bcc(&pSMB->hdr) || in validate_t2()
388 cifs_dump_mem("Invalid transact2 SMB: ", (char *)pSMB, in validate_t2()
577 NEGOTIATE_REQ *pSMB; in CIFSSMBNegotiate() local
591 (void **) &pSMB, (void **) &pSMBr); in CIFSSMBNegotiate()
595 pSMB->hdr.Mid = get_next_mid(server); in CIFSSMBNegotiate()
596 pSMB->hdr.Flags2 |= (SMBFLG2_UNICODE | SMBFLG2_ERR_STATUS); in CIFSSMBNegotiate()
600 pSMB->hdr.Flags2 |= SMBFLG2_EXT_SEC; in CIFSSMBNegotiate()
611 memcpy(pSMB->DialectsArray+count, protocols[i].name, len); in CIFSSMBNegotiate()
614 inc_rfc1001_len(pSMB, count); in CIFSSMBNegotiate()
615 pSMB->ByteCount = cpu_to_le16(count); in CIFSSMBNegotiate()
617 rc = SendReceive(xid, ses, (struct smb_hdr *) pSMB, in CIFSSMBNegotiate()
678 cifs_buf_release(pSMB); in CIFSSMBNegotiate()
783 LOGOFF_ANDX_REQ *pSMB; in CIFSSMBLogoff() local
800 rc = small_smb_init(SMB_COM_LOGOFF_ANDX, 2, NULL, (void **)&pSMB); in CIFSSMBLogoff()
806 pSMB->hdr.Mid = get_next_mid(ses->server); in CIFSSMBLogoff()
809 pSMB->hdr.Flags2 |= SMBFLG2_SECURITY_SIGNATURE; in CIFSSMBLogoff()
811 pSMB->hdr.Uid = ses->Suid; in CIFSSMBLogoff()
813 pSMB->AndXCommand = 0xFF; in CIFSSMBLogoff()
814 rc = SendReceiveNoRsp(xid, ses, (char *) pSMB, 0); in CIFSSMBLogoff()
815 cifs_small_buf_release(pSMB); in CIFSSMBLogoff()
832 TRANSACTION2_SPI_REQ *pSMB = NULL; in CIFSPOSIXDelFile() local
842 rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, in CIFSPOSIXDelFile()
847 if (pSMB->hdr.Flags2 & SMBFLG2_UNICODE) { in CIFSPOSIXDelFile()
849 cifsConvertToUTF16((__le16 *) pSMB->FileName, fileName, in CIFSPOSIXDelFile()
856 strncpy(pSMB->FileName, fileName, name_len); in CIFSPOSIXDelFile()
860 pSMB->MaxParameterCount = cpu_to_le16(2); in CIFSPOSIXDelFile()
861 pSMB->MaxDataCount = 0; /* BB double check this with jra */ in CIFSPOSIXDelFile()
862 pSMB->MaxSetupCount = 0; in CIFSPOSIXDelFile()
863 pSMB->Reserved = 0; in CIFSPOSIXDelFile()
864 pSMB->Flags = 0; in CIFSPOSIXDelFile()
865 pSMB->Timeout = 0; in CIFSPOSIXDelFile()
866 pSMB->Reserved2 = 0; in CIFSPOSIXDelFile()
872 pRqD = (struct unlink_psx_rq *)(((char *)&pSMB->hdr.Protocol) + offset); in CIFSPOSIXDelFile()
874 pSMB->ParameterOffset = cpu_to_le16(param_offset); in CIFSPOSIXDelFile()
875 pSMB->DataOffset = cpu_to_le16(offset); in CIFSPOSIXDelFile()
876 pSMB->SetupCount = 1; in CIFSPOSIXDelFile()
877 pSMB->Reserved3 = 0; in CIFSPOSIXDelFile()
878 pSMB->SubCommand = cpu_to_le16(TRANS2_SET_PATH_INFORMATION); in CIFSPOSIXDelFile()
881 pSMB->DataCount = cpu_to_le16(sizeof(struct unlink_psx_rq)); in CIFSPOSIXDelFile()
882 pSMB->TotalDataCount = cpu_to_le16(sizeof(struct unlink_psx_rq)); in CIFSPOSIXDelFile()
883 pSMB->ParameterCount = cpu_to_le16(params); in CIFSPOSIXDelFile()
884 pSMB->TotalParameterCount = pSMB->ParameterCount; in CIFSPOSIXDelFile()
885 pSMB->InformationLevel = cpu_to_le16(SMB_POSIX_UNLINK); in CIFSPOSIXDelFile()
886 pSMB->Reserved4 = 0; in CIFSPOSIXDelFile()
887 inc_rfc1001_len(pSMB, byte_count); in CIFSPOSIXDelFile()
888 pSMB->ByteCount = cpu_to_le16(byte_count); in CIFSPOSIXDelFile()
889 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSPOSIXDelFile()
893 cifs_buf_release(pSMB); in CIFSPOSIXDelFile()
907 DELETE_FILE_REQ *pSMB = NULL; in CIFSSMBDelFile() local
915 rc = smb_init(SMB_COM_DELETE, 1, tcon, (void **) &pSMB, in CIFSSMBDelFile()
920 if (pSMB->hdr.Flags2 & SMBFLG2_UNICODE) { in CIFSSMBDelFile()
921 name_len = cifsConvertToUTF16((__le16 *) pSMB->fileName, name, in CIFSSMBDelFile()
929 strncpy(pSMB->fileName, name, name_len); in CIFSSMBDelFile()
931 pSMB->SearchAttributes = in CIFSSMBDelFile()
933 pSMB->BufferFormat = 0x04; in CIFSSMBDelFile()
934 inc_rfc1001_len(pSMB, name_len + 1); in CIFSSMBDelFile()
935 pSMB->ByteCount = cpu_to_le16(name_len + 1); in CIFSSMBDelFile()
936 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSSMBDelFile()
942 cifs_buf_release(pSMB); in CIFSSMBDelFile()
953 DELETE_DIRECTORY_REQ *pSMB = NULL; in CIFSSMBRmDir() local
962 rc = smb_init(SMB_COM_DELETE_DIRECTORY, 0, tcon, (void **) &pSMB, in CIFSSMBRmDir()
967 if (pSMB->hdr.Flags2 & SMBFLG2_UNICODE) { in CIFSSMBRmDir()
968 name_len = cifsConvertToUTF16((__le16 *) pSMB->DirName, name, in CIFSSMBRmDir()
976 strncpy(pSMB->DirName, name, name_len); in CIFSSMBRmDir()
979 pSMB->BufferFormat = 0x04; in CIFSSMBRmDir()
980 inc_rfc1001_len(pSMB, name_len + 1); in CIFSSMBRmDir()
981 pSMB->ByteCount = cpu_to_le16(name_len + 1); in CIFSSMBRmDir()
982 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSSMBRmDir()
988 cifs_buf_release(pSMB); in CIFSSMBRmDir()
999 CREATE_DIRECTORY_REQ *pSMB = NULL; in CIFSSMBMkDir() local
1007 rc = smb_init(SMB_COM_CREATE_DIRECTORY, 0, tcon, (void **) &pSMB, in CIFSSMBMkDir()
1012 if (pSMB->hdr.Flags2 & SMBFLG2_UNICODE) { in CIFSSMBMkDir()
1013 name_len = cifsConvertToUTF16((__le16 *) pSMB->DirName, name, in CIFSSMBMkDir()
1021 strncpy(pSMB->DirName, name, name_len); in CIFSSMBMkDir()
1024 pSMB->BufferFormat = 0x04; in CIFSSMBMkDir()
1025 inc_rfc1001_len(pSMB, name_len + 1); in CIFSSMBMkDir()
1026 pSMB->ByteCount = cpu_to_le16(name_len + 1); in CIFSSMBMkDir()
1027 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSSMBMkDir()
1033 cifs_buf_release(pSMB); in CIFSSMBMkDir()
1046 TRANSACTION2_SPI_REQ *pSMB = NULL; in CIFSPOSIXCreate() local
1057 rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, in CIFSPOSIXCreate()
1062 if (pSMB->hdr.Flags2 & SMBFLG2_UNICODE) { in CIFSPOSIXCreate()
1064 cifsConvertToUTF16((__le16 *) pSMB->FileName, name, in CIFSPOSIXCreate()
1071 strncpy(pSMB->FileName, name, name_len); in CIFSPOSIXCreate()
1076 pSMB->MaxParameterCount = cpu_to_le16(2); in CIFSPOSIXCreate()
1077 pSMB->MaxDataCount = cpu_to_le16(1000); /* large enough */ in CIFSPOSIXCreate()
1078 pSMB->MaxSetupCount = 0; in CIFSPOSIXCreate()
1079 pSMB->Reserved = 0; in CIFSPOSIXCreate()
1080 pSMB->Flags = 0; in CIFSPOSIXCreate()
1081 pSMB->Timeout = 0; in CIFSPOSIXCreate()
1082 pSMB->Reserved2 = 0; in CIFSPOSIXCreate()
1086 pdata = (OPEN_PSX_REQ *)(((char *)&pSMB->hdr.Protocol) + offset); in CIFSPOSIXCreate()
1091 pSMB->ParameterOffset = cpu_to_le16(param_offset); in CIFSPOSIXCreate()
1092 pSMB->DataOffset = cpu_to_le16(offset); in CIFSPOSIXCreate()
1093 pSMB->SetupCount = 1; in CIFSPOSIXCreate()
1094 pSMB->Reserved3 = 0; in CIFSPOSIXCreate()
1095 pSMB->SubCommand = cpu_to_le16(TRANS2_SET_PATH_INFORMATION); in CIFSPOSIXCreate()
1098 pSMB->DataCount = cpu_to_le16(count); in CIFSPOSIXCreate()
1099 pSMB->ParameterCount = cpu_to_le16(params); in CIFSPOSIXCreate()
1100 pSMB->TotalDataCount = pSMB->DataCount; in CIFSPOSIXCreate()
1101 pSMB->TotalParameterCount = pSMB->ParameterCount; in CIFSPOSIXCreate()
1102 pSMB->InformationLevel = cpu_to_le16(SMB_POSIX_OPEN); in CIFSPOSIXCreate()
1103 pSMB->Reserved4 = 0; in CIFSPOSIXCreate()
1104 inc_rfc1001_len(pSMB, byte_count); in CIFSPOSIXCreate()
1105 pSMB->ByteCount = cpu_to_le16(byte_count); in CIFSPOSIXCreate()
1106 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSPOSIXCreate()
1149 cifs_buf_release(pSMB); in CIFSPOSIXCreate()
1214 OPENX_REQ *pSMB = NULL; in SMBLegacyOpen() local
1221 rc = smb_init(SMB_COM_OPEN_ANDX, 15, tcon, (void **) &pSMB, in SMBLegacyOpen()
1226 pSMB->AndXCommand = 0xFF; /* none */ in SMBLegacyOpen()
1228 if (pSMB->hdr.Flags2 & SMBFLG2_UNICODE) { in SMBLegacyOpen()
1231 cifsConvertToUTF16((__le16 *) (pSMB->fileName + 1), in SMBLegacyOpen()
1239 strncpy(pSMB->fileName, fileName, name_len); in SMBLegacyOpen()
1242 pSMB->OpenFlags = cpu_to_le16(REQ_OPLOCK); in SMBLegacyOpen()
1244 pSMB->OpenFlags = cpu_to_le16(REQ_BATCHOPLOCK); in SMBLegacyOpen()
1246 pSMB->OpenFlags |= cpu_to_le16(REQ_MORE_INFO); in SMBLegacyOpen()
1247 pSMB->Mode = cpu_to_le16(access_flags_to_smbopen_mode(access_flags)); in SMBLegacyOpen()
1248 pSMB->Mode |= cpu_to_le16(0x40); /* deny none */ in SMBLegacyOpen()
1254 pSMB->FileAttributes = cpu_to_le16(ATTR_SYSTEM); in SMBLegacyOpen()
1256 pSMB->FileAttributes = cpu_to_le16(0/*ATTR_NORMAL*/); in SMBLegacyOpen()
1259 pSMB->FileAttributes |= cpu_to_le16(ATTR_READONLY); in SMBLegacyOpen()
1266 pSMB->Sattr = cpu_to_le16(ATTR_HIDDEN | ATTR_SYSTEM | ATTR_DIRECTORY); in SMBLegacyOpen()
1267 pSMB->OpenFunction = cpu_to_le16(convert_disposition(openDisposition)); in SMBLegacyOpen()
1269 inc_rfc1001_len(pSMB, count); in SMBLegacyOpen()
1271 pSMB->ByteCount = cpu_to_le16(count); in SMBLegacyOpen()
1272 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in SMBLegacyOpen()
1306 cifs_buf_release(pSMB); in SMBLegacyOpen()
1725 READ_REQ *pSMB = NULL; in CIFSSMBRead() local
1750 rc = small_smb_init(SMB_COM_READ_ANDX, wct, tcon, (void **) &pSMB); in CIFSSMBRead()
1754 pSMB->hdr.Pid = cpu_to_le16((__u16)pid); in CIFSSMBRead()
1755 pSMB->hdr.PidHigh = cpu_to_le16((__u16)(pid >> 16)); in CIFSSMBRead()
1761 pSMB->AndXCommand = 0xFF; /* none */ in CIFSSMBRead()
1762 pSMB->Fid = netfid; in CIFSSMBRead()
1763 pSMB->OffsetLow = cpu_to_le32(offset & 0xFFFFFFFF); in CIFSSMBRead()
1765 pSMB->OffsetHigh = cpu_to_le32(offset >> 32); in CIFSSMBRead()
1767 pSMB->Remaining = 0; in CIFSSMBRead()
1768 pSMB->MaxCount = cpu_to_le16(count & 0xFFFF); in CIFSSMBRead()
1769 pSMB->MaxCountHigh = cpu_to_le32(count >> 16); in CIFSSMBRead()
1771 pSMB->ByteCount = 0; /* no need to do le conversion since 0 */ in CIFSSMBRead()
1775 (struct smb_com_readx_req *)pSMB; in CIFSSMBRead()
1779 iov[0].iov_base = (char *)pSMB; in CIFSSMBRead()
1780 iov[0].iov_len = be32_to_cpu(pSMB->hdr.smb_buf_length) + 4; in CIFSSMBRead()
1783 cifs_small_buf_release(pSMB); in CIFSSMBRead()
1835 WRITE_REQ *pSMB = NULL; in CIFSSMBWrite() local
1862 rc = smb_init(SMB_COM_WRITE_ANDX, wct, tcon, (void **) &pSMB, in CIFSSMBWrite()
1867 pSMB->hdr.Pid = cpu_to_le16((__u16)pid); in CIFSSMBWrite()
1868 pSMB->hdr.PidHigh = cpu_to_le16((__u16)(pid >> 16)); in CIFSSMBWrite()
1874 pSMB->AndXCommand = 0xFF; /* none */ in CIFSSMBWrite()
1875 pSMB->Fid = netfid; in CIFSSMBWrite()
1876 pSMB->OffsetLow = cpu_to_le32(offset & 0xFFFFFFFF); in CIFSSMBWrite()
1878 pSMB->OffsetHigh = cpu_to_le32(offset >> 32); in CIFSSMBWrite()
1880 pSMB->Reserved = 0xFFFFFFFF; in CIFSSMBWrite()
1881 pSMB->WriteMode = 0; in CIFSSMBWrite()
1882 pSMB->Remaining = 0; in CIFSSMBWrite()
1897 pSMB->DataOffset = in CIFSSMBWrite()
1900 memcpy(pSMB->Data, buf, bytes_sent); in CIFSSMBWrite()
1903 cifs_buf_release(pSMB); in CIFSSMBWrite()
1911 pSMB->DataLengthLow = cpu_to_le16(bytes_sent & 0xFFFF); in CIFSSMBWrite()
1912 pSMB->DataLengthHigh = cpu_to_le16(bytes_sent >> 16); in CIFSSMBWrite()
1913 inc_rfc1001_len(pSMB, byte_count); in CIFSSMBWrite()
1916 pSMB->ByteCount = cpu_to_le16(byte_count); in CIFSSMBWrite()
1920 (struct smb_com_writex_req *)pSMB; in CIFSSMBWrite()
1924 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSSMBWrite()
1943 cifs_buf_release(pSMB); in CIFSSMBWrite()
2254 WRITE_REQ *pSMB = NULL; in CIFSSMBWrite2() local
2278 rc = small_smb_init(SMB_COM_WRITE_ANDX, wct, tcon, (void **) &pSMB); in CIFSSMBWrite2()
2282 pSMB->hdr.Pid = cpu_to_le16((__u16)pid); in CIFSSMBWrite2()
2283 pSMB->hdr.PidHigh = cpu_to_le16((__u16)(pid >> 16)); in CIFSSMBWrite2()
2289 pSMB->AndXCommand = 0xFF; /* none */ in CIFSSMBWrite2()
2290 pSMB->Fid = netfid; in CIFSSMBWrite2()
2291 pSMB->OffsetLow = cpu_to_le32(offset & 0xFFFFFFFF); in CIFSSMBWrite2()
2293 pSMB->OffsetHigh = cpu_to_le32(offset >> 32); in CIFSSMBWrite2()
2294 pSMB->Reserved = 0xFFFFFFFF; in CIFSSMBWrite2()
2295 pSMB->WriteMode = 0; in CIFSSMBWrite2()
2296 pSMB->Remaining = 0; in CIFSSMBWrite2()
2298 pSMB->DataOffset = in CIFSSMBWrite2()
2301 pSMB->DataLengthLow = cpu_to_le16(count & 0xFFFF); in CIFSSMBWrite2()
2302 pSMB->DataLengthHigh = cpu_to_le16(count >> 16); in CIFSSMBWrite2()
2304 smb_hdr_len = be32_to_cpu(pSMB->hdr.smb_buf_length) + 1; in CIFSSMBWrite2()
2306 inc_rfc1001_len(pSMB, count + 1); in CIFSSMBWrite2()
2308 inc_rfc1001_len(pSMB, count + 5); /* smb data starts later */ in CIFSSMBWrite2()
2310 pSMB->ByteCount = cpu_to_le16(count + 1); in CIFSSMBWrite2()
2313 (struct smb_com_writex_req *)pSMB; in CIFSSMBWrite2()
2316 iov[0].iov_base = pSMB; in CIFSSMBWrite2()
2324 cifs_small_buf_release(pSMB); in CIFSSMBWrite2()
2359 LOCK_REQ *pSMB = NULL; in cifs_lockv() local
2368 rc = small_smb_init(SMB_COM_LOCKING_ANDX, 8, tcon, (void **) &pSMB); in cifs_lockv()
2372 pSMB->Timeout = 0; in cifs_lockv()
2373 pSMB->NumberOfLocks = cpu_to_le16(num_lock); in cifs_lockv()
2374 pSMB->NumberOfUnlocks = cpu_to_le16(num_unlock); in cifs_lockv()
2375 pSMB->LockType = lock_type; in cifs_lockv()
2376 pSMB->AndXCommand = 0xFF; /* none */ in cifs_lockv()
2377 pSMB->Fid = netfid; /* netfid stays le */ in cifs_lockv()
2380 inc_rfc1001_len(pSMB, count); in cifs_lockv()
2381 pSMB->ByteCount = cpu_to_le16(count); in cifs_lockv()
2383 iov[0].iov_base = (char *)pSMB; in cifs_lockv()
2384 iov[0].iov_len = be32_to_cpu(pSMB->hdr.smb_buf_length) + 4 - in cifs_lockv()
2392 cifs_small_buf_release(pSMB); in cifs_lockv()
2407 LOCK_REQ *pSMB = NULL; in CIFSSMBLock() local
2415 rc = small_smb_init(SMB_COM_LOCKING_ANDX, 8, tcon, (void **) &pSMB); in CIFSSMBLock()
2423 pSMB->Timeout = 0; in CIFSSMBLock()
2426 pSMB->Timeout = cpu_to_le32(-1);/* blocking - do not time out */ in CIFSSMBLock()
2428 pSMB->Timeout = 0; in CIFSSMBLock()
2431 pSMB->NumberOfLocks = cpu_to_le16(numLock); in CIFSSMBLock()
2432 pSMB->NumberOfUnlocks = cpu_to_le16(numUnlock); in CIFSSMBLock()
2433 pSMB->LockType = lockType; in CIFSSMBLock()
2434 pSMB->OplockLevel = oplock_level; in CIFSSMBLock()
2435 pSMB->AndXCommand = 0xFF; /* none */ in CIFSSMBLock()
2436 pSMB->Fid = smb_file_id; /* netfid stays le */ in CIFSSMBLock()
2439 pSMB->Locks[0].Pid = cpu_to_le16(netpid); in CIFSSMBLock()
2441 pSMB->Locks[0].LengthLow = cpu_to_le32((u32)len); in CIFSSMBLock()
2442 pSMB->Locks[0].LengthHigh = cpu_to_le32((u32)(len>>32)); in CIFSSMBLock()
2443 pSMB->Locks[0].OffsetLow = cpu_to_le32((u32)offset); in CIFSSMBLock()
2444 pSMB->Locks[0].OffsetHigh = cpu_to_le32((u32)(offset>>32)); in CIFSSMBLock()
2450 inc_rfc1001_len(pSMB, count); in CIFSSMBLock()
2451 pSMB->ByteCount = cpu_to_le16(count); in CIFSSMBLock()
2454 rc = SendReceiveBlockingLock(xid, tcon, (struct smb_hdr *) pSMB, in CIFSSMBLock()
2455 (struct smb_hdr *) pSMB, &bytes_returned); in CIFSSMBLock()
2457 rc = SendReceiveNoRsp(xid, tcon->ses, (char *)pSMB, flags); in CIFSSMBLock()
2458 cifs_small_buf_release(pSMB); in CIFSSMBLock()
2475 struct smb_com_transaction2_sfi_req *pSMB = NULL; in CIFSSMBPosixLock() local
2488 rc = small_smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB); in CIFSSMBPosixLock()
2493 pSMBr = (struct smb_com_transaction2_sfi_rsp *)pSMB; in CIFSSMBPosixLock()
2496 pSMB->MaxSetupCount = 0; in CIFSSMBPosixLock()
2497 pSMB->Reserved = 0; in CIFSSMBPosixLock()
2498 pSMB->Flags = 0; in CIFSSMBPosixLock()
2499 pSMB->Reserved2 = 0; in CIFSSMBPosixLock()
2504 pSMB->MaxParameterCount = cpu_to_le16(2); in CIFSSMBPosixLock()
2505 pSMB->MaxDataCount = cpu_to_le16(1000); /* BB find max SMB from sess */ in CIFSSMBPosixLock()
2506 pSMB->SetupCount = 1; in CIFSSMBPosixLock()
2507 pSMB->Reserved3 = 0; in CIFSSMBPosixLock()
2509 pSMB->SubCommand = cpu_to_le16(TRANS2_QUERY_FILE_INFORMATION); in CIFSSMBPosixLock()
2511 pSMB->SubCommand = cpu_to_le16(TRANS2_SET_FILE_INFORMATION); in CIFSSMBPosixLock()
2513 pSMB->DataCount = cpu_to_le16(count); in CIFSSMBPosixLock()
2514 pSMB->ParameterCount = cpu_to_le16(params); in CIFSSMBPosixLock()
2515 pSMB->TotalDataCount = pSMB->DataCount; in CIFSSMBPosixLock()
2516 pSMB->TotalParameterCount = pSMB->ParameterCount; in CIFSSMBPosixLock()
2517 pSMB->ParameterOffset = cpu_to_le16(param_offset); in CIFSSMBPosixLock()
2519 (((char *) &pSMB->hdr.Protocol) + offset); in CIFSSMBPosixLock()
2525 pSMB->Timeout = cpu_to_le32(-1); in CIFSSMBPosixLock()
2527 pSMB->Timeout = 0; in CIFSSMBPosixLock()
2533 pSMB->DataOffset = cpu_to_le16(offset); in CIFSSMBPosixLock()
2534 pSMB->Fid = smb_file_id; in CIFSSMBPosixLock()
2535 pSMB->InformationLevel = cpu_to_le16(SMB_SET_POSIX_LOCK); in CIFSSMBPosixLock()
2536 pSMB->Reserved4 = 0; in CIFSSMBPosixLock()
2537 inc_rfc1001_len(pSMB, byte_count); in CIFSSMBPosixLock()
2538 pSMB->ByteCount = cpu_to_le16(byte_count); in CIFSSMBPosixLock()
2540 rc = SendReceiveBlockingLock(xid, tcon, (struct smb_hdr *) pSMB, in CIFSSMBPosixLock()
2543 iov[0].iov_base = (char *)pSMB; in CIFSSMBPosixLock()
2544 iov[0].iov_len = be32_to_cpu(pSMB->hdr.smb_buf_length) + 4; in CIFSSMBPosixLock()
2549 cifs_small_buf_release(pSMB); in CIFSSMBPosixLock()
2602 CLOSE_REQ *pSMB = NULL; in CIFSSMBClose() local
2606 rc = small_smb_init(SMB_COM_CLOSE, 3, tcon, (void **) &pSMB); in CIFSSMBClose()
2612 pSMB->FileID = (__u16) smb_file_id; in CIFSSMBClose()
2613 pSMB->LastWriteTime = 0xFFFFFFFF; in CIFSSMBClose()
2614 pSMB->ByteCount = 0; in CIFSSMBClose()
2615 rc = SendReceiveNoRsp(xid, tcon->ses, (char *) pSMB, 0); in CIFSSMBClose()
2616 cifs_small_buf_release(pSMB); in CIFSSMBClose()
2636 FLUSH_REQ *pSMB = NULL; in CIFSSMBFlush() local
2639 rc = small_smb_init(SMB_COM_FLUSH, 1, tcon, (void **) &pSMB); in CIFSSMBFlush()
2643 pSMB->FileID = (__u16) smb_file_id; in CIFSSMBFlush()
2644 pSMB->ByteCount = 0; in CIFSSMBFlush()
2645 rc = SendReceiveNoRsp(xid, tcon->ses, (char *) pSMB, 0); in CIFSSMBFlush()
2646 cifs_small_buf_release(pSMB); in CIFSSMBFlush()
2660 RENAME_REQ *pSMB = NULL; in CIFSSMBRename() local
2669 rc = smb_init(SMB_COM_RENAME, 1, tcon, (void **) &pSMB, in CIFSSMBRename()
2674 pSMB->BufferFormat = 0x04; in CIFSSMBRename()
2675 pSMB->SearchAttributes = in CIFSSMBRename()
2679 if (pSMB->hdr.Flags2 & SMBFLG2_UNICODE) { in CIFSSMBRename()
2680 name_len = cifsConvertToUTF16((__le16 *) pSMB->OldFileName, in CIFSSMBRename()
2685 pSMB->OldFileName[name_len] = 0x04; /* pad */ in CIFSSMBRename()
2687 pSMB->OldFileName[name_len + 1] = 0x00; in CIFSSMBRename()
2689 cifsConvertToUTF16((__le16 *)&pSMB->OldFileName[name_len+2], in CIFSSMBRename()
2697 strncpy(pSMB->OldFileName, from_name, name_len); in CIFSSMBRename()
2700 pSMB->OldFileName[name_len] = 0x04; /* 2nd buffer format */ in CIFSSMBRename()
2701 strncpy(&pSMB->OldFileName[name_len + 1], to_name, name_len2); in CIFSSMBRename()
2707 inc_rfc1001_len(pSMB, count); in CIFSSMBRename()
2708 pSMB->ByteCount = cpu_to_le16(count); in CIFSSMBRename()
2710 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSSMBRename()
2716 cifs_buf_release(pSMB); in CIFSSMBRename()
2728 struct smb_com_transaction2_sfi_req *pSMB = NULL; in CIFSSMBRenameOpenFile() local
2739 rc = smb_init(SMB_COM_TRANSACTION2, 15, pTcon, (void **) &pSMB, in CIFSSMBRenameOpenFile()
2745 pSMB->MaxSetupCount = 0; in CIFSSMBRenameOpenFile()
2746 pSMB->Reserved = 0; in CIFSSMBRenameOpenFile()
2747 pSMB->Flags = 0; in CIFSSMBRenameOpenFile()
2748 pSMB->Timeout = 0; in CIFSSMBRenameOpenFile()
2749 pSMB->Reserved2 = 0; in CIFSSMBRenameOpenFile()
2753 data_offset = (char *) (&pSMB->hdr.Protocol) + offset; in CIFSSMBRenameOpenFile()
2755 pSMB->MaxParameterCount = cpu_to_le16(2); in CIFSSMBRenameOpenFile()
2756 pSMB->MaxDataCount = cpu_to_le16(1000); /* BB find max SMB from sess */ in CIFSSMBRenameOpenFile()
2757 pSMB->SetupCount = 1; in CIFSSMBRenameOpenFile()
2758 pSMB->Reserved3 = 0; in CIFSSMBRenameOpenFile()
2759 pSMB->SubCommand = cpu_to_le16(TRANS2_SET_FILE_INFORMATION); in CIFSSMBRenameOpenFile()
2761 pSMB->ParameterCount = cpu_to_le16(params); in CIFSSMBRenameOpenFile()
2762 pSMB->TotalParameterCount = pSMB->ParameterCount; in CIFSSMBRenameOpenFile()
2763 pSMB->ParameterOffset = cpu_to_le16(param_offset); in CIFSSMBRenameOpenFile()
2764 pSMB->DataOffset = cpu_to_le16(offset); in CIFSSMBRenameOpenFile()
2770 sprintf(dummy_string, "cifs%x", pSMB->hdr.Mid); in CIFSSMBRenameOpenFile()
2783 pSMB->DataCount = cpu_to_le16(count); in CIFSSMBRenameOpenFile()
2784 pSMB->TotalDataCount = pSMB->DataCount; in CIFSSMBRenameOpenFile()
2785 pSMB->Fid = netfid; in CIFSSMBRenameOpenFile()
2786 pSMB->InformationLevel = in CIFSSMBRenameOpenFile()
2788 pSMB->Reserved4 = 0; in CIFSSMBRenameOpenFile()
2789 inc_rfc1001_len(pSMB, byte_count); in CIFSSMBRenameOpenFile()
2790 pSMB->ByteCount = cpu_to_le16(byte_count); in CIFSSMBRenameOpenFile()
2791 rc = SendReceive(xid, pTcon->ses, (struct smb_hdr *) pSMB, in CIFSSMBRenameOpenFile()
2798 cifs_buf_release(pSMB); in CIFSSMBRenameOpenFile()
2812 COPY_REQ *pSMB = NULL; in CIFSSMBCopy() local
2820 rc = smb_init(SMB_COM_COPY, 1, tcon, (void **) &pSMB, in CIFSSMBCopy()
2825 pSMB->BufferFormat = 0x04; in CIFSSMBCopy()
2826 pSMB->Tid2 = target_tid; in CIFSSMBCopy()
2828 pSMB->Flags = cpu_to_le16(flags & COPY_TREE); in CIFSSMBCopy()
2830 if (pSMB->hdr.Flags2 & SMBFLG2_UNICODE) { in CIFSSMBCopy()
2831 name_len = cifsConvertToUTF16((__le16 *) pSMB->OldFileName, in CIFSSMBCopy()
2836 pSMB->OldFileName[name_len] = 0x04; /* pad */ in CIFSSMBCopy()
2838 pSMB->OldFileName[name_len + 1] = 0x00; in CIFSSMBCopy()
2840 cifsConvertToUTF16((__le16 *)&pSMB->OldFileName[name_len+2], in CIFSSMBCopy()
2847 strncpy(pSMB->OldFileName, fromName, name_len); in CIFSSMBCopy()
2850 pSMB->OldFileName[name_len] = 0x04; /* 2nd buffer format */ in CIFSSMBCopy()
2851 strncpy(&pSMB->OldFileName[name_len + 1], toName, name_len2); in CIFSSMBCopy()
2857 inc_rfc1001_len(pSMB, count); in CIFSSMBCopy()
2858 pSMB->ByteCount = cpu_to_le16(count); in CIFSSMBCopy()
2860 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSSMBCopy()
2866 cifs_buf_release(pSMB); in CIFSSMBCopy()
2879 TRANSACTION2_SPI_REQ *pSMB = NULL; in CIFSUnixCreateSymLink() local
2890 rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, in CIFSUnixCreateSymLink()
2895 if (pSMB->hdr.Flags2 & SMBFLG2_UNICODE) { in CIFSUnixCreateSymLink()
2897 cifsConvertToUTF16((__le16 *) pSMB->FileName, fromName, in CIFSUnixCreateSymLink()
2906 strncpy(pSMB->FileName, fromName, name_len); in CIFSUnixCreateSymLink()
2909 pSMB->MaxSetupCount = 0; in CIFSUnixCreateSymLink()
2910 pSMB->Reserved = 0; in CIFSUnixCreateSymLink()
2911 pSMB->Flags = 0; in CIFSUnixCreateSymLink()
2912 pSMB->Timeout = 0; in CIFSUnixCreateSymLink()
2913 pSMB->Reserved2 = 0; in CIFSUnixCreateSymLink()
2918 data_offset = (char *) (&pSMB->hdr.Protocol) + offset; in CIFSUnixCreateSymLink()
2919 if (pSMB->hdr.Flags2 & SMBFLG2_UNICODE) { in CIFSUnixCreateSymLink()
2932 pSMB->MaxParameterCount = cpu_to_le16(2); in CIFSUnixCreateSymLink()
2934 pSMB->MaxDataCount = cpu_to_le16(1000); in CIFSUnixCreateSymLink()
2935 pSMB->SetupCount = 1; in CIFSUnixCreateSymLink()
2936 pSMB->Reserved3 = 0; in CIFSUnixCreateSymLink()
2937 pSMB->SubCommand = cpu_to_le16(TRANS2_SET_PATH_INFORMATION); in CIFSUnixCreateSymLink()
2939 pSMB->DataCount = cpu_to_le16(name_len_target); in CIFSUnixCreateSymLink()
2940 pSMB->ParameterCount = cpu_to_le16(params); in CIFSUnixCreateSymLink()
2941 pSMB->TotalDataCount = pSMB->DataCount; in CIFSUnixCreateSymLink()
2942 pSMB->TotalParameterCount = pSMB->ParameterCount; in CIFSUnixCreateSymLink()
2943 pSMB->ParameterOffset = cpu_to_le16(param_offset); in CIFSUnixCreateSymLink()
2944 pSMB->DataOffset = cpu_to_le16(offset); in CIFSUnixCreateSymLink()
2945 pSMB->InformationLevel = cpu_to_le16(SMB_SET_FILE_UNIX_LINK); in CIFSUnixCreateSymLink()
2946 pSMB->Reserved4 = 0; in CIFSUnixCreateSymLink()
2947 inc_rfc1001_len(pSMB, byte_count); in CIFSUnixCreateSymLink()
2948 pSMB->ByteCount = cpu_to_le16(byte_count); in CIFSUnixCreateSymLink()
2949 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSUnixCreateSymLink()
2956 cifs_buf_release(pSMB); in CIFSUnixCreateSymLink()
2969 TRANSACTION2_SPI_REQ *pSMB = NULL; in CIFSUnixCreateHardLink() local
2980 rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, in CIFSUnixCreateHardLink()
2985 if (pSMB->hdr.Flags2 & SMBFLG2_UNICODE) { in CIFSUnixCreateHardLink()
2986 name_len = cifsConvertToUTF16((__le16 *) pSMB->FileName, toName, in CIFSUnixCreateHardLink()
2994 strncpy(pSMB->FileName, toName, name_len); in CIFSUnixCreateHardLink()
2997 pSMB->MaxSetupCount = 0; in CIFSUnixCreateHardLink()
2998 pSMB->Reserved = 0; in CIFSUnixCreateHardLink()
2999 pSMB->Flags = 0; in CIFSUnixCreateHardLink()
3000 pSMB->Timeout = 0; in CIFSUnixCreateHardLink()
3001 pSMB->Reserved2 = 0; in CIFSUnixCreateHardLink()
3006 data_offset = (char *) (&pSMB->hdr.Protocol) + offset; in CIFSUnixCreateHardLink()
3007 if (pSMB->hdr.Flags2 & SMBFLG2_UNICODE) { in CIFSUnixCreateHardLink()
3019 pSMB->MaxParameterCount = cpu_to_le16(2); in CIFSUnixCreateHardLink()
3021 pSMB->MaxDataCount = cpu_to_le16(1000); in CIFSUnixCreateHardLink()
3022 pSMB->SetupCount = 1; in CIFSUnixCreateHardLink()
3023 pSMB->Reserved3 = 0; in CIFSUnixCreateHardLink()
3024 pSMB->SubCommand = cpu_to_le16(TRANS2_SET_PATH_INFORMATION); in CIFSUnixCreateHardLink()
3026 pSMB->ParameterCount = cpu_to_le16(params); in CIFSUnixCreateHardLink()
3027 pSMB->TotalParameterCount = pSMB->ParameterCount; in CIFSUnixCreateHardLink()
3028 pSMB->DataCount = cpu_to_le16(name_len_target); in CIFSUnixCreateHardLink()
3029 pSMB->TotalDataCount = pSMB->DataCount; in CIFSUnixCreateHardLink()
3030 pSMB->ParameterOffset = cpu_to_le16(param_offset); in CIFSUnixCreateHardLink()
3031 pSMB->DataOffset = cpu_to_le16(offset); in CIFSUnixCreateHardLink()
3032 pSMB->InformationLevel = cpu_to_le16(SMB_SET_FILE_UNIX_HLINK); in CIFSUnixCreateHardLink()
3033 pSMB->Reserved4 = 0; in CIFSUnixCreateHardLink()
3034 inc_rfc1001_len(pSMB, byte_count); in CIFSUnixCreateHardLink()
3035 pSMB->ByteCount = cpu_to_le16(byte_count); in CIFSUnixCreateHardLink()
3036 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSUnixCreateHardLink()
3043 cifs_buf_release(pSMB); in CIFSUnixCreateHardLink()
3056 NT_RENAME_REQ *pSMB = NULL; in CIFSCreateHardLink() local
3066 rc = smb_init(SMB_COM_NT_RENAME, 4, tcon, (void **) &pSMB, in CIFSCreateHardLink()
3071 pSMB->SearchAttributes = in CIFSCreateHardLink()
3074 pSMB->Flags = cpu_to_le16(CREATE_HARD_LINK); in CIFSCreateHardLink()
3075 pSMB->ClusterCount = 0; in CIFSCreateHardLink()
3077 pSMB->BufferFormat = 0x04; in CIFSCreateHardLink()
3079 if (pSMB->hdr.Flags2 & SMBFLG2_UNICODE) { in CIFSCreateHardLink()
3081 cifsConvertToUTF16((__le16 *) pSMB->OldFileName, from_name, in CIFSCreateHardLink()
3087 pSMB->OldFileName[name_len] = 0x04; in CIFSCreateHardLink()
3088 pSMB->OldFileName[name_len + 1] = 0x00; /* pad */ in CIFSCreateHardLink()
3090 cifsConvertToUTF16((__le16 *)&pSMB->OldFileName[name_len+2], in CIFSCreateHardLink()
3098 strncpy(pSMB->OldFileName, from_name, name_len); in CIFSCreateHardLink()
3101 pSMB->OldFileName[name_len] = 0x04; /* 2nd buffer format */ in CIFSCreateHardLink()
3102 strncpy(&pSMB->OldFileName[name_len + 1], to_name, name_len2); in CIFSCreateHardLink()
3108 inc_rfc1001_len(pSMB, count); in CIFSCreateHardLink()
3109 pSMB->ByteCount = cpu_to_le16(count); in CIFSCreateHardLink()
3111 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSCreateHardLink()
3117 cifs_buf_release(pSMB); in CIFSCreateHardLink()
3130 TRANSACTION2_QPI_REQ *pSMB = NULL; in CIFSSMBUnixQuerySymLink() local
3141 rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, in CIFSSMBUnixQuerySymLink()
3146 if (pSMB->hdr.Flags2 & SMBFLG2_UNICODE) { in CIFSSMBUnixQuerySymLink()
3148 cifsConvertToUTF16((__le16 *) pSMB->FileName, in CIFSSMBUnixQuerySymLink()
3156 strncpy(pSMB->FileName, searchName, name_len); in CIFSSMBUnixQuerySymLink()
3160 pSMB->TotalDataCount = 0; in CIFSSMBUnixQuerySymLink()
3161 pSMB->MaxParameterCount = cpu_to_le16(2); in CIFSSMBUnixQuerySymLink()
3162 pSMB->MaxDataCount = cpu_to_le16(CIFSMaxBufSize); in CIFSSMBUnixQuerySymLink()
3163 pSMB->MaxSetupCount = 0; in CIFSSMBUnixQuerySymLink()
3164 pSMB->Reserved = 0; in CIFSSMBUnixQuerySymLink()
3165 pSMB->Flags = 0; in CIFSSMBUnixQuerySymLink()
3166 pSMB->Timeout = 0; in CIFSSMBUnixQuerySymLink()
3167 pSMB->Reserved2 = 0; in CIFSSMBUnixQuerySymLink()
3168 pSMB->ParameterOffset = cpu_to_le16(offsetof( in CIFSSMBUnixQuerySymLink()
3170 pSMB->DataCount = 0; in CIFSSMBUnixQuerySymLink()
3171 pSMB->DataOffset = 0; in CIFSSMBUnixQuerySymLink()
3172 pSMB->SetupCount = 1; in CIFSSMBUnixQuerySymLink()
3173 pSMB->Reserved3 = 0; in CIFSSMBUnixQuerySymLink()
3174 pSMB->SubCommand = cpu_to_le16(TRANS2_QUERY_PATH_INFORMATION); in CIFSSMBUnixQuerySymLink()
3176 pSMB->TotalParameterCount = cpu_to_le16(params); in CIFSSMBUnixQuerySymLink()
3177 pSMB->ParameterCount = pSMB->TotalParameterCount; in CIFSSMBUnixQuerySymLink()
3178 pSMB->InformationLevel = cpu_to_le16(SMB_QUERY_FILE_UNIX_LINK); in CIFSSMBUnixQuerySymLink()
3179 pSMB->Reserved4 = 0; in CIFSSMBUnixQuerySymLink()
3180 inc_rfc1001_len(pSMB, byte_count); in CIFSSMBUnixQuerySymLink()
3181 pSMB->ByteCount = cpu_to_le16(byte_count); in CIFSSMBUnixQuerySymLink()
3183 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSSMBUnixQuerySymLink()
3213 cifs_buf_release(pSMB); in CIFSSMBUnixQuerySymLink()
3236 struct smb_com_transaction_ioctl_req *pSMB; in CIFSSMBQuerySymLink() local
3247 rc = smb_init(SMB_COM_NT_TRANSACT, 23, tcon, (void **) &pSMB, in CIFSSMBQuerySymLink()
3252 pSMB->TotalParameterCount = 0 ; in CIFSSMBQuerySymLink()
3253 pSMB->TotalDataCount = 0; in CIFSSMBQuerySymLink()
3254 pSMB->MaxParameterCount = cpu_to_le32(2); in CIFSSMBQuerySymLink()
3256 pSMB->MaxDataCount = cpu_to_le32(CIFSMaxBufSize & 0xFFFFFF00); in CIFSSMBQuerySymLink()
3257 pSMB->MaxSetupCount = 4; in CIFSSMBQuerySymLink()
3258 pSMB->Reserved = 0; in CIFSSMBQuerySymLink()
3259 pSMB->ParameterOffset = 0; in CIFSSMBQuerySymLink()
3260 pSMB->DataCount = 0; in CIFSSMBQuerySymLink()
3261 pSMB->DataOffset = 0; in CIFSSMBQuerySymLink()
3262 pSMB->SetupCount = 4; in CIFSSMBQuerySymLink()
3263 pSMB->SubCommand = cpu_to_le16(NT_TRANSACT_IOCTL); in CIFSSMBQuerySymLink()
3264 pSMB->ParameterCount = pSMB->TotalParameterCount; in CIFSSMBQuerySymLink()
3265 pSMB->FunctionCode = cpu_to_le32(FSCTL_GET_REPARSE_POINT); in CIFSSMBQuerySymLink()
3266 pSMB->IsFsctl = 1; /* FSCTL */ in CIFSSMBQuerySymLink()
3267 pSMB->IsRootFlag = 0; in CIFSSMBQuerySymLink()
3268 pSMB->Fid = fid; /* file handle always le */ in CIFSSMBQuerySymLink()
3269 pSMB->ByteCount = 0; in CIFSSMBQuerySymLink()
3271 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSSMBQuerySymLink()
3343 cifs_buf_release(pSMB); in CIFSSMBQuerySymLink()
3358 struct smb_com_transaction_compr_ioctl_req *pSMB; in CIFSSMB_set_compression() local
3362 rc = smb_init(SMB_COM_NT_TRANSACT, 23, tcon, (void **) &pSMB, in CIFSSMB_set_compression()
3367 pSMB->compression_state = cpu_to_le16(COMPRESSION_FORMAT_DEFAULT); in CIFSSMB_set_compression()
3369 pSMB->TotalParameterCount = 0; in CIFSSMB_set_compression()
3370 pSMB->TotalDataCount = cpu_to_le32(2); in CIFSSMB_set_compression()
3371 pSMB->MaxParameterCount = 0; in CIFSSMB_set_compression()
3372 pSMB->MaxDataCount = 0; in CIFSSMB_set_compression()
3373 pSMB->MaxSetupCount = 4; in CIFSSMB_set_compression()
3374 pSMB->Reserved = 0; in CIFSSMB_set_compression()
3375 pSMB->ParameterOffset = 0; in CIFSSMB_set_compression()
3376 pSMB->DataCount = cpu_to_le32(2); in CIFSSMB_set_compression()
3377 pSMB->DataOffset = in CIFSSMB_set_compression()
3380 pSMB->SetupCount = 4; in CIFSSMB_set_compression()
3381 pSMB->SubCommand = cpu_to_le16(NT_TRANSACT_IOCTL); in CIFSSMB_set_compression()
3382 pSMB->ParameterCount = 0; in CIFSSMB_set_compression()
3383 pSMB->FunctionCode = cpu_to_le32(FSCTL_SET_COMPRESSION); in CIFSSMB_set_compression()
3384 pSMB->IsFsctl = 1; /* FSCTL */ in CIFSSMB_set_compression()
3385 pSMB->IsRootFlag = 0; in CIFSSMB_set_compression()
3386 pSMB->Fid = fid; /* file handle always le */ in CIFSSMB_set_compression()
3388 pSMB->ByteCount = cpu_to_le16(5); in CIFSSMB_set_compression()
3389 inc_rfc1001_len(pSMB, 5); in CIFSSMB_set_compression()
3391 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSSMB_set_compression()
3396 cifs_buf_release(pSMB); in CIFSSMB_set_compression()
3557 TRANSACTION2_QPI_REQ *pSMB = NULL; in CIFSSMBGetPosixACL() local
3567 rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, in CIFSSMBGetPosixACL()
3572 if (pSMB->hdr.Flags2 & SMBFLG2_UNICODE) { in CIFSSMBGetPosixACL()
3574 cifsConvertToUTF16((__le16 *) pSMB->FileName, in CIFSSMBGetPosixACL()
3579 pSMB->FileName[name_len] = 0; in CIFSSMBGetPosixACL()
3580 pSMB->FileName[name_len+1] = 0; in CIFSSMBGetPosixACL()
3584 strncpy(pSMB->FileName, searchName, name_len); in CIFSSMBGetPosixACL()
3588 pSMB->TotalDataCount = 0; in CIFSSMBGetPosixACL()
3589 pSMB->MaxParameterCount = cpu_to_le16(2); in CIFSSMBGetPosixACL()
3591 pSMB->MaxDataCount = cpu_to_le16(4000); in CIFSSMBGetPosixACL()
3592 pSMB->MaxSetupCount = 0; in CIFSSMBGetPosixACL()
3593 pSMB->Reserved = 0; in CIFSSMBGetPosixACL()
3594 pSMB->Flags = 0; in CIFSSMBGetPosixACL()
3595 pSMB->Timeout = 0; in CIFSSMBGetPosixACL()
3596 pSMB->Reserved2 = 0; in CIFSSMBGetPosixACL()
3597 pSMB->ParameterOffset = cpu_to_le16( in CIFSSMBGetPosixACL()
3600 pSMB->DataCount = 0; in CIFSSMBGetPosixACL()
3601 pSMB->DataOffset = 0; in CIFSSMBGetPosixACL()
3602 pSMB->SetupCount = 1; in CIFSSMBGetPosixACL()
3603 pSMB->Reserved3 = 0; in CIFSSMBGetPosixACL()
3604 pSMB->SubCommand = cpu_to_le16(TRANS2_QUERY_PATH_INFORMATION); in CIFSSMBGetPosixACL()
3606 pSMB->TotalParameterCount = cpu_to_le16(params); in CIFSSMBGetPosixACL()
3607 pSMB->ParameterCount = pSMB->TotalParameterCount; in CIFSSMBGetPosixACL()
3608 pSMB->InformationLevel = cpu_to_le16(SMB_QUERY_POSIX_ACL); in CIFSSMBGetPosixACL()
3609 pSMB->Reserved4 = 0; in CIFSSMBGetPosixACL()
3610 inc_rfc1001_len(pSMB, byte_count); in CIFSSMBGetPosixACL()
3611 pSMB->ByteCount = cpu_to_le16(byte_count); in CIFSSMBGetPosixACL()
3613 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSSMBGetPosixACL()
3633 cifs_buf_release(pSMB); in CIFSSMBGetPosixACL()
3646 struct smb_com_transaction2_spi_req *pSMB = NULL; in CIFSSMBSetPosixACL() local
3656 rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, in CIFSSMBSetPosixACL()
3660 if (pSMB->hdr.Flags2 & SMBFLG2_UNICODE) { in CIFSSMBSetPosixACL()
3662 cifsConvertToUTF16((__le16 *) pSMB->FileName, fileName, in CIFSSMBSetPosixACL()
3669 strncpy(pSMB->FileName, fileName, name_len); in CIFSSMBSetPosixACL()
3672 pSMB->MaxParameterCount = cpu_to_le16(2); in CIFSSMBSetPosixACL()
3674 pSMB->MaxDataCount = cpu_to_le16(1000); in CIFSSMBSetPosixACL()
3675 pSMB->MaxSetupCount = 0; in CIFSSMBSetPosixACL()
3676 pSMB->Reserved = 0; in CIFSSMBSetPosixACL()
3677 pSMB->Flags = 0; in CIFSSMBSetPosixACL()
3678 pSMB->Timeout = 0; in CIFSSMBSetPosixACL()
3679 pSMB->Reserved2 = 0; in CIFSSMBSetPosixACL()
3683 parm_data = ((char *) &pSMB->hdr.Protocol) + offset; in CIFSSMBSetPosixACL()
3684 pSMB->ParameterOffset = cpu_to_le16(param_offset); in CIFSSMBSetPosixACL()
3693 pSMB->DataOffset = cpu_to_le16(offset); in CIFSSMBSetPosixACL()
3694 pSMB->SetupCount = 1; in CIFSSMBSetPosixACL()
3695 pSMB->Reserved3 = 0; in CIFSSMBSetPosixACL()
3696 pSMB->SubCommand = cpu_to_le16(TRANS2_SET_PATH_INFORMATION); in CIFSSMBSetPosixACL()
3697 pSMB->InformationLevel = cpu_to_le16(SMB_SET_POSIX_ACL); in CIFSSMBSetPosixACL()
3699 pSMB->DataCount = cpu_to_le16(data_count); in CIFSSMBSetPosixACL()
3700 pSMB->TotalDataCount = pSMB->DataCount; in CIFSSMBSetPosixACL()
3701 pSMB->ParameterCount = cpu_to_le16(params); in CIFSSMBSetPosixACL()
3702 pSMB->TotalParameterCount = pSMB->ParameterCount; in CIFSSMBSetPosixACL()
3703 pSMB->Reserved4 = 0; in CIFSSMBSetPosixACL()
3704 inc_rfc1001_len(pSMB, byte_count); in CIFSSMBSetPosixACL()
3705 pSMB->ByteCount = cpu_to_le16(byte_count); in CIFSSMBSetPosixACL()
3706 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSSMBSetPosixACL()
3712 cifs_buf_release(pSMB); in CIFSSMBSetPosixACL()
3724 struct smb_t2_qfi_req *pSMB = NULL; in CIFSGetExtAttr() local
3734 rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, in CIFSGetExtAttr()
3740 pSMB->t2.TotalDataCount = 0; in CIFSGetExtAttr()
3741 pSMB->t2.MaxParameterCount = cpu_to_le16(4); in CIFSGetExtAttr()
3743 pSMB->t2.MaxDataCount = cpu_to_le16(4000); in CIFSGetExtAttr()
3744 pSMB->t2.MaxSetupCount = 0; in CIFSGetExtAttr()
3745 pSMB->t2.Reserved = 0; in CIFSGetExtAttr()
3746 pSMB->t2.Flags = 0; in CIFSGetExtAttr()
3747 pSMB->t2.Timeout = 0; in CIFSGetExtAttr()
3748 pSMB->t2.Reserved2 = 0; in CIFSGetExtAttr()
3749 pSMB->t2.ParameterOffset = cpu_to_le16(offsetof(struct smb_t2_qfi_req, in CIFSGetExtAttr()
3751 pSMB->t2.DataCount = 0; in CIFSGetExtAttr()
3752 pSMB->t2.DataOffset = 0; in CIFSGetExtAttr()
3753 pSMB->t2.SetupCount = 1; in CIFSGetExtAttr()
3754 pSMB->t2.Reserved3 = 0; in CIFSGetExtAttr()
3755 pSMB->t2.SubCommand = cpu_to_le16(TRANS2_QUERY_FILE_INFORMATION); in CIFSGetExtAttr()
3757 pSMB->t2.TotalParameterCount = cpu_to_le16(params); in CIFSGetExtAttr()
3758 pSMB->t2.ParameterCount = pSMB->t2.TotalParameterCount; in CIFSGetExtAttr()
3759 pSMB->InformationLevel = cpu_to_le16(SMB_QUERY_ATTR_FLAGS); in CIFSGetExtAttr()
3760 pSMB->Pad = 0; in CIFSGetExtAttr()
3761 pSMB->Fid = netfid; in CIFSGetExtAttr()
3762 inc_rfc1001_len(pSMB, byte_count); in CIFSGetExtAttr()
3763 pSMB->t2.ByteCount = cpu_to_le16(byte_count); in CIFSGetExtAttr()
3765 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSGetExtAttr()
3794 cifs_buf_release(pSMB); in CIFSGetExtAttr()
3818 struct smb_com_ntransact_req *pSMB; in smb_init_nttransact() local
3821 (void **)&pSMB); in smb_init_nttransact()
3824 *ret_buf = (void *)pSMB; in smb_init_nttransact()
3825 pSMB->Reserved = 0; in smb_init_nttransact()
3826 pSMB->TotalParameterCount = cpu_to_le32(parm_len); in smb_init_nttransact()
3827 pSMB->TotalDataCount = 0; in smb_init_nttransact()
3828 pSMB->MaxDataCount = cpu_to_le32(CIFSMaxBufSize & 0xFFFFFF00); in smb_init_nttransact()
3829 pSMB->ParameterCount = pSMB->TotalParameterCount; in smb_init_nttransact()
3830 pSMB->DataCount = pSMB->TotalDataCount; in smb_init_nttransact()
3833 pSMB->ParameterOffset = cpu_to_le32(temp_offset); in smb_init_nttransact()
3834 pSMB->DataOffset = cpu_to_le32(temp_offset + parm_len); in smb_init_nttransact()
3835 pSMB->SetupCount = setup_count; /* no need to le convert byte fields */ in smb_init_nttransact()
3836 pSMB->SubCommand = cpu_to_le16(sub_command); in smb_init_nttransact()
3900 QUERY_SEC_DESC_REQ *pSMB; in CIFSSMBGetCIFSACL() local
3910 8 /* parm len */, tcon, (void **) &pSMB); in CIFSSMBGetCIFSACL()
3914 pSMB->MaxParameterCount = cpu_to_le32(4); in CIFSSMBGetCIFSACL()
3916 pSMB->MaxSetupCount = 0; in CIFSSMBGetCIFSACL()
3917 pSMB->Fid = fid; /* file handle always le */ in CIFSSMBGetCIFSACL()
3918 pSMB->AclFlags = cpu_to_le32(CIFS_ACL_OWNER | CIFS_ACL_GROUP | in CIFSSMBGetCIFSACL()
3920 pSMB->ByteCount = cpu_to_le16(11); /* 3 bytes pad + 8 bytes parm */ in CIFSSMBGetCIFSACL()
3921 inc_rfc1001_len(pSMB, 11); in CIFSSMBGetCIFSACL()
3922 iov[0].iov_base = (char *)pSMB; in CIFSSMBGetCIFSACL()
3923 iov[0].iov_len = be32_to_cpu(pSMB->hdr.smb_buf_length) + 4; in CIFSSMBGetCIFSACL()
3927 cifs_small_buf_release(pSMB); in CIFSSMBGetCIFSACL()
3991 SET_SEC_DESC_REQ *pSMB = NULL; in CIFSSMBSetCIFSACL() local
3995 rc = smb_init(SMB_COM_NT_TRANSACT, 19, tcon, (void **) &pSMB, &pSMBr); in CIFSSMBSetCIFSACL()
3999 pSMB->MaxSetupCount = 0; in CIFSSMBSetCIFSACL()
4000 pSMB->Reserved = 0; in CIFSSMBSetCIFSACL()
4008 pSMB->DataCount = cpu_to_le32(data_count); in CIFSSMBSetCIFSACL()
4009 pSMB->TotalDataCount = pSMB->DataCount; in CIFSSMBSetCIFSACL()
4010 pSMB->MaxParameterCount = cpu_to_le32(4); in CIFSSMBSetCIFSACL()
4011 pSMB->MaxDataCount = cpu_to_le32(16384); in CIFSSMBSetCIFSACL()
4012 pSMB->ParameterCount = cpu_to_le32(param_count); in CIFSSMBSetCIFSACL()
4013 pSMB->ParameterOffset = cpu_to_le32(param_offset); in CIFSSMBSetCIFSACL()
4014 pSMB->TotalParameterCount = pSMB->ParameterCount; in CIFSSMBSetCIFSACL()
4015 pSMB->DataOffset = cpu_to_le32(data_offset); in CIFSSMBSetCIFSACL()
4016 pSMB->SetupCount = 0; in CIFSSMBSetCIFSACL()
4017 pSMB->SubCommand = cpu_to_le16(NT_TRANSACT_SET_SECURITY_DESC); in CIFSSMBSetCIFSACL()
4018 pSMB->ByteCount = cpu_to_le16(byte_count+data_count); in CIFSSMBSetCIFSACL()
4020 pSMB->Fid = fid; /* file handle always le */ in CIFSSMBSetCIFSACL()
4021 pSMB->Reserved2 = 0; in CIFSSMBSetCIFSACL()
4022 pSMB->AclFlags = cpu_to_le32(aclflag); in CIFSSMBSetCIFSACL()
4027 inc_rfc1001_len(pSMB, byte_count + data_count); in CIFSSMBSetCIFSACL()
4029 inc_rfc1001_len(pSMB, byte_count); in CIFSSMBSetCIFSACL()
4031 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSSMBSetCIFSACL()
4038 cifs_buf_release(pSMB); in CIFSSMBSetCIFSACL()
4055 QUERY_INFORMATION_REQ *pSMB; in SMBQueryInformation() local
4063 rc = smb_init(SMB_COM_QUERY_INFORMATION, 0, tcon, (void **) &pSMB, in SMBQueryInformation()
4068 if (pSMB->hdr.Flags2 & SMBFLG2_UNICODE) { in SMBQueryInformation()
4070 cifsConvertToUTF16((__le16 *) pSMB->FileName, in SMBQueryInformation()
4078 strncpy(pSMB->FileName, search_name, name_len); in SMBQueryInformation()
4080 pSMB->BufferFormat = 0x04; in SMBQueryInformation()
4082 inc_rfc1001_len(pSMB, (__u16)name_len); in SMBQueryInformation()
4083 pSMB->ByteCount = cpu_to_le16(name_len); in SMBQueryInformation()
4085 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in SMBQueryInformation()
4110 cifs_buf_release(pSMB); in SMBQueryInformation()
4122 struct smb_t2_qfi_req *pSMB = NULL; in CIFSSMBQFileInfo() local
4129 rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, in CIFSSMBQFileInfo()
4135 pSMB->t2.TotalDataCount = 0; in CIFSSMBQFileInfo()
4136 pSMB->t2.MaxParameterCount = cpu_to_le16(4); in CIFSSMBQFileInfo()
4138 pSMB->t2.MaxDataCount = cpu_to_le16(CIFSMaxBufSize); in CIFSSMBQFileInfo()
4139 pSMB->t2.MaxSetupCount = 0; in CIFSSMBQFileInfo()
4140 pSMB->t2.Reserved = 0; in CIFSSMBQFileInfo()
4141 pSMB->t2.Flags = 0; in CIFSSMBQFileInfo()
4142 pSMB->t2.Timeout = 0; in CIFSSMBQFileInfo()
4143 pSMB->t2.Reserved2 = 0; in CIFSSMBQFileInfo()
4144 pSMB->t2.ParameterOffset = cpu_to_le16(offsetof(struct smb_t2_qfi_req, in CIFSSMBQFileInfo()
4146 pSMB->t2.DataCount = 0; in CIFSSMBQFileInfo()
4147 pSMB->t2.DataOffset = 0; in CIFSSMBQFileInfo()
4148 pSMB->t2.SetupCount = 1; in CIFSSMBQFileInfo()
4149 pSMB->t2.Reserved3 = 0; in CIFSSMBQFileInfo()
4150 pSMB->t2.SubCommand = cpu_to_le16(TRANS2_QUERY_FILE_INFORMATION); in CIFSSMBQFileInfo()
4152 pSMB->t2.TotalParameterCount = cpu_to_le16(params); in CIFSSMBQFileInfo()
4153 pSMB->t2.ParameterCount = pSMB->t2.TotalParameterCount; in CIFSSMBQFileInfo()
4154 pSMB->InformationLevel = cpu_to_le16(SMB_QUERY_FILE_ALL_INFO); in CIFSSMBQFileInfo()
4155 pSMB->Pad = 0; in CIFSSMBQFileInfo()
4156 pSMB->Fid = netfid; in CIFSSMBQFileInfo()
4157 inc_rfc1001_len(pSMB, byte_count); in CIFSSMBQFileInfo()
4158 pSMB->t2.ByteCount = cpu_to_le16(byte_count); in CIFSSMBQFileInfo()
4160 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSSMBQFileInfo()
4179 cifs_buf_release(pSMB); in CIFSSMBQFileInfo()
4193 TRANSACTION2_QPI_REQ *pSMB = NULL; in CIFSSMBQPathInfo() local
4202 rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, in CIFSSMBQPathInfo()
4207 if (pSMB->hdr.Flags2 & SMBFLG2_UNICODE) { in CIFSSMBQPathInfo()
4209 cifsConvertToUTF16((__le16 *) pSMB->FileName, search_name, in CIFSSMBQPathInfo()
4216 strncpy(pSMB->FileName, search_name, name_len); in CIFSSMBQPathInfo()
4220 pSMB->TotalDataCount = 0; in CIFSSMBQPathInfo()
4221 pSMB->MaxParameterCount = cpu_to_le16(2); in CIFSSMBQPathInfo()
4223 pSMB->MaxDataCount = cpu_to_le16(4000); in CIFSSMBQPathInfo()
4224 pSMB->MaxSetupCount = 0; in CIFSSMBQPathInfo()
4225 pSMB->Reserved = 0; in CIFSSMBQPathInfo()
4226 pSMB->Flags = 0; in CIFSSMBQPathInfo()
4227 pSMB->Timeout = 0; in CIFSSMBQPathInfo()
4228 pSMB->Reserved2 = 0; in CIFSSMBQPathInfo()
4229 pSMB->ParameterOffset = cpu_to_le16(offsetof( in CIFSSMBQPathInfo()
4231 pSMB->DataCount = 0; in CIFSSMBQPathInfo()
4232 pSMB->DataOffset = 0; in CIFSSMBQPathInfo()
4233 pSMB->SetupCount = 1; in CIFSSMBQPathInfo()
4234 pSMB->Reserved3 = 0; in CIFSSMBQPathInfo()
4235 pSMB->SubCommand = cpu_to_le16(TRANS2_QUERY_PATH_INFORMATION); in CIFSSMBQPathInfo()
4237 pSMB->TotalParameterCount = cpu_to_le16(params); in CIFSSMBQPathInfo()
4238 pSMB->ParameterCount = pSMB->TotalParameterCount; in CIFSSMBQPathInfo()
4240 pSMB->InformationLevel = cpu_to_le16(SMB_INFO_STANDARD); in CIFSSMBQPathInfo()
4242 pSMB->InformationLevel = cpu_to_le16(SMB_QUERY_FILE_ALL_INFO); in CIFSSMBQPathInfo()
4243 pSMB->Reserved4 = 0; in CIFSSMBQPathInfo()
4244 inc_rfc1001_len(pSMB, byte_count); in CIFSSMBQPathInfo()
4245 pSMB->ByteCount = cpu_to_le16(byte_count); in CIFSSMBQPathInfo()
4247 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSSMBQPathInfo()
4280 cifs_buf_release(pSMB); in CIFSSMBQPathInfo()
4291 struct smb_t2_qfi_req *pSMB = NULL; in CIFSSMBUnixQFileInfo() local
4298 rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, in CIFSSMBUnixQFileInfo()
4304 pSMB->t2.TotalDataCount = 0; in CIFSSMBUnixQFileInfo()
4305 pSMB->t2.MaxParameterCount = cpu_to_le16(4); in CIFSSMBUnixQFileInfo()
4307 pSMB->t2.MaxDataCount = cpu_to_le16(CIFSMaxBufSize); in CIFSSMBUnixQFileInfo()
4308 pSMB->t2.MaxSetupCount = 0; in CIFSSMBUnixQFileInfo()
4309 pSMB->t2.Reserved = 0; in CIFSSMBUnixQFileInfo()
4310 pSMB->t2.Flags = 0; in CIFSSMBUnixQFileInfo()
4311 pSMB->t2.Timeout = 0; in CIFSSMBUnixQFileInfo()
4312 pSMB->t2.Reserved2 = 0; in CIFSSMBUnixQFileInfo()
4313 pSMB->t2.ParameterOffset = cpu_to_le16(offsetof(struct smb_t2_qfi_req, in CIFSSMBUnixQFileInfo()
4315 pSMB->t2.DataCount = 0; in CIFSSMBUnixQFileInfo()
4316 pSMB->t2.DataOffset = 0; in CIFSSMBUnixQFileInfo()
4317 pSMB->t2.SetupCount = 1; in CIFSSMBUnixQFileInfo()
4318 pSMB->t2.Reserved3 = 0; in CIFSSMBUnixQFileInfo()
4319 pSMB->t2.SubCommand = cpu_to_le16(TRANS2_QUERY_FILE_INFORMATION); in CIFSSMBUnixQFileInfo()
4321 pSMB->t2.TotalParameterCount = cpu_to_le16(params); in CIFSSMBUnixQFileInfo()
4322 pSMB->t2.ParameterCount = pSMB->t2.TotalParameterCount; in CIFSSMBUnixQFileInfo()
4323 pSMB->InformationLevel = cpu_to_le16(SMB_QUERY_FILE_UNIX_BASIC); in CIFSSMBUnixQFileInfo()
4324 pSMB->Pad = 0; in CIFSSMBUnixQFileInfo()
4325 pSMB->Fid = netfid; in CIFSSMBUnixQFileInfo()
4326 inc_rfc1001_len(pSMB, byte_count); in CIFSSMBUnixQFileInfo()
4327 pSMB->t2.ByteCount = cpu_to_le16(byte_count); in CIFSSMBUnixQFileInfo()
4329 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSSMBUnixQFileInfo()
4348 cifs_buf_release(pSMB); in CIFSSMBUnixQFileInfo()
4362 TRANSACTION2_QPI_REQ *pSMB = NULL; in CIFSSMBUnixQPathInfo() local
4371 rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, in CIFSSMBUnixQPathInfo()
4376 if (pSMB->hdr.Flags2 & SMBFLG2_UNICODE) { in CIFSSMBUnixQPathInfo()
4378 cifsConvertToUTF16((__le16 *) pSMB->FileName, searchName, in CIFSSMBUnixQPathInfo()
4385 strncpy(pSMB->FileName, searchName, name_len); in CIFSSMBUnixQPathInfo()
4389 pSMB->TotalDataCount = 0; in CIFSSMBUnixQPathInfo()
4390 pSMB->MaxParameterCount = cpu_to_le16(2); in CIFSSMBUnixQPathInfo()
4392 pSMB->MaxDataCount = cpu_to_le16(4000); in CIFSSMBUnixQPathInfo()
4393 pSMB->MaxSetupCount = 0; in CIFSSMBUnixQPathInfo()
4394 pSMB->Reserved = 0; in CIFSSMBUnixQPathInfo()
4395 pSMB->Flags = 0; in CIFSSMBUnixQPathInfo()
4396 pSMB->Timeout = 0; in CIFSSMBUnixQPathInfo()
4397 pSMB->Reserved2 = 0; in CIFSSMBUnixQPathInfo()
4398 pSMB->ParameterOffset = cpu_to_le16(offsetof( in CIFSSMBUnixQPathInfo()
4400 pSMB->DataCount = 0; in CIFSSMBUnixQPathInfo()
4401 pSMB->DataOffset = 0; in CIFSSMBUnixQPathInfo()
4402 pSMB->SetupCount = 1; in CIFSSMBUnixQPathInfo()
4403 pSMB->Reserved3 = 0; in CIFSSMBUnixQPathInfo()
4404 pSMB->SubCommand = cpu_to_le16(TRANS2_QUERY_PATH_INFORMATION); in CIFSSMBUnixQPathInfo()
4406 pSMB->TotalParameterCount = cpu_to_le16(params); in CIFSSMBUnixQPathInfo()
4407 pSMB->ParameterCount = pSMB->TotalParameterCount; in CIFSSMBUnixQPathInfo()
4408 pSMB->InformationLevel = cpu_to_le16(SMB_QUERY_FILE_UNIX_BASIC); in CIFSSMBUnixQPathInfo()
4409 pSMB->Reserved4 = 0; in CIFSSMBUnixQPathInfo()
4410 inc_rfc1001_len(pSMB, byte_count); in CIFSSMBUnixQPathInfo()
4411 pSMB->ByteCount = cpu_to_le16(byte_count); in CIFSSMBUnixQPathInfo()
4413 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSSMBUnixQPathInfo()
4431 cifs_buf_release(pSMB); in CIFSSMBUnixQPathInfo()
4446 TRANSACTION2_FFIRST_REQ *pSMB = NULL; in CIFSFindFirst() local
4458 rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, in CIFSFindFirst()
4466 if (pSMB->hdr.Flags2 & SMBFLG2_UNICODE) { in CIFSFindFirst()
4468 cifsConvertToUTF16((__le16 *) pSMB->FileName, searchName, in CIFSFindFirst()
4475 pSMB->FileName[name_len] = CIFS_DIR_SEP(cifs_sb); in CIFSFindFirst()
4476 pSMB->FileName[name_len+1] = 0; in CIFSFindFirst()
4477 pSMB->FileName[name_len+2] = '*'; in CIFSFindFirst()
4478 pSMB->FileName[name_len+3] = 0; in CIFSFindFirst()
4481 pSMB->FileName[name_len] = 0; in CIFSFindFirst()
4482 pSMB->FileName[name_len+1] = 0; in CIFSFindFirst()
4490 strncpy(pSMB->FileName, searchName, name_len); in CIFSFindFirst()
4492 pSMB->FileName[name_len] = CIFS_DIR_SEP(cifs_sb); in CIFSFindFirst()
4493 pSMB->FileName[name_len+1] = '*'; in CIFSFindFirst()
4494 pSMB->FileName[name_len+2] = 0; in CIFSFindFirst()
4500 pSMB->TotalDataCount = 0; /* no EAs */ in CIFSFindFirst()
4501 pSMB->MaxParameterCount = cpu_to_le16(10); in CIFSFindFirst()
4502 pSMB->MaxDataCount = cpu_to_le16(CIFSMaxBufSize & 0xFFFFFF00); in CIFSFindFirst()
4503 pSMB->MaxSetupCount = 0; in CIFSFindFirst()
4504 pSMB->Reserved = 0; in CIFSFindFirst()
4505 pSMB->Flags = 0; in CIFSFindFirst()
4506 pSMB->Timeout = 0; in CIFSFindFirst()
4507 pSMB->Reserved2 = 0; in CIFSFindFirst()
4509 pSMB->TotalParameterCount = cpu_to_le16(params); in CIFSFindFirst()
4510 pSMB->ParameterCount = pSMB->TotalParameterCount; in CIFSFindFirst()
4511 pSMB->ParameterOffset = cpu_to_le16( in CIFSFindFirst()
4514 pSMB->DataCount = 0; in CIFSFindFirst()
4515 pSMB->DataOffset = 0; in CIFSFindFirst()
4516 pSMB->SetupCount = 1; /* one byte, no need to make endian neutral */ in CIFSFindFirst()
4517 pSMB->Reserved3 = 0; in CIFSFindFirst()
4518 pSMB->SubCommand = cpu_to_le16(TRANS2_FIND_FIRST); in CIFSFindFirst()
4519 pSMB->SearchAttributes = in CIFSFindFirst()
4522 pSMB->SearchCount = cpu_to_le16(CIFSMaxBufSize/sizeof(FILE_UNIX_INFO)); in CIFSFindFirst()
4523 pSMB->SearchFlags = cpu_to_le16(search_flags); in CIFSFindFirst()
4524 pSMB->InformationLevel = cpu_to_le16(psrch_inf->info_level); in CIFSFindFirst()
4527 pSMB->SearchStorageType = 0; in CIFSFindFirst()
4528 inc_rfc1001_len(pSMB, byte_count); in CIFSFindFirst()
4529 pSMB->ByteCount = cpu_to_le16(byte_count); in CIFSFindFirst()
4531 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSFindFirst()
4540 cifs_buf_release(pSMB); in CIFSFindFirst()
4587 cifs_buf_release(pSMB); in CIFSFindFirst()
4598 TRANSACTION2_FNEXT_REQ *pSMB = NULL; in CIFSFindNext() local
4612 rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, in CIFSFindNext()
4619 pSMB->TotalDataCount = 0; /* no EAs */ in CIFSFindNext()
4620 pSMB->MaxParameterCount = cpu_to_le16(8); in CIFSFindNext()
4621 pSMB->MaxDataCount = cpu_to_le16(CIFSMaxBufSize & 0xFFFFFF00); in CIFSFindNext()
4622 pSMB->MaxSetupCount = 0; in CIFSFindNext()
4623 pSMB->Reserved = 0; in CIFSFindNext()
4624 pSMB->Flags = 0; in CIFSFindNext()
4625 pSMB->Timeout = 0; in CIFSFindNext()
4626 pSMB->Reserved2 = 0; in CIFSFindNext()
4627 pSMB->ParameterOffset = cpu_to_le16( in CIFSFindNext()
4629 pSMB->DataCount = 0; in CIFSFindNext()
4630 pSMB->DataOffset = 0; in CIFSFindNext()
4631 pSMB->SetupCount = 1; in CIFSFindNext()
4632 pSMB->Reserved3 = 0; in CIFSFindNext()
4633 pSMB->SubCommand = cpu_to_le16(TRANS2_FIND_NEXT); in CIFSFindNext()
4634 pSMB->SearchHandle = searchHandle; /* always kept as le */ in CIFSFindNext()
4635 pSMB->SearchCount = in CIFSFindNext()
4637 pSMB->InformationLevel = cpu_to_le16(psrch_inf->info_level); in CIFSFindNext()
4638 pSMB->ResumeKey = psrch_inf->resume_key; in CIFSFindNext()
4639 pSMB->SearchFlags = cpu_to_le16(search_flags); in CIFSFindNext()
4644 memcpy(pSMB->ResumeFileName, psrch_inf->presume_name, name_len); in CIFSFindNext()
4647 pSMB->ResumeFileName[name_len] = 0; in CIFSFindNext()
4648 pSMB->ResumeFileName[name_len+1] = 0; in CIFSFindNext()
4654 pSMB->TotalParameterCount = cpu_to_le16(params); in CIFSFindNext()
4655 pSMB->ParameterCount = pSMB->TotalParameterCount; in CIFSFindNext()
4656 inc_rfc1001_len(pSMB, byte_count); in CIFSFindNext()
4657 pSMB->ByteCount = cpu_to_le16(byte_count); in CIFSFindNext()
4659 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSFindNext()
4665 cifs_buf_release(pSMB); in CIFSFindNext()
4691 psrch_inf->ntwrk_buf_start = (char *)pSMB; in CIFSFindNext()
4725 cifs_buf_release(pSMB); in CIFSFindNext()
4734 FINDCLOSE_REQ *pSMB = NULL; in CIFSFindClose() local
4737 rc = small_smb_init(SMB_COM_FIND_CLOSE2, 1, tcon, (void **)&pSMB); in CIFSFindClose()
4746 pSMB->FileID = searchHandle; in CIFSFindClose()
4747 pSMB->ByteCount = 0; in CIFSFindClose()
4748 rc = SendReceiveNoRsp(xid, tcon->ses, (char *) pSMB, 0); in CIFSFindClose()
4749 cifs_small_buf_release(pSMB); in CIFSFindClose()
4768 TRANSACTION2_QPI_REQ *pSMB = NULL; in CIFSGetSrvInodeNumber() local
4778 rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, in CIFSGetSrvInodeNumber()
4783 if (pSMB->hdr.Flags2 & SMBFLG2_UNICODE) { in CIFSGetSrvInodeNumber()
4785 cifsConvertToUTF16((__le16 *) pSMB->FileName, in CIFSGetSrvInodeNumber()
4793 strncpy(pSMB->FileName, search_name, name_len); in CIFSGetSrvInodeNumber()
4797 pSMB->TotalDataCount = 0; in CIFSGetSrvInodeNumber()
4798 pSMB->MaxParameterCount = cpu_to_le16(2); in CIFSGetSrvInodeNumber()
4800 pSMB->MaxDataCount = cpu_to_le16(4000); in CIFSGetSrvInodeNumber()
4801 pSMB->MaxSetupCount = 0; in CIFSGetSrvInodeNumber()
4802 pSMB->Reserved = 0; in CIFSGetSrvInodeNumber()
4803 pSMB->Flags = 0; in CIFSGetSrvInodeNumber()
4804 pSMB->Timeout = 0; in CIFSGetSrvInodeNumber()
4805 pSMB->Reserved2 = 0; in CIFSGetSrvInodeNumber()
4806 pSMB->ParameterOffset = cpu_to_le16(offsetof( in CIFSGetSrvInodeNumber()
4808 pSMB->DataCount = 0; in CIFSGetSrvInodeNumber()
4809 pSMB->DataOffset = 0; in CIFSGetSrvInodeNumber()
4810 pSMB->SetupCount = 1; in CIFSGetSrvInodeNumber()
4811 pSMB->Reserved3 = 0; in CIFSGetSrvInodeNumber()
4812 pSMB->SubCommand = cpu_to_le16(TRANS2_QUERY_PATH_INFORMATION); in CIFSGetSrvInodeNumber()
4814 pSMB->TotalParameterCount = cpu_to_le16(params); in CIFSGetSrvInodeNumber()
4815 pSMB->ParameterCount = pSMB->TotalParameterCount; in CIFSGetSrvInodeNumber()
4816 pSMB->InformationLevel = cpu_to_le16(SMB_QUERY_FILE_INTERNAL_INFO); in CIFSGetSrvInodeNumber()
4817 pSMB->Reserved4 = 0; in CIFSGetSrvInodeNumber()
4818 inc_rfc1001_len(pSMB, byte_count); in CIFSGetSrvInodeNumber()
4819 pSMB->ByteCount = cpu_to_le16(byte_count); in CIFSGetSrvInodeNumber()
4821 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSGetSrvInodeNumber()
4849 cifs_buf_release(pSMB); in CIFSGetSrvInodeNumber()
4862 TRANSACTION2_GET_DFS_REFER_REQ *pSMB = NULL; in CIFSGetDFSRefer() local
4876 rc = smb_init(SMB_COM_TRANSACTION2, 15, ses->tcon_ipc, (void **) &pSMB, in CIFSGetDFSRefer()
4883 pSMB->hdr.Mid = get_next_mid(ses->server); in CIFSGetDFSRefer()
4884 pSMB->hdr.Tid = ses->tcon_ipc->tid; in CIFSGetDFSRefer()
4885 pSMB->hdr.Uid = ses->Suid; in CIFSGetDFSRefer()
4887 pSMB->hdr.Flags2 |= SMBFLG2_ERR_STATUS; in CIFSGetDFSRefer()
4889 pSMB->hdr.Flags2 |= SMBFLG2_DFS; in CIFSGetDFSRefer()
4892 pSMB->hdr.Flags2 |= SMBFLG2_UNICODE; in CIFSGetDFSRefer()
4894 cifsConvertToUTF16((__le16 *) pSMB->RequestFileName, in CIFSGetDFSRefer()
4902 strncpy(pSMB->RequestFileName, search_name, name_len); in CIFSGetDFSRefer()
4906 pSMB->hdr.Flags2 |= SMBFLG2_SECURITY_SIGNATURE; in CIFSGetDFSRefer()
4908 pSMB->hdr.Uid = ses->Suid; in CIFSGetDFSRefer()
4911 pSMB->TotalDataCount = 0; in CIFSGetDFSRefer()
4912 pSMB->DataCount = 0; in CIFSGetDFSRefer()
4913 pSMB->DataOffset = 0; in CIFSGetDFSRefer()
4914 pSMB->MaxParameterCount = 0; in CIFSGetDFSRefer()
4916 pSMB->MaxDataCount = cpu_to_le16(4000); in CIFSGetDFSRefer()
4917 pSMB->MaxSetupCount = 0; in CIFSGetDFSRefer()
4918 pSMB->Reserved = 0; in CIFSGetDFSRefer()
4919 pSMB->Flags = 0; in CIFSGetDFSRefer()
4920 pSMB->Timeout = 0; in CIFSGetDFSRefer()
4921 pSMB->Reserved2 = 0; in CIFSGetDFSRefer()
4922 pSMB->ParameterOffset = cpu_to_le16(offsetof( in CIFSGetDFSRefer()
4924 pSMB->SetupCount = 1; in CIFSGetDFSRefer()
4925 pSMB->Reserved3 = 0; in CIFSGetDFSRefer()
4926 pSMB->SubCommand = cpu_to_le16(TRANS2_GET_DFS_REFERRAL); in CIFSGetDFSRefer()
4928 pSMB->ParameterCount = cpu_to_le16(params); in CIFSGetDFSRefer()
4929 pSMB->TotalParameterCount = pSMB->ParameterCount; in CIFSGetDFSRefer()
4930 pSMB->MaxReferralLevel = cpu_to_le16(3); in CIFSGetDFSRefer()
4931 inc_rfc1001_len(pSMB, byte_count); in CIFSGetDFSRefer()
4932 pSMB->ByteCount = cpu_to_le16(byte_count); in CIFSGetDFSRefer()
4934 rc = SendReceive(xid, ses, (struct smb_hdr *) pSMB, in CIFSGetDFSRefer()
4959 cifs_buf_release(pSMB); in CIFSGetDFSRefer()
4973 TRANSACTION2_QFSI_REQ *pSMB = NULL; in SMBOldQFSInfo() local
4982 rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, in SMBOldQFSInfo()
4988 pSMB->TotalDataCount = 0; in SMBOldQFSInfo()
4989 pSMB->MaxParameterCount = cpu_to_le16(2); in SMBOldQFSInfo()
4990 pSMB->MaxDataCount = cpu_to_le16(1000); in SMBOldQFSInfo()
4991 pSMB->MaxSetupCount = 0; in SMBOldQFSInfo()
4992 pSMB->Reserved = 0; in SMBOldQFSInfo()
4993 pSMB->Flags = 0; in SMBOldQFSInfo()
4994 pSMB->Timeout = 0; in SMBOldQFSInfo()
4995 pSMB->Reserved2 = 0; in SMBOldQFSInfo()
4997 pSMB->TotalParameterCount = cpu_to_le16(params); in SMBOldQFSInfo()
4998 pSMB->ParameterCount = pSMB->TotalParameterCount; in SMBOldQFSInfo()
4999 pSMB->ParameterOffset = cpu_to_le16(offsetof( in SMBOldQFSInfo()
5001 pSMB->DataCount = 0; in SMBOldQFSInfo()
5002 pSMB->DataOffset = 0; in SMBOldQFSInfo()
5003 pSMB->SetupCount = 1; in SMBOldQFSInfo()
5004 pSMB->Reserved3 = 0; in SMBOldQFSInfo()
5005 pSMB->SubCommand = cpu_to_le16(TRANS2_QUERY_FS_INFORMATION); in SMBOldQFSInfo()
5006 pSMB->InformationLevel = cpu_to_le16(SMB_INFO_ALLOCATION); in SMBOldQFSInfo()
5007 inc_rfc1001_len(pSMB, byte_count); in SMBOldQFSInfo()
5008 pSMB->ByteCount = cpu_to_le16(byte_count); in SMBOldQFSInfo()
5010 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in SMBOldQFSInfo()
5040 cifs_buf_release(pSMB); in SMBOldQFSInfo()
5053 TRANSACTION2_QFSI_REQ *pSMB = NULL; in CIFSSMBQFSInfo() local
5062 rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, in CIFSSMBQFSInfo()
5068 pSMB->TotalDataCount = 0; in CIFSSMBQFSInfo()
5069 pSMB->MaxParameterCount = cpu_to_le16(2); in CIFSSMBQFSInfo()
5070 pSMB->MaxDataCount = cpu_to_le16(1000); in CIFSSMBQFSInfo()
5071 pSMB->MaxSetupCount = 0; in CIFSSMBQFSInfo()
5072 pSMB->Reserved = 0; in CIFSSMBQFSInfo()
5073 pSMB->Flags = 0; in CIFSSMBQFSInfo()
5074 pSMB->Timeout = 0; in CIFSSMBQFSInfo()
5075 pSMB->Reserved2 = 0; in CIFSSMBQFSInfo()
5077 pSMB->TotalParameterCount = cpu_to_le16(params); in CIFSSMBQFSInfo()
5078 pSMB->ParameterCount = pSMB->TotalParameterCount; in CIFSSMBQFSInfo()
5079 pSMB->ParameterOffset = cpu_to_le16(offsetof( in CIFSSMBQFSInfo()
5081 pSMB->DataCount = 0; in CIFSSMBQFSInfo()
5082 pSMB->DataOffset = 0; in CIFSSMBQFSInfo()
5083 pSMB->SetupCount = 1; in CIFSSMBQFSInfo()
5084 pSMB->Reserved3 = 0; in CIFSSMBQFSInfo()
5085 pSMB->SubCommand = cpu_to_le16(TRANS2_QUERY_FS_INFORMATION); in CIFSSMBQFSInfo()
5086 pSMB->InformationLevel = cpu_to_le16(SMB_QUERY_FS_SIZE_INFO); in CIFSSMBQFSInfo()
5087 inc_rfc1001_len(pSMB, byte_count); in CIFSSMBQFSInfo()
5088 pSMB->ByteCount = cpu_to_le16(byte_count); in CIFSSMBQFSInfo()
5090 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSSMBQFSInfo()
5120 cifs_buf_release(pSMB); in CIFSSMBQFSInfo()
5132 TRANSACTION2_QFSI_REQ *pSMB = NULL; in CIFSSMBQFSAttributeInfo() local
5141 rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, in CIFSSMBQFSAttributeInfo()
5147 pSMB->TotalDataCount = 0; in CIFSSMBQFSAttributeInfo()
5148 pSMB->MaxParameterCount = cpu_to_le16(2); in CIFSSMBQFSAttributeInfo()
5150 pSMB->MaxDataCount = cpu_to_le16(1000); in CIFSSMBQFSAttributeInfo()
5151 pSMB->MaxSetupCount = 0; in CIFSSMBQFSAttributeInfo()
5152 pSMB->Reserved = 0; in CIFSSMBQFSAttributeInfo()
5153 pSMB->Flags = 0; in CIFSSMBQFSAttributeInfo()
5154 pSMB->Timeout = 0; in CIFSSMBQFSAttributeInfo()
5155 pSMB->Reserved2 = 0; in CIFSSMBQFSAttributeInfo()
5157 pSMB->TotalParameterCount = cpu_to_le16(params); in CIFSSMBQFSAttributeInfo()
5158 pSMB->ParameterCount = pSMB->TotalParameterCount; in CIFSSMBQFSAttributeInfo()
5159 pSMB->ParameterOffset = cpu_to_le16(offsetof( in CIFSSMBQFSAttributeInfo()
5161 pSMB->DataCount = 0; in CIFSSMBQFSAttributeInfo()
5162 pSMB->DataOffset = 0; in CIFSSMBQFSAttributeInfo()
5163 pSMB->SetupCount = 1; in CIFSSMBQFSAttributeInfo()
5164 pSMB->Reserved3 = 0; in CIFSSMBQFSAttributeInfo()
5165 pSMB->SubCommand = cpu_to_le16(TRANS2_QUERY_FS_INFORMATION); in CIFSSMBQFSAttributeInfo()
5166 pSMB->InformationLevel = cpu_to_le16(SMB_QUERY_FS_ATTRIBUTE_INFO); in CIFSSMBQFSAttributeInfo()
5167 inc_rfc1001_len(pSMB, byte_count); in CIFSSMBQFSAttributeInfo()
5168 pSMB->ByteCount = cpu_to_le16(byte_count); in CIFSSMBQFSAttributeInfo()
5170 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSSMBQFSAttributeInfo()
5190 cifs_buf_release(pSMB); in CIFSSMBQFSAttributeInfo()
5202 TRANSACTION2_QFSI_REQ *pSMB = NULL; in CIFSSMBQFSDeviceInfo() local
5211 rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, in CIFSSMBQFSDeviceInfo()
5217 pSMB->TotalDataCount = 0; in CIFSSMBQFSDeviceInfo()
5218 pSMB->MaxParameterCount = cpu_to_le16(2); in CIFSSMBQFSDeviceInfo()
5220 pSMB->MaxDataCount = cpu_to_le16(1000); in CIFSSMBQFSDeviceInfo()
5221 pSMB->MaxSetupCount = 0; in CIFSSMBQFSDeviceInfo()
5222 pSMB->Reserved = 0; in CIFSSMBQFSDeviceInfo()
5223 pSMB->Flags = 0; in CIFSSMBQFSDeviceInfo()
5224 pSMB->Timeout = 0; in CIFSSMBQFSDeviceInfo()
5225 pSMB->Reserved2 = 0; in CIFSSMBQFSDeviceInfo()
5227 pSMB->TotalParameterCount = cpu_to_le16(params); in CIFSSMBQFSDeviceInfo()
5228 pSMB->ParameterCount = pSMB->TotalParameterCount; in CIFSSMBQFSDeviceInfo()
5229 pSMB->ParameterOffset = cpu_to_le16(offsetof( in CIFSSMBQFSDeviceInfo()
5232 pSMB->DataCount = 0; in CIFSSMBQFSDeviceInfo()
5233 pSMB->DataOffset = 0; in CIFSSMBQFSDeviceInfo()
5234 pSMB->SetupCount = 1; in CIFSSMBQFSDeviceInfo()
5235 pSMB->Reserved3 = 0; in CIFSSMBQFSDeviceInfo()
5236 pSMB->SubCommand = cpu_to_le16(TRANS2_QUERY_FS_INFORMATION); in CIFSSMBQFSDeviceInfo()
5237 pSMB->InformationLevel = cpu_to_le16(SMB_QUERY_FS_DEVICE_INFO); in CIFSSMBQFSDeviceInfo()
5238 inc_rfc1001_len(pSMB, byte_count); in CIFSSMBQFSDeviceInfo()
5239 pSMB->ByteCount = cpu_to_le16(byte_count); in CIFSSMBQFSDeviceInfo()
5241 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSSMBQFSDeviceInfo()
5261 cifs_buf_release(pSMB); in CIFSSMBQFSDeviceInfo()
5273 TRANSACTION2_QFSI_REQ *pSMB = NULL; in CIFSSMBQFSUnixInfo() local
5283 (void **) &pSMB, (void **) &pSMBr); in CIFSSMBQFSUnixInfo()
5288 pSMB->TotalDataCount = 0; in CIFSSMBQFSUnixInfo()
5289 pSMB->DataCount = 0; in CIFSSMBQFSUnixInfo()
5290 pSMB->DataOffset = 0; in CIFSSMBQFSUnixInfo()
5291 pSMB->MaxParameterCount = cpu_to_le16(2); in CIFSSMBQFSUnixInfo()
5293 pSMB->MaxDataCount = cpu_to_le16(100); in CIFSSMBQFSUnixInfo()
5294 pSMB->MaxSetupCount = 0; in CIFSSMBQFSUnixInfo()
5295 pSMB->Reserved = 0; in CIFSSMBQFSUnixInfo()
5296 pSMB->Flags = 0; in CIFSSMBQFSUnixInfo()
5297 pSMB->Timeout = 0; in CIFSSMBQFSUnixInfo()
5298 pSMB->Reserved2 = 0; in CIFSSMBQFSUnixInfo()
5300 pSMB->ParameterCount = cpu_to_le16(params); in CIFSSMBQFSUnixInfo()
5301 pSMB->TotalParameterCount = pSMB->ParameterCount; in CIFSSMBQFSUnixInfo()
5302 pSMB->ParameterOffset = cpu_to_le16(offsetof(struct in CIFSSMBQFSUnixInfo()
5304 pSMB->SetupCount = 1; in CIFSSMBQFSUnixInfo()
5305 pSMB->Reserved3 = 0; in CIFSSMBQFSUnixInfo()
5306 pSMB->SubCommand = cpu_to_le16(TRANS2_QUERY_FS_INFORMATION); in CIFSSMBQFSUnixInfo()
5307 pSMB->InformationLevel = cpu_to_le16(SMB_QUERY_CIFS_UNIX_INFO); in CIFSSMBQFSUnixInfo()
5308 inc_rfc1001_len(pSMB, byte_count); in CIFSSMBQFSUnixInfo()
5309 pSMB->ByteCount = cpu_to_le16(byte_count); in CIFSSMBQFSUnixInfo()
5311 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSSMBQFSUnixInfo()
5330 cifs_buf_release(pSMB); in CIFSSMBQFSUnixInfo()
5343 TRANSACTION2_SETFSI_REQ *pSMB = NULL; in CIFSSMBSetFSUnixInfo() local
5353 (void **) &pSMB, (void **) &pSMBr); in CIFSSMBSetFSUnixInfo()
5358 pSMB->MaxSetupCount = 0; in CIFSSMBSetFSUnixInfo()
5359 pSMB->Reserved = 0; in CIFSSMBSetFSUnixInfo()
5360 pSMB->Flags = 0; in CIFSSMBSetFSUnixInfo()
5361 pSMB->Timeout = 0; in CIFSSMBSetFSUnixInfo()
5362 pSMB->Reserved2 = 0; in CIFSSMBSetFSUnixInfo()
5367 pSMB->MaxParameterCount = cpu_to_le16(4); in CIFSSMBSetFSUnixInfo()
5369 pSMB->MaxDataCount = cpu_to_le16(100); in CIFSSMBSetFSUnixInfo()
5370 pSMB->SetupCount = 1; in CIFSSMBSetFSUnixInfo()
5371 pSMB->Reserved3 = 0; in CIFSSMBSetFSUnixInfo()
5372 pSMB->SubCommand = cpu_to_le16(TRANS2_SET_FS_INFORMATION); in CIFSSMBSetFSUnixInfo()
5375 pSMB->DataCount = cpu_to_le16(12); in CIFSSMBSetFSUnixInfo()
5376 pSMB->ParameterCount = cpu_to_le16(params); in CIFSSMBSetFSUnixInfo()
5377 pSMB->TotalDataCount = pSMB->DataCount; in CIFSSMBSetFSUnixInfo()
5378 pSMB->TotalParameterCount = pSMB->ParameterCount; in CIFSSMBSetFSUnixInfo()
5379 pSMB->ParameterOffset = cpu_to_le16(param_offset); in CIFSSMBSetFSUnixInfo()
5380 pSMB->DataOffset = cpu_to_le16(offset); in CIFSSMBSetFSUnixInfo()
5383 pSMB->FileNum = 0; in CIFSSMBSetFSUnixInfo()
5384 pSMB->InformationLevel = cpu_to_le16(SMB_SET_CIFS_UNIX_INFO); in CIFSSMBSetFSUnixInfo()
5387 pSMB->ClientUnixMajor = cpu_to_le16(CIFS_UNIX_MAJOR_VERSION); in CIFSSMBSetFSUnixInfo()
5388 pSMB->ClientUnixMinor = cpu_to_le16(CIFS_UNIX_MINOR_VERSION); in CIFSSMBSetFSUnixInfo()
5389 pSMB->ClientUnixCap = cpu_to_le64(cap); in CIFSSMBSetFSUnixInfo()
5391 inc_rfc1001_len(pSMB, byte_count); in CIFSSMBSetFSUnixInfo()
5392 pSMB->ByteCount = cpu_to_le16(byte_count); in CIFSSMBSetFSUnixInfo()
5394 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSSMBSetFSUnixInfo()
5403 cifs_buf_release(pSMB); in CIFSSMBSetFSUnixInfo()
5418 TRANSACTION2_QFSI_REQ *pSMB = NULL; in CIFSSMBQFSPosixInfo() local
5427 rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, in CIFSSMBQFSPosixInfo()
5433 pSMB->TotalDataCount = 0; in CIFSSMBQFSPosixInfo()
5434 pSMB->DataCount = 0; in CIFSSMBQFSPosixInfo()
5435 pSMB->DataOffset = 0; in CIFSSMBQFSPosixInfo()
5436 pSMB->MaxParameterCount = cpu_to_le16(2); in CIFSSMBQFSPosixInfo()
5438 pSMB->MaxDataCount = cpu_to_le16(100); in CIFSSMBQFSPosixInfo()
5439 pSMB->MaxSetupCount = 0; in CIFSSMBQFSPosixInfo()
5440 pSMB->Reserved = 0; in CIFSSMBQFSPosixInfo()
5441 pSMB->Flags = 0; in CIFSSMBQFSPosixInfo()
5442 pSMB->Timeout = 0; in CIFSSMBQFSPosixInfo()
5443 pSMB->Reserved2 = 0; in CIFSSMBQFSPosixInfo()
5445 pSMB->ParameterCount = cpu_to_le16(params); in CIFSSMBQFSPosixInfo()
5446 pSMB->TotalParameterCount = pSMB->ParameterCount; in CIFSSMBQFSPosixInfo()
5447 pSMB->ParameterOffset = cpu_to_le16(offsetof(struct in CIFSSMBQFSPosixInfo()
5449 pSMB->SetupCount = 1; in CIFSSMBQFSPosixInfo()
5450 pSMB->Reserved3 = 0; in CIFSSMBQFSPosixInfo()
5451 pSMB->SubCommand = cpu_to_le16(TRANS2_QUERY_FS_INFORMATION); in CIFSSMBQFSPosixInfo()
5452 pSMB->InformationLevel = cpu_to_le16(SMB_QUERY_POSIX_FS_INFO); in CIFSSMBQFSPosixInfo()
5453 inc_rfc1001_len(pSMB, byte_count); in CIFSSMBQFSPosixInfo()
5454 pSMB->ByteCount = cpu_to_le16(byte_count); in CIFSSMBQFSPosixInfo()
5456 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSSMBQFSPosixInfo()
5491 cifs_buf_release(pSMB); in CIFSSMBQFSPosixInfo()
5511 struct smb_com_transaction2_spi_req *pSMB = NULL; in CIFSSMBSetEOF() local
5523 rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, in CIFSSMBSetEOF()
5528 if (pSMB->hdr.Flags2 & SMBFLG2_UNICODE) { in CIFSSMBSetEOF()
5530 cifsConvertToUTF16((__le16 *) pSMB->FileName, file_name, in CIFSSMBSetEOF()
5537 strncpy(pSMB->FileName, file_name, name_len); in CIFSSMBSetEOF()
5541 pSMB->MaxParameterCount = cpu_to_le16(2); in CIFSSMBSetEOF()
5542 pSMB->MaxDataCount = cpu_to_le16(4100); in CIFSSMBSetEOF()
5543 pSMB->MaxSetupCount = 0; in CIFSSMBSetEOF()
5544 pSMB->Reserved = 0; in CIFSSMBSetEOF()
5545 pSMB->Flags = 0; in CIFSSMBSetEOF()
5546 pSMB->Timeout = 0; in CIFSSMBSetEOF()
5547 pSMB->Reserved2 = 0; in CIFSSMBSetEOF()
5553 pSMB->InformationLevel = in CIFSSMBSetEOF()
5556 pSMB->InformationLevel = in CIFSSMBSetEOF()
5560 pSMB->InformationLevel = in CIFSSMBSetEOF()
5563 pSMB->InformationLevel = in CIFSSMBSetEOF()
5568 (struct file_end_of_file_info *) (((char *) &pSMB->hdr.Protocol) + in CIFSSMBSetEOF()
5570 pSMB->ParameterOffset = cpu_to_le16(param_offset); in CIFSSMBSetEOF()
5571 pSMB->DataOffset = cpu_to_le16(offset); in CIFSSMBSetEOF()
5572 pSMB->SetupCount = 1; in CIFSSMBSetEOF()
5573 pSMB->Reserved3 = 0; in CIFSSMBSetEOF()
5574 pSMB->SubCommand = cpu_to_le16(TRANS2_SET_PATH_INFORMATION); in CIFSSMBSetEOF()
5576 pSMB->DataCount = cpu_to_le16(data_count); in CIFSSMBSetEOF()
5577 pSMB->TotalDataCount = pSMB->DataCount; in CIFSSMBSetEOF()
5578 pSMB->ParameterCount = cpu_to_le16(params); in CIFSSMBSetEOF()
5579 pSMB->TotalParameterCount = pSMB->ParameterCount; in CIFSSMBSetEOF()
5580 pSMB->Reserved4 = 0; in CIFSSMBSetEOF()
5581 inc_rfc1001_len(pSMB, byte_count); in CIFSSMBSetEOF()
5583 pSMB->ByteCount = cpu_to_le16(byte_count); in CIFSSMBSetEOF()
5584 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSSMBSetEOF()
5589 cifs_buf_release(pSMB); in CIFSSMBSetEOF()
5601 struct smb_com_transaction2_sfi_req *pSMB = NULL; in CIFSSMBSetFileSize() local
5608 rc = small_smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB); in CIFSSMBSetFileSize()
5613 pSMB->hdr.Pid = cpu_to_le16((__u16)cfile->pid); in CIFSSMBSetFileSize()
5614 pSMB->hdr.PidHigh = cpu_to_le16((__u16)(cfile->pid >> 16)); in CIFSSMBSetFileSize()
5617 pSMB->MaxSetupCount = 0; in CIFSSMBSetFileSize()
5618 pSMB->Reserved = 0; in CIFSSMBSetFileSize()
5619 pSMB->Flags = 0; in CIFSSMBSetFileSize()
5620 pSMB->Timeout = 0; in CIFSSMBSetFileSize()
5621 pSMB->Reserved2 = 0; in CIFSSMBSetFileSize()
5626 pSMB->MaxParameterCount = cpu_to_le16(2); in CIFSSMBSetFileSize()
5628 pSMB->MaxDataCount = cpu_to_le16(1000); in CIFSSMBSetFileSize()
5629 pSMB->SetupCount = 1; in CIFSSMBSetFileSize()
5630 pSMB->Reserved3 = 0; in CIFSSMBSetFileSize()
5631 pSMB->SubCommand = cpu_to_le16(TRANS2_SET_FILE_INFORMATION); in CIFSSMBSetFileSize()
5633 pSMB->DataCount = cpu_to_le16(count); in CIFSSMBSetFileSize()
5634 pSMB->ParameterCount = cpu_to_le16(params); in CIFSSMBSetFileSize()
5635 pSMB->TotalDataCount = pSMB->DataCount; in CIFSSMBSetFileSize()
5636 pSMB->TotalParameterCount = pSMB->ParameterCount; in CIFSSMBSetFileSize()
5637 pSMB->ParameterOffset = cpu_to_le16(param_offset); in CIFSSMBSetFileSize()
5639 (struct file_end_of_file_info *) (((char *) &pSMB->hdr.Protocol) in CIFSSMBSetFileSize()
5641 pSMB->DataOffset = cpu_to_le16(offset); in CIFSSMBSetFileSize()
5643 pSMB->Fid = cfile->fid.netfid; in CIFSSMBSetFileSize()
5646 pSMB->InformationLevel = in CIFSSMBSetFileSize()
5649 pSMB->InformationLevel = in CIFSSMBSetFileSize()
5653 pSMB->InformationLevel = in CIFSSMBSetFileSize()
5656 pSMB->InformationLevel = in CIFSSMBSetFileSize()
5659 pSMB->Reserved4 = 0; in CIFSSMBSetFileSize()
5660 inc_rfc1001_len(pSMB, byte_count); in CIFSSMBSetFileSize()
5661 pSMB->ByteCount = cpu_to_le16(byte_count); in CIFSSMBSetFileSize()
5662 rc = SendReceiveNoRsp(xid, tcon->ses, (char *) pSMB, 0); in CIFSSMBSetFileSize()
5663 cifs_small_buf_release(pSMB); in CIFSSMBSetFileSize()
5685 struct smb_com_transaction2_sfi_req *pSMB = NULL; in CIFSSMBSetFileInfo() local
5691 rc = small_smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB); in CIFSSMBSetFileInfo()
5696 pSMB->hdr.Pid = cpu_to_le16((__u16)pid_of_opener); in CIFSSMBSetFileInfo()
5697 pSMB->hdr.PidHigh = cpu_to_le16((__u16)(pid_of_opener >> 16)); in CIFSSMBSetFileInfo()
5700 pSMB->MaxSetupCount = 0; in CIFSSMBSetFileInfo()
5701 pSMB->Reserved = 0; in CIFSSMBSetFileInfo()
5702 pSMB->Flags = 0; in CIFSSMBSetFileInfo()
5703 pSMB->Timeout = 0; in CIFSSMBSetFileInfo()
5704 pSMB->Reserved2 = 0; in CIFSSMBSetFileInfo()
5708 data_offset = (char *)pSMB + in CIFSSMBSetFileInfo()
5712 pSMB->MaxParameterCount = cpu_to_le16(2); in CIFSSMBSetFileInfo()
5714 pSMB->MaxDataCount = cpu_to_le16(1000); in CIFSSMBSetFileInfo()
5715 pSMB->SetupCount = 1; in CIFSSMBSetFileInfo()
5716 pSMB->Reserved3 = 0; in CIFSSMBSetFileInfo()
5717 pSMB->SubCommand = cpu_to_le16(TRANS2_SET_FILE_INFORMATION); in CIFSSMBSetFileInfo()
5719 pSMB->DataCount = cpu_to_le16(count); in CIFSSMBSetFileInfo()
5720 pSMB->ParameterCount = cpu_to_le16(params); in CIFSSMBSetFileInfo()
5721 pSMB->TotalDataCount = pSMB->DataCount; in CIFSSMBSetFileInfo()
5722 pSMB->TotalParameterCount = pSMB->ParameterCount; in CIFSSMBSetFileInfo()
5723 pSMB->ParameterOffset = cpu_to_le16(param_offset); in CIFSSMBSetFileInfo()
5724 pSMB->DataOffset = cpu_to_le16(offset); in CIFSSMBSetFileInfo()
5725 pSMB->Fid = fid; in CIFSSMBSetFileInfo()
5727 pSMB->InformationLevel = cpu_to_le16(SMB_SET_FILE_BASIC_INFO2); in CIFSSMBSetFileInfo()
5729 pSMB->InformationLevel = cpu_to_le16(SMB_SET_FILE_BASIC_INFO); in CIFSSMBSetFileInfo()
5730 pSMB->Reserved4 = 0; in CIFSSMBSetFileInfo()
5731 inc_rfc1001_len(pSMB, byte_count); in CIFSSMBSetFileInfo()
5732 pSMB->ByteCount = cpu_to_le16(byte_count); in CIFSSMBSetFileInfo()
5734 rc = SendReceiveNoRsp(xid, tcon->ses, (char *) pSMB, 0); in CIFSSMBSetFileInfo()
5735 cifs_small_buf_release(pSMB); in CIFSSMBSetFileInfo()
5750 struct smb_com_transaction2_sfi_req *pSMB = NULL; in CIFSSMBSetFileDisposition() local
5756 rc = small_smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB); in CIFSSMBSetFileDisposition()
5761 pSMB->hdr.Pid = cpu_to_le16((__u16)pid_of_opener); in CIFSSMBSetFileDisposition()
5762 pSMB->hdr.PidHigh = cpu_to_le16((__u16)(pid_of_opener >> 16)); in CIFSSMBSetFileDisposition()
5765 pSMB->MaxSetupCount = 0; in CIFSSMBSetFileDisposition()
5766 pSMB->Reserved = 0; in CIFSSMBSetFileDisposition()
5767 pSMB->Flags = 0; in CIFSSMBSetFileDisposition()
5768 pSMB->Timeout = 0; in CIFSSMBSetFileDisposition()
5769 pSMB->Reserved2 = 0; in CIFSSMBSetFileDisposition()
5773 data_offset = (char *) (&pSMB->hdr.Protocol) + offset; in CIFSSMBSetFileDisposition()
5776 pSMB->MaxParameterCount = cpu_to_le16(2); in CIFSSMBSetFileDisposition()
5778 pSMB->MaxDataCount = cpu_to_le16(1000); in CIFSSMBSetFileDisposition()
5779 pSMB->SetupCount = 1; in CIFSSMBSetFileDisposition()
5780 pSMB->Reserved3 = 0; in CIFSSMBSetFileDisposition()
5781 pSMB->SubCommand = cpu_to_le16(TRANS2_SET_FILE_INFORMATION); in CIFSSMBSetFileDisposition()
5783 pSMB->DataCount = cpu_to_le16(count); in CIFSSMBSetFileDisposition()
5784 pSMB->ParameterCount = cpu_to_le16(params); in CIFSSMBSetFileDisposition()
5785 pSMB->TotalDataCount = pSMB->DataCount; in CIFSSMBSetFileDisposition()
5786 pSMB->TotalParameterCount = pSMB->ParameterCount; in CIFSSMBSetFileDisposition()
5787 pSMB->ParameterOffset = cpu_to_le16(param_offset); in CIFSSMBSetFileDisposition()
5788 pSMB->DataOffset = cpu_to_le16(offset); in CIFSSMBSetFileDisposition()
5789 pSMB->Fid = fid; in CIFSSMBSetFileDisposition()
5790 pSMB->InformationLevel = cpu_to_le16(SMB_SET_FILE_DISPOSITION_INFO); in CIFSSMBSetFileDisposition()
5791 pSMB->Reserved4 = 0; in CIFSSMBSetFileDisposition()
5792 inc_rfc1001_len(pSMB, byte_count); in CIFSSMBSetFileDisposition()
5793 pSMB->ByteCount = cpu_to_le16(byte_count); in CIFSSMBSetFileDisposition()
5795 rc = SendReceiveNoRsp(xid, tcon->ses, (char *) pSMB, 0); in CIFSSMBSetFileDisposition()
5796 cifs_small_buf_release(pSMB); in CIFSSMBSetFileDisposition()
5808 TRANSACTION2_SPI_REQ *pSMB = NULL; in CIFSSMBSetPathInfo() local
5819 rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, in CIFSSMBSetPathInfo()
5824 if (pSMB->hdr.Flags2 & SMBFLG2_UNICODE) { in CIFSSMBSetPathInfo()
5826 cifsConvertToUTF16((__le16 *) pSMB->FileName, fileName, in CIFSSMBSetPathInfo()
5833 strncpy(pSMB->FileName, fileName, name_len); in CIFSSMBSetPathInfo()
5838 pSMB->MaxParameterCount = cpu_to_le16(2); in CIFSSMBSetPathInfo()
5840 pSMB->MaxDataCount = cpu_to_le16(1000); in CIFSSMBSetPathInfo()
5841 pSMB->MaxSetupCount = 0; in CIFSSMBSetPathInfo()
5842 pSMB->Reserved = 0; in CIFSSMBSetPathInfo()
5843 pSMB->Flags = 0; in CIFSSMBSetPathInfo()
5844 pSMB->Timeout = 0; in CIFSSMBSetPathInfo()
5845 pSMB->Reserved2 = 0; in CIFSSMBSetPathInfo()
5849 data_offset = (char *) (&pSMB->hdr.Protocol) + offset; in CIFSSMBSetPathInfo()
5850 pSMB->ParameterOffset = cpu_to_le16(param_offset); in CIFSSMBSetPathInfo()
5851 pSMB->DataOffset = cpu_to_le16(offset); in CIFSSMBSetPathInfo()
5852 pSMB->SetupCount = 1; in CIFSSMBSetPathInfo()
5853 pSMB->Reserved3 = 0; in CIFSSMBSetPathInfo()
5854 pSMB->SubCommand = cpu_to_le16(TRANS2_SET_PATH_INFORMATION); in CIFSSMBSetPathInfo()
5857 pSMB->DataCount = cpu_to_le16(count); in CIFSSMBSetPathInfo()
5858 pSMB->ParameterCount = cpu_to_le16(params); in CIFSSMBSetPathInfo()
5859 pSMB->TotalDataCount = pSMB->DataCount; in CIFSSMBSetPathInfo()
5860 pSMB->TotalParameterCount = pSMB->ParameterCount; in CIFSSMBSetPathInfo()
5862 pSMB->InformationLevel = cpu_to_le16(SMB_SET_FILE_BASIC_INFO2); in CIFSSMBSetPathInfo()
5864 pSMB->InformationLevel = cpu_to_le16(SMB_SET_FILE_BASIC_INFO); in CIFSSMBSetPathInfo()
5865 pSMB->Reserved4 = 0; in CIFSSMBSetPathInfo()
5866 inc_rfc1001_len(pSMB, byte_count); in CIFSSMBSetPathInfo()
5868 pSMB->ByteCount = cpu_to_le16(byte_count); in CIFSSMBSetPathInfo()
5869 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSSMBSetPathInfo()
5874 cifs_buf_release(pSMB); in CIFSSMBSetPathInfo()
5891 SETATTR_REQ *pSMB = NULL;
5900 rc = smb_init(SMB_COM_SETATTR, 8, tcon, (void **) &pSMB,
5905 if (pSMB->hdr.Flags2 & SMBFLG2_UNICODE) {
5907 ConvertToUTF16((__le16 *) pSMB->fileName, fileName,
5914 strncpy(pSMB->fileName, fileName, name_len);
5916 pSMB->attr = cpu_to_le16(dos_attrs);
5917 pSMB->BufferFormat = 0x04;
5918 inc_rfc1001_len(pSMB, name_len + 1);
5919 pSMB->ByteCount = cpu_to_le16(name_len + 1);
5920 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB,
5925 cifs_buf_release(pSMB);
5986 struct smb_com_transaction2_sfi_req *pSMB = NULL; in CIFSSMBUnixSetFileInfo() local
5992 rc = small_smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB); in CIFSSMBUnixSetFileInfo()
5997 pSMB->hdr.Pid = cpu_to_le16((__u16)pid_of_opener); in CIFSSMBUnixSetFileInfo()
5998 pSMB->hdr.PidHigh = cpu_to_le16((__u16)(pid_of_opener >> 16)); in CIFSSMBUnixSetFileInfo()
6001 pSMB->MaxSetupCount = 0; in CIFSSMBUnixSetFileInfo()
6002 pSMB->Reserved = 0; in CIFSSMBUnixSetFileInfo()
6003 pSMB->Flags = 0; in CIFSSMBUnixSetFileInfo()
6004 pSMB->Timeout = 0; in CIFSSMBUnixSetFileInfo()
6005 pSMB->Reserved2 = 0; in CIFSSMBUnixSetFileInfo()
6009 data_offset = (char *)pSMB + in CIFSSMBUnixSetFileInfo()
6014 pSMB->MaxParameterCount = cpu_to_le16(2); in CIFSSMBUnixSetFileInfo()
6016 pSMB->MaxDataCount = cpu_to_le16(1000); in CIFSSMBUnixSetFileInfo()
6017 pSMB->SetupCount = 1; in CIFSSMBUnixSetFileInfo()
6018 pSMB->Reserved3 = 0; in CIFSSMBUnixSetFileInfo()
6019 pSMB->SubCommand = cpu_to_le16(TRANS2_SET_FILE_INFORMATION); in CIFSSMBUnixSetFileInfo()
6021 pSMB->DataCount = cpu_to_le16(count); in CIFSSMBUnixSetFileInfo()
6022 pSMB->ParameterCount = cpu_to_le16(params); in CIFSSMBUnixSetFileInfo()
6023 pSMB->TotalDataCount = pSMB->DataCount; in CIFSSMBUnixSetFileInfo()
6024 pSMB->TotalParameterCount = pSMB->ParameterCount; in CIFSSMBUnixSetFileInfo()
6025 pSMB->ParameterOffset = cpu_to_le16(param_offset); in CIFSSMBUnixSetFileInfo()
6026 pSMB->DataOffset = cpu_to_le16(offset); in CIFSSMBUnixSetFileInfo()
6027 pSMB->Fid = fid; in CIFSSMBUnixSetFileInfo()
6028 pSMB->InformationLevel = cpu_to_le16(SMB_SET_FILE_UNIX_BASIC); in CIFSSMBUnixSetFileInfo()
6029 pSMB->Reserved4 = 0; in CIFSSMBUnixSetFileInfo()
6030 inc_rfc1001_len(pSMB, byte_count); in CIFSSMBUnixSetFileInfo()
6031 pSMB->ByteCount = cpu_to_le16(byte_count); in CIFSSMBUnixSetFileInfo()
6035 rc = SendReceiveNoRsp(xid, tcon->ses, (char *) pSMB, 0); in CIFSSMBUnixSetFileInfo()
6036 cifs_small_buf_release(pSMB); in CIFSSMBUnixSetFileInfo()
6053 TRANSACTION2_SPI_REQ *pSMB = NULL; in CIFSSMBUnixSetPathInfo() local
6063 rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, in CIFSSMBUnixSetPathInfo()
6068 if (pSMB->hdr.Flags2 & SMBFLG2_UNICODE) { in CIFSSMBUnixSetPathInfo()
6070 cifsConvertToUTF16((__le16 *) pSMB->FileName, file_name, in CIFSSMBUnixSetPathInfo()
6077 strncpy(pSMB->FileName, file_name, name_len); in CIFSSMBUnixSetPathInfo()
6082 pSMB->MaxParameterCount = cpu_to_le16(2); in CIFSSMBUnixSetPathInfo()
6084 pSMB->MaxDataCount = cpu_to_le16(1000); in CIFSSMBUnixSetPathInfo()
6085 pSMB->MaxSetupCount = 0; in CIFSSMBUnixSetPathInfo()
6086 pSMB->Reserved = 0; in CIFSSMBUnixSetPathInfo()
6087 pSMB->Flags = 0; in CIFSSMBUnixSetPathInfo()
6088 pSMB->Timeout = 0; in CIFSSMBUnixSetPathInfo()
6089 pSMB->Reserved2 = 0; in CIFSSMBUnixSetPathInfo()
6094 (FILE_UNIX_BASIC_INFO *) ((char *) &pSMB->hdr.Protocol + in CIFSSMBUnixSetPathInfo()
6097 pSMB->DataOffset = cpu_to_le16(offset); in CIFSSMBUnixSetPathInfo()
6098 pSMB->ParameterOffset = cpu_to_le16(param_offset); in CIFSSMBUnixSetPathInfo()
6099 pSMB->SetupCount = 1; in CIFSSMBUnixSetPathInfo()
6100 pSMB->Reserved3 = 0; in CIFSSMBUnixSetPathInfo()
6101 pSMB->SubCommand = cpu_to_le16(TRANS2_SET_PATH_INFORMATION); in CIFSSMBUnixSetPathInfo()
6103 pSMB->ParameterCount = cpu_to_le16(params); in CIFSSMBUnixSetPathInfo()
6104 pSMB->DataCount = cpu_to_le16(count); in CIFSSMBUnixSetPathInfo()
6105 pSMB->TotalParameterCount = pSMB->ParameterCount; in CIFSSMBUnixSetPathInfo()
6106 pSMB->TotalDataCount = pSMB->DataCount; in CIFSSMBUnixSetPathInfo()
6107 pSMB->InformationLevel = cpu_to_le16(SMB_SET_FILE_UNIX_BASIC); in CIFSSMBUnixSetPathInfo()
6108 pSMB->Reserved4 = 0; in CIFSSMBUnixSetPathInfo()
6109 inc_rfc1001_len(pSMB, byte_count); in CIFSSMBUnixSetPathInfo()
6113 pSMB->ByteCount = cpu_to_le16(byte_count); in CIFSSMBUnixSetPathInfo()
6114 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSSMBUnixSetPathInfo()
6119 cifs_buf_release(pSMB); in CIFSSMBUnixSetPathInfo()
6142 TRANSACTION2_QPI_REQ *pSMB = NULL; in CIFSSMBQAllEAs() local
6158 rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, in CIFSSMBQAllEAs()
6163 if (pSMB->hdr.Flags2 & SMBFLG2_UNICODE) { in CIFSSMBQAllEAs()
6165 cifsConvertToUTF16((__le16 *) pSMB->FileName, searchName, in CIFSSMBQAllEAs()
6172 strncpy(pSMB->FileName, searchName, list_len); in CIFSSMBQAllEAs()
6176 pSMB->TotalDataCount = 0; in CIFSSMBQAllEAs()
6177 pSMB->MaxParameterCount = cpu_to_le16(2); in CIFSSMBQAllEAs()
6179 pSMB->MaxDataCount = cpu_to_le16(CIFSMaxBufSize); in CIFSSMBQAllEAs()
6180 pSMB->MaxSetupCount = 0; in CIFSSMBQAllEAs()
6181 pSMB->Reserved = 0; in CIFSSMBQAllEAs()
6182 pSMB->Flags = 0; in CIFSSMBQAllEAs()
6183 pSMB->Timeout = 0; in CIFSSMBQAllEAs()
6184 pSMB->Reserved2 = 0; in CIFSSMBQAllEAs()
6185 pSMB->ParameterOffset = cpu_to_le16(offsetof( in CIFSSMBQAllEAs()
6187 pSMB->DataCount = 0; in CIFSSMBQAllEAs()
6188 pSMB->DataOffset = 0; in CIFSSMBQAllEAs()
6189 pSMB->SetupCount = 1; in CIFSSMBQAllEAs()
6190 pSMB->Reserved3 = 0; in CIFSSMBQAllEAs()
6191 pSMB->SubCommand = cpu_to_le16(TRANS2_QUERY_PATH_INFORMATION); in CIFSSMBQAllEAs()
6193 pSMB->TotalParameterCount = cpu_to_le16(params); in CIFSSMBQAllEAs()
6194 pSMB->ParameterCount = pSMB->TotalParameterCount; in CIFSSMBQAllEAs()
6195 pSMB->InformationLevel = cpu_to_le16(SMB_INFO_QUERY_ALL_EAS); in CIFSSMBQAllEAs()
6196 pSMB->Reserved4 = 0; in CIFSSMBQAllEAs()
6197 inc_rfc1001_len(pSMB, byte_count); in CIFSSMBQAllEAs()
6198 pSMB->ByteCount = cpu_to_le16(byte_count); in CIFSSMBQAllEAs()
6200 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSSMBQAllEAs()
6316 cifs_buf_release(pSMB); in CIFSSMBQAllEAs()
6329 struct smb_com_transaction2_spi_req *pSMB = NULL; in CIFSSMBSetEA() local
6340 rc = smb_init(SMB_COM_TRANSACTION2, 15, tcon, (void **) &pSMB, in CIFSSMBSetEA()
6345 if (pSMB->hdr.Flags2 & SMBFLG2_UNICODE) { in CIFSSMBSetEA()
6347 cifsConvertToUTF16((__le16 *) pSMB->FileName, fileName, in CIFSSMBSetEA()
6354 strncpy(pSMB->FileName, fileName, name_len); in CIFSSMBSetEA()
6368 pSMB->MaxParameterCount = cpu_to_le16(2); in CIFSSMBSetEA()
6370 pSMB->MaxDataCount = cpu_to_le16(1000); in CIFSSMBSetEA()
6371 pSMB->MaxSetupCount = 0; in CIFSSMBSetEA()
6372 pSMB->Reserved = 0; in CIFSSMBSetEA()
6373 pSMB->Flags = 0; in CIFSSMBSetEA()
6374 pSMB->Timeout = 0; in CIFSSMBSetEA()
6375 pSMB->Reserved2 = 0; in CIFSSMBSetEA()
6379 pSMB->InformationLevel = in CIFSSMBSetEA()
6382 parm_data = (void *)pSMB + offsetof(struct smb_hdr, Protocol) + offset; in CIFSSMBSetEA()
6383 pSMB->ParameterOffset = cpu_to_le16(param_offset); in CIFSSMBSetEA()
6384 pSMB->DataOffset = cpu_to_le16(offset); in CIFSSMBSetEA()
6385 pSMB->SetupCount = 1; in CIFSSMBSetEA()
6386 pSMB->Reserved3 = 0; in CIFSSMBSetEA()
6387 pSMB->SubCommand = cpu_to_le16(TRANS2_SET_PATH_INFORMATION); in CIFSSMBSetEA()
6389 pSMB->DataCount = cpu_to_le16(count); in CIFSSMBSetEA()
6409 pSMB->TotalDataCount = pSMB->DataCount; in CIFSSMBSetEA()
6410 pSMB->ParameterCount = cpu_to_le16(params); in CIFSSMBSetEA()
6411 pSMB->TotalParameterCount = pSMB->ParameterCount; in CIFSSMBSetEA()
6412 pSMB->Reserved4 = 0; in CIFSSMBSetEA()
6413 inc_rfc1001_len(pSMB, byte_count); in CIFSSMBSetEA()
6414 pSMB->ByteCount = cpu_to_le16(byte_count); in CIFSSMBSetEA()
6415 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSSMBSetEA()
6420 cifs_buf_release(pSMB); in CIFSSMBSetEA()
6456 struct smb_com_transaction_change_notify_req *pSMB = NULL; in CIFSSMBNotify() local
6462 rc = smb_init(SMB_COM_NT_TRANSACT, 23, tcon, (void **) &pSMB, in CIFSSMBNotify()
6467 pSMB->TotalParameterCount = 0 ; in CIFSSMBNotify()
6468 pSMB->TotalDataCount = 0; in CIFSSMBNotify()
6469 pSMB->MaxParameterCount = cpu_to_le32(2); in CIFSSMBNotify()
6470 pSMB->MaxDataCount = cpu_to_le32(CIFSMaxBufSize & 0xFFFFFF00); in CIFSSMBNotify()
6471 pSMB->MaxSetupCount = 4; in CIFSSMBNotify()
6472 pSMB->Reserved = 0; in CIFSSMBNotify()
6473 pSMB->ParameterOffset = 0; in CIFSSMBNotify()
6474 pSMB->DataCount = 0; in CIFSSMBNotify()
6475 pSMB->DataOffset = 0; in CIFSSMBNotify()
6476 pSMB->SetupCount = 4; /* single byte does not need le conversion */ in CIFSSMBNotify()
6477 pSMB->SubCommand = cpu_to_le16(NT_TRANSACT_NOTIFY_CHANGE); in CIFSSMBNotify()
6478 pSMB->ParameterCount = pSMB->TotalParameterCount; in CIFSSMBNotify()
6480 pSMB->WatchTree = 1; /* one byte - no le conversion needed */ in CIFSSMBNotify()
6481 pSMB->Reserved2 = 0; in CIFSSMBNotify()
6482 pSMB->CompletionFilter = cpu_to_le32(filter); in CIFSSMBNotify()
6483 pSMB->Fid = netfid; /* file handle always le */ in CIFSSMBNotify()
6484 pSMB->ByteCount = 0; in CIFSSMBNotify()
6486 rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, in CIFSSMBNotify()
6498 dnotify_req->Pid = pSMB->hdr.Pid; in CIFSSMBNotify()
6499 dnotify_req->PidHigh = pSMB->hdr.PidHigh; in CIFSSMBNotify()
6500 dnotify_req->Mid = pSMB->hdr.Mid; in CIFSSMBNotify()
6501 dnotify_req->Tid = pSMB->hdr.Tid; in CIFSSMBNotify()
6502 dnotify_req->Uid = pSMB->hdr.Uid; in CIFSSMBNotify()
6514 cifs_buf_release(pSMB); in CIFSSMBNotify()