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 ---