summaryrefslogtreecommitdiffstats
path: root/sys/netinet/sctp_uio.h
diff options
context:
space:
mode:
authortuexen <tuexen@FreeBSD.org>2012-05-06 11:02:53 +0000
committertuexen <tuexen@FreeBSD.org>2012-05-06 11:02:53 +0000
commitfd59ebc4f06a04b79a039c0d4b908b07693f886e (patch)
treebc52173b698ff9343551626a8d234f9b3b060c74 /sys/netinet/sctp_uio.h
parentee6fb09c1c06daaa87873f4486dc43f51dcce454 (diff)
downloadFreeBSD-src-fd59ebc4f06a04b79a039c0d4b908b07693f886e.zip
FreeBSD-src-fd59ebc4f06a04b79a039c0d4b908b07693f886e.tar.gz
Add support for SCTP_SEND_FAILED_EVENT as required by RFC 6458.
MFC after: 3 days
Diffstat (limited to 'sys/netinet/sctp_uio.h')
-rw-r--r--sys/netinet/sctp_uio.h43
1 files changed, 27 insertions, 16 deletions
diff --git a/sys/netinet/sctp_uio.h b/sys/netinet/sctp_uio.h
index 1f1de2f..630b31e 100644
--- a/sys/netinet/sctp_uio.h
+++ b/sys/netinet/sctp_uio.h
@@ -343,7 +343,7 @@ struct sctp_remote_error {
uint8_t sre_data[4];
};
-/* data send failure event */
+/* data send failure event (deprecated) */
struct sctp_send_failed {
uint16_t ssf_type;
uint16_t ssf_flags;
@@ -354,6 +354,17 @@ struct sctp_send_failed {
uint8_t ssf_data[];
};
+/* data send failure event (not deprecated) */
+struct sctp_send_failed_event {
+ uint16_t ssfe_type;
+ uint16_t ssfe_flags;
+ uint32_t ssfe_length;
+ uint32_t ssfe_error;
+ struct sctp_sndinfo ssfe_info;
+ sctp_assoc_t ssfe_assoc_id;
+ uint8_t ssfe_data[];
+};
+
/* flag that indicates state of data */
#define SCTP_DATA_UNSENT 0x0001 /* inqueue never on wire */
#define SCTP_DATA_SENT 0x0002 /* on wire at failure */
@@ -513,22 +524,22 @@ union sctp_notification {
};
/* notification types */
-#define SCTP_ASSOC_CHANGE 0x0001
-#define SCTP_PEER_ADDR_CHANGE 0x0002
-#define SCTP_REMOTE_ERROR 0x0003
-#define SCTP_SEND_FAILED 0x0004
-#define SCTP_SHUTDOWN_EVENT 0x0005
-#define SCTP_ADAPTATION_INDICATION 0x0006
+#define SCTP_ASSOC_CHANGE 0x0001
+#define SCTP_PEER_ADDR_CHANGE 0x0002
+#define SCTP_REMOTE_ERROR 0x0003
+#define SCTP_SEND_FAILED 0x0004
+#define SCTP_SHUTDOWN_EVENT 0x0005
+#define SCTP_ADAPTATION_INDICATION 0x0006
/* same as above */
-#define SCTP_ADAPTION_INDICATION 0x0006
-#define SCTP_PARTIAL_DELIVERY_EVENT 0x0007
-#define SCTP_AUTHENTICATION_EVENT 0x0008
-#define SCTP_STREAM_RESET_EVENT 0x0009
-#define SCTP_SENDER_DRY_EVENT 0x000a
-#define SCTP_NOTIFICATIONS_STOPPED_EVENT 0x000b /* we don't send this */
-#define SCTP_ASSOC_RESET_EVENT 0x000c
-#define SCTP_STREAM_CHANGE_EVENT 0x000d
-
+#define SCTP_ADAPTION_INDICATION 0x0006
+#define SCTP_PARTIAL_DELIVERY_EVENT 0x0007
+#define SCTP_AUTHENTICATION_EVENT 0x0008
+#define SCTP_STREAM_RESET_EVENT 0x0009
+#define SCTP_SENDER_DRY_EVENT 0x000a
+#define SCTP_NOTIFICATIONS_STOPPED_EVENT 0x000b /* we don't send this */
+#define SCTP_ASSOC_RESET_EVENT 0x000c
+#define SCTP_STREAM_CHANGE_EVENT 0x000d
+#define SCTP_SEND_FAILED_EVENT 0x000e
/*
* socket option structs
*/
OpenPOWER on IntegriCloud