]> err.no Git - linux-2.6/blobdiff - net/dccp/ccid.h
[PATCH] CHECK_IRQ_PER_CPU() to avoid dead code in __do_IRQ()
[linux-2.6] / net / dccp / ccid.h
index 95eb47d855172963ef67aa5db42b39ae146079f5..962f1e9e2f7e5fe42c16112ec657bdd7174f2aac 100644 (file)
@@ -50,6 +50,10 @@ struct ccid {
                                                  struct sk_buff *skb, int len);
        void            (*ccid_hc_tx_packet_sent)(struct sock *sk, int more,
                                                  int len);
+       void            (*ccid_hc_rx_get_info)(struct sock *sk,
+                                              struct tcp_info *info);
+       void            (*ccid_hc_tx_get_info)(struct sock *sk,
+                                              struct tcp_info *info);
 };
 
 extern int        ccid_register(struct ccid *ccid);
@@ -97,13 +101,15 @@ static inline int ccid_hc_tx_init(struct ccid *ccid, struct sock *sk)
 
 static inline void ccid_hc_rx_exit(struct ccid *ccid, struct sock *sk)
 {
-       if (ccid->ccid_hc_rx_exit != NULL)
+       if (ccid->ccid_hc_rx_exit != NULL &&
+           dccp_sk(sk)->dccps_hc_rx_ccid_private != NULL)
                ccid->ccid_hc_rx_exit(sk);
 }
 
 static inline void ccid_hc_tx_exit(struct ccid *ccid, struct sock *sk)
 {
-       if (ccid->ccid_hc_tx_exit != NULL)
+       if (ccid->ccid_hc_tx_exit != NULL &&
+           dccp_sk(sk)->dccps_hc_tx_ccid_private != NULL)
                ccid->ccid_hc_tx_exit(sk);
 }
 
@@ -157,4 +163,18 @@ static inline void ccid_hc_rx_insert_options(struct ccid *ccid, struct sock *sk,
        if (ccid->ccid_hc_rx_insert_options != NULL)
                ccid->ccid_hc_rx_insert_options(sk, skb);
 }
+
+static inline void ccid_hc_rx_get_info(struct ccid *ccid, struct sock *sk,
+                                      struct tcp_info *info)
+{
+       if (ccid->ccid_hc_rx_get_info != NULL)
+               ccid->ccid_hc_rx_get_info(sk, info);
+}
+
+static inline void ccid_hc_tx_get_info(struct ccid *ccid, struct sock *sk,
+                                      struct tcp_info *info)
+{
+       if (ccid->ccid_hc_tx_get_info != NULL)
+               ccid->ccid_hc_tx_get_info(sk, info);
+}
 #endif /* _CCID_H */