dccp.h (9b8321531a90c400e9c561d903926eee79639dcf) | dccp.h (871a2c16c21b988688b4ab1a78eadd969765c0a3) |
---|---|
1#ifndef _DCCP_H 2#define _DCCP_H 3/* 4 * net/dccp/dccp.h 5 * 6 * An implementation of the DCCP protocol 7 * Copyright (c) 2005 Arnaldo Carvalho de Melo <acme@conectiva.com.br> 8 * Copyright (c) 2005-6 Ian McDonald <ian.mcdonald@jandi.co.nz> --- 229 unchanged lines hidden (view full) --- 238 239extern void dccp_send_ack(struct sock *sk); 240extern void dccp_reqsk_send_ack(struct sock *sk, struct sk_buff *skb, 241 struct request_sock *rsk); 242 243extern void dccp_send_sync(struct sock *sk, const u64 seq, 244 const enum dccp_pkt_type pkt_type); 245 | 1#ifndef _DCCP_H 2#define _DCCP_H 3/* 4 * net/dccp/dccp.h 5 * 6 * An implementation of the DCCP protocol 7 * Copyright (c) 2005 Arnaldo Carvalho de Melo <acme@conectiva.com.br> 8 * Copyright (c) 2005-6 Ian McDonald <ian.mcdonald@jandi.co.nz> --- 229 unchanged lines hidden (view full) --- 238 239extern void dccp_send_ack(struct sock *sk); 240extern void dccp_reqsk_send_ack(struct sock *sk, struct sk_buff *skb, 241 struct request_sock *rsk); 242 243extern void dccp_send_sync(struct sock *sk, const u64 seq, 244 const enum dccp_pkt_type pkt_type); 245 |
246/* 247 * TX Packet Dequeueing Interface 248 */ 249extern void dccp_qpolicy_push(struct sock *sk, struct sk_buff *skb); 250extern bool dccp_qpolicy_full(struct sock *sk); 251extern void dccp_qpolicy_drop(struct sock *sk, struct sk_buff *skb); 252extern struct sk_buff *dccp_qpolicy_top(struct sock *sk); 253extern struct sk_buff *dccp_qpolicy_pop(struct sock *sk); 254 255/* 256 * TX Packet Output and TX Timers 257 */ |
|
246extern void dccp_write_xmit(struct sock *sk); 247extern void dccp_write_space(struct sock *sk); 248extern void dccp_flush_write_queue(struct sock *sk, long *time_budget); 249 250extern void dccp_init_xmit_timers(struct sock *sk); 251static inline void dccp_clear_xmit_timers(struct sock *sk) 252{ 253 inet_csk_clear_xmit_timers(sk); --- 198 unchanged lines hidden (view full) --- 452 /* Ack validity window depends on local Sequence Window value (7.5.1) */ 453 dp->dccps_awl = SUB48(ADD48(dp->dccps_gss, 1), dp->dccps_l_seq_win); 454 /* Adjust AWL so that it is not below ISS - see comment above for SWL */ 455 if (before48(dp->dccps_awl, dp->dccps_iss)) 456 dp->dccps_awl = dp->dccps_iss; 457 dp->dccps_awh = dp->dccps_gss; 458} 459 | 258extern void dccp_write_xmit(struct sock *sk); 259extern void dccp_write_space(struct sock *sk); 260extern void dccp_flush_write_queue(struct sock *sk, long *time_budget); 261 262extern void dccp_init_xmit_timers(struct sock *sk); 263static inline void dccp_clear_xmit_timers(struct sock *sk) 264{ 265 inet_csk_clear_xmit_timers(sk); --- 198 unchanged lines hidden (view full) --- 464 /* Ack validity window depends on local Sequence Window value (7.5.1) */ 465 dp->dccps_awl = SUB48(ADD48(dp->dccps_gss, 1), dp->dccps_l_seq_win); 466 /* Adjust AWL so that it is not below ISS - see comment above for SWL */ 467 if (before48(dp->dccps_awl, dp->dccps_iss)) 468 dp->dccps_awl = dp->dccps_iss; 469 dp->dccps_awh = dp->dccps_gss; 470} 471 |
472static inline int dccp_ackvec_pending(const struct sock *sk) 473{ 474 return dccp_sk(sk)->dccps_hc_rx_ackvec != NULL && 475 !dccp_ackvec_is_empty(dccp_sk(sk)->dccps_hc_rx_ackvec); 476} 477 |
|
460static inline int dccp_ack_pending(const struct sock *sk) 461{ | 478static inline int dccp_ack_pending(const struct sock *sk) 479{ |
462 const struct dccp_sock *dp = dccp_sk(sk); 463 return (dp->dccps_hc_rx_ackvec != NULL && 464 dccp_ackvec_pending(dp->dccps_hc_rx_ackvec)) || 465 inet_csk_ack_scheduled(sk); | 480 return dccp_ackvec_pending(sk) || inet_csk_ack_scheduled(sk); |
466} 467 468extern int dccp_feat_finalise_settings(struct dccp_sock *dp); 469extern int dccp_feat_server_ccid_dependencies(struct dccp_request_sock *dreq); 470extern int dccp_feat_insert_opts(struct dccp_sock*, struct dccp_request_sock*, 471 struct sk_buff *skb); 472extern int dccp_feat_activate_values(struct sock *sk, struct list_head *fn); 473extern void dccp_feat_list_purge(struct list_head *fn_list); --- 24 unchanged lines hidden --- | 481} 482 483extern int dccp_feat_finalise_settings(struct dccp_sock *dp); 484extern int dccp_feat_server_ccid_dependencies(struct dccp_request_sock *dreq); 485extern int dccp_feat_insert_opts(struct dccp_sock*, struct dccp_request_sock*, 486 struct sk_buff *skb); 487extern int dccp_feat_activate_values(struct sock *sk, struct list_head *fn); 488extern void dccp_feat_list_purge(struct list_head *fn_list); --- 24 unchanged lines hidden --- |