Lines Matching refs:sr

56 smb_pre_open_print_file(smb_request_t *sr)  in smb_pre_open_print_file()  argument
58 struct open_param *op = &sr->arg.open; in smb_pre_open_print_file()
67 bzero(op, sizeof (sr->arg.open)); in smb_pre_open_print_file()
68 rc = smbsr_decode_vwv(sr, "ww", &setup, &mode); in smb_pre_open_print_file()
70 rc = smbsr_decode_data(sr, "%S", sr, &identifier); in smb_pre_open_print_file()
73 path = smb_srm_zalloc(sr, MAXPATHLEN); in smb_pre_open_print_file()
81 DTRACE_SMB_START(op__OpenPrintFile, smb_request_t *, sr); /* arg.open */ in smb_pre_open_print_file()
87 smb_post_open_print_file(smb_request_t *sr) in smb_post_open_print_file() argument
89 DTRACE_SMB_DONE(op__OpenPrintFile, smb_request_t *, sr); in smb_post_open_print_file()
104 smb_com_open_print_file(smb_request_t *sr) in smb_com_open_print_file() argument
109 struct open_param *op = &sr->arg.open; in smb_com_open_print_file()
111 if (sr->sr_server->sv_cfg.skc_print_enable == 0 || in smb_com_open_print_file()
112 !STYPE_ISPRN(sr->tid_tree->t_res_type)) { in smb_com_open_print_file()
114 smbsr_error(sr, NT_STATUS_BAD_DEVICE_TYPE, in smb_com_open_print_file()
118 if ((rc = smb_common_create(sr)) != NT_STATUS_SUCCESS) { in smb_com_open_print_file()
122 if ((rc = smbsr_encode_result(sr, 1, 0, in smb_com_open_print_file()
123 "bww", 1, sr->smb_fid, 0)) == 0) { in smb_com_open_print_file()
124 si = smb_kshare_lookup(sr->sr_server, SMB_SHARE_PRINT); in smb_com_open_print_file()
133 sp->sd_ipaddr = sr->session->ipaddr; in smb_com_open_print_file()
134 (void) strlcpy(sp->sd_username, sr->uid_user->u_name, in smb_com_open_print_file()
136 sp->sd_fid = sr->smb_fid; in smb_com_open_print_file()
137 if (smb_spool_add_doc(sr->tid_tree, sp)) in smb_com_open_print_file()
139 smb_kshare_release(sr->sr_server, si); in smb_com_open_print_file()
154 smb_pre_close_print_file(smb_request_t *sr) in smb_pre_close_print_file() argument
158 rc = smbsr_decode_vwv(sr, "w", &sr->smb_fid); in smb_pre_close_print_file()
160 DTRACE_SMB_START(op__ClosePrintFile, smb_request_t *, sr); in smb_pre_close_print_file()
165 smb_post_close_print_file(smb_request_t *sr) in smb_post_close_print_file() argument
167 DTRACE_SMB_DONE(op__ClosePrintFile, smb_request_t *, sr); in smb_post_close_print_file()
182 smb_com_close_print_file(smb_request_t *sr) in smb_com_close_print_file() argument
191 if (!STYPE_ISPRN(sr->tid_tree->t_res_type)) { in smb_com_close_print_file()
192 smbsr_error(sr, NT_STATUS_BAD_DEVICE_TYPE, in smb_com_close_print_file()
197 rc = smb_com_close(sr); in smb_com_close_print_file()
199 smb_spool_add_fid(sr->sr_server, sr->smb_fid); in smb_com_close_print_file()
209 smb_pre_get_print_queue(smb_request_t *sr) in smb_pre_get_print_queue() argument
211 DTRACE_SMB_START(op__GetPrintQueue, smb_request_t *, sr); in smb_pre_get_print_queue()
216 smb_post_get_print_queue(smb_request_t *sr) in smb_post_get_print_queue() argument
218 DTRACE_SMB_DONE(op__GetPrintQueue, smb_request_t *, sr); in smb_post_get_print_queue()
222 smb_com_get_print_queue(smb_request_t *sr) in smb_com_get_print_queue() argument
226 if (smbsr_decode_vwv(sr, "ww", &max_count, &start_ix) != 0) in smb_com_get_print_queue()
229 if (smbsr_encode_result(sr, 2, 3, "bwwwbw", 2, 0, 0, 3, 1, 0)) in smb_com_get_print_queue()
246 smb_pre_write_print_file(smb_request_t *sr) in smb_pre_write_print_file() argument
252 sr->arg.rw = param; in smb_pre_write_print_file()
255 rc = smbsr_decode_vwv(sr, "w", &sr->smb_fid); in smb_pre_write_print_file()
257 DTRACE_SMB_START(op__WritePrintFile, smb_request_t *, sr); in smb_pre_write_print_file()
262 smb_post_write_print_file(smb_request_t *sr) in smb_post_write_print_file() argument
264 DTRACE_SMB_DONE(op__WritePrintFile, smb_request_t *, sr); in smb_post_write_print_file()
266 kmem_free(sr->arg.rw, sizeof (smb_rw_param_t)); in smb_post_write_print_file()
270 smb_com_write_print_file(smb_request_t *sr) in smb_com_write_print_file() argument
272 smb_rw_param_t *param = sr->arg.rw; in smb_com_write_print_file()
277 if (sr->sr_server->sv_cfg.skc_print_enable == 0 || in smb_com_write_print_file()
278 !STYPE_ISPRN(sr->tid_tree->t_res_type)) { in smb_com_write_print_file()
279 smbsr_error(sr, NT_STATUS_BAD_DEVICE_TYPE, in smb_com_write_print_file()
284 smbsr_lookup_file(sr); in smb_com_write_print_file()
285 if (sr->fid_ofile == NULL) { in smb_com_write_print_file()
286 smbsr_error(sr, NT_STATUS_INVALID_HANDLE, ERRDOS, ERRbadfid); in smb_com_write_print_file()
290 node = sr->fid_ofile->f_node; in smb_com_write_print_file()
291 sr->user_cr = smb_ofile_getcred(sr->fid_ofile); in smb_com_write_print_file()
295 rc = smb_node_getattr(sr, node, sr->user_cr, sr->fid_ofile, &attr); in smb_com_write_print_file()
297 smbsr_error(sr, NT_STATUS_INTERNAL_ERROR, in smb_com_write_print_file()
302 if ((smbsr_decode_data(sr, "D", &param->rw_vdb)) != 0) { in smb_com_write_print_file()
303 smbsr_error(sr, NT_STATUS_INVALID_PARAMETER, in smb_com_write_print_file()
312 if ((rc = smb_common_write(sr, param)) != 0) { in smb_com_write_print_file()
313 if (sr->smb_error.status != NT_STATUS_FILE_LOCK_CONFLICT) in smb_com_write_print_file()
314 smbsr_errno(sr, rc); in smb_com_write_print_file()
318 rc = smbsr_encode_empty_result(sr); in smb_com_write_print_file()