Lines Matching refs:mp
43 merror(queue_t *wq, mblk_t *mp, int error) in merror() argument
45 if ((mp = mexchange(wq, mp, 1, M_ERROR, -1)) == NULL) in merror()
48 *mp->b_rptr = (uchar_t)error; in merror()
49 qreply(wq, mp); in merror()
53 mioc2ack(mblk_t *mp, mblk_t *dp, size_t count, int rval) in mioc2ack() argument
55 struct iocblk *iocp = (struct iocblk *)mp->b_rptr; in mioc2ack()
56 mblk_t *odp = mp->b_cont; /* allows freemsg() to be a tail call */ in mioc2ack()
58 DB_TYPE(mp) = M_IOCACK; in mioc2ack()
63 mp->b_cont = dp; in mioc2ack()
70 miocack(queue_t *wq, mblk_t *mp, int count, int rval) in miocack() argument
72 struct iocblk *iocp = (struct iocblk *)mp->b_rptr; in miocack()
74 DB_TYPE(mp) = M_IOCACK; in miocack()
78 qreply(wq, mp); in miocack()
82 miocnak(queue_t *wq, mblk_t *mp, int count, int error) in miocnak() argument
84 struct iocblk *iocp = (struct iocblk *)mp->b_rptr; in miocnak()
86 DB_TYPE(mp) = M_IOCNAK; in miocnak()
89 qreply(wq, mp); in miocnak()
93 mexchange(queue_t *wq, mblk_t *mp, size_t size, uchar_t type, int32_t primtype) in mexchange() argument
95 if (mp == NULL || MBLKSIZE(mp) < size || DB_REF(mp) > 1) { in mexchange()
96 freemsg(mp); in mexchange()
97 if ((mp = allocb(size, BPRI_LO)) == NULL) { in mexchange()
99 if ((mp = allocb(1, BPRI_HI)) != NULL) in mexchange()
100 merror(wq, mp, ENOSR); in mexchange()
106 DB_TYPE(mp) = type; in mexchange()
107 mp->b_rptr = DB_BASE(mp); in mexchange()
108 mp->b_wptr = mp->b_rptr + size; in mexchange()
110 *(int32_t *)mp->b_rptr = primtype; in mexchange()
112 return (mp); in mexchange()
116 msgsize(mblk_t *mp) in msgsize() argument
120 for (; mp != NULL; mp = mp->b_cont) in msgsize()
121 n += MBLKL(mp); in msgsize()
127 mcopymsg(mblk_t *mp, void *bufp) in mcopymsg() argument
133 for (bp = mp; bp != NULL; bp = bp->b_cont) { in mcopymsg()
139 freemsg(mp); in mcopymsg()
143 mcopyin(mblk_t *mp, void *private, size_t size, void *useraddr) in mcopyin() argument
145 struct copyreq *cp = (struct copyreq *)mp->b_rptr; in mcopyin()
150 ASSERT(DB_TYPE(mp) == M_IOCTL); in mcopyin()
151 ASSERT(mp->b_cont != NULL); in mcopyin()
152 ASSERT(((struct iocblk *)mp->b_rptr)->ioc_count == TRANSPARENT); in mcopyin()
153 cp->cq_addr = (caddr_t)*(uintptr_t *)mp->b_cont->b_rptr; in mcopyin()
160 DB_TYPE(mp) = M_COPYIN; in mcopyin()
161 mp->b_wptr = mp->b_rptr + sizeof (struct copyreq); in mcopyin()
163 if (mp->b_cont != NULL) { in mcopyin()
164 freemsg(mp->b_cont); in mcopyin()
165 mp->b_cont = NULL; in mcopyin()
170 mcopyout(mblk_t *mp, void *private, size_t size, void *useraddr, mblk_t *dp) in mcopyout() argument
172 struct copyreq *cp = (struct copyreq *)mp->b_rptr; in mcopyout()
177 ASSERT(DB_TYPE(mp) == M_IOCTL); in mcopyout()
178 ASSERT(mp->b_cont != NULL); in mcopyout()
179 ASSERT(((struct iocblk *)mp->b_rptr)->ioc_count == TRANSPARENT); in mcopyout()
180 cp->cq_addr = (caddr_t)*(uintptr_t *)mp->b_cont->b_rptr; in mcopyout()
187 DB_TYPE(mp) = M_COPYOUT; in mcopyout()
188 mp->b_wptr = mp->b_rptr + sizeof (struct copyreq); in mcopyout()
191 if (mp->b_cont != NULL) in mcopyout()
192 freemsg(mp->b_cont); in mcopyout()
193 mp->b_cont = dp; in mcopyout()
194 mp->b_cont->b_wptr = mp->b_cont->b_rptr + size; in mcopyout()
276 mblk_t *mp; in mcopyinuio() local
280 if ((mp = allocb_cred(offset + blocksize + tail_len, in mcopyinuio()
285 mp->b_rptr += offset; in mcopyinuio()
286 mp->b_wptr = mp->b_rptr + blocksize; in mcopyinuio()
288 *tail = mp; in mcopyinuio()
289 tail = &mp->b_cont; in mcopyinuio()
292 if ((*errorp = uiomove(mp->b_rptr, (size_t)blocksize, in mcopyinuio()