sctp_uio.h (169655) | sctp_uio.h (170056) |
---|---|
1/*- 2 * Copyright (c) 2001-2007, by Cisco Systems, Inc. All rights reserved. 3 * 4 * Redistribution and use in source and binary forms, with or without 5 * modification, are permitted provided that the following conditions are met: 6 * 7 * a) Redistributions of source code must retain the above copyright notice, 8 * this list of conditions and the following disclaimer. --- 16 unchanged lines hidden (view full) --- 25 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 26 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 27 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF 28 * THE POSSIBILITY OF SUCH DAMAGE. 29 */ 30 31/* $KAME: sctp_uio.h,v 1.11 2005/03/06 16:04:18 itojun Exp $ */ 32#include <sys/cdefs.h> | 1/*- 2 * Copyright (c) 2001-2007, by Cisco Systems, Inc. All rights reserved. 3 * 4 * Redistribution and use in source and binary forms, with or without 5 * modification, are permitted provided that the following conditions are met: 6 * 7 * a) Redistributions of source code must retain the above copyright notice, 8 * this list of conditions and the following disclaimer. --- 16 unchanged lines hidden (view full) --- 25 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 26 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 27 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF 28 * THE POSSIBILITY OF SUCH DAMAGE. 29 */ 30 31/* $KAME: sctp_uio.h,v 1.11 2005/03/06 16:04:18 itojun Exp $ */ 32#include <sys/cdefs.h> |
33__FBSDID("$FreeBSD: head/sys/netinet/sctp_uio.h 169655 2007-05-17 12:16:24Z rrs $"); | 33__FBSDID("$FreeBSD: head/sys/netinet/sctp_uio.h 170056 2007-05-28 11:17:24Z rrs $"); |
34 35#ifndef __sctp_uio_h__ 36#define __sctp_uio_h__ 37 38 39#if ! defined(_KERNEL) 40#include <stdint.h> 41#endif 42#include <sys/types.h> 43#include <sys/socket.h> 44#include <sys/time.h> | 34 35#ifndef __sctp_uio_h__ 36#define __sctp_uio_h__ 37 38 39#if ! defined(_KERNEL) 40#include <stdint.h> 41#endif 42#include <sys/types.h> 43#include <sys/socket.h> 44#include <sys/time.h> |
45#include <sys/socketvar.h> | |
46#include <netinet/in.h> 47 48typedef uint32_t sctp_assoc_t; 49 50/* On/Off setup for subscription to events */ 51struct sctp_event_subscribe { 52 uint8_t sctp_data_io_event; 53 uint8_t sctp_association_event; --- 354 unchanged lines hidden (view full) --- 408 409}; 410 411#define SPP_HB_ENABLE 0x00000001 412#define SPP_HB_DISABLE 0x00000002 413#define SPP_HB_DEMAND 0x00000004 414#define SPP_PMTUD_ENABLE 0x00000008 415#define SPP_PMTUD_DISABLE 0x00000010 | 45#include <netinet/in.h> 46 47typedef uint32_t sctp_assoc_t; 48 49/* On/Off setup for subscription to events */ 50struct sctp_event_subscribe { 51 uint8_t sctp_data_io_event; 52 uint8_t sctp_association_event; --- 354 unchanged lines hidden (view full) --- 407 408}; 409 410#define SPP_HB_ENABLE 0x00000001 411#define SPP_HB_DISABLE 0x00000002 412#define SPP_HB_DEMAND 0x00000004 413#define SPP_PMTUD_ENABLE 0x00000008 414#define SPP_PMTUD_DISABLE 0x00000010 |
416#define SPP_SACKDELAY_ENABLE 0x00000020 417#define SPP_SACKDELAY_DISABLE 0x00000040 | |
418#define SPP_HB_TIME_IS_ZERO 0x00000080 419#define SPP_IPV6_FLOWLABEL 0x00000100 420#define SPP_IPV4_TOS 0x00000200 421 422struct sctp_paddrinfo { 423 sctp_assoc_t spinfo_assoc_id; 424 struct sockaddr_storage spinfo_address; 425 int32_t spinfo_state; --- 12 unchanged lines hidden (view full) --- 438 439struct sctp_assocparams { 440 sctp_assoc_t sasoc_assoc_id; 441 uint16_t sasoc_asocmaxrxt; 442 uint16_t sasoc_number_peer_destinations; 443 uint32_t sasoc_peer_rwnd; 444 uint32_t sasoc_local_rwnd; 445 uint32_t sasoc_cookie_life; | 415#define SPP_HB_TIME_IS_ZERO 0x00000080 416#define SPP_IPV6_FLOWLABEL 0x00000100 417#define SPP_IPV4_TOS 0x00000200 418 419struct sctp_paddrinfo { 420 sctp_assoc_t spinfo_assoc_id; 421 struct sockaddr_storage spinfo_address; 422 int32_t spinfo_state; --- 12 unchanged lines hidden (view full) --- 435 436struct sctp_assocparams { 437 sctp_assoc_t sasoc_assoc_id; 438 uint16_t sasoc_asocmaxrxt; 439 uint16_t sasoc_number_peer_destinations; 440 uint32_t sasoc_peer_rwnd; 441 uint32_t sasoc_local_rwnd; 442 uint32_t sasoc_cookie_life; |
446 uint32_t sasoc_sack_delay; 447 uint32_t sasoc_sack_freq; | |
448}; 449 450struct sctp_setprim { 451 sctp_assoc_t ssp_assoc_id; 452 struct sockaddr_storage ssp_addr; 453}; 454 455struct sctp_setpeerprim { --- 72 unchanged lines hidden (view full) --- 528 sctp_assoc_t assoc_id; 529 uint32_t assoc_value; 530}; 531 532struct sctp_assoc_ids { 533 sctp_assoc_t gaids_assoc_id[0]; 534}; 535 | 443}; 444 445struct sctp_setprim { 446 sctp_assoc_t ssp_assoc_id; 447 struct sockaddr_storage ssp_addr; 448}; 449 450struct sctp_setpeerprim { --- 72 unchanged lines hidden (view full) --- 523 sctp_assoc_t assoc_id; 524 uint32_t assoc_value; 525}; 526 527struct sctp_assoc_ids { 528 sctp_assoc_t gaids_assoc_id[0]; 529}; 530 |
531struct sctp_sack_info { 532 sctp_assoc_t sack_assoc_id; 533 uint32_t sack_delay; 534 uint32_t sack_freq; 535}; 536 |
|
536struct sctp_cwnd_args { 537 struct sctp_nets *net; /* network to */ 538 uint32_t cwnd_new_value;/* cwnd in k */ 539 uint32_t inflight; /* flightsize in k */ 540 uint32_t pseudo_cumack; 541 int cwnd_augment; /* increment to it */ 542 uint8_t meets_pseudo_cumack; 543 uint8_t need_new_pseudo_cumack; --- 374 unchanged lines hidden (view full) --- 918 struct sockaddr_in6 sin6; 919#endif 920 struct sockaddr sa; 921}; 922 923struct xsctp_inpcb { 924 uint32_t last; 925 uint16_t local_port; | 537struct sctp_cwnd_args { 538 struct sctp_nets *net; /* network to */ 539 uint32_t cwnd_new_value;/* cwnd in k */ 540 uint32_t inflight; /* flightsize in k */ 541 uint32_t pseudo_cumack; 542 int cwnd_augment; /* increment to it */ 543 uint8_t meets_pseudo_cumack; 544 uint8_t need_new_pseudo_cumack; --- 374 unchanged lines hidden (view full) --- 919 struct sockaddr_in6 sin6; 920#endif 921 struct sockaddr sa; 922}; 923 924struct xsctp_inpcb { 925 uint32_t last; 926 uint16_t local_port; |
926 uint16_t number_local_addresses; 927 uint32_t number_associations; | |
928 uint32_t flags; 929 uint32_t features; 930 uint32_t total_sends; 931 uint32_t total_recvs; 932 uint32_t total_nospaces; 933 uint32_t fragmentation_point; | 927 uint32_t flags; 928 uint32_t features; 929 uint32_t total_sends; 930 uint32_t total_recvs; 931 uint32_t total_nospaces; 932 uint32_t fragmentation_point; |
934 struct xsocket xsocket; | 933 uint16_t qlen; 934 uint16_t maxqlen; |
935 /* add more endpoint specific data here */ 936}; 937 938struct xsctp_tcb { | 935 /* add more endpoint specific data here */ 936}; 937 938struct xsctp_tcb { |
939 uint16_t LocalPort; /* sctpAssocEntry 3 */ 940 uint16_t RemPort; /* sctpAssocEntry 4 */ 941 union sctp_sockstore RemPrimAddr; /* sctpAssocEntry 5/6 */ 942 uint32_t HeartBeatInterval; /* sctpAssocEntry 7 */ 943 uint32_t State; /* sctpAssocEntry 8 */ 944 uint32_t InStreams; /* sctpAssocEntry 9 */ 945 uint32_t OutStreams; /* sctpAssocEntry 10 */ 946 uint32_t MaxRetr; /* sctpAssocEntry 11 */ 947 uint32_t PrimProcess; /* sctpAssocEntry 12 */ 948 uint32_t T1expireds; /* sctpAssocEntry 13 */ 949 uint32_t T2expireds; /* sctpAssocEntry 14 */ 950 uint32_t RtxChunks; /* sctpAssocEntry 15 */ 951 struct timeval StartTime; /* sctpAssocEntry 16 */ 952 struct timeval DiscontinuityTime; /* sctpAssocEntry 17 */ | 939 uint32_t last; 940 uint16_t local_port; /* sctpAssocEntry 3 */ 941 uint16_t remote_port; /* sctpAssocEntry 4 */ 942 union sctp_sockstore primary_addr; /* sctpAssocEntry 5/6 */ 943 uint32_t heartbeat_interval; /* sctpAssocEntry 7 */ 944 uint32_t state; /* sctpAssocEntry 8 */ 945 uint32_t in_streams; /* sctpAssocEntry 9 */ 946 uint32_t out_streams; /* sctpAssocEntry 10 */ 947 uint32_t max_nr_retrans;/* sctpAssocEntry 11 */ 948 uint32_t primary_process; /* sctpAssocEntry 12 */ 949 uint32_t T1_expireries; /* sctpAssocEntry 13 */ 950 uint32_t T2_expireries; /* sctpAssocEntry 14 */ 951 uint32_t retransmitted_tsns; /* sctpAssocEntry 15 */ 952 struct timeval start_time; /* sctpAssocEntry 16 */ 953 struct timeval discontinuity_time; /* sctpAssocEntry 17 */ |
953 uint32_t total_sends; 954 uint32_t total_recvs; 955 uint32_t local_tag; 956 uint32_t remote_tag; 957 uint32_t initial_tsn; 958 uint32_t highest_tsn; 959 uint32_t cumulative_tsn; 960 uint32_t cumulative_tsn_ack; 961 uint32_t mtu; 962 /* add more association specific data here */ | 954 uint32_t total_sends; 955 uint32_t total_recvs; 956 uint32_t local_tag; 957 uint32_t remote_tag; 958 uint32_t initial_tsn; 959 uint32_t highest_tsn; 960 uint32_t cumulative_tsn; 961 uint32_t cumulative_tsn_ack; 962 uint32_t mtu; 963 /* add more association specific data here */ |
963 uint16_t number_local_addresses; 964 uint16_t number_remote_addresses; | |
965}; 966 967struct xsctp_laddr { | 964}; 965 966struct xsctp_laddr { |
968 union sctp_sockstore LocalAddr; /* sctpAssocLocalAddrEntry 1/2 */ 969 struct timeval LocalStartTime; /* sctpAssocLocalAddrEntry 3 */ | 967 uint32_t last; 968 union sctp_sockstore address; /* sctpAssocLocalAddrEntry 1/2 */ 969 struct timeval start_time; /* sctpAssocLocalAddrEntry 3 */ |
970 /* add more local address specific data */ 971}; 972 973struct xsctp_raddr { | 970 /* add more local address specific data */ 971}; 972 973struct xsctp_raddr { |
974 union sctp_sockstore RemAddr; /* sctpAssocLocalRemEntry 1/2 */ 975 uint8_t RemAddrActive; /* sctpAssocLocalRemEntry 3 */ 976 uint8_t RemAddrConfirmed; /* */ 977 uint8_t RemAddrHBActive;/* sctpAssocLocalRemEntry 4 */ 978 uint32_t RemAddrRTO; /* sctpAssocLocalRemEntry 5 */ 979 uint32_t RemAddrMaxPathRtx; /* sctpAssocLocalRemEntry 6 */ 980 uint32_t RemAddrRtx; /* sctpAssocLocalRemEntry 7 */ 981 uint32_t RemAddrErrorCounter; /* */ 982 uint32_t RemAddrCwnd; /* */ 983 uint32_t RemAddrFlightSize; /* */ 984 uint32_t RemAddrMTU; /* */ 985 struct timeval RemAddrStartTime; /* sctpAssocLocalRemEntry 8 */ | 974 uint32_t last; 975 union sctp_sockstore address; /* sctpAssocLocalRemEntry 1/2 */ 976 uint8_t active; /* sctpAssocLocalRemEntry 3 */ 977 uint8_t confirmed; /* */ 978 uint8_t heartbeat_enabled; /* sctpAssocLocalRemEntry 4 */ 979 uint32_t rto; /* sctpAssocLocalRemEntry 5 */ 980 uint32_t max_path_rtx; /* sctpAssocLocalRemEntry 6 */ 981 uint32_t rtx; /* sctpAssocLocalRemEntry 7 */ 982 uint32_t error_counter; /* */ 983 uint32_t cwnd; /* */ 984 uint32_t flight_size; /* */ 985 uint32_t mtu; /* */ 986 struct timeval start_time; /* sctpAssocLocalRemEntry 8 */ |
986 /* add more remote address specific data */ 987}; 988 989/* 990 * Kernel defined for sctp_send 991 */ 992#if defined(_KERNEL) 993int --- 64 unchanged lines hidden --- | 987 /* add more remote address specific data */ 988}; 989 990/* 991 * Kernel defined for sctp_send 992 */ 993#if defined(_KERNEL) 994int --- 64 unchanged lines hidden --- |