Lines Matching refs:cb
207 struct nl_cb *cb; in nl_sendmsg() local
212 cb = sk->s_cb; in nl_sendmsg()
213 if (cb->cb_set[NL_CB_MSG_OUT]) in nl_sendmsg()
214 if (nl_cb_call(cb, NL_CB_MSG_OUT, msg) != NL_OK) in nl_sendmsg()
325 struct nl_cb *cb = sk->s_cb; in nl_send_auto_complete() local
329 if (cb->cb_send_ow) in nl_send_auto_complete()
330 return cb->cb_send_ow(sk, msg); in nl_send_auto_complete()
490 #define NL_CB_CALL(cb, type, msg) \ argument
492 err = nl_cb_call(cb, type, msg); \
506 static int recvmsgs(struct nl_sock *sk, struct nl_cb *cb) in recvmsgs() argument
517 if (cb->cb_recv_ow) in recvmsgs()
518 n = cb->cb_recv_ow(sk, &nla, &buf, &creds); in recvmsgs()
545 if (cb->cb_set[NL_CB_MSG_IN]) in recvmsgs()
546 NL_CB_CALL(cb, NL_CB_MSG_IN, msg); in recvmsgs()
551 if (cb->cb_set[NL_CB_SEQ_CHECK]) in recvmsgs()
552 NL_CB_CALL(cb, NL_CB_SEQ_CHECK, msg); in recvmsgs()
554 if (cb->cb_set[NL_CB_INVALID]) in recvmsgs()
555 NL_CB_CALL(cb, NL_CB_INVALID, msg); in recvmsgs()
579 if (cb->cb_set[NL_CB_SEND_ACK]) in recvmsgs()
580 NL_CB_CALL(cb, NL_CB_SEND_ACK, msg); in recvmsgs()
592 if (cb->cb_set[NL_CB_FINISH]) in recvmsgs()
593 NL_CB_CALL(cb, NL_CB_FINISH, msg); in recvmsgs()
601 if (cb->cb_set[NL_CB_SKIPPED]) in recvmsgs()
602 NL_CB_CALL(cb, NL_CB_SKIPPED, msg); in recvmsgs()
611 if (cb->cb_set[NL_CB_OVERRUN]) in recvmsgs()
612 NL_CB_CALL(cb, NL_CB_OVERRUN, msg); in recvmsgs()
628 if (cb->cb_set[NL_CB_INVALID]) in recvmsgs()
629 NL_CB_CALL(cb, NL_CB_INVALID, msg); in recvmsgs()
636 if (cb->cb_err) { in recvmsgs()
637 err = cb->cb_err(&nla, e, in recvmsgs()
638 cb->cb_err_arg); in recvmsgs()
651 } else if (cb->cb_set[NL_CB_ACK]) in recvmsgs()
652 NL_CB_CALL(cb, NL_CB_ACK, msg); in recvmsgs()
657 if (cb->cb_set[NL_CB_VALID]) in recvmsgs()
658 NL_CB_CALL(cb, NL_CB_VALID, msg); in recvmsgs()
701 int nl_recvmsgs(struct nl_sock *sk, struct nl_cb *cb) in nl_recvmsgs() argument
703 if (cb->cb_recvmsgs_ow) in nl_recvmsgs()
704 return cb->cb_recvmsgs_ow(sk, cb); in nl_recvmsgs()
706 return recvmsgs(sk, cb); in nl_recvmsgs()
737 struct nl_cb *cb; in nl_wait_for_ack() local
739 cb = nl_cb_clone(sk->s_cb); in nl_wait_for_ack()
740 if (cb == NULL) in nl_wait_for_ack()
743 nl_cb_set(cb, NL_CB_ACK, NL_CB_CUSTOM, ack_wait_handler, NULL); in nl_wait_for_ack()
744 err = nl_recvmsgs(sk, cb); in nl_wait_for_ack()
745 nl_cb_put(cb); in nl_wait_for_ack()