11590Srgrimes/*-
21590Srgrimes * Copyright (c) 2001-2007, by Cisco Systems, Inc. All rights reserved.
31590Srgrimes * Copyright (c) 2008-2012, by Randall Stewart. All rights reserved.
41590Srgrimes * Copyright (c) 2008-2012, by Michael Tuexen. All rights reserved.
51590Srgrimes *
61590Srgrimes * Redistribution and use in source and binary forms, with or without
71590Srgrimes * modification, are permitted provided that the following conditions are met:
81590Srgrimes *
91590Srgrimes * a) Redistributions of source code must retain the above copyright notice,
101590Srgrimes *    this list of conditions and the following disclaimer.
111590Srgrimes *
121590Srgrimes * b) Redistributions in binary form must reproduce the above copyright
131590Srgrimes *    notice, this list of conditions and the following disclaimer in
141590Srgrimes *    the documentation and/or other materials provided with the distribution.
151590Srgrimes *
161590Srgrimes * c) Neither the name of Cisco Systems, Inc. nor the names of its
171590Srgrimes *    contributors may be used to endorse or promote products derived
181590Srgrimes *    from this software without specific prior written permission.
191590Srgrimes *
201590Srgrimes * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
211590Srgrimes * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
221590Srgrimes * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
231590Srgrimes * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
241590Srgrimes * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
251590Srgrimes * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
261590Srgrimes * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
271590Srgrimes * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
281590Srgrimes * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
291590Srgrimes * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
301590Srgrimes * THE POSSIBILITY OF SUCH DAMAGE.
311590Srgrimes */
3250477Speter
331590Srgrimes#include <sys/cdefs.h>
341590Srgrimes__FBSDID("$FreeBSD: releng/11.0/sys/netinet/sctp_input.h 284515 2015-06-17 15:20:14Z tuexen $");
351590Srgrimes
361590Srgrimes#ifndef _NETINET_SCTP_INPUT_H_
371590Srgrimes#define _NETINET_SCTP_INPUT_H_
381590Srgrimes
391590Srgrimes#if defined(_KERNEL) || defined(__Userspace__)
401590Srgrimesvoid
4168963Srusctp_common_input_processing(struct mbuf **, int, int, int,
421590Srgrimes    struct sockaddr *, struct sockaddr *,
431590Srgrimes    struct sctphdr *, struct sctp_chunkhdr *,
4499137Sjmallett#if !defined(SCTP_WITH_NO_CSUM)
4599137Sjmallett    uint8_t,
4699137Sjmallett#endif
4799137Sjmallett    uint8_t,
4899137Sjmallett    uint8_t, uint32_t, uint16_t,
491590Srgrimes    uint32_t, uint16_t);
501590Srgrimes
51188006Srwatsonstruct sctp_stream_reset_request *
521590Srgrimessctp_find_stream_reset(struct sctp_tcb *stcb, uint32_t seq,
5395083Scharnier    struct sctp_tmit_chunk **bchk);
5495083Scharnier
5595083Scharniervoid
561590Srgrimessctp_reset_in_stream(struct sctp_tcb *stcb, uint32_t number_entries,
571590Srgrimes    uint16_t * list);
5835197Sdanny
5935197Sdanny
601590Srgrimesint sctp_is_there_unsent_data(struct sctp_tcb *stcb, int so_locked);
611590Srgrimes
621590Srgrimes#endif
6335197Sdanny#endif
6435197Sdanny