OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [trunk/] [linux/] [linux-2.4/] [include/] [net/] [sctp/] [ulpqueue.h] - Blame information for rev 1765

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 1275 phoenix
/* SCTP kernel reference Implementation
2
 * Copyright (c) 1999-2000 Cisco, Inc.
3
 * Copyright (c) 1999-2001 Motorola, Inc.
4
 * Copyright (c) 2001-2003 International Business Machines, Corp.
5
 * Copyright (c) 2001 Intel Corp.
6
 * Copyright (c) 2001 Nokia, Inc.
7
 * Copyright (c) 2001 La Monte H.P. Yarroll
8
 *
9
 * These are the definitions needed for the sctp_ulpq type.  The
10
 * sctp_ulpq is the interface between the Upper Layer Protocol, or ULP,
11
 * and the core SCTP state machine.  This is the component which handles
12
 * reassembly and ordering.
13
 *
14
 * The SCTP reference implementation  is free software;
15
 * you can redistribute it and/or modify it under the terms of
16
 * the GNU General Public License as published by
17
 * the Free Software Foundation; either version 2, or (at your option)
18
 * any later version.
19
 *
20
 * the SCTP reference implementation  is distributed in the hope that it
21
 * will be useful, but WITHOUT ANY WARRANTY; without even the implied
22
 *                 ************************
23
 * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
24
 * See the GNU General Public License for more details.
25
 *
26
 * You should have received a copy of the GNU General Public License
27
 * along with GNU CC; see the file COPYING.  If not, write to
28
 * the Free Software Foundation, 59 Temple Place - Suite 330,
29
 * Boston, MA 02111-1307, USA.
30
 *
31
 * Please send any bug reports or fixes you make to the
32
 * email addresses:
33
 *    lksctp developers <lksctp-developers@lists.sourceforge.net>
34
 *
35
 * Or submit a bug report through the following website:
36
 *    http://www.sf.net/projects/lksctp
37
 *
38
 * Written or modified by:
39
 *   Jon Grimm             <jgrimm@us.ibm.com>
40
 *   La Monte H.P. Yarroll <piggy@acm.org>
41
 *
42
 * Any bugs reported given to us we will try to fix... any fixes shared will
43
 * be incorporated into the next SCTP release.
44
 */
45
 
46
#ifndef __sctp_ulpqueue_h__
47
#define __sctp_ulpqueue_h__
48
 
49
/* A structure to carry information to the ULP (e.g. Sockets API) */
50
struct sctp_ulpq {
51
        char malloced;
52
        char pd_mode;
53
        struct sctp_association *asoc;
54
        struct sk_buff_head reasm;
55
        struct sk_buff_head lobby;
56
};
57
 
58
/* Prototypes. */
59
struct sctp_ulpq *sctp_ulpq_new(struct sctp_association *asoc, int gfp);
60
struct sctp_ulpq *sctp_ulpq_init(struct sctp_ulpq *,
61
                                 struct sctp_association *);
62
void sctp_ulpq_free(struct sctp_ulpq *);
63
 
64
/* Add a new DATA chunk for processing. */
65
int sctp_ulpq_tail_data(struct sctp_ulpq *, struct sctp_chunk *, int);
66
 
67
/* Add a new event for propagation to the ULP. */
68
int sctp_ulpq_tail_event(struct sctp_ulpq *, struct sctp_ulpevent *ev);
69
 
70
/* Renege previously received chunks.  */
71
void sctp_ulpq_renege(struct sctp_ulpq *, struct sctp_chunk *, int);
72
 
73
/* Perform partial delivery. */
74
void sctp_ulpq_partial_delivery(struct sctp_ulpq *, struct sctp_chunk *, int);
75
 
76
/* Abort the partial delivery. */
77
void sctp_ulpq_abort_pd(struct sctp_ulpq *, int);
78
 
79
/* Clear the partial data delivery condition on this socket. */
80
int sctp_clear_pd(struct sock *sk);
81
 
82
#endif /* __sctp_ulpqueue_h__ */
83
 
84
 
85
 
86
 
87
 
88
 
89
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.