sctp_stack.h revision 2ea701aa039ac7c64509e62bb4a333fb79e9b069
/*
* CDDL HEADER START
*
* The contents of this file are subject to the terms of the
* Common Development and Distribution License (the "License").
* You may not use this file except in compliance with the License.
*
* You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
* See the License for the specific language governing permissions
* and limitations under the License.
*
* When distributing Covered Code, include this CDDL HEADER in each
* file and include the License file at usr/src/OPENSOLARIS.LICENSE.
* If applicable, add the following below this CDDL HEADER, with the
* fields enclosed by brackets "[]" replaced with your own identifying
* information: Portions Copyright [yyyy] [name of copyright owner]
*
* CDDL HEADER END
*/
/*
* Copyright 2008 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
#ifndef _INET_SCTP_SCTP_STACK_H
#define _INET_SCTP_SCTP_STACK_H
#pragma ident "%Z%%M% %I% %E% SMI"
#include <sys/netstack.h>
#ifdef __cplusplus
extern "C" {
#endif
/* SCTP kstat */
typedef struct sctp_kstat_s {
} sctp_kstat_t;
/*
* SCTP stack instances
*/
struct sctp_stack {
/* Protected by sctps_g_q_lock */
struct __ldi_handle *sctps_g_q_lh;
/* The default sctp_t for responding out of the blue packets. */
struct sctp_s *sctps_gsctp;
/* Protected by sctps_g_lock */
#define SCTP_NUM_EPRIV_PORTS 64
/* SCTP bind hash list - all sctp_t with state >= BOUND. */
struct sctp_tf_s *sctps_bind_fanout;
/* SCTP listen hash list - all sctp_t with state == LISTEN. */
struct sctp_tf_s *sctps_listen_fanout;
struct sctp_tf_s *sctps_conn_fanout;
/* Only modified during _init and _fini thus no locking is needed. */
struct sctpparam_s *sctps_params;
struct sctpparam_s *sctps_wroff_xtra_param;
/* This lock protects the SCTP recvq_tq_list array and recvq_tq_list_cur_sz. */
/* Current number of recvq taskq. At least 1 for the default taskq. */
/* Global list of SCTP ILLs */
struct sctp_ill_hash_s *sctps_g_ills;
/* Global list of SCTP IPIFs */
struct sctp_ipif_hash_s *sctps_g_ipifs;
/* kstat exporting sctp_mib data */
};
typedef struct sctp_stack sctp_stack_t;
#ifdef __cplusplus
}
#endif
#endif /* _INET_SCTP_SCTP_STACK_H */