Lines Matching defs:pMBlk

37 void miocack(queue_t *pWriteQueue, mblk_t *pMBlk, int cbData, int rc)
39 struct iocblk *pIOCBlk = (struct iocblk *)pMBlk->b_rptr;
41 pMBlk->b_datap->db_type = M_IOCACK;
45 qreply(pWriteQueue, pMBlk);
48 void miocnak(queue_t *pWriteQueue, mblk_t *pMBlk, int cbData, int iErr)
50 struct iocblk *pIOCBlk = (struct iocblk *)pMBlk->b_rptr;
52 pMBlk->b_datap->db_type = M_IOCNAK;
56 qreply(pWriteQueue, pMBlk);
61 int miocpullup(mblk_t *pMBlk, size_t cbMsg)
63 struct iocblk *pIOCBlk = (struct iocblk *)pMBlk->b_rptr;
67 if ( !pMBlk->b_cont
68 || pMBlk->b_cont->b_wptr < pMBlk->b_cont->b_rptr + cbMsg)
70 pMBlk->b_flag |= F_TEST_PULLUP;
74 void mcopyin(mblk_t *pMBlk, void *pvState, size_t cbData, void *pvUser)
76 struct iocblk *pIOCBlk = (struct iocblk *)pMBlk->b_rptr;
77 struct copyreq *pCopyReq = (struct copyreq *)pMBlk->b_rptr;
80 || ( pMBlk->b_datap->db_type == M_IOCTL
82 && pMBlk->b_cont->b_rptr));
83 pMBlk->b_datap->db_type = M_COPYIN;
84 pMBlk->b_wptr = pMBlk->b_rptr + sizeof(*pCopyReq);
87 pCopyReq->cq_addr = pvUser ? pvUser : *(void **)pMBlk->b_cont->b_rptr;
88 if (pMBlk->b_cont)
90 freemsg(pMBlk->b_cont);
91 pMBlk->b_cont = NULL;
95 void mcopyout(mblk_t *pMBlk, void *pvState, size_t cbData, void *pvUser,
98 struct iocblk *pIOCBlk = (struct iocblk *)pMBlk->b_rptr;
99 struct copyreq *pCopyReq = (struct copyreq *)pMBlk->b_rptr;
102 || ( pMBlk->b_datap->db_type == M_IOCTL
104 && pMBlk->b_cont->b_rptr));
105 pMBlk->b_datap->db_type = M_COPYOUT;
106 pMBlk->b_wptr = pMBlk->b_rptr + sizeof(*pCopyReq);
109 pCopyReq->cq_addr = pvUser ? pvUser : *(void **)pMBlk->b_cont->b_rptr;
112 if (pMBlk->b_cont)
113 freemsg(pMBlk->b_cont);
114 pMBlk->b_cont = pMBlkData;
121 void qreply(queue_t *pQueue, mblk_t *pMBlk)
123 OTHERQ(pQueue)->q_first = pMBlk;
130 struct msgb *pMBlk = (struct msgb *)RTMemAllocZ(sizeof(struct msgb));
132 if (!pch || !pMBlk || !pDBlk)
135 RTMemFree(pMBlk);
140 pMBlk->b_rptr = pch;
141 pMBlk->b_wptr = pMBlk->b_rptr + cb;
142 pMBlk->b_datap = pDBlk;
143 pDBlk->db_base = pMBlk->b_rptr;
144 pDBlk->db_lim = pMBlk->b_wptr;
146 return pMBlk;
150 void freemsg(mblk_t *pMBlk)
152 if (!pMBlk)
154 RTMemFree(pMBlk->b_rptr);
155 RTMemFree(pMBlk->b_datap);
156 freemsg(pMBlk->b_cont);
157 RTMemFree(pMBlk);