Description: Code
#ifndef _SYS_NPI_SCTP_H
#define _SYS_NPI_SCTP_H
#ident "@(#) npi_sctp.h,v openss7-0_9_2_G(0.9.2.8) Copyright (c) 2001-2008 OpenSS7 Corporation."
#ifndef N_VERSION_2
#define N_CURRENT_VERSION 0x02
#define N_VERSION_2 0x02
typedef struct {
np_ulong PRIM_type;
np_ulong NSDU_size;
np_ulong ENSDU_size;
np_ulong CDATA_size;
np_ulong DDATA_size;
np_ulong ADDR_size;
np_ulong ADDR_length;
np_ulong ADDR_offset;
np_ulong QOS_length;
np_ulong QOS_offset;
np_ulong QOS_range_length;
np_ulong QOS_range_offset;
np_ulong OPTIONS_flags;
np_ulong NIDU_size;
np_long SERV_type;
np_ulong CURRENT_state;
np_ulong PROVIDER_type;
np_ulong NODU_size;
np_ulong PROTOID_length;
np_ulong PROTOID_offset;
np_ulong NPI_version;
} __N_info_ack_t;
#define N_info_ack_t __N_info_ack_t
typedef struct {
np_ulong PRIM_type;
np_ulong ADDR_length;
np_ulong ADDR_offset;
np_ulong CONIND_number;
np_ulong TOKEN_value;
np_ulong PROTOID_length;
np_ulong PROTOID_offset;
} __N_bind_ack_t;
#define N_bind_ack_t __N_bind_ack_t
#endif
typedef struct sctp_addr {
uint16_t port __attribute__ ((packed));
uint32_t addr[0] __attribute__ ((packed));
} sctp_addr_t;
#define NSF_UNBND (1<<NS_UNBND )
#define NSF_WACK_BREQ (1<<NS_WACK_BREQ )
#define NSF_WACK_UREQ (1<<NS_WACK_UREQ )
#define NSF_IDLE (1<<NS_IDLE )
#define NSF_WACK_OPTREQ (1<<NS_WACK_OPTREQ)
#define NSF_WACK_RRES (1<<NS_WACK_RRES )
#define NSF_WCON_CREQ (1<<NS_WCON_CREQ )
#define NSF_WRES_CIND (1<<NS_WRES_CIND )
#define NSF_WACK_CRES (1<<NS_WACK_CRES )
#define NSF_DATA_XFER (1<<NS_DATA_XFER )
#define NSF_WCON_RREQ (1<<NS_WCON_RREQ )
#define NSF_WRES_RIND (1<<NS_WRES_RIND )
#define NSF_WACK_DREQ6 (1<<NS_WACK_DREQ6 )
#define NSF_WACK_DREQ7 (1<<NS_WACK_DREQ7 )
#define NSF_WACK_DREQ9 (1<<NS_WACK_DREQ9 )
#define NSF_WACK_DREQ10 (1<<NS_WACK_DREQ10)
#define NSF_WACK_DREQ11 (1<<NS_WACK_DREQ11)
#define N_QOS_SEL_CONN_SCTP 1
typedef struct {
np_ulong n_qos_type;
np_ulong i_streams;
np_ulong o_streams;
} N_qos_sel_conn_sctp_t;
#define N_QOS_SEL_DATA_SCTP 2
typedef struct {
np_ulong n_qos_type;
np_ulong ppi;
np_ulong sid;
np_ulong ssn;
np_ulong tsn;
np_ulong more;
} N_qos_sel_data_sctp_t;
#define N_QOS_SEL_INFO_SCTP 3
typedef struct {
np_ulong n_qos_type;
np_ulong i_streams;
np_ulong o_streams;
np_ulong ppi;
np_ulong sid;
np_ulong max_inits;
np_ulong max_retrans;
np_ulong ck_life;
np_ulong ck_inc;
np_ulong hmac;
np_ulong throttle;
np_ulong max_sack;
np_ulong rto_ini;
np_ulong rto_min;
np_ulong rto_max;
np_ulong rtx_path;
np_ulong hb_itvl;
np_ulong options;
} N_qos_sel_info_sctp_t;
#define N_QOS_SEL_INFO_SCTP2 5
typedef struct {
np_ulong n_qos_type;
np_ulong i_streams;
np_ulong o_streams;
np_ulong ppi;
np_ulong sid;
np_ulong max_inits;
np_ulong max_retrans;
np_ulong ck_life;
np_ulong ck_inc;
np_ulong hmac;
np_ulong throttle;
np_ulong max_sack;
np_ulong rto_ini;
np_ulong rto_min;
np_ulong rto_max;
np_ulong rtx_path;
np_ulong hb_itvl;
np_ulong options;
np_ulong sack_freq;
} N_qos_sel_info_sctp2_t;
#define N_QOS_RANGE_INFO_SCTP 4
typedef struct {
np_ulong n_qos_type;
} N_qos_range_info_sctp_t;
typedef union N_qos_sctp {
np_ulong n_qos_type;
N_qos_sel_conn_sctp_t n_qos_conn;
N_qos_sel_data_sctp_t n_qos_data;
N_qos_sel_info_sctp_t n_qos_info;
N_qos_range_info_sctp_t n_qos_range;
} N_qos_sctp_t;
#ifndef SCTP_OPTION_DROPPING
#define SCTP_OPTION_DROPPING 0x01
#define SCTP_OPTION_BREAK 0x02
#define SCTP_OPTION_DBREAK 0x04
#define SCTP_OPTION_RANDOM 0x08
#endif
#ifndef SCTP_HMAC_NONE
#define SCTP_HMAC_NONE 0
#define SCTP_HMAC_SHA_1 1
#define SCTP_HMAC_MD5 2
#endif
#endif