Home
last modified time | relevance | path

Searched refs:fsctl (Results 1 – 13 of 13) sorted by relevance

/illumos-gate/usr/src/uts/common/fs/smbsrv/
H A Dsmb2_ioctl.c40 smb_fsctl_t fsctl; in smb2_ioctl() local
61 &fsctl.CtlCode, /* l */ in smb2_ioctl()
65 &fsctl.InputCount, /* l */ in smb2_ioctl()
68 &fsctl.OutputCount, /* l */ in smb2_ioctl()
69 &fsctl.MaxOutputResp, /* l */ in smb2_ioctl()
78 if (fsctl.InputCount) { in smb2_ioctl()
81 if (fsctl.InputCount > smb2_max_trans) in smb2_ioctl()
84 sr->smb2_cmd_hdr + InputOffset, fsctl.InputCount); in smb2_ioctl()
89 fsctl.in_mbc = &in_mbc; in smb2_ioctl()
94 if (fsctl.MaxOutputResp > smb2_max_trans) in smb2_ioctl()
[all …]
H A Dsmb2_fsctl_fs.c28 smb2_fsctl_invalid(smb_request_t *sr, smb_fsctl_t *fsctl) in smb2_fsctl_invalid() argument
34 smb2_fsctl_notsup(smb_request_t *sr, smb_fsctl_t *fsctl) in smb2_fsctl_notsup() argument
45 smb2_fsctl_unknown(smb_request_t *sr, smb_fsctl_t *fsctl) in smb2_fsctl_unknown() argument
48 cmn_err(CE_NOTE, "smb2_fsctl_unknown: code 0x%x", fsctl->CtlCode); in smb2_fsctl_unknown()
57 smb2_fsctl_get_compression(smb_request_t *sr, smb_fsctl_t *fsctl) in smb2_fsctl_get_compression() argument
63 rc = smb_mbc_encodef(fsctl->in_mbc, "w", in smb2_fsctl_get_compression()
75 smb2_fsctl_set_compression(smb_request_t *sr, smb_fsctl_t *fsctl) in smb2_fsctl_set_compression() argument
80 (void) smb_mbc_decodef(fsctl->in_mbc, "w", in smb2_fsctl_set_compression()
105 smb2_fsctl_get_resume_key(smb_request_t *sr, smb_fsctl_t *fsctl) in smb2_fsctl_get_resume_key() argument
118 fsctl->out_mbc, "qq16.", in smb2_fsctl_get_resume_key()
[all …]
H A Dsmb_trans2_dfs.c55 smb_fsctl_t fsctl; in smb_com_trans2_get_dfs_referral() local
66 fsctl.CtlCode = FSCTL_DFS_GET_REFERRALS; in smb_com_trans2_get_dfs_referral()
67 fsctl.InputCount = xa->smb_tpscnt; in smb_com_trans2_get_dfs_referral()
68 fsctl.OutputCount = 0; in smb_com_trans2_get_dfs_referral()
69 fsctl.MaxOutputResp = xa->smb_mdrcnt; in smb_com_trans2_get_dfs_referral()
70 fsctl.in_mbc = &xa->req_param_mb; in smb_com_trans2_get_dfs_referral()
71 fsctl.out_mbc = &xa->rep_data_mb; in smb_com_trans2_get_dfs_referral()
73 status = smb_dfs_get_referrals(sr, &fsctl); in smb_com_trans2_get_dfs_referral()
H A Dsmb_dfs.c93 smb_dfs_fsctl(smb_request_t *sr, smb_fsctl_t *fsctl) in smb_dfs_fsctl() argument
108 switch (fsctl->CtlCode) { in smb_dfs_fsctl()
110 status = smb_dfs_get_referrals(sr, fsctl); in smb_dfs_fsctl()
113 status = smb_dfs_get_referrals_ex(sr, fsctl); in smb_dfs_fsctl()
141 smb_dfs_get_referrals_ex(smb_request_t *sr, smb_fsctl_t *fsctl) in smb_dfs_get_referrals_ex() argument
165 rc = smb_mbc_decodef(fsctl->in_mbc, "wwl", in smb_dfs_get_referrals_ex()
177 if (MBC_ROOM_FOR(fsctl->in_mbc, datalen) == 0) in smb_dfs_get_referrals_ex()
179 rc = smb_mbc_decodef(fsctl->in_mbc, "%wu", in smb_dfs_get_referrals_ex()
208 smb_dfs_encode_hdr(fsctl->out_mbc, referrals); in smb_dfs_get_referrals_ex()
216 status = smb_dfs_encode_refv1(sr, fsctl->out_mbc, referrals); in smb_dfs_get_referrals_ex()
[all …]
H A Dsmb2_fsctl_sparse.c33 smb2_fsctl_set_sparse(smb_request_t *sr, smb_fsctl_t *fsctl) in smb2_fsctl_set_sparse() argument
43 rc = smb_mbc_decodef(fsctl->in_mbc, "b", &flag); in smb2_fsctl_set_sparse()
91 smb2_fsctl_set_zero_data(smb_request_t *sr, smb_fsctl_t *fsctl) in smb2_fsctl_set_zero_data() argument
99 rc = smb_mbc_decodef(fsctl->in_mbc, "qq", in smb2_fsctl_set_zero_data()
167 smb2_fsctl_query_alloc_ranges(smb_request_t *sr, smb_fsctl_t *fsctl) in smb2_fsctl_query_alloc_ranges() argument
182 rc = smb_mbc_decodef(fsctl->in_mbc, "qq", &arg.off, &arg.len); in smb2_fsctl_query_alloc_ranges()
229 rc = smb_mbc_encodef(fsctl->out_mbc, "qq", in smb2_fsctl_query_alloc_ranges()
269 rc = smb_mbc_encodef(fsctl->out_mbc, "qq", in smb2_fsctl_query_alloc_ranges()
449 smb2_fsctl_query_file_regions(smb_request_t *sr, smb_fsctl_t *fsctl) in smb2_fsctl_query_file_regions() argument
461 if (fsctl->InputCount == 0) { in smb2_fsctl_query_file_regions()
[all …]
H A Dsmb_vss.c77 smb_vss_enum_snapshots(smb_request_t *sr, smb_fsctl_t *fsctl) in smb_vss_enum_snapshots() argument
87 if (fsctl->MaxOutputResp < SMB_VSS_COUNT_SIZE) in smb_vss_enum_snapshots()
100 if (fsctl->MaxOutputResp == SMB_VSS_COUNT_SIZE) { in smb_vss_enum_snapshots()
102 if (smb_mbc_encodef(fsctl->out_mbc, "lllw", count, 0, in smb_vss_enum_snapshots()
108 count = fsctl->MaxOutputResp / SMB_VSS_GMT_NET_SIZE(sr); in smb_vss_enum_snapshots()
113 status = smb_vss_encode_gmttokens(sr, fsctl, count, &snaps); in smb_vss_enum_snapshots()
276 smb_vss_encode_gmttokens(smb_request_t *sr, smb_fsctl_t *fsctl, in smb_vss_encode_gmttokens() argument
296 if (smb_mbc_encodef(fsctl->out_mbc, "lll", returned_count, in smb_vss_encode_gmttokens()
302 if (smb_mbc_encodef(fsctl->out_mbc, "%u", sr, in smb_vss_encode_gmttokens()
308 (void) smb_mbc_encodef(fsctl->out_mbc, ".."); in smb_vss_encode_gmttokens()
H A Dsmb_nt_transact_ioctl.c333 smb_fsctl_t fsctl; in smb_nt_trans_ioctl_enum_snaps() local
348 fsctl.CtlCode = FSCTL_SRV_ENUMERATE_SNAPSHOTS; in smb_nt_trans_ioctl_enum_snaps()
349 fsctl.InputCount = xa->smb_tpscnt; in smb_nt_trans_ioctl_enum_snaps()
350 fsctl.OutputCount = 0; in smb_nt_trans_ioctl_enum_snaps()
351 fsctl.MaxOutputResp = xa->smb_mdrcnt; in smb_nt_trans_ioctl_enum_snaps()
352 fsctl.in_mbc = &xa->req_param_mb; in smb_nt_trans_ioctl_enum_snaps()
353 fsctl.out_mbc = &xa->rep_data_mb; in smb_nt_trans_ioctl_enum_snaps()
355 status = smb_vss_enum_snapshots(sr, &fsctl); in smb_nt_trans_ioctl_enum_snaps()
H A Dsmb_opipe.c608 smb_opipe_fsctl(smb_request_t *sr, smb_fsctl_t *fsctl) in smb_opipe_fsctl() argument
615 switch (fsctl->CtlCode) { in smb_opipe_fsctl()
617 status = smb_opipe_transceive(sr, fsctl); in smb_opipe_fsctl()
625 status = smb_opipe_wait(sr, fsctl); in smb_opipe_fsctl()
638 smb_opipe_transceive(smb_request_t *sr, smb_fsctl_t *fsctl) in smb_opipe_transceive() argument
660 rc = smb_mbc_decodef(fsctl->in_mbc, "#B", in smb_opipe_transceive()
661 fsctl->InputCount, vdb); in smb_opipe_transceive()
677 vdb->vdb_uio.uio_resid = fsctl->MaxOutputResp; in smb_opipe_transceive()
686 len = fsctl->MaxOutputResp - vdb->vdb_uio.uio_resid; in smb_opipe_transceive()
688 MBC_ATTACH_MBUF(fsctl->out_mbc, mb); in smb_opipe_transceive()
[all …]
H A Dsmb2_fsctl_odx.c180 smb2_fsctl_odx_read(smb_request_t *sr, smb_fsctl_t *fsctl) in smb2_fsctl_odx_read() argument
218 fsctl->in_mbc, "lll4.qq", in smb2_fsctl_odx_read()
227 if (fsctl->MaxOutputResp < out_struct_size) in smb2_fsctl_odx_read()
346 fsctl->out_mbc, "llq", in smb2_fsctl_odx_read()
367 rc = smb_odx_put_token(fsctl->out_mbc, tok); in smb2_fsctl_odx_read()
385 smb2_fsctl_odx_write(smb_request_t *sr, smb_fsctl_t *fsctl) in smb2_fsctl_odx_write() argument
415 fsctl->in_mbc, "llqqq", in smb2_fsctl_odx_write()
424 rc = smb_odx_get_token(fsctl->in_mbc, tok); in smb2_fsctl_odx_write()
427 if (fsctl->MaxOutputResp < args.out_struct_size) in smb2_fsctl_odx_write()
516 fsctl->out_mbc, "llq", in smb2_fsctl_odx_write()
H A Dsmb2_fsctl_copychunk.c74 smb2_fsctl_copychunk(smb_request_t *sr, smb_fsctl_t *fsctl) in smb2_fsctl_copychunk() argument
88 if (fsctl->MaxOutputResp < sizeof (ccr)) { in smb2_fsctl_copychunk()
104 if (fsctl->CtlCode == FSCTL_SRV_COPYCHUNK) in smb2_fsctl_copychunk()
117 fsctl->in_mbc, "qq8.l4.", in smb2_fsctl_copychunk()
181 status = smb2_fsctl_copychunk_decode(sr, fsctl->in_mbc); in smb2_fsctl_copychunk()
243 fsctl->out_mbc, "lll", in smb2_fsctl_copychunk()
H A Dsmb2_negotiate.c922 smb2_nego_validate(smb_request_t *sr, smb_fsctl_t *fsctl) in smb2_nego_validate() argument
955 if (fsctl->InputCount < 24) in smb2_nego_validate()
958 (void) smb_mbc_decodef(fsctl->in_mbc, "l16cww", in smb2_nego_validate()
973 rc = smb_mbc_decodef(fsctl->in_mbc, "#w", num_dialects, dialects); in smb2_nego_validate()
986 fsctl->out_mbc, "l#cww", in smb2_nego_validate()
H A Dsmb_common_transact.c1435 smb_fsctl_t fsctl; in smb_trans_nmpipe() local
1451 fsctl.CtlCode = FSCTL_PIPE_TRANSCEIVE; in smb_trans_nmpipe()
1452 fsctl.InputCount = xa->smb_tdscnt; /* write count */ in smb_trans_nmpipe()
1453 fsctl.OutputCount = 0; /* minimum to read from the pipe */ in smb_trans_nmpipe()
1454 fsctl.MaxOutputResp = xa->smb_mdrcnt; /* max to read */ in smb_trans_nmpipe()
1455 fsctl.in_mbc = &xa->req_data_mb; /* write from here */ in smb_trans_nmpipe()
1456 fsctl.out_mbc = &xa->rep_data_mb; /* read into here */ in smb_trans_nmpipe()
1458 status = smb_opipe_transceive(sr, &fsctl); in smb_trans_nmpipe()
H A Dsmb2_durable.c1770 smb2_fsctl_set_resilient(smb_request_t *sr, smb_fsctl_t *fsctl) in smb2_fsctl_set_resilient() argument
1781 if (fsctl->InputCount < 8 || !smb_node_is_file(of->f_node)) in smb2_fsctl_set_resilient()
1784 (void) smb_mbc_decodef(fsctl->in_mbc, "l4.", in smb2_fsctl_set_resilient()