• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /asuswrt-rt-n18u-9.0.0.4.380.2695/release/src/router/samba-3.5.8/source4/smb_server/smb/

Lines Matching refs:req

32 	struct smbsrv_request *req;
40 static bool find_fill_info(struct smbsrv_request *req,
45 if (req->out.data_size + 43 > req_max_data(req)) {
49 req_grow_data(req, req->out.data_size + 43);
50 p = req->out.data + req->out.data_size - 43;
58 srv_push_dos_date(req->smb_conn, p, 22, file->search.write_time);
72 return find_fill_info(state->req, file);
80 struct smbsrv_request *req;
85 SSVAL(req->out.vwv, VWV(0), sf->search_first.out.count);
87 smbsrv_send_reply(req);
95 struct smbsrv_request *req;
100 SSVAL(req->out.vwv, VWV(0), sn->search_next.out.count);
102 smbsrv_send_reply(req);
108 void smbsrv_reply_search(struct smbsrv_request *req)
115 uint8_t op = CVAL(req->in.hdr,HDR_COM);
124 if (req->in.wct != 2) {
125 smbsrv_send_error(req, NT_STATUS_INVALID_PARAMETER);
131 p = req->in.data;
132 p += req_pull_ascii4(&req->in.bufinfo, &sf->search_first.in.pattern,
135 smbsrv_send_error(req, NT_STATUS_OBJECT_NAME_NOT_FOUND);
139 if (req_data_oob(&req->in.bufinfo, p, 3)) {
140 smbsrv_send_error(req, NT_STATUS_INVALID_PARAMETER);
144 smbsrv_send_error(req, NT_STATUS_INVALID_PARAMETER);
151 state = talloc(req, struct search_state);
153 smbsrv_send_error(req, NT_STATUS_NO_MEMORY);
157 state->req = req;
162 smbsrv_setup_reply(req, 1, 0);
163 SSVAL(req->out.vwv, VWV(0), 0);
164 req_append_var_block(req, NULL, 0);
170 req_data_oob(&req->in.bufinfo, p, 21) ||
172 smbsrv_send_error(req, NT_STATUS_INVALID_PARAMETER);
188 sn->search_next.in.max_count = SVAL(req->in.vwv, VWV(0));
189 sn->search_next.in.search_attrib = SVAL(req->in.vwv, VWV(1));
192 SMBSRV_CALL_NTVFS_BACKEND(ntvfs_search_next(req->ntvfs, sn, state, find_callback));
199 sf->search_first.in.search_attrib = SVAL(req->in.vwv, VWV(1));
200 sf->search_first.in.max_count = SVAL(req->in.vwv, VWV(0));
202 SMBSRV_CALL_NTVFS_BACKEND(ntvfs_search_first(req->ntvfs, sf, state, find_callback));
212 struct smbsrv_request *req;
217 smbsrv_setup_reply(req, 1, 0);
219 SSVAL(req->out.vwv, VWV(0), 0);
221 smbsrv_send_reply(req);
228 void smbsrv_reply_fclose(struct smbsrv_request *req)
236 if (req->in.wct != 2) {
237 smbsrv_send_error(req, NT_STATUS_INVALID_PARAMETER);
244 p = req->in.data;
245 p += req_pull_ascii4(&req->in.bufinfo, &pattern, p, STR_TERMINATE);
247 smbsrv_send_error(req, NT_STATUS_INVALID_PARAMETER);
251 if (req_data_oob(&req->in.bufinfo, p, 3)) {
252 smbsrv_send_error(req, NT_STATUS_INVALID_PARAMETER);
256 smbsrv_send_error(req, NT_STATUS_INVALID_PARAMETER);
263 smbsrv_send_error(req, NT_STATUS_INVALID_PARAMETER);
267 if (req_data_oob(&req->in.bufinfo, p, 21)) {
268 smbsrv_send_error(req, NT_STATUS_INVALID_PARAMETER);
273 sc->fclose.in.max_count = SVAL(req->in.vwv, VWV(0));
274 sc->fclose.in.search_attrib = SVAL(req->in.vwv, VWV(1));
281 SMBSRV_CALL_NTVFS_BACKEND(ntvfs_search_close(req->ntvfs, sc));