• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /asuswrt-rt-n18u-9.0.0.4.380.2695/release/src-rt-6.x.4708/router/samba-3.5.8/source3/smbd/

Lines Matching refs:req

33 static NTSTATUS smbd_smb2_ioctl_recv(struct tevent_req *req,
38 NTSTATUS smbd_smb2_request_process_ioctl(struct smbd_smb2_request *req)
42 int i = req->current_idx;
55 inhdr = (const uint8_t *)req->in.vector[i+0].iov_base;
56 if (req->in.vector[i+1].iov_len != (expected_body_size & 0xFFFFFFFE)) {
57 return smbd_smb2_request_error(req, NT_STATUS_INVALID_PARAMETER);
60 inbody = (const uint8_t *)req->in.vector[i+1].iov_base;
64 return smbd_smb2_request_error(req, NT_STATUS_INVALID_PARAMETER);
76 return smbd_smb2_request_error(req, NT_STATUS_INVALID_PARAMETER);
79 if (in_input_length > req->in.vector[i+2].iov_len) {
80 return smbd_smb2_request_error(req, NT_STATUS_INVALID_PARAMETER);
83 in_input_buffer.data = (uint8_t *)req->in.vector[i+2].iov_base;
86 if (req->compat_chain_fsp) {
92 return smbd_smb2_request_error(req, NT_STATUS_FILE_CLOSED);
95 subreq = smbd_smb2_ioctl_send(req,
96 req->sconn->smb2.event_ctx,
97 req,
104 return smbd_smb2_request_error(req, NT_STATUS_NO_MEMORY);
106 tevent_req_set_callback(subreq, smbd_smb2_request_ioctl_done, req);
108 return smbd_smb2_request_pending_queue(req, subreq);
113 struct smbd_smb2_request *req = tevent_req_callback_data(subreq,
116 int i = req->current_idx;
129 status = smbd_smb2_ioctl_recv(subreq, req, &out_output_buffer);
134 error = smbd_smb2_request_error(req, status);
136 smbd_server_connection_terminate(req->sconn,
146 inbody = (const uint8_t *)req->in.vector[i+1].iov_base;
152 outhdr = (uint8_t *)req->out.vector[i].iov_base;
154 outbody = data_blob_talloc(req->out.vector, NULL, 0x30);
156 error = smbd_smb2_request_error(req, NT_STATUS_NO_MEMORY);
158 smbd_server_connection_terminate(req->sconn,
190 error = smbd_smb2_request_done_ex(req, status, outbody, &outdyn,
193 smbd_server_connection_terminate(req->sconn,
220 struct tevent_req *req;
226 req = tevent_req_create(mem_ctx, &state,
228 if (req == NULL) {
242 if (tevent_req_nomem(smbreq, req)) {
243 return tevent_req_post(req, ev);
250 tevent_req_nterror(req, NT_STATUS_FILE_CLOSED);
251 return tevent_req_post(req, ev);
254 tevent_req_nterror(req, NT_STATUS_FILE_CLOSED);
255 return tevent_req_post(req, ev);
258 tevent_req_nterror(req, NT_STATUS_FILE_CLOSED);
259 return tevent_req_post(req, ev);
278 tevent_req_nterror(req, NT_STATUS_INVALID_DEVICE_REQUEST);
279 return tevent_req_post(req, ev);
283 tevent_req_nterror(req, NT_STATUS_FS_DRIVER_REQUIRED);
284 return tevent_req_post(req, ev);
288 tevent_req_nterror(req, NT_STATUS_INVALID_PARAMETER);
289 return tevent_req_post(req, ev);
302 tevent_req_nterror(req, NT_STATUS_ILLEGAL_CHARACTER);
303 return tevent_req_post(req, ev);
311 tevent_req_nterror(req, status);
312 return tevent_req_post(req, ev);
328 tevent_req_nomem(state->out_output.data, req)) {
329 return tevent_req_post(req, ev);
333 tevent_req_nterror(req, STATUS_BUFFER_OVERFLOW);
335 tevent_req_done(req);
337 return tevent_req_post(req, ev);
342 tevent_req_nterror(req, NT_STATUS_NOT_SUPPORTED);
343 return tevent_req_post(req, ev);
347 tevent_req_nterror(req, NT_STATUS_FILE_CLOSED);
348 return tevent_req_post(req, ev);
352 tevent_req_nterror(req, NT_STATUS_FILE_CLOSED);
353 return tevent_req_post(req, ev);
360 if (tevent_req_nomem(subreq, req)) {
361 return tevent_req_post(req, ev);
365 req);
366 return req;
370 tevent_req_nterror(req, NT_STATUS_FS_DRIVER_REQUIRED);
371 return tevent_req_post(req, ev);
373 tevent_req_nterror(req, NT_STATUS_INVALID_DEVICE_REQUEST);
374 return tevent_req_post(req, ev);
377 tevent_req_nterror(req, NT_STATUS_INTERNAL_ERROR);
378 return tevent_req_post(req, ev);
383 struct tevent_req *req = tevent_req_callback_data(subreq,
385 struct smbd_smb2_ioctl_state *state = tevent_req_data(req,
393 tevent_req_nterror(req, status);
398 tevent_req_nterror(req, NT_STATUS_PIPE_NOT_AVAILABLE);
404 tevent_req_nomem(state->out_output.data, req)) {
413 if (tevent_req_nomem(subreq, req)) {
416 tevent_req_set_callback(subreq, smbd_smb2_ioctl_pipe_read_done, req);
421 struct tevent_req *req = tevent_req_callback_data(subreq,
423 struct smbd_smb2_ioctl_state *state = tevent_req_data(req,
432 tevent_req_nterror(req, status);
438 tevent_req_done(req);
441 static NTSTATUS smbd_smb2_ioctl_recv(struct tevent_req *req,
446 struct smbd_smb2_ioctl_state *state = tevent_req_data(req,
449 if (tevent_req_is_nterror(req, &status)) {
451 tevent_req_received(req);
459 tevent_req_received(req);