Lines Matching defs:shdr
35 check_smb2_hdr(struct smb2_sync_hdr *shdr, __u64 mid)
37 __u64 wire_mid = le64_to_cpu(shdr->MessageId);
43 if ((shdr->ProtocolId == SMB2_PROTO_NUMBER) &&
45 if (shdr->Flags & SMB2_FLAGS_SERVER_TO_REDIR)
49 if (shdr->Command == SMB2_OPLOCK_BREAK)
55 if (shdr->ProtocolId != SMB2_PROTO_NUMBER)
57 le32_to_cpu(shdr->ProtocolId));
142 struct smb2_sync_hdr *shdr = (struct smb2_sync_hdr *)buf;
143 struct smb2_sync_pdu *pdu = (struct smb2_sync_pdu *)shdr;
154 if (shdr->ProtocolId == SMB2_TRANSFORM_PROTO_NUM) {
176 mid = le64_to_cpu(shdr->MessageId);
179 && (shdr->Status != 0)) {
197 if (check_smb2_hdr(shdr, mid))
200 if (shdr->StructureSize != SMB2_HEADER_STRUCTURE_SIZE) {
202 le16_to_cpu(shdr->StructureSize));
206 command = le16_to_cpu(shdr->Command);
213 if (command != SMB2_OPLOCK_BREAK_HE && (shdr->Status == 0 ||
220 && (shdr->Status == 0)
232 if (shdr->Command == SMB2_NEGOTIATE)
233 clc_len += get_neg_ctxt_len(shdr, len, clc_len);
240 shdr->Status == STATUS_STOPPED_ON_SYMLINK)
306 smb2_get_data_area_len(int *off, int *len, struct smb2_sync_hdr *shdr)
315 if (shdr->Status && shdr->Status != STATUS_MORE_PROCESSING_REQUIRED &&
316 (((struct smb2_err_rsp *)shdr)->StructureSize) ==
325 switch (shdr->Command) {
328 ((struct smb2_negotiate_rsp *)shdr)->SecurityBufferOffset);
330 ((struct smb2_negotiate_rsp *)shdr)->SecurityBufferLength);
334 ((struct smb2_sess_setup_rsp *)shdr)->SecurityBufferOffset);
336 ((struct smb2_sess_setup_rsp *)shdr)->SecurityBufferLength);
340 ((struct smb2_create_rsp *)shdr)->CreateContextsOffset);
342 ((struct smb2_create_rsp *)shdr)->CreateContextsLength);
346 ((struct smb2_query_info_rsp *)shdr)->OutputBufferOffset);
348 ((struct smb2_query_info_rsp *)shdr)->OutputBufferLength);
352 *off = ((struct smb2_read_rsp *)shdr)->DataOffset;
353 *len = le32_to_cpu(((struct smb2_read_rsp *)shdr)->DataLength);
357 ((struct smb2_query_directory_rsp *)shdr)->OutputBufferOffset);
359 ((struct smb2_query_directory_rsp *)shdr)->OutputBufferLength);
363 ((struct smb2_ioctl_rsp *)shdr)->OutputOffset);
365 ((struct smb2_ioctl_rsp *)shdr)->OutputCount);
369 ((struct smb2_change_notify_rsp *)shdr)->OutputBufferOffset);
371 ((struct smb2_change_notify_rsp *)shdr)->OutputBufferLength);
374 cifs_dbg(VFS, "no length check for command %d\n", le16_to_cpu(shdr->Command));
394 return (char *)shdr + *off;
406 struct smb2_sync_hdr *shdr = &pdu->sync_hdr;
410 int len = le16_to_cpu(shdr->StructureSize);
418 if (has_smb2_data_area[le16_to_cpu(shdr->Command)] == false)
421 smb2_get_data_area_len(&offset, &data_length, shdr);