Lines Matching refs:mp

181 ds_badprim(queue_t *q, mblk_t *mp, t_scalar_t prim)
183 dlerrorack(q, mp, prim, DL_BADPRIM, 0);
188 ds_outstate(queue_t *q, mblk_t *mp, t_scalar_t prim)
190 dlerrorack(q, mp, prim, DL_OUTSTATE, 0);
195 ds_wput(queue_t *q, mblk_t *mp)
202 switch (DB_TYPE(mp)) {
205 if (MBLKL(mp) < sizeof (t_scalar_t)) {
206 dlerrorack(q, mp, DL_PRIM_INVAL, DL_UNSUPPORTED, 0);
210 dlp = (void *)mp->b_rptr;
214 if (MBLKL(mp) < DL_ATTACH_REQ_SIZE)
215 return (ds_badprim(q, mp, prim));
218 return (ds_outstate(q, mp, prim));
221 dlokack(q, mp, DL_ATTACH_REQ);
225 if (MBLKL(mp) < DL_BIND_REQ_SIZE)
226 return (ds_badprim(q, mp, prim));
229 return (ds_outstate(q, mp, prim));
232 dlbindack(q, mp, dlp->bind_req.dl_sap, NULL, 0, 0, 0);
236 if (MBLKL(mp) < DL_INFO_REQ_SIZE)
237 return (ds_badprim(q, mp, prim));
239 mp = mexchange(q, mp, sizeof (dl_info_ack_t),
241 if (mp != NULL) {
242 dlip = (void *)mp->b_rptr;
246 qreply(q, mp);
251 if (MBLKL(mp) < DL_PHYS_ADDR_REQ_SIZE)
252 return (ds_badprim(q, mp, prim));
254 dlphysaddrack(q, mp, NULL, 0);
258 if (MBLKL(mp) < DL_UNBIND_REQ_SIZE)
259 return (ds_badprim(q, mp, prim));
262 return (ds_outstate(q, mp, prim));
265 dlokack(q, mp, DL_UNBIND_REQ);
269 if (MBLKL(mp) < DL_DETACH_REQ_SIZE)
270 return (ds_badprim(q, mp, prim));
273 return (ds_outstate(q, mp, prim));
276 dlokack(q, mp, DL_DETACH_REQ);
281 mblk_t *, mp);
282 freemsg(mp);
286 dlerrorack(q, mp, prim, DL_UNSUPPORTED, 0);
291 miocnak(q, mp, 0, EINVAL);
295 *mp->b_rptr &= ~FLUSHW;
296 if (*mp->b_rptr & FLUSHR)
297 qreply(q, mp);
299 freemsg(mp);
302 freemsg(mp);