diff options
Diffstat (limited to 'include/uapi/linux/sctp.h')
| -rw-r--r-- | include/uapi/linux/sctp.h | 31 | 
1 files changed, 30 insertions, 1 deletions
diff --git a/include/uapi/linux/sctp.h b/include/uapi/linux/sctp.h index 6d5b164af55c..28ad40d9acba 100644 --- a/include/uapi/linux/sctp.h +++ b/include/uapi/linux/sctp.h @@ -105,6 +105,7 @@ typedef __s32 sctp_assoc_t;  #define SCTP_DEFAULT_SNDINFO	34  #define SCTP_AUTH_DEACTIVATE_KEY	35  #define SCTP_REUSE_PORT		36 +#define SCTP_PEER_ADDR_THLDS_V2	37  /* Internal Socket Options. Some of the sctp library functions are   * implemented using these socket options. @@ -137,6 +138,8 @@ typedef __s32 sctp_assoc_t;  #define SCTP_ASCONF_SUPPORTED	128  #define SCTP_AUTH_SUPPORTED	129  #define SCTP_ECN_SUPPORTED	130 +#define SCTP_EXPOSE_POTENTIALLY_FAILED_STATE	131 +#define SCTP_EXPOSE_PF_STATE	SCTP_EXPOSE_POTENTIALLY_FAILED_STATE  /* PR-SCTP policies */  #define SCTP_PR_SCTP_NONE	0x0000 @@ -410,6 +413,8 @@ enum sctp_spc_state {  	SCTP_ADDR_ADDED,  	SCTP_ADDR_MADE_PRIM,  	SCTP_ADDR_CONFIRMED, +	SCTP_ADDR_POTENTIALLY_FAILED, +#define SCTP_ADDR_PF	SCTP_ADDR_POTENTIALLY_FAILED  }; @@ -449,6 +454,16 @@ struct sctp_send_failed {  	__u8 ssf_data[0];  }; +struct sctp_send_failed_event { +	__u16 ssf_type; +	__u16 ssf_flags; +	__u32 ssf_length; +	__u32 ssf_error; +	struct sctp_sndinfo ssfe_info; +	sctp_assoc_t ssf_assoc_id; +	__u8 ssf_data[0]; +}; +  /*   *   ssf_flags: 16 bits (unsigned integer)   * @@ -605,6 +620,7 @@ struct sctp_event_subscribe {  	__u8 sctp_stream_reset_event;  	__u8 sctp_assoc_reset_event;  	__u8 sctp_stream_change_event; +	__u8 sctp_send_failure_event_event;  };  /* @@ -632,6 +648,7 @@ union sctp_notification {  	struct sctp_stream_reset_event sn_strreset_event;  	struct sctp_assoc_reset_event sn_assocreset_event;  	struct sctp_stream_change_event sn_strchange_event; +	struct sctp_send_failed_event sn_send_failed_event;  };  /* Section 5.3.1 @@ -667,7 +684,9 @@ enum sctp_sn_type {  #define SCTP_ASSOC_RESET_EVENT		SCTP_ASSOC_RESET_EVENT  	SCTP_STREAM_CHANGE_EVENT,  #define SCTP_STREAM_CHANGE_EVENT	SCTP_STREAM_CHANGE_EVENT -	SCTP_SN_TYPE_MAX	= SCTP_STREAM_CHANGE_EVENT, +	SCTP_SEND_FAILED_EVENT, +#define SCTP_SEND_FAILED_EVENT		SCTP_SEND_FAILED_EVENT +	SCTP_SN_TYPE_MAX	= SCTP_SEND_FAILED_EVENT,  #define SCTP_SN_TYPE_MAX		SCTP_SN_TYPE_MAX  }; @@ -919,6 +938,7 @@ struct sctp_paddrinfo {  enum sctp_spinfo_state {  	SCTP_INACTIVE,  	SCTP_PF, +#define	SCTP_POTENTIALLY_FAILED		SCTP_PF  	SCTP_ACTIVE,  	SCTP_UNCONFIRMED,  	SCTP_UNKNOWN = 0xffff  /* Value used for transport state unknown */ @@ -1068,6 +1088,15 @@ struct sctp_paddrthlds {  	__u16 spt_pathpfthld;  }; +/* Use a new structure with spt_pathcpthld for back compatibility */ +struct sctp_paddrthlds_v2 { +	sctp_assoc_t spt_assoc_id; +	struct sockaddr_storage spt_address; +	__u16 spt_pathmaxrxt; +	__u16 spt_pathpfthld; +	__u16 spt_pathcpthld; +}; +  /*   * Socket Option for Getting the Association/Stream-Specific PR-SCTP Status   */  |