diff options
author | Daniel Lezcano <dlezcano@fr.ibm.com> | 2007-12-11 11:25:35 +0100 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-01-28 23:57:13 +0100 |
commit | 7f4e4868f3ce0e946f116c28fa4fe033be5e4ba9 (patch) | |
tree | 144add1d4c94a145f7e048a17d91b563f5e6e265 /include/net | |
parent | [IPV6]: make inet6_register_protosw to return an error code (diff) | |
download | linux-7f4e4868f3ce0e946f116c28fa4fe033be5e4ba9.tar.xz linux-7f4e4868f3ce0e946f116c28fa4fe033be5e4ba9.zip |
[IPV6]: make the protocol initialization to return an error code
This patchset makes the different protocols to return an error code, so
the af_inet6 module can check the initialization was correct or not.
The raw6 was taken into account to be consistent with the rest of the
protocols, but the registration is at the same place.
Because the raw6 has its own init function, the proto and the ops structure
can be moved inside the raw6.c file.
Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/net')
-rw-r--r-- | include/net/ipv6.h | 2 | ||||
-rw-r--r-- | include/net/transp_v6.h | 12 |
2 files changed, 9 insertions, 5 deletions
diff --git a/include/net/ipv6.h b/include/net/ipv6.h index 4d9106580950..f2adedff927f 100644 --- a/include/net/ipv6.h +++ b/include/net/ipv6.h @@ -545,7 +545,7 @@ extern int compat_ipv6_getsockopt(struct sock *sk, char __user *optval, int __user *optlen); -extern void ipv6_packet_init(void); +extern int ipv6_packet_init(void); extern void ipv6_packet_cleanup(void); diff --git a/include/net/transp_v6.h b/include/net/transp_v6.h index aa9a4a6b99df..27394e0447d8 100644 --- a/include/net/transp_v6.h +++ b/include/net/transp_v6.h @@ -23,10 +23,14 @@ extern int ipv6_frag_init(void); extern void ipv6_frag_exit(void); /* transport protocols */ -extern void rawv6_init(void); -extern void udpv6_init(void); -extern void udplitev6_init(void); -extern void tcpv6_init(void); +extern int rawv6_init(void); +extern void rawv6_exit(void); +extern int udpv6_init(void); +extern void udpv6_exit(void); +extern int udplitev6_init(void); +extern void udplitev6_exit(void); +extern int tcpv6_init(void); +extern void tcpv6_exit(void); extern int udpv6_connect(struct sock *sk, struct sockaddr *uaddr, |