Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

net: dccp: Remove extern from function prototypes

There are a mix of function prototypes with and without extern
in the kernel sources. Standardize on not using extern for
function prototypes.

Function prototypes don't need to be written with extern.
extern is assumed by the compiler. Its use is as unnecessary as
using auto to declare automatic/local variables in a block.

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

authored by

Joe Perches and committed by
David S. Miller
a402a5aa 348662a1

+146 -156
+10 -11
net/dccp/ackvec.h
··· 101 101 u8 avr_ack_nonce:1; 102 102 }; 103 103 104 - extern int dccp_ackvec_init(void); 105 - extern void dccp_ackvec_exit(void); 104 + int dccp_ackvec_init(void); 105 + void dccp_ackvec_exit(void); 106 106 107 - extern struct dccp_ackvec *dccp_ackvec_alloc(const gfp_t priority); 108 - extern void dccp_ackvec_free(struct dccp_ackvec *av); 107 + struct dccp_ackvec *dccp_ackvec_alloc(const gfp_t priority); 108 + void dccp_ackvec_free(struct dccp_ackvec *av); 109 109 110 - extern void dccp_ackvec_input(struct dccp_ackvec *av, struct sk_buff *skb); 111 - extern int dccp_ackvec_update_records(struct dccp_ackvec *av, u64 seq, u8 sum); 112 - extern void dccp_ackvec_clear_state(struct dccp_ackvec *av, const u64 ackno); 113 - extern u16 dccp_ackvec_buflen(const struct dccp_ackvec *av); 110 + void dccp_ackvec_input(struct dccp_ackvec *av, struct sk_buff *skb); 111 + int dccp_ackvec_update_records(struct dccp_ackvec *av, u64 seq, u8 sum); 112 + void dccp_ackvec_clear_state(struct dccp_ackvec *av, const u64 ackno); 113 + u16 dccp_ackvec_buflen(const struct dccp_ackvec *av); 114 114 115 115 static inline bool dccp_ackvec_is_empty(const struct dccp_ackvec *av) 116 116 { ··· 133 133 struct list_head node; 134 134 }; 135 135 136 - extern int dccp_ackvec_parsed_add(struct list_head *head, 137 - u8 *vec, u8 len, u8 nonce); 138 - extern void dccp_ackvec_parsed_cleanup(struct list_head *parsed_chunks); 136 + int dccp_ackvec_parsed_add(struct list_head *head, u8 *vec, u8 len, u8 nonce); 137 + void dccp_ackvec_parsed_cleanup(struct list_head *parsed_chunks); 139 138 #endif /* _ACKVEC_H */
+9 -9
net/dccp/ccid.h
··· 93 93 extern struct ccid_operations ccid3_ops; 94 94 #endif 95 95 96 - extern int ccid_initialize_builtins(void); 97 - extern void ccid_cleanup_builtins(void); 96 + int ccid_initialize_builtins(void); 97 + void ccid_cleanup_builtins(void); 98 98 99 99 struct ccid { 100 100 struct ccid_operations *ccid_ops; ··· 106 106 return (void *)ccid->ccid_priv; 107 107 } 108 108 109 - extern bool ccid_support_check(u8 const *ccid_array, u8 array_len); 110 - extern int ccid_get_builtin_ccids(u8 **ccid_array, u8 *array_len); 111 - extern int ccid_getsockopt_builtin_ccids(struct sock *sk, int len, 112 - char __user *, int __user *); 109 + bool ccid_support_check(u8 const *ccid_array, u8 array_len); 110 + int ccid_get_builtin_ccids(u8 **ccid_array, u8 *array_len); 111 + int ccid_getsockopt_builtin_ccids(struct sock *sk, int len, 112 + char __user *, int __user *); 113 113 114 - extern struct ccid *ccid_new(const u8 id, struct sock *sk, bool rx); 114 + struct ccid *ccid_new(const u8 id, struct sock *sk, bool rx); 115 115 116 116 static inline int ccid_get_current_rx_ccid(struct dccp_sock *dp) 117 117 { ··· 131 131 return ccid->ccid_ops->ccid_id; 132 132 } 133 133 134 - extern void ccid_hc_rx_delete(struct ccid *ccid, struct sock *sk); 135 - extern void ccid_hc_tx_delete(struct ccid *ccid, struct sock *sk); 134 + void ccid_hc_rx_delete(struct ccid *ccid, struct sock *sk); 135 + void ccid_hc_tx_delete(struct ccid *ccid, struct sock *sk); 136 136 137 137 /* 138 138 * Congestion control of queued data packets via CCID decision.
+4 -4
net/dccp/ccids/lib/loss_interval.h
··· 65 65 66 66 struct tfrc_rx_hist; 67 67 68 - extern int tfrc_lh_interval_add(struct tfrc_loss_hist *, struct tfrc_rx_hist *, 69 - u32 (*first_li)(struct sock *), struct sock *); 70 - extern u8 tfrc_lh_update_i_mean(struct tfrc_loss_hist *lh, struct sk_buff *); 71 - extern void tfrc_lh_cleanup(struct tfrc_loss_hist *lh); 68 + int tfrc_lh_interval_add(struct tfrc_loss_hist *, struct tfrc_rx_hist *, 69 + u32 (*first_li)(struct sock *), struct sock *); 70 + u8 tfrc_lh_update_i_mean(struct tfrc_loss_hist *lh, struct sk_buff *); 71 + void tfrc_lh_cleanup(struct tfrc_loss_hist *lh); 72 72 73 73 #endif /* _DCCP_LI_HIST_ */
+11 -14
net/dccp/ccids/lib/packet_history.h
··· 60 60 return head; 61 61 } 62 62 63 - extern int tfrc_tx_hist_add(struct tfrc_tx_hist_entry **headp, u64 seqno); 64 - extern void tfrc_tx_hist_purge(struct tfrc_tx_hist_entry **headp); 63 + int tfrc_tx_hist_add(struct tfrc_tx_hist_entry **headp, u64 seqno); 64 + void tfrc_tx_hist_purge(struct tfrc_tx_hist_entry **headp); 65 65 66 66 /* Subtraction a-b modulo-16, respects circular wrap-around */ 67 67 #define SUB16(a, b) (((a) + 16 - (b)) & 0xF) ··· 139 139 return h->loss_count > 0; 140 140 } 141 141 142 - extern void tfrc_rx_hist_add_packet(struct tfrc_rx_hist *h, 143 - const struct sk_buff *skb, const u64 ndp); 142 + void tfrc_rx_hist_add_packet(struct tfrc_rx_hist *h, const struct sk_buff *skb, 143 + const u64 ndp); 144 144 145 - extern int tfrc_rx_hist_duplicate(struct tfrc_rx_hist *h, struct sk_buff *skb); 145 + int tfrc_rx_hist_duplicate(struct tfrc_rx_hist *h, struct sk_buff *skb); 146 146 147 147 struct tfrc_loss_hist; 148 - extern int tfrc_rx_handle_loss(struct tfrc_rx_hist *h, 149 - struct tfrc_loss_hist *lh, 150 - struct sk_buff *skb, const u64 ndp, 151 - u32 (*first_li)(struct sock *sk), 152 - struct sock *sk); 153 - extern u32 tfrc_rx_hist_sample_rtt(struct tfrc_rx_hist *h, 154 - const struct sk_buff *skb); 155 - extern int tfrc_rx_hist_alloc(struct tfrc_rx_hist *h); 156 - extern void tfrc_rx_hist_purge(struct tfrc_rx_hist *h); 148 + int tfrc_rx_handle_loss(struct tfrc_rx_hist *h, struct tfrc_loss_hist *lh, 149 + struct sk_buff *skb, const u64 ndp, 150 + u32 (*first_li)(struct sock *sk), struct sock *sk); 151 + u32 tfrc_rx_hist_sample_rtt(struct tfrc_rx_hist *h, const struct sk_buff *skb); 152 + int tfrc_rx_hist_alloc(struct tfrc_rx_hist *h); 153 + void tfrc_rx_hist_purge(struct tfrc_rx_hist *h); 157 154 158 155 #endif /* _DCCP_PKT_HIST_ */
+11 -11
net/dccp/ccids/lib/tfrc.h
··· 55 55 return avg ? (weight * avg + (10 - weight) * newval) / 10 : newval; 56 56 } 57 57 58 - extern u32 tfrc_calc_x(u16 s, u32 R, u32 p); 59 - extern u32 tfrc_calc_x_reverse_lookup(u32 fvalue); 60 - extern u32 tfrc_invert_loss_event_rate(u32 loss_event_rate); 58 + u32 tfrc_calc_x(u16 s, u32 R, u32 p); 59 + u32 tfrc_calc_x_reverse_lookup(u32 fvalue); 60 + u32 tfrc_invert_loss_event_rate(u32 loss_event_rate); 61 61 62 - extern int tfrc_tx_packet_history_init(void); 63 - extern void tfrc_tx_packet_history_exit(void); 64 - extern int tfrc_rx_packet_history_init(void); 65 - extern void tfrc_rx_packet_history_exit(void); 62 + int tfrc_tx_packet_history_init(void); 63 + void tfrc_tx_packet_history_exit(void); 64 + int tfrc_rx_packet_history_init(void); 65 + void tfrc_rx_packet_history_exit(void); 66 66 67 - extern int tfrc_li_init(void); 68 - extern void tfrc_li_exit(void); 67 + int tfrc_li_init(void); 68 + void tfrc_li_exit(void); 69 69 70 70 #ifdef CONFIG_IP_DCCP_TFRC_LIB 71 - extern int tfrc_lib_init(void); 72 - extern void tfrc_lib_exit(void); 71 + int tfrc_lib_init(void); 72 + void tfrc_lib_exit(void); 73 73 #else 74 74 #define tfrc_lib_init() (0) 75 75 #define tfrc_lib_exit()
+88 -94
net/dccp/dccp.h
··· 53 53 54 54 extern struct percpu_counter dccp_orphan_count; 55 55 56 - extern void dccp_time_wait(struct sock *sk, int state, int timeo); 56 + void dccp_time_wait(struct sock *sk, int state, int timeo); 57 57 58 58 /* 59 59 * Set safe upper bounds for header and option length. Since Data Offset is 8 ··· 224 224 skb->csum = skb_checksum(skb, 0, (cov > skb->len)? skb->len : cov, 0); 225 225 } 226 226 227 - extern void dccp_v4_send_check(struct sock *sk, struct sk_buff *skb); 227 + void dccp_v4_send_check(struct sock *sk, struct sk_buff *skb); 228 228 229 - extern int dccp_retransmit_skb(struct sock *sk); 229 + int dccp_retransmit_skb(struct sock *sk); 230 230 231 - extern void dccp_send_ack(struct sock *sk); 232 - extern void dccp_reqsk_send_ack(struct sock *sk, struct sk_buff *skb, 233 - struct request_sock *rsk); 231 + void dccp_send_ack(struct sock *sk); 232 + void dccp_reqsk_send_ack(struct sock *sk, struct sk_buff *skb, 233 + struct request_sock *rsk); 234 234 235 - extern void dccp_send_sync(struct sock *sk, const u64 seq, 236 - const enum dccp_pkt_type pkt_type); 235 + void dccp_send_sync(struct sock *sk, const u64 seq, 236 + const enum dccp_pkt_type pkt_type); 237 237 238 238 /* 239 239 * TX Packet Dequeueing Interface 240 240 */ 241 - extern void dccp_qpolicy_push(struct sock *sk, struct sk_buff *skb); 242 - extern bool dccp_qpolicy_full(struct sock *sk); 243 - extern void dccp_qpolicy_drop(struct sock *sk, struct sk_buff *skb); 244 - extern struct sk_buff *dccp_qpolicy_top(struct sock *sk); 245 - extern struct sk_buff *dccp_qpolicy_pop(struct sock *sk); 246 - extern bool dccp_qpolicy_param_ok(struct sock *sk, __be32 param); 241 + void dccp_qpolicy_push(struct sock *sk, struct sk_buff *skb); 242 + bool dccp_qpolicy_full(struct sock *sk); 243 + void dccp_qpolicy_drop(struct sock *sk, struct sk_buff *skb); 244 + struct sk_buff *dccp_qpolicy_top(struct sock *sk); 245 + struct sk_buff *dccp_qpolicy_pop(struct sock *sk); 246 + bool dccp_qpolicy_param_ok(struct sock *sk, __be32 param); 247 247 248 248 /* 249 249 * TX Packet Output and TX Timers 250 250 */ 251 - extern void dccp_write_xmit(struct sock *sk); 252 - extern void dccp_write_space(struct sock *sk); 253 - extern void dccp_flush_write_queue(struct sock *sk, long *time_budget); 251 + void dccp_write_xmit(struct sock *sk); 252 + void dccp_write_space(struct sock *sk); 253 + void dccp_flush_write_queue(struct sock *sk, long *time_budget); 254 254 255 - extern void dccp_init_xmit_timers(struct sock *sk); 255 + void dccp_init_xmit_timers(struct sock *sk); 256 256 static inline void dccp_clear_xmit_timers(struct sock *sk) 257 257 { 258 258 inet_csk_clear_xmit_timers(sk); 259 259 } 260 260 261 - extern unsigned int dccp_sync_mss(struct sock *sk, u32 pmtu); 261 + unsigned int dccp_sync_mss(struct sock *sk, u32 pmtu); 262 262 263 - extern const char *dccp_packet_name(const int type); 263 + const char *dccp_packet_name(const int type); 264 264 265 - extern void dccp_set_state(struct sock *sk, const int state); 266 - extern void dccp_done(struct sock *sk); 265 + void dccp_set_state(struct sock *sk, const int state); 266 + void dccp_done(struct sock *sk); 267 267 268 - extern int dccp_reqsk_init(struct request_sock *rq, struct dccp_sock const *dp, 269 - struct sk_buff const *skb); 268 + int dccp_reqsk_init(struct request_sock *rq, struct dccp_sock const *dp, 269 + struct sk_buff const *skb); 270 270 271 - extern int dccp_v4_conn_request(struct sock *sk, struct sk_buff *skb); 271 + int dccp_v4_conn_request(struct sock *sk, struct sk_buff *skb); 272 272 273 - extern struct sock *dccp_create_openreq_child(struct sock *sk, 274 - const struct request_sock *req, 275 - const struct sk_buff *skb); 273 + struct sock *dccp_create_openreq_child(struct sock *sk, 274 + const struct request_sock *req, 275 + const struct sk_buff *skb); 276 276 277 - extern int dccp_v4_do_rcv(struct sock *sk, struct sk_buff *skb); 277 + int dccp_v4_do_rcv(struct sock *sk, struct sk_buff *skb); 278 278 279 - extern struct sock *dccp_v4_request_recv_sock(struct sock *sk, 280 - struct sk_buff *skb, 281 - struct request_sock *req, 282 - struct dst_entry *dst); 283 - extern struct sock *dccp_check_req(struct sock *sk, struct sk_buff *skb, 284 - struct request_sock *req, 285 - struct request_sock **prev); 279 + struct sock *dccp_v4_request_recv_sock(struct sock *sk, struct sk_buff *skb, 280 + struct request_sock *req, 281 + struct dst_entry *dst); 282 + struct sock *dccp_check_req(struct sock *sk, struct sk_buff *skb, 283 + struct request_sock *req, 284 + struct request_sock **prev); 286 285 287 - extern int dccp_child_process(struct sock *parent, struct sock *child, 288 - struct sk_buff *skb); 289 - extern int dccp_rcv_state_process(struct sock *sk, struct sk_buff *skb, 290 - struct dccp_hdr *dh, unsigned int len); 291 - extern int dccp_rcv_established(struct sock *sk, struct sk_buff *skb, 292 - const struct dccp_hdr *dh, const unsigned int len); 286 + int dccp_child_process(struct sock *parent, struct sock *child, 287 + struct sk_buff *skb); 288 + int dccp_rcv_state_process(struct sock *sk, struct sk_buff *skb, 289 + struct dccp_hdr *dh, unsigned int len); 290 + int dccp_rcv_established(struct sock *sk, struct sk_buff *skb, 291 + const struct dccp_hdr *dh, const unsigned int len); 293 292 294 - extern int dccp_init_sock(struct sock *sk, const __u8 ctl_sock_initialized); 295 - extern void dccp_destroy_sock(struct sock *sk); 293 + int dccp_init_sock(struct sock *sk, const __u8 ctl_sock_initialized); 294 + void dccp_destroy_sock(struct sock *sk); 296 295 297 - extern void dccp_close(struct sock *sk, long timeout); 298 - extern struct sk_buff *dccp_make_response(struct sock *sk, 299 - struct dst_entry *dst, 300 - struct request_sock *req); 296 + void dccp_close(struct sock *sk, long timeout); 297 + struct sk_buff *dccp_make_response(struct sock *sk, struct dst_entry *dst, 298 + struct request_sock *req); 301 299 302 - extern int dccp_connect(struct sock *sk); 303 - extern int dccp_disconnect(struct sock *sk, int flags); 304 - extern int dccp_getsockopt(struct sock *sk, int level, int optname, 305 - char __user *optval, int __user *optlen); 306 - extern int dccp_setsockopt(struct sock *sk, int level, int optname, 307 - char __user *optval, unsigned int optlen); 300 + int dccp_connect(struct sock *sk); 301 + int dccp_disconnect(struct sock *sk, int flags); 302 + int dccp_getsockopt(struct sock *sk, int level, int optname, 303 + char __user *optval, int __user *optlen); 304 + int dccp_setsockopt(struct sock *sk, int level, int optname, 305 + char __user *optval, unsigned int optlen); 308 306 #ifdef CONFIG_COMPAT 309 - extern int compat_dccp_getsockopt(struct sock *sk, 310 - int level, int optname, 311 - char __user *optval, int __user *optlen); 312 - extern int compat_dccp_setsockopt(struct sock *sk, 313 - int level, int optname, 314 - char __user *optval, unsigned int optlen); 307 + int compat_dccp_getsockopt(struct sock *sk, int level, int optname, 308 + char __user *optval, int __user *optlen); 309 + int compat_dccp_setsockopt(struct sock *sk, int level, int optname, 310 + char __user *optval, unsigned int optlen); 315 311 #endif 316 - extern int dccp_ioctl(struct sock *sk, int cmd, unsigned long arg); 317 - extern int dccp_sendmsg(struct kiocb *iocb, struct sock *sk, 318 - struct msghdr *msg, size_t size); 319 - extern int dccp_recvmsg(struct kiocb *iocb, struct sock *sk, 320 - struct msghdr *msg, size_t len, int nonblock, 321 - int flags, int *addr_len); 322 - extern void dccp_shutdown(struct sock *sk, int how); 323 - extern int inet_dccp_listen(struct socket *sock, int backlog); 324 - extern unsigned int dccp_poll(struct file *file, struct socket *sock, 325 - poll_table *wait); 326 - extern int dccp_v4_connect(struct sock *sk, struct sockaddr *uaddr, 327 - int addr_len); 312 + int dccp_ioctl(struct sock *sk, int cmd, unsigned long arg); 313 + int dccp_sendmsg(struct kiocb *iocb, struct sock *sk, struct msghdr *msg, 314 + size_t size); 315 + int dccp_recvmsg(struct kiocb *iocb, struct sock *sk, 316 + struct msghdr *msg, size_t len, int nonblock, int flags, 317 + int *addr_len); 318 + void dccp_shutdown(struct sock *sk, int how); 319 + int inet_dccp_listen(struct socket *sock, int backlog); 320 + unsigned int dccp_poll(struct file *file, struct socket *sock, 321 + poll_table *wait); 322 + int dccp_v4_connect(struct sock *sk, struct sockaddr *uaddr, int addr_len); 328 323 329 - extern struct sk_buff *dccp_ctl_make_reset(struct sock *sk, 330 - struct sk_buff *skb); 331 - extern int dccp_send_reset(struct sock *sk, enum dccp_reset_codes code); 332 - extern void dccp_send_close(struct sock *sk, const int active); 333 - extern int dccp_invalid_packet(struct sk_buff *skb); 334 - extern u32 dccp_sample_rtt(struct sock *sk, long delta); 324 + struct sk_buff *dccp_ctl_make_reset(struct sock *sk, struct sk_buff *skb); 325 + int dccp_send_reset(struct sock *sk, enum dccp_reset_codes code); 326 + void dccp_send_close(struct sock *sk, const int active); 327 + int dccp_invalid_packet(struct sk_buff *skb); 328 + u32 dccp_sample_rtt(struct sock *sk, long delta); 335 329 336 330 static inline int dccp_bad_service_code(const struct sock *sk, 337 331 const __be32 service) ··· 469 475 return dccp_ackvec_pending(sk) || inet_csk_ack_scheduled(sk); 470 476 } 471 477 472 - extern int dccp_feat_signal_nn_change(struct sock *sk, u8 feat, u64 nn_val); 473 - extern int dccp_feat_finalise_settings(struct dccp_sock *dp); 474 - extern int dccp_feat_server_ccid_dependencies(struct dccp_request_sock *dreq); 475 - extern int dccp_feat_insert_opts(struct dccp_sock*, struct dccp_request_sock*, 476 - struct sk_buff *skb); 477 - extern int dccp_feat_activate_values(struct sock *sk, struct list_head *fn); 478 - extern void dccp_feat_list_purge(struct list_head *fn_list); 478 + int dccp_feat_signal_nn_change(struct sock *sk, u8 feat, u64 nn_val); 479 + int dccp_feat_finalise_settings(struct dccp_sock *dp); 480 + int dccp_feat_server_ccid_dependencies(struct dccp_request_sock *dreq); 481 + int dccp_feat_insert_opts(struct dccp_sock*, struct dccp_request_sock*, 482 + struct sk_buff *skb); 483 + int dccp_feat_activate_values(struct sock *sk, struct list_head *fn); 484 + void dccp_feat_list_purge(struct list_head *fn_list); 479 485 480 - extern int dccp_insert_options(struct sock *sk, struct sk_buff *skb); 481 - extern int dccp_insert_options_rsk(struct dccp_request_sock*, struct sk_buff*); 482 - extern int dccp_insert_option_elapsed_time(struct sk_buff *skb, u32 elapsed); 483 - extern u32 dccp_timestamp(void); 484 - extern void dccp_timestamping_init(void); 485 - extern int dccp_insert_option(struct sk_buff *skb, unsigned char option, 486 - const void *value, unsigned char len); 486 + int dccp_insert_options(struct sock *sk, struct sk_buff *skb); 487 + int dccp_insert_options_rsk(struct dccp_request_sock *, struct sk_buff *); 488 + int dccp_insert_option_elapsed_time(struct sk_buff *skb, u32 elapsed); 489 + u32 dccp_timestamp(void); 490 + void dccp_timestamping_init(void); 491 + int dccp_insert_option(struct sk_buff *skb, unsigned char option, 492 + const void *value, unsigned char len); 487 493 488 494 #ifdef CONFIG_SYSCTL 489 - extern int dccp_sysctl_init(void); 490 - extern void dccp_sysctl_exit(void); 495 + int dccp_sysctl_init(void); 496 + void dccp_sysctl_exit(void); 491 497 #else 492 498 static inline int dccp_sysctl_init(void) 493 499 {
+13 -13
net/dccp/feat.h
··· 107 107 extern int sysctl_dccp_rx_ccid; 108 108 extern int sysctl_dccp_tx_ccid; 109 109 110 - extern int dccp_feat_init(struct sock *sk); 111 - extern void dccp_feat_initialise_sysctls(void); 112 - extern int dccp_feat_register_sp(struct sock *sk, u8 feat, u8 is_local, 113 - u8 const *list, u8 len); 114 - extern int dccp_feat_parse_options(struct sock *, struct dccp_request_sock *, 115 - u8 mand, u8 opt, u8 feat, u8 *val, u8 len); 116 - extern int dccp_feat_clone_list(struct list_head const *, struct list_head *); 110 + int dccp_feat_init(struct sock *sk); 111 + void dccp_feat_initialise_sysctls(void); 112 + int dccp_feat_register_sp(struct sock *sk, u8 feat, u8 is_local, 113 + u8 const *list, u8 len); 114 + int dccp_feat_parse_options(struct sock *, struct dccp_request_sock *, 115 + u8 mand, u8 opt, u8 feat, u8 *val, u8 len); 116 + int dccp_feat_clone_list(struct list_head const *, struct list_head *); 117 117 118 118 /* 119 119 * Encoding variable-length options and their maximum length. ··· 127 127 */ 128 128 #define DCCP_OPTVAL_MAXLEN 6 129 129 130 - extern void dccp_encode_value_var(const u64 value, u8 *to, const u8 len); 131 - extern u64 dccp_decode_value_var(const u8 *bf, const u8 len); 132 - extern u64 dccp_feat_nn_get(struct sock *sk, u8 feat); 130 + void dccp_encode_value_var(const u64 value, u8 *to, const u8 len); 131 + u64 dccp_decode_value_var(const u8 *bf, const u8 len); 132 + u64 dccp_feat_nn_get(struct sock *sk, u8 feat); 133 133 134 - extern int dccp_insert_option_mandatory(struct sk_buff *skb); 135 - extern int dccp_insert_fn_opt(struct sk_buff *skb, u8 type, u8 feat, 136 - u8 *val, u8 len, bool repeat_first); 134 + int dccp_insert_option_mandatory(struct sk_buff *skb); 135 + int dccp_insert_fn_opt(struct sk_buff *skb, u8 type, u8 feat, u8 *val, u8 len, 136 + bool repeat_first); 137 137 #endif /* _DCCP_FEAT_H */