aboutsummaryrefslogtreecommitdiffstats
path: root/include/net/sctp/user.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/net/sctp/user.h')
-rw-r--r--include/net/sctp/user.h38
1 files changed, 35 insertions, 3 deletions
diff --git a/include/net/sctp/user.h b/include/net/sctp/user.h
index 2b2769c5ca9f..32fd51274037 100644
--- a/include/net/sctp/user.h
+++ b/include/net/sctp/user.h
@@ -78,6 +78,7 @@ typedef __s32 sctp_assoc_t;
78#define SCTP_GET_PEER_ADDR_INFO 15 78#define SCTP_GET_PEER_ADDR_INFO 15
79#define SCTP_DELAYED_ACK_TIME 16 79#define SCTP_DELAYED_ACK_TIME 16
80#define SCTP_DELAYED_ACK SCTP_DELAYED_ACK_TIME 80#define SCTP_DELAYED_ACK SCTP_DELAYED_ACK_TIME
81#define SCTP_DELAYED_SACK SCTP_DELAYED_ACK_TIME
81#define SCTP_CONTEXT 17 82#define SCTP_CONTEXT 17
82#define SCTP_FRAGMENT_INTERLEAVE 18 83#define SCTP_FRAGMENT_INTERLEAVE 18
83#define SCTP_PARTIAL_DELIVERY_POINT 19 /* Set/Get partial delivery point */ 84#define SCTP_PARTIAL_DELIVERY_POINT 19 /* Set/Get partial delivery point */
@@ -90,6 +91,7 @@ typedef __s32 sctp_assoc_t;
90#define SCTP_PEER_AUTH_CHUNKS 26 /* Read only */ 91#define SCTP_PEER_AUTH_CHUNKS 26 /* Read only */
91#define SCTP_LOCAL_AUTH_CHUNKS 27 /* Read only */ 92#define SCTP_LOCAL_AUTH_CHUNKS 27 /* Read only */
92#define SCTP_GET_ASSOC_NUMBER 28 /* Read only */ 93#define SCTP_GET_ASSOC_NUMBER 28 /* Read only */
94#define SCTP_GET_ASSOC_ID_LIST 29 /* Read only */
93 95
94/* Internal Socket Options. Some of the sctp library functions are 96/* Internal Socket Options. Some of the sctp library functions are
95 * implemented using these socket options. 97 * implemented using these socket options.
@@ -99,8 +101,8 @@ typedef __s32 sctp_assoc_t;
99#define SCTP_SOCKOPT_PEELOFF 102 /* peel off association. */ 101#define SCTP_SOCKOPT_PEELOFF 102 /* peel off association. */
100/* Options 104-106 are deprecated and removed. Do not use this space */ 102/* Options 104-106 are deprecated and removed. Do not use this space */
101#define SCTP_SOCKOPT_CONNECTX_OLD 107 /* CONNECTX old requests. */ 103#define SCTP_SOCKOPT_CONNECTX_OLD 107 /* CONNECTX old requests. */
102#define SCTP_GET_PEER_ADDRS 108 /* Get all peer addresss. */ 104#define SCTP_GET_PEER_ADDRS 108 /* Get all peer address. */
103#define SCTP_GET_LOCAL_ADDRS 109 /* Get all local addresss. */ 105#define SCTP_GET_LOCAL_ADDRS 109 /* Get all local address. */
104#define SCTP_SOCKOPT_CONNECTX 110 /* CONNECTX requests. */ 106#define SCTP_SOCKOPT_CONNECTX 110 /* CONNECTX requests. */
105#define SCTP_SOCKOPT_CONNECTX3 111 /* CONNECTX requests (updated) */ 107#define SCTP_SOCKOPT_CONNECTX3 111 /* CONNECTX requests (updated) */
106 108
@@ -352,6 +354,20 @@ struct sctp_authkey_event {
352 354
353enum { SCTP_AUTH_NEWKEY = 0, }; 355enum { SCTP_AUTH_NEWKEY = 0, };
354 356
357/*
358 * 6.1.9. SCTP_SENDER_DRY_EVENT
359 *
360 * When the SCTP stack has no more user data to send or retransmit, this
361 * notification is given to the user. Also, at the time when a user app
362 * subscribes to this event, if there is no data to be sent or
363 * retransmit, the stack will immediately send up this notification.
364 */
365struct sctp_sender_dry_event {
366 __u16 sender_dry_type;
367 __u16 sender_dry_flags;
368 __u32 sender_dry_length;
369 sctp_assoc_t sender_dry_assoc_id;
370};
355 371
356/* 372/*
357 * Described in Section 7.3 373 * Described in Section 7.3
@@ -367,6 +383,7 @@ struct sctp_event_subscribe {
367 __u8 sctp_partial_delivery_event; 383 __u8 sctp_partial_delivery_event;
368 __u8 sctp_adaptation_layer_event; 384 __u8 sctp_adaptation_layer_event;
369 __u8 sctp_authentication_event; 385 __u8 sctp_authentication_event;
386 __u8 sctp_sender_dry_event;
370}; 387};
371 388
372/* 389/*
@@ -390,6 +407,7 @@ union sctp_notification {
390 struct sctp_adaptation_event sn_adaptation_event; 407 struct sctp_adaptation_event sn_adaptation_event;
391 struct sctp_pdapi_event sn_pdapi_event; 408 struct sctp_pdapi_event sn_pdapi_event;
392 struct sctp_authkey_event sn_authkey_event; 409 struct sctp_authkey_event sn_authkey_event;
410 struct sctp_sender_dry_event sn_sender_dry_event;
393}; 411};
394 412
395/* Section 5.3.1 413/* Section 5.3.1
@@ -406,7 +424,9 @@ enum sctp_sn_type {
406 SCTP_SHUTDOWN_EVENT, 424 SCTP_SHUTDOWN_EVENT,
407 SCTP_PARTIAL_DELIVERY_EVENT, 425 SCTP_PARTIAL_DELIVERY_EVENT,
408 SCTP_ADAPTATION_INDICATION, 426 SCTP_ADAPTATION_INDICATION,
409 SCTP_AUTHENTICATION_INDICATION, 427 SCTP_AUTHENTICATION_EVENT,
428#define SCTP_AUTHENTICATION_INDICATION SCTP_AUTHENTICATION_EVENT
429 SCTP_SENDER_DRY_EVENT,
410}; 430};
411 431
412/* Notification error codes used to fill up the error fields in some 432/* Notification error codes used to fill up the error fields in some
@@ -668,6 +688,18 @@ struct sctp_authchunks {
668}; 688};
669 689
670/* 690/*
691 * 8.2.6. Get the Current Identifiers of Associations
692 * (SCTP_GET_ASSOC_ID_LIST)
693 *
694 * This option gets the current list of SCTP association identifiers of
695 * the SCTP associations handled by a one-to-many style socket.
696 */
697struct sctp_assoc_ids {
698 __u32 gaids_number_of_ids;
699 sctp_assoc_t gaids_assoc_id[];
700};
701
702/*
671 * 8.3, 8.5 get all peer/local addresses in an association. 703 * 8.3, 8.5 get all peer/local addresses in an association.
672 * This parameter struct is used by SCTP_GET_PEER_ADDRS and 704 * This parameter struct is used by SCTP_GET_PEER_ADDRS and
673 * SCTP_GET_LOCAL_ADDRS socket options used internally to implement 705 * SCTP_GET_LOCAL_ADDRS socket options used internally to implement