dccp.h (9b8321531a90c400e9c561d903926eee79639dcf) | dccp.h (871a2c16c21b988688b4ab1a78eadd969765c0a3) |
---|---|
1#ifndef _LINUX_DCCP_H 2#define _LINUX_DCCP_H 3 4#include <linux/types.h> 5#include <asm/byteorder.h> 6 7/** 8 * struct dccp_hdr - generic part of DCCP packet header --- 183 unchanged lines hidden (view full) --- 192 DCCPF_MIN_CSUM_COVER = 8, 193 DCCPF_DATA_CHECKSUM = 9, 194 /* 10-127 reserved */ 195 DCCPF_MIN_CCID_SPECIFIC = 128, 196 DCCPF_SEND_LEV_RATE = 192, /* RFC 4342, sec. 8.4 */ 197 DCCPF_MAX_CCID_SPECIFIC = 255, 198}; 199 | 1#ifndef _LINUX_DCCP_H 2#define _LINUX_DCCP_H 3 4#include <linux/types.h> 5#include <asm/byteorder.h> 6 7/** 8 * struct dccp_hdr - generic part of DCCP packet header --- 183 unchanged lines hidden (view full) --- 192 DCCPF_MIN_CSUM_COVER = 8, 193 DCCPF_DATA_CHECKSUM = 9, 194 /* 10-127 reserved */ 195 DCCPF_MIN_CCID_SPECIFIC = 128, 196 DCCPF_SEND_LEV_RATE = 192, /* RFC 4342, sec. 8.4 */ 197 DCCPF_MAX_CCID_SPECIFIC = 255, 198}; 199 |
200/* DCCP socket control message types for cmsg */ 201enum dccp_cmsg_type { 202 DCCP_SCM_PRIORITY = 1, 203 DCCP_SCM_QPOLICY_MAX = 0xFFFF, 204 /* ^-- Up to here reserved exclusively for qpolicy parameters */ 205 DCCP_SCM_MAX 206}; 207 208/* DCCP priorities for outgoing/queued packets */ 209enum dccp_packet_dequeueing_policy { 210 DCCPQ_POLICY_SIMPLE, 211 DCCPQ_POLICY_PRIO, 212 DCCPQ_POLICY_MAX 213}; 214 |
|
200/* DCCP socket options */ 201#define DCCP_SOCKOPT_PACKET_SIZE 1 /* XXX deprecated, without effect */ 202#define DCCP_SOCKOPT_SERVICE 2 203#define DCCP_SOCKOPT_CHANGE_L 3 204#define DCCP_SOCKOPT_CHANGE_R 4 205#define DCCP_SOCKOPT_GET_CUR_MPS 5 206#define DCCP_SOCKOPT_SERVER_TIMEWAIT 6 207#define DCCP_SOCKOPT_SEND_CSCOV 10 208#define DCCP_SOCKOPT_RECV_CSCOV 11 209#define DCCP_SOCKOPT_AVAILABLE_CCIDS 12 210#define DCCP_SOCKOPT_CCID 13 211#define DCCP_SOCKOPT_TX_CCID 14 212#define DCCP_SOCKOPT_RX_CCID 15 | 215/* DCCP socket options */ 216#define DCCP_SOCKOPT_PACKET_SIZE 1 /* XXX deprecated, without effect */ 217#define DCCP_SOCKOPT_SERVICE 2 218#define DCCP_SOCKOPT_CHANGE_L 3 219#define DCCP_SOCKOPT_CHANGE_R 4 220#define DCCP_SOCKOPT_GET_CUR_MPS 5 221#define DCCP_SOCKOPT_SERVER_TIMEWAIT 6 222#define DCCP_SOCKOPT_SEND_CSCOV 10 223#define DCCP_SOCKOPT_RECV_CSCOV 11 224#define DCCP_SOCKOPT_AVAILABLE_CCIDS 12 225#define DCCP_SOCKOPT_CCID 13 226#define DCCP_SOCKOPT_TX_CCID 14 227#define DCCP_SOCKOPT_RX_CCID 15 |
228#define DCCP_SOCKOPT_QPOLICY_ID 16 229#define DCCP_SOCKOPT_QPOLICY_TXQLEN 17 |
|
213#define DCCP_SOCKOPT_CCID_RX_INFO 128 214#define DCCP_SOCKOPT_CCID_TX_INFO 192 215 216/* maximum number of services provided on the same listening port */ 217#define DCCP_SERVICE_LIST_MAX_LEN 32 218 219#ifdef __KERNEL__ 220 --- 232 unchanged lines hidden (view full) --- 453 * @dccps_ndp_count - number of Non Data Packets since last data packet 454 * @dccps_mss_cache - current value of MSS (path MTU minus header sizes) 455 * @dccps_rate_last - timestamp for rate-limiting DCCP-Sync (RFC 4340, 7.5.4) 456 * @dccps_featneg - tracks feature-negotiation state (mostly during handshake) 457 * @dccps_hc_rx_ackvec - rx half connection ack vector 458 * @dccps_hc_rx_ccid - CCID used for the receiver (or receiving half-connection) 459 * @dccps_hc_tx_ccid - CCID used for the sender (or sending half-connection) 460 * @dccps_options_received - parsed set of retrieved options | 230#define DCCP_SOCKOPT_CCID_RX_INFO 128 231#define DCCP_SOCKOPT_CCID_TX_INFO 192 232 233/* maximum number of services provided on the same listening port */ 234#define DCCP_SERVICE_LIST_MAX_LEN 32 235 236#ifdef __KERNEL__ 237 --- 232 unchanged lines hidden (view full) --- 470 * @dccps_ndp_count - number of Non Data Packets since last data packet 471 * @dccps_mss_cache - current value of MSS (path MTU minus header sizes) 472 * @dccps_rate_last - timestamp for rate-limiting DCCP-Sync (RFC 4340, 7.5.4) 473 * @dccps_featneg - tracks feature-negotiation state (mostly during handshake) 474 * @dccps_hc_rx_ackvec - rx half connection ack vector 475 * @dccps_hc_rx_ccid - CCID used for the receiver (or receiving half-connection) 476 * @dccps_hc_tx_ccid - CCID used for the sender (or sending half-connection) 477 * @dccps_options_received - parsed set of retrieved options |
478 * @dccps_qpolicy - TX dequeueing policy, one of %dccp_packet_dequeueing_policy 479 * @dccps_tx_qlen - maximum length of the TX queue |
|
461 * @dccps_role - role of this sock, one of %dccp_role 462 * @dccps_hc_rx_insert_options - receiver wants to add options when acking 463 * @dccps_hc_tx_insert_options - sender wants to add options when sending 464 * @dccps_server_timewait - server holds timewait state on close (RFC 4340, 8.3) | 480 * @dccps_role - role of this sock, one of %dccp_role 481 * @dccps_hc_rx_insert_options - receiver wants to add options when acking 482 * @dccps_hc_tx_insert_options - sender wants to add options when sending 483 * @dccps_server_timewait - server holds timewait state on close (RFC 4340, 8.3) |
484 * @dccps_sync_scheduled - flag which signals "send out-of-band message soon" |
|
465 * @dccps_xmitlet - tasklet scheduled by the TX CCID to dequeue data packets 466 * @dccps_xmit_timer - used by the TX CCID to delay sending (rate-based pacing) 467 * @dccps_syn_rtt - RTT sample from Request/Response exchange (in usecs) 468 */ 469struct dccp_sock { 470 /* inet_connection_sock has to be the first member of dccp_sock */ 471 struct inet_connection_sock dccps_inet_connection; 472#define dccps_syn_rtt dccps_inet_connection.icsk_ack.lrcvtime --- 21 unchanged lines hidden (view full) --- 494 __u8 dccps_send_ndp_count:1; 495 __u64 dccps_ndp_count:48; 496 unsigned long dccps_rate_last; 497 struct list_head dccps_featneg; 498 struct dccp_ackvec *dccps_hc_rx_ackvec; 499 struct ccid *dccps_hc_rx_ccid; 500 struct ccid *dccps_hc_tx_ccid; 501 struct dccp_options_received dccps_options_received; | 485 * @dccps_xmitlet - tasklet scheduled by the TX CCID to dequeue data packets 486 * @dccps_xmit_timer - used by the TX CCID to delay sending (rate-based pacing) 487 * @dccps_syn_rtt - RTT sample from Request/Response exchange (in usecs) 488 */ 489struct dccp_sock { 490 /* inet_connection_sock has to be the first member of dccp_sock */ 491 struct inet_connection_sock dccps_inet_connection; 492#define dccps_syn_rtt dccps_inet_connection.icsk_ack.lrcvtime --- 21 unchanged lines hidden (view full) --- 514 __u8 dccps_send_ndp_count:1; 515 __u64 dccps_ndp_count:48; 516 unsigned long dccps_rate_last; 517 struct list_head dccps_featneg; 518 struct dccp_ackvec *dccps_hc_rx_ackvec; 519 struct ccid *dccps_hc_rx_ccid; 520 struct ccid *dccps_hc_tx_ccid; 521 struct dccp_options_received dccps_options_received; |
522 __u8 dccps_qpolicy; 523 __u32 dccps_tx_qlen; |
|
502 enum dccp_role dccps_role:2; 503 __u8 dccps_hc_rx_insert_options:1; 504 __u8 dccps_hc_tx_insert_options:1; 505 __u8 dccps_server_timewait:1; | 524 enum dccp_role dccps_role:2; 525 __u8 dccps_hc_rx_insert_options:1; 526 __u8 dccps_hc_tx_insert_options:1; 527 __u8 dccps_server_timewait:1; |
528 __u8 dccps_sync_scheduled:1; |
|
506 struct tasklet_struct dccps_xmitlet; 507 struct timer_list dccps_xmit_timer; 508}; 509 510static inline struct dccp_sock *dccp_sk(const struct sock *sk) 511{ 512 return (struct dccp_sock *)sk; 513} --- 15 unchanged lines hidden --- | 529 struct tasklet_struct dccps_xmitlet; 530 struct timer_list dccps_xmit_timer; 531}; 532 533static inline struct dccp_sock *dccp_sk(const struct sock *sk) 534{ 535 return (struct dccp_sock *)sk; 536} --- 15 unchanged lines hidden --- |