diff options
Diffstat (limited to 'net/dccp/ackvec.h')
-rw-r--r-- | net/dccp/ackvec.h | 79 |
1 files changed, 1 insertions, 78 deletions
diff --git a/net/dccp/ackvec.h b/net/dccp/ackvec.h index 36ca2e9e5c84..db447503b636 100644 --- a/net/dccp/ackvec.h +++ b/net/dccp/ackvec.h | |||
@@ -64,7 +64,6 @@ static inline u8 dccp_ackvec_state(const u8 *cell) | |||
64 | * %DCCP_SINGLE_OPT_MAXLEN cells in the live portion of @av_buf | 64 | * %DCCP_SINGLE_OPT_MAXLEN cells in the live portion of @av_buf |
65 | * @av_overflow: if 1 then buf_head == buf_tail indicates buffer wraparound | 65 | * @av_overflow: if 1 then buf_head == buf_tail indicates buffer wraparound |
66 | * @av_records: list of %dccp_ackvec_record (Ack Vectors sent previously) | 66 | * @av_records: list of %dccp_ackvec_record (Ack Vectors sent previously) |
67 | * @av_veclen: length of the live portion of @av_buf | ||
68 | */ | 67 | */ |
69 | struct dccp_ackvec { | 68 | struct dccp_ackvec { |
70 | u8 av_buf[DCCPAV_MAX_ACKVEC_LEN]; | 69 | u8 av_buf[DCCPAV_MAX_ACKVEC_LEN]; |
@@ -75,7 +74,6 @@ struct dccp_ackvec { | |||
75 | bool av_buf_nonce[DCCPAV_NUM_ACKVECS]; | 74 | bool av_buf_nonce[DCCPAV_NUM_ACKVECS]; |
76 | u8 av_overflow:1; | 75 | u8 av_overflow:1; |
77 | struct list_head av_records; | 76 | struct list_head av_records; |
78 | u16 av_vec_len; | ||
79 | }; | 77 | }; |
80 | 78 | ||
81 | /** struct dccp_ackvec_record - Records information about sent Ack Vectors | 79 | /** struct dccp_ackvec_record - Records information about sent Ack Vectors |
@@ -101,25 +99,12 @@ struct dccp_ackvec_record { | |||
101 | u8 avr_ack_nonce:1; | 99 | u8 avr_ack_nonce:1; |
102 | }; | 100 | }; |
103 | 101 | ||
104 | struct sock; | 102 | extern int dccp_ackvec_init(void); |
105 | struct sk_buff; | ||
106 | |||
107 | #ifdef CONFIG_IP_DCCP_ACKVEC | ||
108 | extern int dccp_ackvec_init(void); | ||
109 | extern void dccp_ackvec_exit(void); | 103 | extern void dccp_ackvec_exit(void); |
110 | 104 | ||
111 | extern struct dccp_ackvec *dccp_ackvec_alloc(const gfp_t priority); | 105 | extern struct dccp_ackvec *dccp_ackvec_alloc(const gfp_t priority); |
112 | extern void dccp_ackvec_free(struct dccp_ackvec *av); | 106 | extern void dccp_ackvec_free(struct dccp_ackvec *av); |
113 | 107 | ||
114 | extern int dccp_ackvec_add(struct dccp_ackvec *av, const struct sock *sk, | ||
115 | const u64 ackno, const u8 state); | ||
116 | |||
117 | extern void dccp_ackvec_check_rcv_ackno(struct dccp_ackvec *av, | ||
118 | struct sock *sk, const u64 ackno); | ||
119 | extern int dccp_ackvec_parse(struct sock *sk, const struct sk_buff *skb, | ||
120 | u64 *ackno, const u8 opt, | ||
121 | const u8 *value, const u8 len); | ||
122 | |||
123 | extern void dccp_ackvec_input(struct dccp_ackvec *av, struct sk_buff *skb); | 108 | extern void dccp_ackvec_input(struct dccp_ackvec *av, struct sk_buff *skb); |
124 | extern int dccp_ackvec_update_records(struct dccp_ackvec *av, u64 seq, u8 sum); | 109 | extern int dccp_ackvec_update_records(struct dccp_ackvec *av, u64 seq, u8 sum); |
125 | extern void dccp_ackvec_clear_state(struct dccp_ackvec *av, const u64 ackno); | 110 | extern void dccp_ackvec_clear_state(struct dccp_ackvec *av, const u64 ackno); |
@@ -129,66 +114,4 @@ static inline bool dccp_ackvec_is_empty(const struct dccp_ackvec *av) | |||
129 | { | 114 | { |
130 | return av->av_overflow == 0 && av->av_buf_head == av->av_buf_tail; | 115 | return av->av_overflow == 0 && av->av_buf_head == av->av_buf_tail; |
131 | } | 116 | } |
132 | #else /* CONFIG_IP_DCCP_ACKVEC */ | ||
133 | static inline int dccp_ackvec_init(void) | ||
134 | { | ||
135 | return 0; | ||
136 | } | ||
137 | |||
138 | static inline void dccp_ackvec_exit(void) | ||
139 | { | ||
140 | } | ||
141 | |||
142 | static inline struct dccp_ackvec *dccp_ackvec_alloc(const gfp_t priority) | ||
143 | { | ||
144 | return NULL; | ||
145 | } | ||
146 | |||
147 | static inline void dccp_ackvec_free(struct dccp_ackvec *av) | ||
148 | { | ||
149 | } | ||
150 | |||
151 | static inline void dccp_ackvec_input(struct dccp_ackvec *av, struct sk_buff *skb) | ||
152 | { | ||
153 | |||
154 | } | ||
155 | |||
156 | static inline int dccp_ackvec_add(struct dccp_ackvec *av, const struct sock *sk, | ||
157 | const u64 ackno, const u8 state) | ||
158 | { | ||
159 | return -1; | ||
160 | } | ||
161 | |||
162 | static inline void dccp_ackvec_clear_state(struct dccp_ackvec *av, | ||
163 | const u64 ackno) | ||
164 | { | ||
165 | } | ||
166 | |||
167 | static inline void dccp_ackvec_check_rcv_ackno(struct dccp_ackvec *av, | ||
168 | struct sock *sk, const u64 ackno) | ||
169 | { | ||
170 | } | ||
171 | |||
172 | static inline int dccp_ackvec_parse(struct sock *sk, const struct sk_buff *skb, | ||
173 | const u64 *ackno, const u8 opt, | ||
174 | const u8 *value, const u8 len) | ||
175 | { | ||
176 | return -1; | ||
177 | } | ||
178 | |||
179 | static inline int dccp_ackvec_update_records(struct dccp_ackvec *av, u64 seq, u8 nonce) | ||
180 | { | ||
181 | return -1; | ||
182 | } | ||
183 | |||
184 | static inline u16 dccp_ackvec_buflen(const struct dccp_ackvec *av) | ||
185 | { | ||
186 | return 0; | ||
187 | } | ||
188 | |||
189 | static inline bool dccp_ackvec_is_empty(const struct dccp_ackvec *av) | ||
190 | { | ||
191 | return true; | ||
192 | } | ||
193 | #endif /* CONFIG_IP_DCCP_ACKVEC */ | ||
194 | #endif /* _ACKVEC_H */ | 117 | #endif /* _ACKVEC_H */ |