diff options
Diffstat (limited to 'include/net')
-rw-r--r-- | include/net/bluetooth/bluetooth.h | 2 | ||||
-rw-r--r-- | include/net/bluetooth/hci_core.h | 24 | ||||
-rw-r--r-- | include/net/inet_timewait_sock.h | 1 | ||||
-rw-r--r-- | include/net/ip_vs.h | 26 | ||||
-rw-r--r-- | include/net/lib80211.h | 3 | ||||
-rw-r--r-- | include/net/netfilter/nf_conntrack.h | 2 | ||||
-rw-r--r-- | include/net/netfilter/nf_conntrack_tuple.h | 27 | ||||
-rw-r--r-- | include/net/netfilter/nf_log.h | 3 | ||||
-rw-r--r-- | include/net/netfilter/nf_nat.h | 26 | ||||
-rw-r--r-- | include/net/netlink.h | 11 | ||||
-rw-r--r-- | include/net/sch_generic.h | 1 | ||||
-rw-r--r-- | include/net/sock.h | 6 | ||||
-rw-r--r-- | include/net/tcp.h | 10 | ||||
-rw-r--r-- | include/net/udp.h | 12 |
14 files changed, 59 insertions, 95 deletions
diff --git a/include/net/bluetooth/bluetooth.h b/include/net/bluetooth/bluetooth.h index 38cd3dab7f1d..835f3b229b84 100644 --- a/include/net/bluetooth/bluetooth.h +++ b/include/net/bluetooth/bluetooth.h | |||
@@ -104,7 +104,7 @@ struct bt_power { | |||
104 | */ | 104 | */ |
105 | #define BT_CHANNEL_POLICY_AMP_PREFERRED 2 | 105 | #define BT_CHANNEL_POLICY_AMP_PREFERRED 2 |
106 | 106 | ||
107 | __attribute__((format (printf, 2, 3))) | 107 | __printf(2, 3) |
108 | int bt_printk(const char *level, const char *fmt, ...); | 108 | int bt_printk(const char *level, const char *fmt, ...); |
109 | 109 | ||
110 | #define BT_INFO(fmt, arg...) bt_printk(KERN_INFO, pr_fmt(fmt), ##arg) | 110 | #define BT_INFO(fmt, arg...) bt_printk(KERN_INFO, pr_fmt(fmt), ##arg) |
diff --git a/include/net/bluetooth/hci_core.h b/include/net/bluetooth/hci_core.h index 0a5a05d9109c..f333e7682607 100644 --- a/include/net/bluetooth/hci_core.h +++ b/include/net/bluetooth/hci_core.h | |||
@@ -572,11 +572,15 @@ static inline void __hci_dev_put(struct hci_dev *d) | |||
572 | d->destruct(d); | 572 | d->destruct(d); |
573 | } | 573 | } |
574 | 574 | ||
575 | static inline void hci_dev_put(struct hci_dev *d) | 575 | /* |
576 | { | 576 | * hci_dev_put and hci_dev_hold are macros to avoid dragging all the |
577 | __hci_dev_put(d); | 577 | * overhead of all the modular infrastructure into this header. |
578 | module_put(d->owner); | 578 | */ |
579 | } | 579 | #define hci_dev_put(d) \ |
580 | do { \ | ||
581 | __hci_dev_put(d); \ | ||
582 | module_put(d->owner); \ | ||
583 | } while (0) | ||
580 | 584 | ||
581 | static inline struct hci_dev *__hci_dev_hold(struct hci_dev *d) | 585 | static inline struct hci_dev *__hci_dev_hold(struct hci_dev *d) |
582 | { | 586 | { |
@@ -584,12 +588,10 @@ static inline struct hci_dev *__hci_dev_hold(struct hci_dev *d) | |||
584 | return d; | 588 | return d; |
585 | } | 589 | } |
586 | 590 | ||
587 | static inline struct hci_dev *hci_dev_hold(struct hci_dev *d) | 591 | #define hci_dev_hold(d) \ |
588 | { | 592 | ({ \ |
589 | if (try_module_get(d->owner)) | 593 | try_module_get(d->owner) ? __hci_dev_hold(d) : NULL; \ |
590 | return __hci_dev_hold(d); | 594 | }) |
591 | return NULL; | ||
592 | } | ||
593 | 595 | ||
594 | #define hci_dev_lock(d) spin_lock(&d->lock) | 596 | #define hci_dev_lock(d) spin_lock(&d->lock) |
595 | #define hci_dev_unlock(d) spin_unlock(&d->lock) | 597 | #define hci_dev_unlock(d) spin_unlock(&d->lock) |
diff --git a/include/net/inet_timewait_sock.h b/include/net/inet_timewait_sock.h index f91a1fb5da7c..e8c25b981205 100644 --- a/include/net/inet_timewait_sock.h +++ b/include/net/inet_timewait_sock.h | |||
@@ -18,7 +18,6 @@ | |||
18 | 18 | ||
19 | #include <linux/kmemcheck.h> | 19 | #include <linux/kmemcheck.h> |
20 | #include <linux/list.h> | 20 | #include <linux/list.h> |
21 | #include <linux/module.h> | ||
22 | #include <linux/timer.h> | 21 | #include <linux/timer.h> |
23 | #include <linux/types.h> | 22 | #include <linux/types.h> |
24 | #include <linux/workqueue.h> | 23 | #include <linux/workqueue.h> |
diff --git a/include/net/ip_vs.h b/include/net/ip_vs.h index 8fa4430f99c1..873d5be7926c 100644 --- a/include/net/ip_vs.h +++ b/include/net/ip_vs.h | |||
@@ -425,9 +425,9 @@ struct ip_vs_protocol { | |||
425 | 425 | ||
426 | const char *(*state_name)(int state); | 426 | const char *(*state_name)(int state); |
427 | 427 | ||
428 | int (*state_transition)(struct ip_vs_conn *cp, int direction, | 428 | void (*state_transition)(struct ip_vs_conn *cp, int direction, |
429 | const struct sk_buff *skb, | 429 | const struct sk_buff *skb, |
430 | struct ip_vs_proto_data *pd); | 430 | struct ip_vs_proto_data *pd); |
431 | 431 | ||
432 | int (*register_app)(struct net *net, struct ip_vs_app *inc); | 432 | int (*register_app)(struct net *net, struct ip_vs_app *inc); |
433 | 433 | ||
@@ -1126,17 +1126,16 @@ int unregister_ip_vs_pe(struct ip_vs_pe *pe); | |||
1126 | struct ip_vs_pe *ip_vs_pe_getbyname(const char *name); | 1126 | struct ip_vs_pe *ip_vs_pe_getbyname(const char *name); |
1127 | struct ip_vs_pe *__ip_vs_pe_getbyname(const char *pe_name); | 1127 | struct ip_vs_pe *__ip_vs_pe_getbyname(const char *pe_name); |
1128 | 1128 | ||
1129 | static inline void ip_vs_pe_get(const struct ip_vs_pe *pe) | 1129 | /* |
1130 | { | 1130 | * Use a #define to avoid all of module.h just for these trivial ops |
1131 | if (pe && pe->module) | 1131 | */ |
1132 | #define ip_vs_pe_get(pe) \ | ||
1133 | if (pe && pe->module) \ | ||
1132 | __module_get(pe->module); | 1134 | __module_get(pe->module); |
1133 | } | ||
1134 | 1135 | ||
1135 | static inline void ip_vs_pe_put(const struct ip_vs_pe *pe) | 1136 | #define ip_vs_pe_put(pe) \ |
1136 | { | 1137 | if (pe && pe->module) \ |
1137 | if (pe && pe->module) | ||
1138 | module_put(pe->module); | 1138 | module_put(pe->module); |
1139 | } | ||
1140 | 1139 | ||
1141 | /* | 1140 | /* |
1142 | * IPVS protocol functions (from ip_vs_proto.c) | 1141 | * IPVS protocol functions (from ip_vs_proto.c) |
@@ -1378,7 +1377,7 @@ static inline int ip_vs_conntrack_enabled(struct netns_ipvs *ipvs) | |||
1378 | 1377 | ||
1379 | extern void ip_vs_update_conntrack(struct sk_buff *skb, struct ip_vs_conn *cp, | 1378 | extern void ip_vs_update_conntrack(struct sk_buff *skb, struct ip_vs_conn *cp, |
1380 | int outin); | 1379 | int outin); |
1381 | extern int ip_vs_confirm_conntrack(struct sk_buff *skb, struct ip_vs_conn *cp); | 1380 | extern int ip_vs_confirm_conntrack(struct sk_buff *skb); |
1382 | extern void ip_vs_nfct_expect_related(struct sk_buff *skb, struct nf_conn *ct, | 1381 | extern void ip_vs_nfct_expect_related(struct sk_buff *skb, struct nf_conn *ct, |
1383 | struct ip_vs_conn *cp, u_int8_t proto, | 1382 | struct ip_vs_conn *cp, u_int8_t proto, |
1384 | const __be16 port, int from_rs); | 1383 | const __be16 port, int from_rs); |
@@ -1396,8 +1395,7 @@ static inline void ip_vs_update_conntrack(struct sk_buff *skb, | |||
1396 | { | 1395 | { |
1397 | } | 1396 | } |
1398 | 1397 | ||
1399 | static inline int ip_vs_confirm_conntrack(struct sk_buff *skb, | 1398 | static inline int ip_vs_confirm_conntrack(struct sk_buff *skb) |
1400 | struct ip_vs_conn *cp) | ||
1401 | { | 1399 | { |
1402 | return NF_ACCEPT; | 1400 | return NF_ACCEPT; |
1403 | } | 1401 | } |
diff --git a/include/net/lib80211.h b/include/net/lib80211.h index 2ec896bb72b2..d178c26a5558 100644 --- a/include/net/lib80211.h +++ b/include/net/lib80211.h | |||
@@ -25,7 +25,6 @@ | |||
25 | 25 | ||
26 | #include <linux/types.h> | 26 | #include <linux/types.h> |
27 | #include <linux/list.h> | 27 | #include <linux/list.h> |
28 | #include <linux/module.h> | ||
29 | #include <linux/atomic.h> | 28 | #include <linux/atomic.h> |
30 | #include <linux/if.h> | 29 | #include <linux/if.h> |
31 | #include <linux/skbuff.h> | 30 | #include <linux/skbuff.h> |
@@ -42,6 +41,8 @@ enum { | |||
42 | IEEE80211_CRYPTO_TKIP_COUNTERMEASURES = (1 << 0), | 41 | IEEE80211_CRYPTO_TKIP_COUNTERMEASURES = (1 << 0), |
43 | }; | 42 | }; |
44 | 43 | ||
44 | struct module; | ||
45 | |||
45 | struct lib80211_crypto_ops { | 46 | struct lib80211_crypto_ops { |
46 | const char *name; | 47 | const char *name; |
47 | struct list_head list; | 48 | struct list_head list; |
diff --git a/include/net/netfilter/nf_conntrack.h b/include/net/netfilter/nf_conntrack.h index 0b7f05e4a927..8a2b0ae7dbd2 100644 --- a/include/net/netfilter/nf_conntrack.h +++ b/include/net/netfilter/nf_conntrack.h | |||
@@ -313,6 +313,8 @@ static inline bool nf_is_loopback_packet(const struct sk_buff *skb) | |||
313 | return skb->dev && skb->skb_iif && skb->dev->flags & IFF_LOOPBACK; | 313 | return skb->dev && skb->skb_iif && skb->dev->flags & IFF_LOOPBACK; |
314 | } | 314 | } |
315 | 315 | ||
316 | struct kernel_param; | ||
317 | |||
316 | extern int nf_conntrack_set_hashsize(const char *val, struct kernel_param *kp); | 318 | extern int nf_conntrack_set_hashsize(const char *val, struct kernel_param *kp); |
317 | extern unsigned int nf_conntrack_htable_size; | 319 | extern unsigned int nf_conntrack_htable_size; |
318 | extern unsigned int nf_conntrack_max; | 320 | extern unsigned int nf_conntrack_max; |
diff --git a/include/net/netfilter/nf_conntrack_tuple.h b/include/net/netfilter/nf_conntrack_tuple.h index 7ca6bdd5bae6..2f8fb77bfdd1 100644 --- a/include/net/netfilter/nf_conntrack_tuple.h +++ b/include/net/netfilter/nf_conntrack_tuple.h | |||
@@ -12,6 +12,7 @@ | |||
12 | 12 | ||
13 | #include <linux/netfilter/x_tables.h> | 13 | #include <linux/netfilter/x_tables.h> |
14 | #include <linux/netfilter/nf_conntrack_tuple_common.h> | 14 | #include <linux/netfilter/nf_conntrack_tuple_common.h> |
15 | #include <linux/netfilter_ipv4/nf_nat.h> | ||
15 | #include <linux/list_nulls.h> | 16 | #include <linux/list_nulls.h> |
16 | 17 | ||
17 | /* A `tuple' is a structure containing the information to uniquely | 18 | /* A `tuple' is a structure containing the information to uniquely |
@@ -24,32 +25,6 @@ | |||
24 | 25 | ||
25 | #define NF_CT_TUPLE_L3SIZE ARRAY_SIZE(((union nf_inet_addr *)NULL)->all) | 26 | #define NF_CT_TUPLE_L3SIZE ARRAY_SIZE(((union nf_inet_addr *)NULL)->all) |
26 | 27 | ||
27 | /* The protocol-specific manipulable parts of the tuple: always in | ||
28 | network order! */ | ||
29 | union nf_conntrack_man_proto { | ||
30 | /* Add other protocols here. */ | ||
31 | __be16 all; | ||
32 | |||
33 | struct { | ||
34 | __be16 port; | ||
35 | } tcp; | ||
36 | struct { | ||
37 | __be16 port; | ||
38 | } udp; | ||
39 | struct { | ||
40 | __be16 id; | ||
41 | } icmp; | ||
42 | struct { | ||
43 | __be16 port; | ||
44 | } dccp; | ||
45 | struct { | ||
46 | __be16 port; | ||
47 | } sctp; | ||
48 | struct { | ||
49 | __be16 key; /* GRE key is 32bit, PPtP only uses 16bit */ | ||
50 | } gre; | ||
51 | }; | ||
52 | |||
53 | /* The manipulable part of the tuple. */ | 28 | /* The manipulable part of the tuple. */ |
54 | struct nf_conntrack_man { | 29 | struct nf_conntrack_man { |
55 | union nf_inet_addr u3; | 30 | union nf_inet_addr u3; |
diff --git a/include/net/netfilter/nf_log.h b/include/net/netfilter/nf_log.h index 920997f1aff0..e991bd0a27af 100644 --- a/include/net/netfilter/nf_log.h +++ b/include/net/netfilter/nf_log.h | |||
@@ -53,12 +53,13 @@ int nf_log_bind_pf(u_int8_t pf, const struct nf_logger *logger); | |||
53 | void nf_log_unbind_pf(u_int8_t pf); | 53 | void nf_log_unbind_pf(u_int8_t pf); |
54 | 54 | ||
55 | /* Calls the registered backend logging function */ | 55 | /* Calls the registered backend logging function */ |
56 | __printf(7, 8) | ||
56 | void nf_log_packet(u_int8_t pf, | 57 | void nf_log_packet(u_int8_t pf, |
57 | unsigned int hooknum, | 58 | unsigned int hooknum, |
58 | const struct sk_buff *skb, | 59 | const struct sk_buff *skb, |
59 | const struct net_device *in, | 60 | const struct net_device *in, |
60 | const struct net_device *out, | 61 | const struct net_device *out, |
61 | const struct nf_loginfo *li, | 62 | const struct nf_loginfo *li, |
62 | const char *fmt, ...) __attribute__ ((format(printf,7,8))); | 63 | const char *fmt, ...); |
63 | 64 | ||
64 | #endif /* _NF_LOG_H */ | 65 | #endif /* _NF_LOG_H */ |
diff --git a/include/net/netfilter/nf_nat.h b/include/net/netfilter/nf_nat.h index 0346b0070864..b8872df7285f 100644 --- a/include/net/netfilter/nf_nat.h +++ b/include/net/netfilter/nf_nat.h | |||
@@ -1,6 +1,7 @@ | |||
1 | #ifndef _NF_NAT_H | 1 | #ifndef _NF_NAT_H |
2 | #define _NF_NAT_H | 2 | #define _NF_NAT_H |
3 | #include <linux/netfilter_ipv4.h> | 3 | #include <linux/netfilter_ipv4.h> |
4 | #include <linux/netfilter_ipv4/nf_nat.h> | ||
4 | #include <net/netfilter/nf_conntrack_tuple.h> | 5 | #include <net/netfilter/nf_conntrack_tuple.h> |
5 | 6 | ||
6 | #define NF_NAT_MAPPING_TYPE_MAX_NAMELEN 16 | 7 | #define NF_NAT_MAPPING_TYPE_MAX_NAMELEN 16 |
@@ -14,11 +15,6 @@ enum nf_nat_manip_type { | |||
14 | #define HOOK2MANIP(hooknum) ((hooknum) != NF_INET_POST_ROUTING && \ | 15 | #define HOOK2MANIP(hooknum) ((hooknum) != NF_INET_POST_ROUTING && \ |
15 | (hooknum) != NF_INET_LOCAL_IN) | 16 | (hooknum) != NF_INET_LOCAL_IN) |
16 | 17 | ||
17 | #define IP_NAT_RANGE_MAP_IPS 1 | ||
18 | #define IP_NAT_RANGE_PROTO_SPECIFIED 2 | ||
19 | #define IP_NAT_RANGE_PROTO_RANDOM 4 | ||
20 | #define IP_NAT_RANGE_PERSISTENT 8 | ||
21 | |||
22 | /* NAT sequence number modifications */ | 18 | /* NAT sequence number modifications */ |
23 | struct nf_nat_seq { | 19 | struct nf_nat_seq { |
24 | /* position of the last TCP sequence number modification (if any) */ | 20 | /* position of the last TCP sequence number modification (if any) */ |
@@ -28,26 +24,6 @@ struct nf_nat_seq { | |||
28 | int16_t offset_before, offset_after; | 24 | int16_t offset_before, offset_after; |
29 | }; | 25 | }; |
30 | 26 | ||
31 | /* Single range specification. */ | ||
32 | struct nf_nat_range { | ||
33 | /* Set to OR of flags above. */ | ||
34 | unsigned int flags; | ||
35 | |||
36 | /* Inclusive: network order. */ | ||
37 | __be32 min_ip, max_ip; | ||
38 | |||
39 | /* Inclusive: network order */ | ||
40 | union nf_conntrack_man_proto min, max; | ||
41 | }; | ||
42 | |||
43 | /* For backwards compat: don't use in modern code. */ | ||
44 | struct nf_nat_multi_range_compat { | ||
45 | unsigned int rangesize; /* Must be 1. */ | ||
46 | |||
47 | /* hangs off end. */ | ||
48 | struct nf_nat_range range[1]; | ||
49 | }; | ||
50 | |||
51 | #include <linux/list.h> | 27 | #include <linux/list.h> |
52 | #include <linux/netfilter/nf_conntrack_pptp.h> | 28 | #include <linux/netfilter/nf_conntrack_pptp.h> |
53 | #include <net/netfilter/nf_conntrack_extend.h> | 29 | #include <net/netfilter/nf_conntrack_extend.h> |
diff --git a/include/net/netlink.h b/include/net/netlink.h index 98c185441bee..cb1f3504687f 100644 --- a/include/net/netlink.h +++ b/include/net/netlink.h | |||
@@ -192,8 +192,15 @@ enum { | |||
192 | * NLA_NUL_STRING Maximum length of string (excluding NUL) | 192 | * NLA_NUL_STRING Maximum length of string (excluding NUL) |
193 | * NLA_FLAG Unused | 193 | * NLA_FLAG Unused |
194 | * NLA_BINARY Maximum length of attribute payload | 194 | * NLA_BINARY Maximum length of attribute payload |
195 | * NLA_NESTED_COMPAT Exact length of structure payload | 195 | * NLA_NESTED Don't use `len' field -- length verification is |
196 | * All other Exact length of attribute payload | 196 | * done by checking len of nested header (or empty) |
197 | * NLA_NESTED_COMPAT Minimum length of structure payload | ||
198 | * NLA_U8, NLA_U16, | ||
199 | * NLA_U32, NLA_U64, | ||
200 | * NLA_MSECS Leaving the length field zero will verify the | ||
201 | * given type fits, using it verifies minimum length | ||
202 | * just like "All other" | ||
203 | * All other Minimum length of attribute payload | ||
197 | * | 204 | * |
198 | * Example: | 205 | * Example: |
199 | * static const struct nla_policy my_policy[ATTR_MAX+1] = { | 206 | * static const struct nla_policy my_policy[ATTR_MAX+1] = { |
diff --git a/include/net/sch_generic.h b/include/net/sch_generic.h index 2eb207ea4eaf..f6bb08b73ca4 100644 --- a/include/net/sch_generic.h +++ b/include/net/sch_generic.h | |||
@@ -4,7 +4,6 @@ | |||
4 | #include <linux/netdevice.h> | 4 | #include <linux/netdevice.h> |
5 | #include <linux/types.h> | 5 | #include <linux/types.h> |
6 | #include <linux/rcupdate.h> | 6 | #include <linux/rcupdate.h> |
7 | #include <linux/module.h> | ||
8 | #include <linux/pkt_sched.h> | 7 | #include <linux/pkt_sched.h> |
9 | #include <linux/pkt_cls.h> | 8 | #include <linux/pkt_cls.h> |
10 | #include <net/gen_stats.h> | 9 | #include <net/gen_stats.h> |
diff --git a/include/net/sock.h b/include/net/sock.h index fa6f5381c5d6..c0c32a4cdd07 100644 --- a/include/net/sock.h +++ b/include/net/sock.h | |||
@@ -46,7 +46,6 @@ | |||
46 | #include <linux/list_nulls.h> | 46 | #include <linux/list_nulls.h> |
47 | #include <linux/timer.h> | 47 | #include <linux/timer.h> |
48 | #include <linux/cache.h> | 48 | #include <linux/cache.h> |
49 | #include <linux/module.h> | ||
50 | #include <linux/lockdep.h> | 49 | #include <linux/lockdep.h> |
51 | #include <linux/netdevice.h> | 50 | #include <linux/netdevice.h> |
52 | #include <linux/skbuff.h> /* struct sk_buff */ | 51 | #include <linux/skbuff.h> /* struct sk_buff */ |
@@ -76,8 +75,8 @@ | |||
76 | printk(KERN_DEBUG msg); } while (0) | 75 | printk(KERN_DEBUG msg); } while (0) |
77 | #else | 76 | #else |
78 | /* Validate arguments and do nothing */ | 77 | /* Validate arguments and do nothing */ |
79 | static inline void __attribute__ ((format (printf, 2, 3))) | 78 | static inline __printf(2, 3) |
80 | SOCK_DEBUG(struct sock *sk, const char *msg, ...) | 79 | void SOCK_DEBUG(struct sock *sk, const char *msg, ...) |
81 | { | 80 | { |
82 | } | 81 | } |
83 | #endif | 82 | #endif |
@@ -730,6 +729,7 @@ struct request_sock_ops; | |||
730 | struct timewait_sock_ops; | 729 | struct timewait_sock_ops; |
731 | struct inet_hashinfo; | 730 | struct inet_hashinfo; |
732 | struct raw_hashinfo; | 731 | struct raw_hashinfo; |
732 | struct module; | ||
733 | 733 | ||
734 | /* Networking protocol blocks we attach to sockets. | 734 | /* Networking protocol blocks we attach to sockets. |
735 | * socket layer -> transport layer interface | 735 | * socket layer -> transport layer interface |
diff --git a/include/net/tcp.h b/include/net/tcp.h index e147f42d643d..bb18c4d69aba 100644 --- a/include/net/tcp.h +++ b/include/net/tcp.h | |||
@@ -1403,11 +1403,13 @@ enum tcp_seq_states { | |||
1403 | TCP_SEQ_STATE_TIME_WAIT, | 1403 | TCP_SEQ_STATE_TIME_WAIT, |
1404 | }; | 1404 | }; |
1405 | 1405 | ||
1406 | int tcp_seq_open(struct inode *inode, struct file *file); | ||
1407 | |||
1406 | struct tcp_seq_afinfo { | 1408 | struct tcp_seq_afinfo { |
1407 | char *name; | 1409 | char *name; |
1408 | sa_family_t family; | 1410 | sa_family_t family; |
1409 | struct file_operations seq_fops; | 1411 | const struct file_operations *seq_fops; |
1410 | struct seq_operations seq_ops; | 1412 | struct seq_operations seq_ops; |
1411 | }; | 1413 | }; |
1412 | 1414 | ||
1413 | struct tcp_iter_state { | 1415 | struct tcp_iter_state { |
diff --git a/include/net/udp.h b/include/net/udp.h index 67ea6fcb3ec0..3b285f402f48 100644 --- a/include/net/udp.h +++ b/include/net/udp.h | |||
@@ -230,12 +230,14 @@ extern struct sock *udp6_lib_lookup(struct net *net, const struct in6_addr *sadd | |||
230 | #endif | 230 | #endif |
231 | 231 | ||
232 | /* /proc */ | 232 | /* /proc */ |
233 | int udp_seq_open(struct inode *inode, struct file *file); | ||
234 | |||
233 | struct udp_seq_afinfo { | 235 | struct udp_seq_afinfo { |
234 | char *name; | 236 | char *name; |
235 | sa_family_t family; | 237 | sa_family_t family; |
236 | struct udp_table *udp_table; | 238 | struct udp_table *udp_table; |
237 | struct file_operations seq_fops; | 239 | const struct file_operations *seq_fops; |
238 | struct seq_operations seq_ops; | 240 | struct seq_operations seq_ops; |
239 | }; | 241 | }; |
240 | 242 | ||
241 | struct udp_iter_state { | 243 | struct udp_iter_state { |