📄 npi_sctp.h
字号:
/***************************************************************************** @(#) npi_sctp.h,v 0.7.8.1 2001/12/11 13:26:36 brian Exp ----------------------------------------------------------------------------- Copyright (C) 2001 OpenSS7 Corporation <http://www.openss7.com> All Rights Reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. ----------------------------------------------------------------------------- U.S. GOVERNMENT RESTRICTED RIGHTS. If you are licensing this Software on behalf of the U.S. Government ("Government"), the following provisions apply to you. If the Software is supplied by the Department of Defense ("DoD"), it is classified as "Commercial Computer Software" under paragraph 252.227-7014 of the DoD Supplement to the Federal Acquisition Regulations ("DFARS") (or any successor regulations) and the Government is acquiring only the license rights granted herein (the license rights customarily provided to non-Government users). If the Software is supplied to any unit or agency of the Government other than DoD, it is classified as "Restricted Computer Software" and the Government's rights in the Software are defined in paragraph 52.227-19 of the Federal Acquisition Regulations ("FAR") (or any success regulations) or, in the cases of NASA, in paragraph 18.52.227-86 of the NASA Supplement to the FAR (or any successor regulations). ----------------------------------------------------------------------------- Last Modified 2001/12/11 13:26:36 by brian *****************************************************************************/#ifndef _SYS_NPI_SCTP_H#define _SYS_NPI_SCTP_H/* * LiS npi.h is version 1 */#ifndef N_VERSION_2#define N_CURRENT_VERSION 0x02 /* current version of NPI */#define N_VERSION_2 0x02 /* version of npi, December 16, 1991 *//* * Information acknowledgement */typedef struct{ np_ulong PRIM_type; /* always N_INFO_ACK */ np_ulong NSDU_size; /* maximum NSDU size */ np_ulong ENSDU_size; /* maximum ENSDU size */ np_ulong CDATA_size; /* connect data size */ np_ulong DDATA_size; /* discon data size */ np_ulong ADDR_size; /* address size */ np_ulong ADDR_length; /* address length */ np_ulong ADDR_offset; /* address offset */ np_ulong QOS_length; /* QOS values length */ np_ulong QOS_offset; /* QOS values offset */ np_ulong QOS_range_length; /* length of QOS values' range */ np_ulong QOS_range_offset; /* offset of QOS values' range */ np_ulong OPTIONS_flags; /* bit masking for options supported */ np_ulong NIDU_size; /* network i/f data unit size */ long SERV_type; /* service type */ np_ulong CURRENT_state; /* current state */ np_ulong PROVIDER_type; /* type of NS provider */ np_ulong NODU_size; /* optimal NSDU size */ np_ulong PROTOID_length; /* length of bound protocol ids */ np_ulong PROTOID_offset; /* offset of bound protocol ids */ np_ulong NPI_version; /* version # of npi that is supported */} __N_info_ack_t;#define N_info_ack_t __N_info_ack_t/* * Bind acknowledgement */typedef struct{ np_ulong PRIM_type; /* always N_BIND_ACK */ np_ulong ADDR_length; /* address length */ np_ulong ADDR_offset; /* offset of address */ np_ulong CONIND_number; /* connection indications */ np_ulong TOKEN_value; /* value of "token" assigned to stream */ np_ulong PROTOID_length; /* length of bound protocol ids */ np_ulong PROTOID_offset; /* offset of bound protocol ids */} __N_bind_ack_t;#define N_bind_ack_t __N_bind_ack_t#endif /* N_VERSION_2 */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 1typedef struct { ulong n_qos_type; ulong i_streams; ulong o_streams;} N_qos_sel_conn_sctp_t;#define N_QOS_SEL_DATA_SCTP 2typedef struct { ulong n_qos_type; ulong ppi; ulong sid; ulong ssn; ulong tsn; ulong more;} N_qos_sel_data_sctp_t;#define N_QOS_SEL_INFO_SCTP 3typedef struct { ulong n_qos_type; ulong i_streams; ulong o_streams; ulong ppi; ulong sid; ulong max_inits; ulong max_retrans; ulong ck_life; ulong ck_inc; ulong hmac; ulong throttle; ulong max_sack; ulong rto_ini; ulong rto_min; ulong rto_max; ulong rtx_path; ulong hb_itvl; ulong options;} N_qos_sel_info_sctp_t;#define N_QOS_RANGE_INFO_SCTP 4typedef struct { ulong n_qos_type;} N_qos_range_info_sctp_t;typedef union N_qos_sctp { 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 /* stream will drop packets */#define SCTP_OPTION_BREAK 0x02 /* stream will break dest #1 */#define SCTP_OPTION_DBREAK 0x04 /* stream will break dest both ways */#define SCTP_OPTION_RANDOM 0x08 /* stream will drop packets at random */#endif#ifndef SCTP_HMAC_NONE#define SCTP_HMAC_NONE 0#define SCTP_HMAC_SHA_1 1#define SCTP_HMAC_MD5 2#endif#endif _SYS_NPI_SCTP_H
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -