Lines Matching refs:event

57 	struct sctp_ulpevent *event;
60 event = sctp_skb2event(skb);
61 sctp_ulpevent_free(event);
65 event = sctp_skb2event(skb);
66 sctp_ulpevent_free(event);
70 event = sctp_skb2event(skb);
71 sctp_ulpevent_free(event);
86 struct sctp_ulpevent *event;
89 /* Create an event from the incoming chunk. */
90 event = sctp_ulpevent_make_rcvmsg(chunk->asoc, chunk, gfp);
91 if (!event)
94 event->ssn = ntohs(chunk->subh.data_hdr->ssn);
95 event->ppid = chunk->subh.data_hdr->ppid;
98 event = sctp_ulpq_reasm(ulpq, event);
101 if (event) {
104 __skb_queue_tail(&temp, sctp_event2skb(event));
106 if (event->msg_flags & MSG_EOR)
107 event = sctp_ulpq_order(ulpq, event);
110 /* Send event to the ULP. 'event' is the sctp_ulpevent for
113 if (event) {
114 event_eor = (event->msg_flags & MSG_EOR) ? 1 : 0;
121 /* Add a new event for propagation to the ULP. */
146 struct sctp_ulpevent *event;
149 event = sctp_skb2event(skb);
150 if (event->asoc == asoc) {
183 struct sctp_ulpevent *event;
189 event = sctp_skb2event(skb);
196 !sctp_ulpevent_is_notification(event)))
199 if (!sctp_ulpevent_is_notification(event)) {
203 /* Check if the user wishes to receive this event. */
204 if (!sctp_ulpevent_is_enabled(event, ulpq->asoc->subscribe))
221 if ((event->msg_flags & MSG_NOTIFICATION) ||
223 (event->msg_flags & SCTP_DATA_FRAG_MASK)))
226 clear_pd = event->msg_flags & MSG_EOR;
268 struct sctp_ulpevent *event)
274 tsn = event->tsn;
279 __skb_queue_tail(&ulpq->reasm, sctp_event2skb(event));
287 __skb_queue_tail(&ulpq->reasm, sctp_event2skb(event));
301 __skb_queue_before(&ulpq->reasm, pos, sctp_event2skb(event));
305 /* Helper function to return an event corresponding to the reassembled
319 struct sctp_ulpevent *event;
383 event = sctp_skb2event(f_frag);
386 return event;
391 * missing fragment in a SCTP datagram and return the corresponding event.
555 /* We have the reassembled event. There is no need to look
572 struct sctp_ulpevent *event)
577 if (SCTP_DATA_NOT_FRAG == (event->msg_flags & SCTP_DATA_FRAG_MASK)) {
578 event->msg_flags |= MSG_EOR;
579 return event;
582 sctp_ulpq_store_reasm(ulpq, event);
591 ctsn = event->tsn;
656 /* We have the reassembled event. There is no need to look
675 * In the event that the receiver has invoked the partial delivery API,
682 struct sctp_ulpevent *event;
689 event = sctp_skb2event(pos);
690 tsn = event->tsn;
699 sctp_ulpevent_free(event);
712 struct sctp_ulpevent *event = NULL;
717 while ((event = sctp_ulpq_retrieve_reassembled(ulpq)) != NULL) {
721 __skb_queue_tail(&temp, sctp_event2skb(event));
724 if (event->msg_flags & MSG_EOR)
725 event = sctp_ulpq_order(ulpq, event);
727 /* Send event to the ULP. 'event' is the
730 if (event)
740 struct sctp_ulpevent *event)
748 sid = event->stream;
751 event_list = (struct sk_buff_head *) sctp_event2skb(event)->prev;
775 /* Attach all gathered skbs to the event. */
782 struct sctp_ulpevent *event)
791 __skb_queue_tail(&ulpq->lobby, sctp_event2skb(event));
795 sid = event->stream;
796 ssn = event->ssn;
802 __skb_queue_tail(&ulpq->lobby, sctp_event2skb(event));
807 __skb_queue_tail(&ulpq->lobby, sctp_event2skb(event));
827 __skb_queue_before(&ulpq->lobby, pos, sctp_event2skb(event));
831 struct sctp_ulpevent *event)
837 if (event->msg_flags & SCTP_DATA_UNORDERED)
838 return event;
841 sid = event->stream;
842 ssn = event->ssn;
850 sctp_ulpq_store_ordered(ulpq, event);
860 sctp_ulpq_retrieve_ordered(ulpq, event);
862 return event;
872 struct sctp_ulpevent *event;
882 event = NULL;
901 if (!event)
903 event = sctp_skb2event(pos);
905 /* Attach all gathered skbs to the event. */
912 if (event == NULL && pos != (struct sk_buff *)lobby) {
921 event = sctp_skb2event(pos);
925 /* Send event to the ULP. 'event' is the sctp_ulpevent for
928 if (event) {
930 sctp_ulpq_retrieve_ordered(ulpq, event);
964 struct sctp_ulpevent *event;
970 event = sctp_skb2event(skb);
971 tsn = event->tsn;
992 /* Unlink the event, then renege all applicable TSNs. */
994 sctp_ulpevent_free(event);
1022 struct sctp_ulpevent *event;
1054 event = sctp_ulpq_retrieve_first(ulpq);
1055 /* Send event to the ULP. */
1056 if (event) {
1060 __skb_queue_tail(&temp, sctp_event2skb(event));