Lines Matching defs:stream

7  * These functions manipulate sctp stream queue/scheduling.
25 static int sctp_sched_fcfs_set(struct sctp_stream *stream, __u16 sid,
31 static int sctp_sched_fcfs_get(struct sctp_stream *stream, __u16 sid,
38 static int sctp_sched_fcfs_init(struct sctp_stream *stream)
43 static int sctp_sched_fcfs_init_sid(struct sctp_stream *stream, __u16 sid,
49 static void sctp_sched_fcfs_free_sid(struct sctp_stream *stream, __u16 sid)
53 static void sctp_sched_fcfs_free(struct sctp_stream *stream)
64 struct sctp_stream *stream = &q->asoc->stream;
71 if (stream->out_curr) {
72 ch = list_entry(stream->out_curr->ext->outq.next,
90 static void sctp_sched_fcfs_sched_all(struct sctp_stream *stream)
94 static void sctp_sched_fcfs_unsched_all(struct sctp_stream *stream)
150 old->free(&asoc->stream);
153 for (i = 0; i < asoc->stream.outcnt; i++) {
154 void *p = SCTP_SO(&asoc->stream, i)->ext;
166 n->init(&asoc->stream);
167 for (i = 0; i < asoc->stream.outcnt; i++) {
168 if (!SCTP_SO(&asoc->stream, i)->ext)
171 ret = n->init_sid(&asoc->stream, i, GFP_ATOMIC);
187 n->free(&asoc->stream);
207 if (sid >= asoc->stream.outcnt)
210 if (!SCTP_SO(&asoc->stream, sid)->ext) {
213 ret = sctp_stream_init_ext(&asoc->stream, sid);
218 return asoc->outqueue.sched->set(&asoc->stream, sid, value, gfp);
224 if (sid >= asoc->stream.outcnt)
227 if (!SCTP_SO(&asoc->stream, sid)->ext)
230 return asoc->outqueue.sched->get(&asoc->stream, sid, value);
242 * priority stream comes in.
245 sout = SCTP_SO(&q->asoc->stream, sid);
246 q->asoc->stream.out_curr = sout;
250 q->asoc->stream.out_curr = NULL;
262 int sctp_sched_init_sid(struct sctp_stream *stream, __u16 sid, gfp_t gfp)
264 struct sctp_sched_ops *sched = sctp_sched_ops_from_stream(stream);
265 struct sctp_stream_out_ext *ext = SCTP_SO(stream, sid)->ext;
268 return sched->init_sid(stream, sid, gfp);
271 struct sctp_sched_ops *sctp_sched_ops_from_stream(struct sctp_stream *stream)
275 asoc = container_of(stream, struct sctp_association, stream);