Lines Matching refs:d_info

3495 static int dentry_name(struct ksmbd_dir_info *d_info, int info_level)
3502 ffdinfo = (struct file_full_directory_info *)d_info->rptr;
3503 d_info->rptr += le32_to_cpu(ffdinfo->NextEntryOffset);
3504 d_info->name = ffdinfo->FileName;
3505 d_info->name_len = le32_to_cpu(ffdinfo->FileNameLength);
3512 fbdinfo = (struct file_both_directory_info *)d_info->rptr;
3513 d_info->rptr += le32_to_cpu(fbdinfo->NextEntryOffset);
3514 d_info->name = fbdinfo->FileName;
3515 d_info->name_len = le32_to_cpu(fbdinfo->FileNameLength);
3522 fdinfo = (struct file_directory_info *)d_info->rptr;
3523 d_info->rptr += le32_to_cpu(fdinfo->NextEntryOffset);
3524 d_info->name = fdinfo->FileName;
3525 d_info->name_len = le32_to_cpu(fdinfo->FileNameLength);
3532 fninfo = (struct file_names_info *)d_info->rptr;
3533 d_info->rptr += le32_to_cpu(fninfo->NextEntryOffset);
3534 d_info->name = fninfo->FileName;
3535 d_info->name_len = le32_to_cpu(fninfo->FileNameLength);
3542 dinfo = (struct file_id_full_dir_info *)d_info->rptr;
3543 d_info->rptr += le32_to_cpu(dinfo->NextEntryOffset);
3544 d_info->name = dinfo->FileName;
3545 d_info->name_len = le32_to_cpu(dinfo->FileNameLength);
3552 fibdinfo = (struct file_id_both_directory_info *)d_info->rptr;
3553 d_info->rptr += le32_to_cpu(fibdinfo->NextEntryOffset);
3554 d_info->name = fibdinfo->FileName;
3555 d_info->name_len = le32_to_cpu(fibdinfo->FileNameLength);
3562 posix_info = (struct smb2_posix_info *)d_info->rptr;
3563 d_info->rptr += le32_to_cpu(posix_info->NextEntryOffset);
3564 d_info->name = posix_info->name;
3565 d_info->name_len = le32_to_cpu(posix_info->name_len);
3578 * @d_info: structure included variables for query dir
3587 struct ksmbd_dir_info *d_info,
3596 conv_name = ksmbd_convert_dir_info_name(d_info,
3610 d_info->last_entry_off_align = next_entry_offset - struct_sz;
3612 if (next_entry_offset > d_info->out_buf_len) {
3613 d_info->out_buf_len = 0;
3618 kstat = d_info->wptr;
3620 kstat = ksmbd_vfs_init_kstat(&d_info->wptr, ksmbd_kstat);
3633 if (d_info->hide_dot_file && d_info->name[0] == '.')
3651 if (d_info->hide_dot_file && d_info->name[0] == '.')
3663 if (d_info->hide_dot_file && d_info->name[0] == '.')
3691 if (d_info->hide_dot_file && d_info->name[0] == '.')
3711 if (d_info->hide_dot_file && d_info->name[0] == '.')
3740 if (d_info->hide_dot_file && d_info->name[0] == '.')
3759 d_info->last_entry_offset = d_info->data_count;
3760 d_info->data_count += next_entry_offset;
3761 d_info->out_buf_len -= next_entry_offset;
3762 d_info->wptr += next_entry_offset;
3766 info_level, d_info->out_buf_len,
3767 next_entry_offset, d_info->data_count);
3779 struct ksmbd_dir_info *d_info;
3805 for (i = 0; i < priv->d_info->num_entry; i++) {
3808 if (dentry_name(priv->d_info, priv->info_level))
3812 dent = lookup_one(idmap, priv->d_info->name,
3814 priv->d_info->name_len);
3819 priv->d_info->name,
3826 priv->d_info->name);
3839 priv->d_info,
3848 static int reserve_populate_dentry(struct ksmbd_dir_info *d_info,
3859 conv_len = (d_info->name_len + 1) * 2;
3863 if (next_entry_offset > d_info->out_buf_len) {
3864 d_info->out_buf_len = 0;
3873 ffdinfo = (struct file_full_directory_info *)d_info->wptr;
3874 memcpy(ffdinfo->FileName, d_info->name, d_info->name_len);
3875 ffdinfo->FileName[d_info->name_len] = 0x00;
3876 ffdinfo->FileNameLength = cpu_to_le32(d_info->name_len);
3884 fbdinfo = (struct file_both_directory_info *)d_info->wptr;
3885 memcpy(fbdinfo->FileName, d_info->name, d_info->name_len);
3886 fbdinfo->FileName[d_info->name_len] = 0x00;
3887 fbdinfo->FileNameLength = cpu_to_le32(d_info->name_len);
3895 fdinfo = (struct file_directory_info *)d_info->wptr;
3896 memcpy(fdinfo->FileName, d_info->name, d_info->name_len);
3897 fdinfo->FileName[d_info->name_len] = 0x00;
3898 fdinfo->FileNameLength = cpu_to_le32(d_info->name_len);
3906 fninfo = (struct file_names_info *)d_info->wptr;
3907 memcpy(fninfo->FileName, d_info->name, d_info->name_len);
3908 fninfo->FileName[d_info->name_len] = 0x00;
3909 fninfo->FileNameLength = cpu_to_le32(d_info->name_len);
3917 dinfo = (struct file_id_full_dir_info *)d_info->wptr;
3918 memcpy(dinfo->FileName, d_info->name, d_info->name_len);
3919 dinfo->FileName[d_info->name_len] = 0x00;
3920 dinfo->FileNameLength = cpu_to_le32(d_info->name_len);
3928 fibdinfo = (struct file_id_both_directory_info *)d_info->wptr;
3929 memcpy(fibdinfo->FileName, d_info->name, d_info->name_len);
3930 fibdinfo->FileName[d_info->name_len] = 0x00;
3931 fibdinfo->FileNameLength = cpu_to_le32(d_info->name_len);
3939 posix_info = (struct smb2_posix_info *)d_info->wptr;
3940 memcpy(posix_info->name, d_info->name, d_info->name_len);
3941 posix_info->name[d_info->name_len] = 0x00;
3942 posix_info->name_len = cpu_to_le32(d_info->name_len);
3949 d_info->num_entry++;
3950 d_info->out_buf_len -= next_entry_offset;
3951 d_info->wptr += next_entry_offset;
3960 struct ksmbd_dir_info *d_info;
3965 d_info = priv->d_info;
3975 d_info->name = name;
3976 d_info->name_len = namlen;
3977 rc = reserve_populate_dentry(d_info, priv->info_level);
3980 if (d_info->flags & SMB2_RETURN_SINGLE_ENTRY)
3981 d_info->out_buf_len = 0;
4035 struct ksmbd_dir_info d_info;
4094 memset(&d_info, 0, sizeof(struct ksmbd_dir_info));
4095 d_info.wptr = (char *)rsp->Buffer;
4096 d_info.rptr = (char *)rsp->Buffer;
4097 d_info.out_buf_len =
4100 if (d_info.out_buf_len < 0) {
4104 d_info.flags = srch_flag;
4111 dir_fp, &d_info, srch_ptr,
4119 d_info.hide_dot_file = true;
4121 buffer_sz = d_info.out_buf_len;
4122 d_info.rptr = d_info.wptr;
4126 query_dir_private.d_info = &d_info;
4136 if (!d_info.out_buf_len && !d_info.num_entry)
4143 d_info.wptr = d_info.rptr;
4144 d_info.out_buf_len = buffer_sz;
4149 if (!d_info.data_count && d_info.out_buf_len >= 0) {
4167 ((char *)rsp->Buffer + d_info.last_entry_offset))
4169 if (d_info.data_count >= d_info.last_entry_off_align)
4170 d_info.data_count -= d_info.last_entry_off_align;
4174 rsp->OutputBufferLength = cpu_to_le32(d_info.data_count);
4177 d_info.data_count);