sctp.h revision d7db594b8d1dab36b711bd887a9dd21675c87243
1/****************************************************************************
2 ****************************************************************************
3 ***
4 ***   This header was automatically generated from a Linux kernel header
5 ***   of the same name, to make information necessary for userspace to
6 ***   call into the kernel available to libc.  It contains only constants,
7 ***   structures, and macros generated from the original header, and thus,
8 ***   contains no copyrightable information.
9 ***
10 ***   To edit the content of this header, modify the corresponding
11 ***   source file (e.g. under external/kernel-headers/original/) then
12 ***   run bionic/libc/kernel/tools/update_all.py
13 ***
14 ***   Any manual change here will be lost the next time this script will
15 ***   be run. You've been warned!
16 ***
17 ****************************************************************************
18 ****************************************************************************/
19#ifndef _UAPI_SCTP_H
20#define _UAPI_SCTP_H
21#include <linux/types.h>
22#include <linux/socket.h>
23/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
24typedef __s32 sctp_assoc_t;
25#define SCTP_RTOINFO 0
26#define SCTP_ASSOCINFO 1
27#define SCTP_INITMSG 2
28/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
29#define SCTP_NODELAY 3
30#define SCTP_AUTOCLOSE 4
31#define SCTP_SET_PEER_PRIMARY_ADDR 5
32#define SCTP_PRIMARY_ADDR 6
33/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
34#define SCTP_ADAPTATION_LAYER 7
35#define SCTP_DISABLE_FRAGMENTS 8
36#define SCTP_PEER_ADDR_PARAMS 9
37#define SCTP_DEFAULT_SEND_PARAM 10
38/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
39#define SCTP_EVENTS 11
40#define SCTP_I_WANT_MAPPED_V4_ADDR 12
41#define SCTP_MAXSEG 13
42#define SCTP_STATUS 14
43/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
44#define SCTP_GET_PEER_ADDR_INFO 15
45#define SCTP_DELAYED_ACK_TIME 16
46#define SCTP_DELAYED_ACK SCTP_DELAYED_ACK_TIME
47#define SCTP_DELAYED_SACK SCTP_DELAYED_ACK_TIME
48/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
49#define SCTP_CONTEXT 17
50#define SCTP_FRAGMENT_INTERLEAVE 18
51#define SCTP_PARTIAL_DELIVERY_POINT 19
52#define SCTP_MAX_BURST 20
53/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
54#define SCTP_AUTH_CHUNK 21
55#define SCTP_HMAC_IDENT 22
56#define SCTP_AUTH_KEY 23
57#define SCTP_AUTH_ACTIVE_KEY 24
58/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
59#define SCTP_AUTH_DELETE_KEY 25
60#define SCTP_PEER_AUTH_CHUNKS 26
61#define SCTP_LOCAL_AUTH_CHUNKS 27
62#define SCTP_GET_ASSOC_NUMBER 28
63/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
64#define SCTP_GET_ASSOC_ID_LIST 29
65#define SCTP_AUTO_ASCONF 30
66#define SCTP_PEER_ADDR_THLDS 31
67#define SCTP_RECVRCVINFO 32
68/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
69#define SCTP_RECVNXTINFO 33
70#define SCTP_DEFAULT_SNDINFO 34
71#define SCTP_SOCKOPT_BINDX_ADD 100
72#define SCTP_SOCKOPT_BINDX_REM 101
73/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
74#define SCTP_SOCKOPT_PEELOFF 102
75#define SCTP_SOCKOPT_CONNECTX_OLD 107
76#define SCTP_GET_PEER_ADDRS 108
77#define SCTP_GET_LOCAL_ADDRS 109
78/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
79#define SCTP_SOCKOPT_CONNECTX 110
80#define SCTP_SOCKOPT_CONNECTX3 111
81#define SCTP_GET_ASSOC_STATS 112
82enum sctp_msg_flags {
83/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
84  MSG_NOTIFICATION = 0x8000,
85#define MSG_NOTIFICATION MSG_NOTIFICATION
86};
87struct sctp_initmsg {
88/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
89  __u16 sinit_num_ostreams;
90  __u16 sinit_max_instreams;
91  __u16 sinit_max_attempts;
92  __u16 sinit_max_init_timeo;
93/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
94};
95struct sctp_sndrcvinfo {
96  __u16 sinfo_stream;
97  __u16 sinfo_ssn;
98/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
99  __u16 sinfo_flags;
100  __u32 sinfo_ppid;
101  __u32 sinfo_context;
102  __u32 sinfo_timetolive;
103/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
104  __u32 sinfo_tsn;
105  __u32 sinfo_cumtsn;
106  sctp_assoc_t sinfo_assoc_id;
107};
108/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
109struct sctp_sndinfo {
110  __u16 snd_sid;
111  __u16 snd_flags;
112  __u32 snd_ppid;
113/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
114  __u32 snd_context;
115  sctp_assoc_t snd_assoc_id;
116};
117struct sctp_rcvinfo {
118/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
119  __u16 rcv_sid;
120  __u16 rcv_ssn;
121  __u16 rcv_flags;
122  __u32 rcv_ppid;
123/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
124  __u32 rcv_tsn;
125  __u32 rcv_cumtsn;
126  __u32 rcv_context;
127  sctp_assoc_t rcv_assoc_id;
128/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
129};
130struct sctp_nxtinfo {
131  __u16 nxt_sid;
132  __u16 nxt_flags;
133/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
134  __u32 nxt_ppid;
135  __u32 nxt_length;
136  sctp_assoc_t nxt_assoc_id;
137};
138/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
139enum sctp_sinfo_flags {
140  SCTP_UNORDERED = (1 << 0),
141  SCTP_ADDR_OVER = (1 << 1),
142  SCTP_ABORT = (1 << 2),
143/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
144  SCTP_SACK_IMMEDIATELY = (1 << 3),
145  SCTP_NOTIFICATION = MSG_NOTIFICATION,
146  SCTP_EOF = MSG_FIN,
147};
148/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
149typedef union {
150  __u8 raw;
151  struct sctp_initmsg init;
152  struct sctp_sndrcvinfo sndrcv;
153/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
154} sctp_cmsg_data_t;
155typedef enum sctp_cmsg_type {
156  SCTP_INIT,
157#define SCTP_INIT SCTP_INIT
158/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
159  SCTP_SNDRCV,
160#define SCTP_SNDRCV SCTP_SNDRCV
161  SCTP_SNDINFO,
162#define SCTP_SNDINFO SCTP_SNDINFO
163/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
164  SCTP_RCVINFO,
165#define SCTP_RCVINFO SCTP_RCVINFO
166  SCTP_NXTINFO,
167#define SCTP_NXTINFO SCTP_NXTINFO
168/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
169} sctp_cmsg_t;
170struct sctp_assoc_change {
171  __u16 sac_type;
172  __u16 sac_flags;
173/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
174  __u32 sac_length;
175  __u16 sac_state;
176  __u16 sac_error;
177  __u16 sac_outbound_streams;
178/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
179  __u16 sac_inbound_streams;
180  sctp_assoc_t sac_assoc_id;
181  __u8 sac_info[0];
182};
183/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
184enum sctp_sac_state {
185  SCTP_COMM_UP,
186  SCTP_COMM_LOST,
187  SCTP_RESTART,
188/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
189  SCTP_SHUTDOWN_COMP,
190  SCTP_CANT_STR_ASSOC,
191};
192struct sctp_paddr_change {
193/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
194  __u16 spc_type;
195  __u16 spc_flags;
196  __u32 spc_length;
197  struct sockaddr_storage spc_aaddr;
198/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
199  int spc_state;
200  int spc_error;
201  sctp_assoc_t spc_assoc_id;
202} __attribute__((packed, aligned(4)));
203/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
204enum sctp_spc_state {
205  SCTP_ADDR_AVAILABLE,
206  SCTP_ADDR_UNREACHABLE,
207  SCTP_ADDR_REMOVED,
208/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
209  SCTP_ADDR_ADDED,
210  SCTP_ADDR_MADE_PRIM,
211  SCTP_ADDR_CONFIRMED,
212};
213/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
214struct sctp_remote_error {
215  __u16 sre_type;
216  __u16 sre_flags;
217  __u32 sre_length;
218/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
219  __u16 sre_error;
220  sctp_assoc_t sre_assoc_id;
221  __u8 sre_data[0];
222};
223/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
224struct sctp_send_failed {
225  __u16 ssf_type;
226  __u16 ssf_flags;
227  __u32 ssf_length;
228/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
229  __u32 ssf_error;
230  struct sctp_sndrcvinfo ssf_info;
231  sctp_assoc_t ssf_assoc_id;
232  __u8 ssf_data[0];
233/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
234};
235enum sctp_ssf_flags {
236  SCTP_DATA_UNSENT,
237  SCTP_DATA_SENT,
238/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
239};
240struct sctp_shutdown_event {
241  __u16 sse_type;
242  __u16 sse_flags;
243/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
244  __u32 sse_length;
245  sctp_assoc_t sse_assoc_id;
246};
247struct sctp_adaptation_event {
248/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
249  __u16 sai_type;
250  __u16 sai_flags;
251  __u32 sai_length;
252  __u32 sai_adaptation_ind;
253/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
254  sctp_assoc_t sai_assoc_id;
255};
256struct sctp_pdapi_event {
257  __u16 pdapi_type;
258/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
259  __u16 pdapi_flags;
260  __u32 pdapi_length;
261  __u32 pdapi_indication;
262  sctp_assoc_t pdapi_assoc_id;
263/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
264};
265enum {
266  SCTP_PARTIAL_DELIVERY_ABORTED = 0,
267};
268/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
269struct sctp_authkey_event {
270  __u16 auth_type;
271  __u16 auth_flags;
272  __u32 auth_length;
273/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
274  __u16 auth_keynumber;
275  __u16 auth_altkeynumber;
276  __u32 auth_indication;
277  sctp_assoc_t auth_assoc_id;
278/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
279};
280enum {
281  SCTP_AUTH_NEWKEY = 0,
282};
283/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
284struct sctp_sender_dry_event {
285  __u16 sender_dry_type;
286  __u16 sender_dry_flags;
287  __u32 sender_dry_length;
288/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
289  sctp_assoc_t sender_dry_assoc_id;
290};
291struct sctp_event_subscribe {
292  __u8 sctp_data_io_event;
293/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
294  __u8 sctp_association_event;
295  __u8 sctp_address_event;
296  __u8 sctp_send_failure_event;
297  __u8 sctp_peer_error_event;
298/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
299  __u8 sctp_shutdown_event;
300  __u8 sctp_partial_delivery_event;
301  __u8 sctp_adaptation_layer_event;
302  __u8 sctp_authentication_event;
303/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
304  __u8 sctp_sender_dry_event;
305};
306union sctp_notification {
307  struct {
308/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
309    __u16 sn_type;
310    __u16 sn_flags;
311    __u32 sn_length;
312  } sn_header;
313/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
314  struct sctp_assoc_change sn_assoc_change;
315  struct sctp_paddr_change sn_paddr_change;
316  struct sctp_remote_error sn_remote_error;
317  struct sctp_send_failed sn_send_failed;
318/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
319  struct sctp_shutdown_event sn_shutdown_event;
320  struct sctp_adaptation_event sn_adaptation_event;
321  struct sctp_pdapi_event sn_pdapi_event;
322  struct sctp_authkey_event sn_authkey_event;
323/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
324  struct sctp_sender_dry_event sn_sender_dry_event;
325};
326enum sctp_sn_type {
327  SCTP_SN_TYPE_BASE = (1 << 15),
328/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
329  SCTP_ASSOC_CHANGE,
330#define SCTP_ASSOC_CHANGE SCTP_ASSOC_CHANGE
331  SCTP_PEER_ADDR_CHANGE,
332#define SCTP_PEER_ADDR_CHANGE SCTP_PEER_ADDR_CHANGE
333/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
334  SCTP_SEND_FAILED,
335#define SCTP_SEND_FAILED SCTP_SEND_FAILED
336  SCTP_REMOTE_ERROR,
337#define SCTP_REMOTE_ERROR SCTP_REMOTE_ERROR
338/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
339  SCTP_SHUTDOWN_EVENT,
340#define SCTP_SHUTDOWN_EVENT SCTP_SHUTDOWN_EVENT
341  SCTP_PARTIAL_DELIVERY_EVENT,
342#define SCTP_PARTIAL_DELIVERY_EVENT SCTP_PARTIAL_DELIVERY_EVENT
343/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
344  SCTP_ADAPTATION_INDICATION,
345#define SCTP_ADAPTATION_INDICATION SCTP_ADAPTATION_INDICATION
346  SCTP_AUTHENTICATION_EVENT,
347#define SCTP_AUTHENTICATION_INDICATION SCTP_AUTHENTICATION_EVENT
348/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
349  SCTP_SENDER_DRY_EVENT,
350#define SCTP_SENDER_DRY_EVENT SCTP_SENDER_DRY_EVENT
351};
352typedef enum sctp_sn_error {
353/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
354  SCTP_FAILED_THRESHOLD,
355  SCTP_RECEIVED_SACK,
356  SCTP_HEARTBEAT_SUCCESS,
357  SCTP_RESPONSE_TO_USER_REQ,
358/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
359  SCTP_INTERNAL_ERROR,
360  SCTP_SHUTDOWN_GUARD_EXPIRES,
361  SCTP_PEER_FAULTY,
362} sctp_sn_error_t;
363/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
364struct sctp_rtoinfo {
365  sctp_assoc_t srto_assoc_id;
366  __u32 srto_initial;
367  __u32 srto_max;
368/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
369  __u32 srto_min;
370};
371struct sctp_assocparams {
372  sctp_assoc_t sasoc_assoc_id;
373/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
374  __u16 sasoc_asocmaxrxt;
375  __u16 sasoc_number_peer_destinations;
376  __u32 sasoc_peer_rwnd;
377  __u32 sasoc_local_rwnd;
378/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
379  __u32 sasoc_cookie_life;
380};
381struct sctp_setpeerprim {
382  sctp_assoc_t sspp_assoc_id;
383/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
384  struct sockaddr_storage sspp_addr;
385} __attribute__((packed, aligned(4)));
386struct sctp_prim {
387  sctp_assoc_t ssp_assoc_id;
388/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
389  struct sockaddr_storage ssp_addr;
390} __attribute__((packed, aligned(4)));
391#define sctp_setprim sctp_prim
392struct sctp_setadaptation {
393/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
394  __u32 ssb_adaptation_ind;
395};
396enum sctp_spp_flags {
397  SPP_HB_ENABLE = 1 << 0,
398/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
399  SPP_HB_DISABLE = 1 << 1,
400  SPP_HB = SPP_HB_ENABLE | SPP_HB_DISABLE,
401  SPP_HB_DEMAND = 1 << 2,
402  SPP_PMTUD_ENABLE = 1 << 3,
403/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
404  SPP_PMTUD_DISABLE = 1 << 4,
405  SPP_PMTUD = SPP_PMTUD_ENABLE | SPP_PMTUD_DISABLE,
406  SPP_SACKDELAY_ENABLE = 1 << 5,
407  SPP_SACKDELAY_DISABLE = 1 << 6,
408/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
409  SPP_SACKDELAY = SPP_SACKDELAY_ENABLE | SPP_SACKDELAY_DISABLE,
410  SPP_HB_TIME_IS_ZERO = 1 << 7,
411};
412struct sctp_paddrparams {
413/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
414  sctp_assoc_t spp_assoc_id;
415  struct sockaddr_storage spp_address;
416  __u32 spp_hbinterval;
417  __u16 spp_pathmaxrxt;
418/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
419  __u32 spp_pathmtu;
420  __u32 spp_sackdelay;
421  __u32 spp_flags;
422} __attribute__((packed, aligned(4)));
423/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
424struct sctp_authchunk {
425  __u8 sauth_chunk;
426};
427enum {
428/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
429  SCTP_AUTH_HMAC_ID_SHA1 = 1,
430  SCTP_AUTH_HMAC_ID_SHA256 = 3,
431};
432struct sctp_hmacalgo {
433/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
434  __u32 shmac_num_idents;
435  __u16 shmac_idents[];
436};
437#define shmac_number_of_idents shmac_num_idents
438/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
439struct sctp_authkey {
440  sctp_assoc_t sca_assoc_id;
441  __u16 sca_keynumber;
442  __u16 sca_keylength;
443/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
444  __u8 sca_key[];
445};
446struct sctp_authkeyid {
447  sctp_assoc_t scact_assoc_id;
448/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
449  __u16 scact_keynumber;
450};
451struct sctp_sack_info {
452  sctp_assoc_t sack_assoc_id;
453/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
454  uint32_t sack_delay;
455  uint32_t sack_freq;
456};
457struct sctp_assoc_value {
458/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
459  sctp_assoc_t assoc_id;
460  uint32_t assoc_value;
461};
462struct sctp_paddrinfo {
463/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
464  sctp_assoc_t spinfo_assoc_id;
465  struct sockaddr_storage spinfo_address;
466  __s32 spinfo_state;
467  __u32 spinfo_cwnd;
468/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
469  __u32 spinfo_srtt;
470  __u32 spinfo_rto;
471  __u32 spinfo_mtu;
472} __attribute__((packed, aligned(4)));
473/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
474enum sctp_spinfo_state {
475  SCTP_INACTIVE,
476  SCTP_PF,
477  SCTP_ACTIVE,
478/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
479  SCTP_UNCONFIRMED,
480  SCTP_UNKNOWN = 0xffff
481};
482struct sctp_status {
483/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
484  sctp_assoc_t sstat_assoc_id;
485  __s32 sstat_state;
486  __u32 sstat_rwnd;
487  __u16 sstat_unackdata;
488/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
489  __u16 sstat_penddata;
490  __u16 sstat_instrms;
491  __u16 sstat_outstrms;
492  __u32 sstat_fragmentation_point;
493/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
494  struct sctp_paddrinfo sstat_primary;
495};
496struct sctp_authchunks {
497  sctp_assoc_t gauth_assoc_id;
498/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
499  __u32 gauth_number_of_chunks;
500  uint8_t gauth_chunks[];
501};
502#define guth_number_of_chunks gauth_number_of_chunks
503/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
504enum sctp_sstat_state {
505  SCTP_EMPTY = 0,
506  SCTP_CLOSED = 1,
507  SCTP_COOKIE_WAIT = 2,
508/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
509  SCTP_COOKIE_ECHOED = 3,
510  SCTP_ESTABLISHED = 4,
511  SCTP_SHUTDOWN_PENDING = 5,
512  SCTP_SHUTDOWN_SENT = 6,
513/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
514  SCTP_SHUTDOWN_RECEIVED = 7,
515  SCTP_SHUTDOWN_ACK_SENT = 8,
516};
517struct sctp_assoc_ids {
518/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
519  __u32 gaids_number_of_ids;
520  sctp_assoc_t gaids_assoc_id[];
521};
522struct sctp_getaddrs_old {
523/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
524  sctp_assoc_t assoc_id;
525  int addr_num;
526  struct sockaddr * addrs;
527};
528/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
529struct sctp_getaddrs {
530  sctp_assoc_t assoc_id;
531  __u32 addr_num;
532  __u8 addrs[0];
533/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
534};
535struct sctp_assoc_stats {
536  sctp_assoc_t sas_assoc_id;
537  struct sockaddr_storage sas_obs_rto_ipaddr;
538/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
539  __u64 sas_maxrto;
540  __u64 sas_isacks;
541  __u64 sas_osacks;
542  __u64 sas_opackets;
543/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
544  __u64 sas_ipackets;
545  __u64 sas_rtxchunks;
546  __u64 sas_outofseqtsns;
547  __u64 sas_idupchunks;
548/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
549  __u64 sas_gapcnt;
550  __u64 sas_ouodchunks;
551  __u64 sas_iuodchunks;
552  __u64 sas_oodchunks;
553/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
554  __u64 sas_iodchunks;
555  __u64 sas_octrlchunks;
556  __u64 sas_ictrlchunks;
557};
558/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
559#define SCTP_BINDX_ADD_ADDR 0x01
560#define SCTP_BINDX_REM_ADDR 0x02
561typedef struct {
562  sctp_assoc_t associd;
563/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
564  int sd;
565} sctp_peeloff_arg_t;
566struct sctp_paddrthlds {
567  sctp_assoc_t spt_assoc_id;
568/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
569  struct sockaddr_storage spt_address;
570  __u16 spt_pathmaxrxt;
571  __u16 spt_pathpfthld;
572};
573/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
574#endif
575