⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sctp.h

📁 No7信令,我需要交换类似的代码, 请店长审核,谢谢了,急着交换,谢谢
💻 H
📖 第 1 页 / 共 2 页
字号:
	queue_t		    *wq;	    /* write queue			*/	cred_t		    cred;	    /* credentials of opener		*/	struct sctp_ifops   *ops;	    /* interface operations		*/	uint		    i_flags;	    /* Interface flags			*/	uint		    i_state;	    /* Interface state			*/	uint		    s_state;	    /* SCTP state			*/	uint		    options;	    /* options flags			*/	size_t		    conind;	    /* max number outstanding conn_inds	*/	atomic_t	    lock;	    /* stream lock			*/		struct sctp	    *bnext;	    /* linkage for bind hash		*/	struct sctp	    **bprev;	    /* linkage for bind hash		*/	struct sctp	    *lnext;	    /* linkage for list hash		*/	struct sctp	    **lprev;	    /* linkage for list hash		*/	struct sctp	    *pnext;	    /* linkage for ptag hash		*/	struct sctp	    **pprev;	    /* linkage for ptag hash		*/	struct sctp	    *vnext;	    /* linkage for vtag hash		*/	struct sctp	    **vprev;	    /* linkage for vtag hash		*/	struct sctp	    *tnext;	    /* linkage for tcb  hash		*/	struct sctp	    **tprev;	    /* linkage for tcb  hash		*/	uint		    hashent;	    /* vtag cache entry			*/	uint		    ip_tos;	    /* IP TOS				*/	uint		    ip_ttl;	    /* IP TTL				*/	uint		    ip_proto;	    /* IP protocol number		*/	uint		    ip_dontroute;   /* IP localroute			*/	uint		    ip_broadcast;   /* IP broadcast			*/	uint		    ip_priority;    /* IP priority			*/	uint16_t	    sport;	    /* loc port (network byte order)		*/	uint16_t	    dport;	    /* rem port (network byte order)		*/	struct sctp_saddr   *saddr;	    /* list of loc addresses			*/	struct sctp_daddr   *daddr;	    /* list of rem addresses			*/	size_t		    sanum;	    /* number of srce addresses in list	*/	size_t		    danum;	    /* number of dest addresses in list	*/		struct sctp_daddr   *taddr;	    /* primary transmit destination address	*/	struct sctp_daddr   *raddr;	    /* retransmission   desintation address	*/	struct sctp_daddr   *caddr;	    /* last received    destination address	*/		struct sctp_strm    *ostrm;	    /* list of outbound streams			*/	struct sctp_strm    *istrm;	    /* list if  inbound streams			*/	size_t		    osnum;	    /* number of outbound stream structures	*/	size_t		    isnum;	    /* number of  inbound stream structures	*/	struct sctp_strm    *ostr;	    /* current output stream		*/	struct sctp_strm    *istr;	    /* current input  stream		*/	uint16_t	    req_ostr;	    /* requested outbound streams	*/	uint16_t	    max_istr;	    /* maximum    inbound streams	*/	ulong		    max_sack;	    /* maximum sack delay		*/	ulong		    throttle;	    /* throttle hb interval		*/	ulong		    ck_life;	    /* valid cookie life		*/	ulong		    ck_inc;	    /* cookie increment			*/	uint		    hmac;	    /* hmac type			*/	uint16_t	    sid;	    /* default sid			*/	uint32_t	    ppi;	    /* default ppi			*/	ulong		    rto_ini;	    /* default rto initial		*/	ulong		    rto_min;	    /* default rto minimum		*/	ulong		    rto_max;	    /* default rto maximum		*/	size_t		    rtx_path;	    /* default path max retrans		*/	ulong		    hb_itvl;	    /* default hb interval		*/	mblk_t		    *retry;	    /* msg to retry on timer expiry	*/		bufq_t		    rcvq;	    /* read queue			*/	bufq_t		    sndq;	    /* write queue			*/	bufq_t		    urgq;	    /* urgent queue			*/	bufq_t		    errq;	    /* error queue			*/	bufq_t		    conq;	    /* connect queue			*/		bufq_t		    oooq;	    /* out of order queue		*/	struct sctp_tcb	    *gaps;	    /* gaps acks for this stream	*/	size_t		    ngaps;	    /* number of gap reports in list	*/	size_t		    nunds;	    /* number of undelivered in list	*/	bufq_t		    dupq;	    /* duplicate queue			*/	struct sctp_tcb	    *dups;	    /* dup  tsns for this stream	*/	size_t		    ndups;	    /* number of dup reports in list	*/	bufq_t		    rtxq;	    /* retransmit queue			*/	size_t		    nrtxs;	    /* number of retransmits in list	*/	bufq_t		    ackq;	    /* pending acknowledgement queue	*/	uint16_t	    n_ostr;	    /* number of outbound streams	*/	uint16_t	    n_istr;	    /* number of  inbound streams	*/	uint32_t	    v_tag;	    /* locl verification tag		*/	uint32_t	    a_rwnd;	    /* locl receive window		*/	uint32_t	    p_tag;	    /* peer verification tag		*/	uint32_t	    p_rwnd;	    /* peer receive window		*/	uint32_t	    t_tsn;	    /* transmit TSN			*/	uint32_t	    t_ack;	    /* transmit TSN cum acked		*/	uint32_t	    r_ack;	    /* received TSN cum acked		*/		uint		    sackf;	    /* sack flags for association	*/	uint		    flags;	    /* flags				*/	uint		    pmtu;	    /* path MTU for association		*/		size_t		    in_flight;	    /* number of bytes in flight	*/	size_t		    retransmits;    /* number of retransmits this assoc	*/	size_t		    max_retrans;    /* max association retransmits	*/	size_t		    max_inits;	    /* max init retransmits		*/		tid_t		    timer_init;	    /* init timer			*/	tid_t		    timer_cookie;   /* cookie timer			*/	tid_t		    timer_shutdown; /* shutdown timer			*/	tid_t		    timer_sack;	    /* sack timer			*/};/* *  Some flags. */#define SCTP_FLAG_REC_CONF_OPT		0x00000001#define SCTP_FLAG_EX_DATA_OPT		0x00000002#define SCTP_FLAG_DEFAULT_RC_SEL	0x00000004#define SCTP_FLAG_NEED_CLEANUP		0x00000008/* *  Some sack flags. */#define SCTP_SACKF_NEW          0x01    /* SACK for new    data RFC 2960 6.2	*/#define SCTP_SACKF_WUP		0x02	/* SACK for wakeup      RFC 2960 6.2	*/#define SCTP_SACKF_GAP          0x04    /* SACK for lost   data RFC 2960 7.2.4	*/#define SCTP_SACKF_DUP          0x08    /* SACK for duplic data RFC 2960 6.2	*/#define SCTP_SACKF_URG          0x10    /* SACK for urgent data RFC 2960 ???	*/#define SCTP_SACKF_WND          0x20    /* SACK for new  a_rwnd RFC 2960 6.2	*/#define SCTP_SACKF_TIM          0x40    /* SACK for timeout     RFC 2960 6.2	*/#define SCTP_SACKF_NOD		0x80	/* SACK no delay        RFC 2960 9.2	*/#define SCTP_SACKF_NOW		0xfe	/* SACK forced mask			*//* *  Some options flags. */#define SCTP_OPTION_DROPPING	0x01	/* stream will drop packets		    */#define SCTP_OPTION_BREAK	0x02	/* stream will break dest #1 and 2 one way  */#define SCTP_OPTION_DBREAK	0x04	/* stream will break dest both ways	    */#define SCTP_OPTION_RANDOM	0x08	/* stream will drop packets at random	    */#define SCTP_OPTION_NAGLE	0x10	/* stream will nagle bundling normal data   */#define SCTP_OPTION_CORK	0x20	/* stream will cork bundling normal data    */typedef struct sctp       sctp_t;typedef struct sctp_strm  sctp_strm_t;typedef struct sctp_saddr sctp_saddr_t;typedef struct sctp_daddr sctp_daddr_t;#define SCTP_PRIV(__q) ((sctp_t *)(__q)->q_ptr)/* *  ========================================================================= * *  SCTP STATES * *  ========================================================================= */#define SCTP_CLOSED		 0 /* CLOSED            */#define SCTP_LISTEN		 1 /* LISTEN            */#define SCTP_COOKIE_WAIT	 2 /* COOKIE-WAIT       */#define SCTP_COOKIE_ECHOED	 3 /* COOKIE-ECHOED     */#define SCTP_ESTABLISHED	 4 /* ESTABLISHED       */#define SCTP_SHUTDOWN_PENDING	 5 /* SHUTDOWN-PENDING  */#define SCTP_SHUTDOWN_SENT	 6 /* SHUTDOWN-SENT     */#define SCTP_SHUTDOWN_RECEIVED	 7 /* SHUTDOWN-RECEIVED */#define SCTP_SHUTDOWN_RECVWAIT	 8 /* SHUTDOWN-RECEIVED */#define SCTP_SHUTDOWN_ACK_SENT	 9 /* SHUTDOWN-ACK-SENT */#define SCTP_UNREACHABLE	10 /* (not used)        */#define SCTP_MAX_STATES		 9#define SCTPF_CLOSED             (1<<SCTP_CLOSED		)#define SCTPF_LISTEN             (1<<SCTP_LISTEN		)#define SCTPF_COOKIE_WAIT        (1<<SCTP_COOKIE_WAIT		)#define SCTPF_COOKIE_ECHOED      (1<<SCTP_COOKIE_ECHOED		)#define SCTPF_ESTABLISHED        (1<<SCTP_ESTABLISHED		)#define SCTPF_SHUTDOWN_PENDING   (1<<SCTP_SHUTDOWN_PENDING	)#define SCTPF_SHUTDOWN_SENT      (1<<SCTP_SHUTDOWN_SENT		)#define SCTPF_SHUTDOWN_RECEIVED  (1<<SCTP_SHUTDOWN_RECEIVED	)#define SCTPF_SHUTDOWN_RECVWAIT  (1<<SCTP_SHUTDOWN_RECVWAIT	)#define SCTPF_SHUTDOWN_ACK_SENT  (1<<SCTP_SHUTDOWN_ACK_SENT	)#define SCTPF_OPENING		 (SCTPF_COOKIE_WAIT| \				  SCTPF_COOKIE_ECHOED)#define SCTPF_CLOSING		 (SCTPF_SHUTDOWN_SENT| \				  SCTPF_SHUTDOWN_ACK_SENT)#define SCTPF_CONNECTED		 (SCTPF_ESTABLISHED| \				  SCTPF_SHUTDOWN_PENDING| \				  SCTPF_SHUTDOWN_RECEIVED| \				  SCTPF_SHUTDOWN_RECVWAIT)#define	SCTPF_DISCONNECTED	 (SCTPF_CLOSED| \				  SCTPF_LISTEN| \				  SCTPF_UNREACHABLE)#define SCTPF_SENDING		 (SCTPF_COOKIE_ECHOED| \				  SCTPF_ESTABLISHED| \				  SCTPF_SHUTDOWN_PENDING| \				  SCTPF_SHUTDOWN_RECEIVED| \				  SCTPF_SHUTDOWN_RECVWAIT)#define SCTPF_RECEIVING		 (SCTPF_COOKIE_ECHOED| \				  SCTPF_ESTABLISHED| \				  SCTPF_SHUTDOWN_PENDING| \				  SCTPF_SHUTDOWN_SENT)#define SCTPF_NEEDABORT		 (SCTPF_COOKIE_ECHOED| \				  SCTPF_ESTABLISHED| \				  SCTPF_SHUTDOWN_PENDING| \				  SCTPF_SHUTDOWN_RECEIVED| \				  SCTPF_SHUTDOWN_RECVWAIT| \				  SCTPF_SHUTDOWN_SENT)#define SCTPF_HAVEUSER		 (SCTPF_COOKIE_WAIT| \				  SCTPF_COOKIE_ECHOED| \				  SCTPF_ESTABLISHED| \				  SCTPF_SHUTDOWN_PENDING| \				  SCTPF_SHUTDOWN_RECEIVED| \				  SCTPF_SHUTDOWN_SENT)#endif  __SCTP_H__

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -