/illumos-gate/usr/src/uts/common/fs/smbsrv/ |
H A D | smb2_ioctl.c | 40 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 D | smb2_fsctl_fs.c | 28 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 D | smb_trans2_dfs.c | 55 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 D | smb_dfs.c | 93 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 D | smb2_fsctl_sparse.c | 33 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 D | smb_vss.c | 77 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 D | smb_nt_transact_ioctl.c | 333 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 D | smb_opipe.c | 608 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 D | smb2_fsctl_odx.c | 180 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 D | smb2_fsctl_copychunk.c | 74 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 D | smb2_negotiate.c | 922 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 D | smb_common_transact.c | 1435 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 D | smb2_durable.c | 1770 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()
|