Lines Matching defs:msgimplp

42 ibmf_i_client_add_msg(ibmf_client_t *clientp, ibmf_msg_impl_t *msgimplp)
47 tnf_opaque, clientp, clientp, tnf_opaque, msg, msgimplp);
49 ASSERT(MUTEX_NOT_HELD(&msgimplp->im_mutex));
58 mutex_enter(&msgimplp->im_mutex);
59 if (msgimplp->im_flags & IBMF_MSG_FLAGS_TERMINATION) {
61 mutex_exit(&msgimplp->im_mutex);
65 msgimplp;
67 msgimplp->im_msg_prev = clientp->ic_term_msg_last;
68 clientp->ic_term_msg_last->im_msg_next = msgimplp;
69 clientp->ic_term_msg_last = msgimplp;
73 mutex_exit(&msgimplp->im_mutex);
84 clientp->ic_msg_list = clientp->ic_msg_last = msgimplp;
86 msgimplp->im_msg_prev = clientp->ic_msg_last;
87 clientp->ic_msg_last->im_msg_next = msgimplp;
88 clientp->ic_msg_last = msgimplp;
92 msgimplp->im_msg_next = NULL;
95 mutex_enter(&msgimplp->im_mutex);
96 msgimplp->im_flags |= IBMF_MSG_FLAGS_ON_LIST;
97 mutex_exit(&msgimplp->im_mutex);
117 ibmf_i_client_rem_msg(ibmf_client_t *clientp, ibmf_msg_impl_t *msgimplp,
122 ASSERT(MUTEX_NOT_HELD(&msgimplp->im_mutex));
127 tnf_opaque, clientp, clientp, tnf_opaque, msg, msgimplp);
136 mutex_enter(&msgimplp->im_mutex);
137 if (msgimplp->im_flags & IBMF_MSG_FLAGS_TERMINATION) {
139 mutex_exit(&msgimplp->im_mutex);
143 if (tmpmsg == msgimplp)
162 mutex_exit(&msgimplp->im_mutex);
175 if (tmpmsg == msgimplp)
195 mutex_enter(&msgimplp->im_mutex);
196 *refcnt = msgimplp->im_ref_count;
197 msgimplp->im_flags &= ~IBMF_MSG_FLAGS_ON_LIST;
198 mutex_exit(&msgimplp->im_mutex);
219 ibmf_msg_impl_t *msgimplp;
235 msgimplp = clientp->ic_msg_list;
237 msgimplp = clientp->ic_term_msg_list;
249 while (msgimplp != NULL) {
253 ctx_gidp = &msgimplp->im_global_addr.ig_sender_gid;
259 msgimplp = msgimplp->im_msg_next;
269 tnf_opaque, msg, msgimplp,
270 tnf_opaque, tid, msgimplp->im_tid,
272 msgimplp->im_local_addr.ia_remote_lid,
273 tnf_opaque, class, msgimplp->im_mgt_class);
276 if (msgimplp->im_local_addr.ia_remote_lid != lid) {
277 msgimplp = msgimplp->im_msg_next;
283 if ((msgimplp->im_tid != tid) ||
284 (msgimplp->im_mgt_class != mgt_class)) {
286 msgimplp = msgimplp->im_msg_next;
296 if (msgimplp->im_unsolicited == B_TRUE) {
300 mutex_enter(&msgimplp->im_mutex);
301 rmpp_ctx = &msgimplp->im_rmpp_ctx;
303 if ((msgimplp->im_flags & IBMF_MSG_FLAGS_RECV_RMPP) &&
310 mutex_exit(&msgimplp->im_mutex);
311 msgimplp = msgimplp->im_msg_next;
316 if (msgimplp->im_trans_state_flags ==
318 msgbufp = &msgimplp->im_msgbufs_recv;
321 mutex_exit(&msgimplp->im_mutex);
327 mutex_exit(&msgimplp->im_mutex);
334 if ((!(msgimplp->im_transp_op_flags &
336 (!(msgimplp->im_transp_op_flags &
339 msgimplp = msgimplp->im_msg_next;
351 if (msgimplp->im_transp_op_flags & IBMF_MSG_TRANS_FLAG_SEQ) {
354 mutex_enter(&msgimplp->im_mutex);
356 msgbufp = &msgimplp->im_msgbufs_send;
360 mutex_exit(&msgimplp->im_mutex);
365 mutex_exit(&msgimplp->im_mutex);
374 if (msgimplp->im_transp_op_flags & IBMF_MSG_TRANS_FLAG_RMPP) {
375 ibmf_rmpp_ctx_t *rmpp_ctx = &msgimplp->im_rmpp_ctx;
387 if (!(msgimplp->im_transp_op_flags &
392 msgimplp =
393 msgimplp->im_msg_next;
407 msgimplp =
408 msgimplp->im_msg_next;
416 msgbufp = &msgimplp->im_msgbufs_send;
420 msgimplp = msgimplp->
434 msgimplp =
435 msgimplp->im_msg_next;
440 msgbufp = &msgimplp->im_msgbufs_recv;
443 msgimplp = msgimplp->
458 if ((msgimplp->im_transp_op_flags & IBMF_MSG_TRANS_FLAG_SEQ) &&
459 !(msgimplp->im_transp_op_flags &
463 mutex_enter(&msgimplp->im_mutex);
465 msgbufp = &msgimplp->im_msgbufs_send;
467 mutex_exit(&msgimplp->im_mutex);
472 msgimplp = msgimplp-> im_msg_next;
484 mutex_enter(&msgimplp->im_mutex);
486 IBMF_MSG_INCR_REFCNT(msgimplp);
492 tnf_opaque, msgimplp, msgimplp,
493 tnf_uint, ref_count, msgimplp->im_ref_count);
495 mutex_exit(&msgimplp->im_mutex);
502 "ibmf_i_find_msg() exit, msgp = 0x%p\n", tnf_opaque, msg, msgimplp);
504 return (msgimplp);
512 ibmf_i_find_msg_client(ibmf_client_t *clp, ibmf_msg_impl_t *msgimplp,
521 tnf_opaque, clientp, clp, tnf_opaque, msg, msgimplp);
528 if (msgp == msgimplp) {
531 mutex_enter(&msgimplp->im_mutex);
534 IBMF_MSG_INCR_REFCNT(msgimplp);
541 tnf_opaque, msgimplp, msgimplp,
542 tnf_uint, ref_count, msgimplp->im_ref_count);
544 mutex_exit(&msgimplp->im_mutex);
560 if (msgp == msgimplp) {
563 mutex_enter(&msgimplp->im_mutex);
566 IBMF_MSG_INCR_REFCNT(msgimplp);
573 tnf_opaque, msgimplp, msgimplp, tnf_uint,
574 ref_count, msgimplp->im_ref_count);
576 mutex_exit(&msgimplp->im_mutex);
606 ibmf_setup_recvbuf_on_error(ibmf_msg_impl_t *msgimplp, uchar_t *mad)
612 ibmf_client_t *clientp = (ibmf_client_t *)msgimplp->im_client;
614 ASSERT(msgimplp->im_msgbufs_recv.im_bufs_mad_hdr == NULL);
619 msgimplp->im_msgbufs_recv.im_bufs_mad_hdr =
621 if (msgimplp->im_msgbufs_recv.im_bufs_mad_hdr == NULL) {
642 msgbufp = (uchar_t *)msgimplp->im_msgbufs_recv.im_bufs_mad_hdr;
653 msgimplp->im_msgbufs_recv.im_bufs_cl_hdr = NULL;
655 msgimplp->im_msgbufs_recv.im_bufs_cl_hdr =
660 msgimplp->im_msgbufs_recv.im_bufs_cl_hdr_len = cl_hdr_sz;
666 msgimplp->im_msgbufs_recv.im_bufs_cl_data = (void *)(msgbufp + offset);
667 msgimplp->im_msgbufs_recv.im_bufs_cl_data_len = IBMF_MAD_SIZE -