Lines Matching refs:mp

250 vuidmice_rput(queue_t *const qp, mblk_t *mp)
253 ASSERT(mp != NULL);
260 if (DB_TYPE(mp) == M_DATA) {
262 return (putq(qp, mp)); /* queue message & return */
263 } else if (DB_TYPE(mp) == M_FLUSH) {
264 if (*mp->b_rptr & FLUSHR)
268 putnext(qp, mp); /* pass it on */
275 register mblk_t *mp;
279 while ((mp = getq(qp)) != NULL) {
280 ASSERT(DB_TYPE(mp) == M_DATA);
283 return (putbq(qp, mp)); /* read side is blocked */
285 switch (DB_TYPE(mp)) {
288 (void) VUID_QUEUE(qp, mp);
290 (void) putnext(qp, mp);
296 DB_TYPE(mp));
298 (void) putnext(qp, mp);
309 vuidmice_wput(queue_t *const qp, mblk_t *mp)
314 ASSERT(mp != NULL);
320 switch (DB_TYPE(mp)) { /* handle hi pri messages here */
322 if (*mp->b_rptr & FLUSHW)
324 putnext(qp, mp); /* pass it on */
328 struct iocblk *iocbp = (void *)mp->b_rptr;
338 miocnak(qp, mp, 0, EINVAL);
343 error = miocpullup(mp, sizeof (int));
345 miocnak(qp, mp, 0, error);
350 *(int *)(void *)mp->b_cont->b_rptr;
355 mp->b_datap->db_type = M_IOCACK;
359 if (mp->b_cont) {
360 freemsg(mp->b_cont);
361 mp->b_cont = NULL;
364 qreply(qp, mp);
370 if (mp->b_cont) {
371 freemsg(mp->b_cont); /* over written below */
372 mp->b_cont = NULL;
380 miocnak(qp, mp, 0, EINVAL);
384 mp->b_cont = allocb(sizeof (int), BPRI_MED);
385 if (mp->b_cont == NULL) {
386 miocnak(qp, mp, 0, EAGAIN);
390 *(int *)(void *)mp->b_cont->b_rptr =
392 mp->b_cont->b_wptr += sizeof (int);
395 mp->b_datap->db_type = M_IOCACK;
396 qreply(qp, mp);
402 miocnak(qp, mp, 0, ENOTTY);
407 if (mp->b_cont) {
408 freemsg(mp->b_cont); /* over written below */
409 mp->b_cont = NULL;
418 miocnak(qp, mp, 0, EINVAL);
423 miocnak(qp, mp, 0, EINVAL);
427 mp->b_cont = allocb(sizeof (int), BPRI_MED);
428 if (mp->b_cont == NULL) {
429 miocnak(qp, mp, 0, EAGAIN);
433 *(int *)(void *)mp->b_cont->b_rptr =
435 mp->b_cont->b_wptr += sizeof (int);
438 mp->b_datap->db_type = M_IOCACK;
439 qreply(qp, mp);
454 mp, iocbp->ioc_cmd);
458 miocnak(qp, mp, 0, error);
462 putnext(qp, mp); /* nothing to process here */
470 vuidmice_miocdata(qp, mp);
474 putnext(qp, mp); /* pass it on */
520 vuidmice_miocdata(queue_t *qp, mblk_t *mp)
531 copyresp = (void *)mp->b_rptr;
532 iocbp = (void *)mp->b_rptr;
541 mp->b_datap->db_type = M_IOCACK;
542 mp->b_wptr = mp->b_rptr + sizeof (struct iocblk);
546 if (mp->b_cont != NULL) {
547 freemsg(mp->b_cont);
548 mp->b_cont = NULL;
557 if (mp->b_cont == NULL) {
562 datap = mp->b_cont;
581 mcopyout(mp, ioctmp, size, Mouseioc->u_addr, NULL);
584 mp->b_datap->db_type = M_IOCACK;
585 mp->b_wptr = mp->b_rptr + sizeof (struct iocblk);
589 if (mp->b_cont != NULL) {
590 freemsg(mp->b_cont);
591 mp->b_cont = NULL;
600 if (mp->b_cont == NULL) {
605 datap = mp->b_cont;
616 if (mp->b_cont) {
617 freemsg(mp->b_cont);
618 mp->b_cont = NULL;
624 mp->b_datap->db_type = M_IOCACK;
635 mp->b_datap->db_type = M_IOCNAK;
636 if (mp->b_cont) {
637 freemsg(mp->b_cont);
638 mp->b_cont = NULL;
647 qreply(qp, mp);
660 vuidmice_handle_wheel_resolution_ioctl(queue_t *qp, mblk_t *mp, int cmd)
669 struct iocblk *iocbp = (void *)mp->b_rptr;
672 if (mp->b_cont == NULL)
674 useraddr = *((caddr_t *)(void *)mp->b_cont->b_rptr);
682 mcopyout(mp, NULL, size, NULL, datap);
683 qreply(qp, mp);
707 mcopyin(mp, ioctmp, size, NULL);
708 qreply(qp, mp);
714 if (mp->b_cont) {
715 freemsg(mp->b_cont);
716 mp->b_cont = NULL;
725 mp->b_cont = datap;
729 if (mp->b_cont == NULL ||
734 datap = mp->b_cont;
740 if (mp->b_cont == NULL ||
745 datap = mp->b_cont;
761 mp->b_datap->db_type = M_IOCACK;
764 qreply(qp, mp);