webkit  2cdf99a9e3038c7e01b3c37e8ad903ecbe5eecf1
https://github.com/WebKit/webkit
sctp_header.h
Go to the documentation of this file.
1 /*-
2  * Copyright (c) 2001-2007, by Cisco Systems, Inc. All rights reserved.
3  * Copyright (c) 2008-2012, by Randall Stewart. All rights reserved.
4  * Copyright (c) 2008-2012, by Michael Tuexen. All rights reserved.
5  *
6  * Redistribution and use in source and binary forms, with or without
7  * modification, are permitted provided that the following conditions are met:
8  *
9  * a) Redistributions of source code must retain the above copyright notice,
10  * this list of conditions and the following disclaimer.
11  *
12  * b) Redistributions in binary form must reproduce the above copyright
13  * notice, this list of conditions and the following disclaimer in
14  * the documentation and/or other materials provided with the distribution.
15  *
16  * c) Neither the name of Cisco Systems, Inc. nor the names of its
17  * contributors may be used to endorse or promote products derived
18  * from this software without specific prior written permission.
19  *
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
22  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
24  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
25  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
26  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
27  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
28  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
29  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
30  * THE POSSIBILITY OF SUCH DAMAGE.
31  */
32 
33 #ifdef __FreeBSD__
34 #include <sys/cdefs.h>
35 __FBSDID("$FreeBSD: head/sys/netinet/sctp_header.h 302949 2016-07-17 13:14:51Z tuexen $");
36 #endif
37 
38 #ifndef _NETINET_SCTP_HEADER_H_
39 #define _NETINET_SCTP_HEADER_H_
40 
41 #if defined(__Windows__) && !defined(__Userspace_os_Windows)
42 #include <packon.h>
43 #endif
44 #if !defined(__Userspace_os_Windows)
45 #include <sys/time.h>
46 #endif
47 #include <netinet/sctp.h>
48 #include <netinet/sctp_constants.h>
49 
50 #if !defined(__Userspace_os_Windows)
51 #define SCTP_PACKED __attribute__((packed))
52 #else
53 #pragma pack (push, 1)
54 #define SCTP_PACKED
55 #endif
56 
57 /*
58  * Parameter structures
59  */
61  struct sctp_paramhdr ph;/* type=SCTP_IPV4_PARAM_TYPE, len=8 */
62  uint32_t addr; /* IPV4 address */
63 } SCTP_PACKED;
64 
65 #define SCTP_V6_ADDR_BYTES 16
66 
67 
69  struct sctp_paramhdr ph;/* type=SCTP_IPV6_PARAM_TYPE, len=20 */
70  uint8_t addr[SCTP_V6_ADDR_BYTES]; /* IPV6 address */
71 } SCTP_PACKED;
72 
73 /* Cookie Preservative */
75  struct sctp_paramhdr ph;/* type=SCTP_COOKIE_PRESERVE, len=8 */
76  uint32_t time; /* time in ms to extend cookie */
77 } SCTP_PACKED;
78 
79 #define SCTP_ARRAY_MIN_LEN 1
80 /* Host Name Address */
82  struct sctp_paramhdr ph;/* type=SCTP_HOSTNAME_ADDRESS */
83  char name[SCTP_ARRAY_MIN_LEN]; /* host name */
84 } SCTP_PACKED;
85 
86 /*
87  * This is the maximum padded size of a s-a-p
88  * so paramheadr + 3 address types (6 bytes) + 2 byte pad = 12
89  */
90 #define SCTP_MAX_ADDR_PARAMS_SIZE 12
91 /* supported address type */
93  struct sctp_paramhdr ph;/* type=SCTP_SUPPORTED_ADDRTYPE */
94  uint16_t addr_type[2]; /* array of supported address types */
95 } SCTP_PACKED;
96 
97 /* heartbeat info parameter */
99  struct sctp_paramhdr ph;
106  /* make sure that this structure is 4 byte aligned */
107  uint8_t padding[2];
108  char address[SCTP_ADDRMAX];
109 } SCTP_PACKED;
110 
111 
112 /* draft-ietf-tsvwg-prsctp */
113 /* PR-SCTP supported parameter */
116 } SCTP_PACKED;
117 
118 
119 /* draft-ietf-tsvwg-addip-sctp */
120 struct sctp_asconf_paramhdr { /* an ASCONF "parameter" */
121  struct sctp_paramhdr ph;/* a SCTP parameter header */
122  uint32_t correlation_id;/* correlation id for this param */
123 } SCTP_PACKED;
124 
125 struct sctp_asconf_addr_param { /* an ASCONF address parameter */
126  struct sctp_asconf_paramhdr aph; /* asconf "parameter" */
127  struct sctp_ipv6addr_param addrp; /* max storage size */
128 } SCTP_PACKED;
129 
130 
131 struct sctp_asconf_tag_param { /* an ASCONF NAT-Vtag parameter */
132  struct sctp_asconf_paramhdr aph; /* asconf "parameter" */
135 } SCTP_PACKED;
136 
137 
138 struct sctp_asconf_addrv4_param { /* an ASCONF address (v4) parameter */
139  struct sctp_asconf_paramhdr aph; /* asconf "parameter" */
140  struct sctp_ipv4addr_param addrp; /* max storage size */
141 } SCTP_PACKED;
142 
143 #define SCTP_MAX_SUPPORTED_EXT 256
144 
146  struct sctp_paramhdr ph;/* type = 0x8008 len = x */
147  uint8_t chunk_types[];
148 } SCTP_PACKED;
149 
150 
151 /*
152  * Structures for DATA chunks
153  */
154 struct sctp_data {
159  /* user data follows */
160 } SCTP_PACKED;
161 
163  struct sctp_chunkhdr ch;
164  struct sctp_data dp;
165 } SCTP_PACKED;
166 
167 struct sctp_idata {
170  uint16_t reserved; /* Where does the SSN go? */
172  union {
174  uint32_t fsn; /* Fragment Sequence Number */
175  } ppid_fsn;
176  /* user data follows */
177 } SCTP_PACKED;
178 
180  struct sctp_chunkhdr ch;
181  struct sctp_idata dp;
182 } SCTP_PACKED;
183 
184 /*
185  * Structures for the control chunks
186  */
187 
188 /* Initiate (INIT)/Initiate Ack (INIT ACK) */
189 struct sctp_init {
190  uint32_t initiate_tag; /* initiate tag */
191  uint32_t a_rwnd; /* a_rwnd */
194  uint32_t initial_tsn; /* I-TSN */
195  /* optional param's follow */
196 } SCTP_PACKED;
197 #define SCTP_IDENTIFICATION_SIZE 16
198 #define SCTP_ADDRESS_SIZE 4
199 #if defined(__Userspace__)
200 #define SCTP_RESERVE_SPACE 5
201 #else
202 #define SCTP_RESERVE_SPACE 6
203 #endif
204 /* state cookie header */
205 struct sctp_state_cookie { /* this is our definition... */
206  uint8_t identification[SCTP_IDENTIFICATION_SIZE];/* id of who we are */
207  struct timeval time_entered; /* the time I built cookie */
208  uint32_t cookie_life; /* life I will award this cookie */
209  uint32_t tie_tag_my_vtag; /* my tag in old association */
210 
211  uint32_t tie_tag_peer_vtag; /* peers tag in old association */
212  uint32_t peers_vtag; /* peers tag in INIT (for quick ref) */
213 
214  uint32_t my_vtag; /* my tag in INIT-ACK (for quick ref) */
215  uint32_t address[SCTP_ADDRESS_SIZE]; /* 4 ints/128 bits */
216  uint32_t addr_type; /* address type */
217  uint32_t laddress[SCTP_ADDRESS_SIZE]; /* my local from address */
218  uint32_t laddr_type; /* my local from address type */
219  uint32_t scope_id; /* v6 scope id for link-locals */
220 
221  uint16_t peerport; /* port address of the peer in the INIT */
222  uint16_t myport; /* my port address used in the INIT */
223  uint8_t ipv4_addr_legal;/* Are V4 addr legal? */
224  uint8_t ipv6_addr_legal;/* Are V6 addr legal? */
225 #if defined(__Userspace__)
226  uint8_t conn_addr_legal;
227 #endif
228  uint8_t local_scope; /* IPv6 local scope flag */
229  uint8_t site_scope; /* IPv6 site scope flag */
230 
231  uint8_t ipv4_scope; /* IPv4 private addr scope */
232  uint8_t loopback_scope; /* loopback scope information */
233  uint8_t reserved[SCTP_RESERVE_SPACE]; /* Align to 64 bits */
234  /*
235  * at the end is tacked on the INIT chunk and the INIT-ACK chunk
236  * (minus the cookie).
237  */
238 } SCTP_PACKED;
239 
240 /* state cookie parameter */
243  struct sctp_state_cookie cookie;
244 } SCTP_PACKED;
245 
247  struct sctp_chunkhdr ch;
248  struct sctp_init init;
249 } SCTP_PACKED;
250 
252  struct sctphdr sh;
253  struct sctp_init_chunk msg;
254 } SCTP_PACKED;
255 
256 /* ... used for both INIT and INIT ACK */
257 #define sctp_init_ack sctp_init
258 #define sctp_init_ack_chunk sctp_init_chunk
259 #define sctp_init_ack_msg sctp_init_msg
260 
261 
262 /* Selective Ack (SACK) */
264  uint16_t start; /* Gap Ack block start */
265  uint16_t end; /* Gap Ack block end */
266 } SCTP_PACKED;
267 
268 struct sctp_sack {
269  uint32_t cum_tsn_ack; /* cumulative TSN Ack */
270  uint32_t a_rwnd; /* updated a_rwnd of sender */
271  uint16_t num_gap_ack_blks; /* number of Gap Ack blocks */
272  uint16_t num_dup_tsns; /* number of duplicate TSNs */
273  /* struct sctp_gap_ack_block's follow */
274  /* uint32_t duplicate_tsn's follow */
275 } SCTP_PACKED;
276 
278  struct sctp_chunkhdr ch;
279  struct sctp_sack sack;
280 } SCTP_PACKED;
281 
282 struct sctp_nr_sack {
283  uint32_t cum_tsn_ack; /* cumulative TSN Ack */
284  uint32_t a_rwnd; /* updated a_rwnd of sender */
285  uint16_t num_gap_ack_blks; /* number of Gap Ack blocks */
286  uint16_t num_nr_gap_ack_blks; /* number of NR Gap Ack blocks */
287  uint16_t num_dup_tsns; /* number of duplicate TSNs */
288  uint16_t reserved; /* not currently used*/
289  /* struct sctp_gap_ack_block's follow */
290  /* uint32_t duplicate_tsn's follow */
291 } SCTP_PACKED;
292 
294  struct sctp_chunkhdr ch;
295  struct sctp_nr_sack nr_sack;
296 } SCTP_PACKED;
297 
298 
299 /* Heartbeat Request (HEARTBEAT) */
302 } SCTP_PACKED;
303 
305  struct sctp_chunkhdr ch;
306  struct sctp_heartbeat heartbeat;
307 } SCTP_PACKED;
308 
309 /* ... used for Heartbeat Ack (HEARTBEAT ACK) */
310 #define sctp_heartbeat_ack sctp_heartbeat
311 #define sctp_heartbeat_ack_chunk sctp_heartbeat_chunk
312 
313 
314 /* Abort Asssociation (ABORT) */
316  struct sctp_chunkhdr ch;
317  /* optional error cause may follow */
318 } SCTP_PACKED;
319 
321  struct sctphdr sh;
322  struct sctp_abort_chunk msg;
323 } SCTP_PACKED;
324 
325 
326 /* Shutdown Association (SHUTDOWN) */
328  struct sctp_chunkhdr ch;
330 } SCTP_PACKED;
331 
332 
333 /* Shutdown Acknowledgment (SHUTDOWN ACK) */
335  struct sctp_chunkhdr ch;
336 } SCTP_PACKED;
337 
338 
339 /* Operation Error (ERROR) */
341  struct sctp_chunkhdr ch;
342  /* optional error causes follow */
343 } SCTP_PACKED;
344 
345 
346 /* Cookie Echo (COOKIE ECHO) */
348  struct sctp_chunkhdr ch;
349  struct sctp_state_cookie cookie;
350 } SCTP_PACKED;
351 
352 /* Cookie Acknowledgment (COOKIE ACK) */
354  struct sctp_chunkhdr ch;
355 } SCTP_PACKED;
356 
357 /* Explicit Congestion Notification Echo (ECNE) */
359  struct sctp_chunkhdr ch;
361 } SCTP_PACKED;
362 
364  struct sctp_chunkhdr ch;
367 } SCTP_PACKED;
368 
369 /* Congestion Window Reduced (CWR) */
371  struct sctp_chunkhdr ch;
373 } SCTP_PACKED;
374 
375 /* Shutdown Complete (SHUTDOWN COMPLETE) */
377  struct sctp_chunkhdr ch;
378 } SCTP_PACKED;
379 
383 } SCTP_PACKED;
384 
385 /*
386  * draft-ietf-tsvwg-addip-sctp
387  */
388 /* Address/Stream Configuration Change (ASCONF) */
390  struct sctp_chunkhdr ch;
392  /* lookup address parameter (mandatory) */
393  /* asconf parameters follow */
394 } SCTP_PACKED;
395 
396 /* Address/Stream Configuration Acknowledge (ASCONF ACK) */
398  struct sctp_chunkhdr ch;
400  /* asconf parameters follow */
401 } SCTP_PACKED;
402 
403 /* draft-ietf-tsvwg-prsctp */
404 /* Forward Cumulative TSN (FORWARD TSN) */
406  struct sctp_chunkhdr ch;
408  /* stream/sequence pairs (sctp_strseq) follow */
409 } SCTP_PACKED;
410 
411 struct sctp_strseq {
414 } SCTP_PACKED;
415 
420 };
421 
423  struct sctphdr sh;
425 } SCTP_PACKED;
426 
427 /* should be a multiple of 4 - 1 aka 3/7/11 etc. */
428 
429 #define SCTP_NUM_DB_TO_VERIFY 31
430 
435 } SCTP_PACKED;
436 
437 
439  struct sctp_chunkhdr ch;
445 } SCTP_PACKED;
446 
447 /**********STREAM RESET STUFF ******************/
448 
452 } SCTP_PACKED;
453 
456  uint32_t request_seq; /* monotonically increasing seq no */
457  uint32_t response_seq; /* if a response, the resp seq no */
458  uint32_t send_reset_at_tsn; /* last TSN I assigned outbound */
459  uint16_t list_of_streams[]; /* if not all list of streams */
460 } SCTP_PACKED;
461 
465  uint16_t list_of_streams[]; /* if not all list of streams */
466 } SCTP_PACKED;
467 
471 } SCTP_PACKED;
472 
475  uint32_t response_seq; /* if a response, the resp seq no */
477 } SCTP_PACKED;
478 
481  uint32_t response_seq; /* if a response, the resp seq no */
485 } SCTP_PACKED;
486 
492 } SCTP_PACKED;
493 
494 #define SCTP_STREAM_RESET_RESULT_NOTHING_TO_DO 0x00000000 /* XXX: unused */
495 #define SCTP_STREAM_RESET_RESULT_PERFORMED 0x00000001
496 #define SCTP_STREAM_RESET_RESULT_DENIED 0x00000002
497 #define SCTP_STREAM_RESET_RESULT_ERR__WRONG_SSN 0x00000003 /* XXX: unused */
498 #define SCTP_STREAM_RESET_RESULT_ERR_IN_PROGRESS 0x00000004
499 #define SCTP_STREAM_RESET_RESULT_ERR_BAD_SEQNO 0x00000005
500 #define SCTP_STREAM_RESET_RESULT_IN_PROGRESS 0x00000006 /* XXX: unused */
501 
502 /*
503  * convience structures, note that if you are making a request for specific
504  * streams then the request will need to be an overlay structure.
505  */
506 
508  struct sctp_chunkhdr ch;
510 } SCTP_PACKED;
511 
513  struct sctp_chunkhdr ch;
515 } SCTP_PACKED;
516 
517 /* respone only valid with a TSN request */
519  struct sctp_chunkhdr ch;
521 } SCTP_PACKED;
522 
523 /****************************************************/
524 
525 /*
526  * Authenticated chunks support draft-ietf-tsvwg-sctp-auth
527  */
528 
529 /* Should we make the max be 32? */
530 #define SCTP_RANDOM_MAX_SIZE 256
532  struct sctp_paramhdr ph;/* type = 0x8002 */
533  uint8_t random_data[];
534 } SCTP_PACKED;
535 
537  struct sctp_paramhdr ph;/* type = 0x8003 */
538  uint8_t chunk_types[];
539 } SCTP_PACKED;
540 
542  struct sctp_paramhdr ph;/* type = 0x8004 */
543  uint16_t hmac_ids[];
544 } SCTP_PACKED;
545 
547  struct sctp_chunkhdr ch;
550  uint8_t hmac[];
551 } SCTP_PACKED;
552 
553 /*
554  * we pre-reserve enough room for a ECNE or CWR AND a SACK with no missing
555  * pieces. If ENCE is missing we could have a couple of blocks. This way we
556  * optimize so we MOST likely can bundle a SACK/ECN with the smallest size
557  * data chunk I will split into. We could increase throughput slightly by
558  * taking out these two but the 24-sack/8-CWR i.e. 32 bytes I pre-reserve I
559  * feel is worth it for now.
560  */
561 #ifndef SCTP_MAX_OVERHEAD
562 #ifdef INET6
563 #define SCTP_MAX_OVERHEAD (sizeof(struct sctp_data_chunk) + \
564  sizeof(struct sctphdr) + \
565  sizeof(struct sctp_ecne_chunk) + \
566  sizeof(struct sctp_sack_chunk) + \
567  sizeof(struct ip6_hdr))
568 
569 #define SCTP_MED_OVERHEAD (sizeof(struct sctp_data_chunk) + \
570  sizeof(struct sctphdr) + \
571  sizeof(struct ip6_hdr))
572 
573 
574 #define SCTP_MIN_OVERHEAD (sizeof(struct ip6_hdr) + \
575  sizeof(struct sctphdr))
576 
577 #else
578 #define SCTP_MAX_OVERHEAD (sizeof(struct sctp_data_chunk) + \
579  sizeof(struct sctphdr) + \
580  sizeof(struct sctp_ecne_chunk) + \
581  sizeof(struct sctp_sack_chunk) + \
582  sizeof(struct ip))
583 
584 #define SCTP_MED_OVERHEAD (sizeof(struct sctp_data_chunk) + \
585  sizeof(struct sctphdr) + \
586  sizeof(struct ip))
587 
588 
589 #define SCTP_MIN_OVERHEAD (sizeof(struct ip) + \
590  sizeof(struct sctphdr))
591 
592 #endif /* INET6 */
593 #endif /* !SCTP_MAX_OVERHEAD */
594 
595 #define SCTP_MED_V4_OVERHEAD (sizeof(struct sctp_data_chunk) + \
596  sizeof(struct sctphdr) + \
597  sizeof(struct ip))
598 
599 #define SCTP_MIN_V4_OVERHEAD (sizeof(struct ip) + \
600  sizeof(struct sctphdr))
601 
602 #if defined(__Windows__)
603 #include <packoff.h>
604 #endif
605 #if defined(__Userspace_os_Windows)
606 #pragma pack ()
607 #endif
608 #undef SCTP_PACKED
609 #endif /* !__sctp_header_h__ */
Definition: sctp_header.h:541
uint16_t num_gap_ack_blks
Definition: sctp_header.h:285
uint32_t cum_tsn_ack
Definition: sctp_header.h:269
Definition: sctp_header.h:145
uint8_t chunk_type
Definition: sctp_header.h:432
uint16_t stream_id
Definition: sctp_header.h:169
uint32_t remote_vtag
Definition: sctp_header.h:134
uint16_t num_outbound_streams
Definition: sctp_header.h:192
Definition: sctp_header.h:546
uint16_t num_inbound_streams
Definition: sctp_header.h:193
uint16_t reserved
Definition: sctp_header.h:170
Definition: sctp_header.h:125
uint32_t time_value_2
Definition: sctp_header.h:101
uint32_t request_seq
Definition: sctp_header.h:456
Definition: sctp_header.h:473
Definition: sctp_header.h:380
DOMString dp
Definition: WebCryptoAPI.idl:118
Definition: sctp_header.h:315
uint32_t request_seq
Definition: sctp_header.h:489
uint32_t indication
Definition: sctp_header.h:382
uint32_t a_rwnd
Definition: sctp_header.h:191
unsigned int uint32_t
Definition: ptypes.h:105
uint32_t serial_number
Definition: sctp_header.h:399
uint32_t time_value_1
Definition: sctp_header.h:100
uint32_t protocol_id
Definition: sctp_header.h:173
Definition: sctp_header.h:518
#define SCTP_RESERVE_SPACE
Definition: sctp_header.h:202
Definition: sctp_header.h:282
Definition: sctp_header.h:438
uint32_t cum_tsn_ack
Definition: sctp_header.h:283
uint16_t shared_key_id
Definition: sctp_header.h:548
Definition: sctp_header.h:389
uint16_t trunc_len
Definition: sctp_header.h:442
Definition: sctp_header.h:422
Definition: sctp_header.h:416
Definition: sctp_header.h:462
Definition: sctp_header.h:358
uint32_t initial_tsn
Definition: sctp_header.h:194
Definition: sctp_header.h:114
Definition: sctp_header.h:454
#define SCTP_NUM_DB_TO_VERIFY
Definition: sctp_header.h:429
uint32_t a_rwnd
Definition: sctp_header.h:270
uint32_t tsn_ifany
Definition: sctp_header.h:434
#define SCTP_ADDRMAX
Definition: sctp_constants.h:669
#define SCTP_ARRAY_MIN_LEN
Definition: sctp_header.h:79
Definition: sctp_header.h:300
Definition: sctp_header.h:154
uint16_t hmac_id
Definition: sctp_header.h:549
uint16_t num_gap_ack_blks
Definition: sctp_header.h:271
uint16_t sequence
Definition: sctp_header.h:413
Definition: sctp.h:79
Definition: sctp_header.h:293
Definition: sctp_header.h:179
uint16_t reserved
Definition: sctp_header.h:288
uint32_t tsn
Definition: sctp_header.h:365
uint32_t receivers_next_tsn
Definition: sctp_header.h:484
uint16_t num_nr_gap_ack_blks
Definition: sctp_header.h:286
uint32_t addr
Definition: sctp_header.h:62
#define SCTP_V6_ADDR_BYTES
Definition: sctp_header.h:65
uint32_t correlation_id
Definition: sctp_header.h:122
uint16_t number_of_streams
Definition: sctp_header.h:490
uint16_t end
Definition: sctp_header.h:265
Definition: sctp_header.h:397
uint16_t num_dup_tsns
Definition: sctp_header.h:272
Definition: sctp_header.h:304
uint8_t addr_family
Definition: sctp_header.h:104
uint16_t flags
Definition: sctp_header.h:418
Definition: sctp_header.h:405
uint32_t a_rwnd
Definition: sctp_header.h:284
uint32_t msg_id
Definition: sctp_header.h:419
Definition: sctp_header.h:468
Definition: sctp_header.h:376
Definition: sctp_header.h:277
Definition: ShaderLang.h:40
Definition: sctp_header.h:327
uint32_t fsn
Definition: sctp_header.h:174
Definition: sctp_header.h:167
Definition: sctp.h:58
uint32_t random_value2
Definition: sctp_header.h:103
Definition: sctp_header.h:320
Definition: sctp_header.h:507
unsigned char uint8_t
Definition: ptypes.h:89
Definition: sctp_header.h:120
Definition: sctp_header.h:251
Definition: sctp_header.h:411
unsigned short uint16_t
Definition: ptypes.h:97
Definition: sctp_header.h:449
uint32_t response_seq
Definition: sctp_header.h:457
Definition: sctp_header.h:370
uint32_t bottle_bw
Definition: sctp_header.h:440
uint32_t serial_number
Definition: sctp_header.h:391
EGLImageKHR EGLint * name
Definition: eglext.h:851
Definition: sctp_header.h:68
Definition: sctp_header.h:531
uint32_t new_cumulative_tsn
Definition: sctp_header.h:407
Definition: sctp_header.h:512
Definition: sctp_header.h:98
uint32_t protocol_id
Definition: sctp_header.h:158
uint32_t response_seq
Definition: sctp_header.h:481
uint32_t tsn
Definition: sctp_header.h:372
uint32_t cumulative_tsn_ack
Definition: sctp_header.h:329
uint16_t stream
Definition: sctp_header.h:412
struct sctp_paramhdr ph
Definition: sctp_header.h:61
uint32_t request_seq
Definition: sctp_header.h:464
Definition: sctp_header.h:138
uint16_t stream_sequence
Definition: sctp_header.h:157
uint16_t start
Definition: sctp_header.h:264
Definition: sctp_header.h:431
EGLStreamKHR EGLint EGLint EGLint const void * data
Definition: eglext.h:984
uint32_t response_seq
Definition: sctp_header.h:475
Definition: sctp_header.h:268
void init()
Definition: HTMLNames.cpp:1637
uint32_t request_seq
Definition: sctp_header.h:470
uint16_t num_dup_tsns
Definition: sctp_header.h:287
uint32_t tsn
Definition: sctp_header.h:168
Definition: sctp_header.h:334
Definition: sctp_header.h:189
uint32_t senders_next_tsn
Definition: sctp_header.h:483
Definition: sctp_header.h:92
#define SCTP_PACKED
Definition: sctp_header.h:51
uint32_t num_pkts_since_cwr
Definition: sctp_header.h:366
uint32_t local_vtag
Definition: sctp_header.h:133
Definition: sctp_header.h:340
Definition: sctp_header.h:131
Definition: sctp_header.h:536
Definition: sctp_header.h:487
#define SCTP_IDENTIFICATION_SIZE
Definition: sctp_header.h:197
uint8_t addr_len
Definition: sctp_header.h:105
uint32_t msg_id
Definition: sctp_header.h:171
uint16_t reserved
Definition: sctp_header.h:443
uint32_t tsn
Definition: sctp_header.h:360
Definition: sctp_header.h:162
Definition: sctp_header.h:363
uint16_t stream_id
Definition: sctp_header.h:156
Definition: sctp_header.h:60
uint32_t send_reset_at_tsn
Definition: sctp_header.h:458
uint16_t stream
Definition: sctp_header.h:417
uint32_t request_seq
Definition: sctp_header.h:451
Definition: sctp_header.h:263
Definition: sctp_header.h:81
uint32_t result
Definition: sctp_header.h:476
uint32_t tsn
Definition: sctp_header.h:155
uint32_t random_value1
Definition: sctp_header.h:102
uint32_t result
Definition: sctp_header.h:482
#define SCTP_ADDRESS_SIZE
Definition: sctp_header.h:198
Definition: sctp_header.h:246
uint32_t initiate_tag
Definition: sctp_header.h:190
uint16_t reserved
Definition: sctp_header.h:491
uint32_t current_onq
Definition: sctp_header.h:441
Definition: sctp.h:69
Definition: sctp_header.h:479