Lines Matching defs:rqp

78 	struct smb_rq *rqp;
80 rqp = malloc(sizeof (*rqp));
81 if (rqp == NULL)
83 bzero(rqp, sizeof (*rqp));
84 rqp->rq_cmd = cmd;
85 rqp->rq_ctx = ctx;
91 if (mb_init(&rqp->rq_rq))
95 mb_put_mem(&rqp->rq_rq, NULL, SMB_HDRLEN, MB_MSYSTEM);
101 rqp->rq_hflags = ctx->ct_hflags;
102 rqp->rq_hflags2 = ctx->ct_hflags2;
104 *rqpp = rqp;
108 if (rqp) {
109 smb_rq_done(rqp);
110 free(rqp);
116 smb_rq_done(struct smb_rq *rqp)
118 mb_done(&rqp->rq_rp);
119 mb_done(&rqp->rq_rq);
120 free(rqp);
132 smb_rq_wstart(struct smb_rq *rqp)
134 struct mbdata *mbp = &rqp->rq_rq;
136 (void) mb_fit(mbp, 1, &rqp->rq_wcntp);
137 rqp->rq_wcbase = mbp->mb_count;
145 smb_rq_wend(struct smb_rq *rqp)
147 struct mbdata *mbp = &rqp->rq_rq;
150 if (rqp->rq_wcntp == NULL) {
154 wcnt = mbp->mb_count - rqp->rq_wcbase;
166 *rqp->rq_wcntp = (char)wcnt;
178 smb_rq_bstart(struct smb_rq *rqp)
180 struct mbdata *mbp = &rqp->rq_rq;
182 (void) mb_fit(mbp, 2, &rqp->rq_bcntp);
183 rqp->rq_bcbase = mbp->mb_count;
191 smb_rq_bend(struct smb_rq *rqp)
193 struct mbdata *mbp = &rqp->rq_rq;
196 if (rqp->rq_bcntp == NULL) {
200 bcnt = mbp->mb_count - rqp->rq_bcbase;
211 rqp->rq_bcntp[0] = bcnt & 0xFF;
212 rqp->rq_bcntp[1] = (bcnt >> 8);
216 smb_rq_simple(struct smb_rq *rqp)
227 krq.ioc_cmd = rqp->rq_cmd;
233 mbp = smb_rq_getrequest(rqp);
256 mbp = smb_rq_getreply(rqp);
257 rpbufsz = rqp->rq_rpbufsz;
269 if (ioctl(rqp->rq_ctx->ct_dev_fd, SMBIOC_REQUEST, &krq) == -1)
335 smb_rq_internal(struct smb_ctx *ctx, struct smb_rq *rqp)
344 rqp->rq_uid = is->is_smbuid;
345 rqp->rq_tid = SMB_TID_UNKNOWN;
346 rqp->rq_mid = is->is_next_mid++;
353 bcopy(&rqp->rq_rq, &mbtmp, sizeof (mbtmp));
366 mb_put_uint8(mbp, rqp->rq_cmd);
368 mb_put_uint8(mbp, rqp->rq_hflags);
369 mb_put_uint16le(mbp, rqp->rq_hflags2);
372 mb_put_uint16le(mbp, rqp->rq_tid);
374 mb_put_uint16le(mbp, rqp->rq_uid);
375 mb_put_uint16le(mbp, rqp->rq_mid);
383 if (rqp->rq_hflags2 & SMB_FLAGS2_SECURITY_SIGNATURE) {
384 smb_rq_sign(rqp);
390 if ((err = smb_ssn_send(ctx, &rqp->rq_rq)) != 0)
393 if ((err = smb_ssn_recv(ctx, &rqp->rq_rp)) != 0)
399 mbp = &rqp->rq_rp;
409 if (rqp->rq_hflags2 & SMB_FLAGS2_SECURITY_SIGNATURE) {
410 err = smb_rq_verify(rqp);
426 md_get_uint32le(mbp, &rqp->rq_status);
427 md_get_uint8(mbp, &rqp->rq_hflags);
428 md_get_uint16le(mbp, &rqp->rq_hflags2);
431 md_get_uint16le(mbp, &rqp->rq_tid);
433 md_get_uint16le(mbp, &rqp->rq_uid);
434 md_get_uint16le(mbp, &rqp->rq_mid);
440 if ((rqp->rq_hflags2 & SMB_FLAGS2_ERR_STATUS) == 0) {
444 class = rqp->rq_status & 0xff;
445 serr = rqp->rq_status >> 16;
446 rqp->rq_status = smb_map_doserr(class, serr);