The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/netinet/sctp_output.h

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 /*      $KAME: sctp_output.h,v 1.13 2004/08/17 04:06:18 itojun Exp $    */
    2 /*      $DragonFly: src/sys/netinet/sctp_output.h,v 1.3 2006/05/20 02:42:12 dillon Exp $        */
    3 
    4 #ifndef _NETINET_SCTP_OUTPUT_H_
    5 #define _NETINET_SCTP_OUTPUT_H_
    6 
    7 /*
    8  * Copyright (C) 2002, 2003, 2004 Cisco Systems Inc,
    9  * All rights reserved.
   10  *
   11  * Redistribution and use in source and binary forms, with or without
   12  * modification, are permitted provided that the following conditions
   13  * are met:
   14  * 1. Redistributions of source code must retain the above copyright
   15  *    notice, this list of conditions and the following disclaimer.
   16  * 2. Redistributions in binary form must reproduce the above copyright
   17  *    notice, this list of conditions and the following disclaimer in the
   18  *    documentation and/or other materials provided with the distribution.
   19  * 3. Neither the name of the project nor the names of its contributors
   20  *    may be used to endorse or promote products derived from this software
   21  *    without specific prior written permission.
   22  *
   23  * THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND
   24  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
   25  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
   26  * ARE DISCLAIMED.  IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORS BE LIABLE
   27  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
   28  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
   29  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
   30  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
   31  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
   32  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   33  * SUCH DAMAGE.
   34  */
   35 
   36 #ifndef _NETINET_SCTP_HEADER_H_
   37 #include <netinet/sctp_header.h>
   38 #endif
   39 
   40 #if defined(_KERNEL) || (defined(__APPLE__) && defined(KERNEL))
   41 
   42 struct mbuf;
   43 struct route;
   44 struct socket;
   45 struct sctp_tcb;
   46 struct sctp_inpcb;
   47 struct sctp_association;
   48 
   49 void sctp_send_initiate(struct sctp_inpcb *, struct sctp_tcb *);
   50 
   51 void sctp_send_initiate_ack(struct sctp_inpcb *, struct sctp_tcb *,
   52     struct mbuf *, int, int, struct sctphdr *, struct sctp_init_chunk *);
   53 
   54 struct mbuf *sctp_arethere_unrecognized_parameters(struct mbuf *, int, int *,
   55     struct sctp_chunkhdr *);
   56 void sctp_queue_op_err(struct sctp_tcb *, struct mbuf *);
   57 
   58 int sctp_send_cookie_echo(struct mbuf *, int, struct sctp_tcb *,
   59     struct sctp_nets *);
   60 int sctp_send_cookie_ack(struct sctp_tcb *);
   61 
   62 void sctp_send_heartbeat_ack(struct sctp_tcb *, struct mbuf *, int, int,
   63     struct sctp_nets *);
   64 
   65 int sctp_is_addr_restricted(struct sctp_tcb *, struct sockaddr *);
   66 
   67 struct in_addr sctp_ipv4_source_address_selection(struct sctp_inpcb *,
   68     struct sctp_tcb *, struct route *, struct sctp_nets *, int);
   69 
   70 
   71 struct in6_addr sctp_ipv6_source_address_selection(struct sctp_inpcb *,
   72         struct sctp_tcb *, struct route *, struct sctp_nets *, int);
   73 
   74 
   75 int sctp_send_shutdown(struct sctp_tcb *, struct sctp_nets *);
   76 
   77 int sctp_send_shutdown_ack(struct sctp_tcb *, struct sctp_nets *);
   78 
   79 int sctp_send_shutdown_complete(struct sctp_tcb *, struct sctp_nets *);
   80 
   81 int sctp_send_shutdown_complete2(struct mbuf *, int, struct sctphdr *);
   82 
   83 int sctp_send_asconf(struct sctp_tcb *, struct sctp_nets *);
   84 
   85 int sctp_send_asconf_ack(struct sctp_tcb *, uint32_t);
   86 
   87 int sctp_get_frag_point(struct sctp_tcb *, struct sctp_association *);
   88 
   89 void sctp_toss_old_cookies(struct sctp_association *);
   90 
   91 void sctp_toss_old_asconf(struct sctp_tcb *);
   92 
   93 void sctp_fix_ecn_echo(struct sctp_association *);
   94 
   95 #if (defined(__FreeBSD__) && __FreeBSD_version >= 500000) || defined(__DragonFly__)
   96 int sctp_output(struct sctp_inpcb *, struct mbuf *, struct sockaddr *,
   97     struct mbuf *, struct thread *, int);
   98 #else
   99 int sctp_output(struct sctp_inpcb *, struct mbuf *, struct sockaddr *,
  100     struct mbuf *, struct proc *, int);
  101 #endif
  102 
  103 int sctp_chunk_output(struct sctp_inpcb *, struct sctp_tcb *, int);
  104 void sctp_send_abort_tcb(struct sctp_tcb *, struct mbuf *);
  105 
  106 void send_forward_tsn(struct sctp_tcb *, struct sctp_association *);
  107 
  108 void sctp_send_sack(struct sctp_tcb *);
  109 
  110 int sctp_send_hb(struct sctp_tcb *, int, struct sctp_nets *);
  111 
  112 void sctp_send_ecn_echo(struct sctp_tcb *, struct sctp_nets *, uint32_t);
  113 
  114 
  115 void
  116 sctp_send_packet_dropped(struct sctp_tcb *, struct sctp_nets *, struct mbuf *,
  117     int, int);
  118 
  119 
  120 
  121 void sctp_send_cwr(struct sctp_tcb *, struct sctp_nets *, uint32_t);
  122 
  123 
  124 void
  125 sctp_send_str_reset_ack(struct sctp_tcb *stcb,
  126     struct sctp_stream_reset_request *req);
  127 
  128 
  129 void
  130 sctp_send_str_reset_req(struct sctp_tcb *stcb,
  131     int number_entrys, uint16_t *list, uint8_t two_way, uint8_t not_peer);
  132 
  133 
  134 void sctp_send_abort(struct mbuf *, int, struct sctphdr *, uint32_t,
  135     struct mbuf *);
  136 
  137 void sctp_send_operr_to(struct mbuf *, int, struct mbuf *, uint32_t);
  138 
  139 int
  140 sctp_sosend(struct socket *so,
  141 #ifdef __NetBSD__
  142     struct mbuf *addr_mbuf,
  143 #else
  144     struct sockaddr *addr,
  145 #endif
  146     struct uio *uio,
  147     struct mbuf *top,
  148     struct mbuf *control,
  149 #if defined(__NetBSD__) || defined(__APPLE__)
  150     int flags
  151 #else
  152     int flags,
  153 #if (defined(__FreeBSD__) && __FreeBSD_version >= 500000) || defined(__DragonFly__)
  154     struct thread *p
  155 #else
  156     struct proc *p
  157 #endif
  158 #endif
  159         );
  160 
  161 #endif
  162 #endif

Cache object: ba8d68633db3d4cf223a36bdd27059a5


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.