1/* 2 * linux/net/netsyms.c 3 * 4 * Symbol table for the linux networking subsystem. Moved here to 5 * make life simpler in ksyms.c. 6 */ 7 8#include <linux/config.h> 9#include <linux/module.h> 10 11#include <linux/types.h> 12#include <linux/net.h> 13#include <linux/in.h> 14#include <linux/netdevice.h> 15#include <linux/trdevice.h> 16#include <linux/ioport.h> 17#include <net/neighbour.h> 18 19#ifdef CONFIG_INET 20#include <linux/ip.h> 21#include <linux/etherdevice.h> 22#include <net/protocol.h> 23#include <net/arp.h> 24#include <net/ip.h> 25#include <net/udp.h> 26#include <net/tcp.h> 27#include <net/icmp.h> 28#include <net/route.h> 29#include <net/scm.h> 30#include <net/inet_common.h> 31#include <linux/inet.h> 32#include <linux/net_alias.h> 33#include <linux/mroute.h> 34 35extern struct net_proto_family inet_family_ops; 36 37#if defined(CONFIG_IPV6) || defined (CONFIG_IPV6_MODULE) 38#include <linux/in6.h> 39#include <net/ndisc.h> 40#include <net/dst.h> 41#include <net/transp_v6.h> 42#endif 43 44#endif 45 46#ifdef CONFIG_NETLINK 47#include <net/netlink.h> 48#endif 49 50#ifdef CONFIG_NET_ALIAS 51#include <linux/net_alias.h> 52#endif 53 54#include <net/scm.h> 55 56#if defined(CONFIG_ULTRA) || defined(CONFIG_WD80x3) || \ 57 defined(CONFIG_EL2) || defined(CONFIG_NE2000) || \ 58 defined(CONFIG_E2100) || defined(CONFIG_HPLAN_PLUS) || \ 59 defined(CONFIG_HPLAN) || defined(CONFIG_AC3200) || \ 60 defined(CONFIG_ES3210) 61#include "../drivers/net/8390.h" 62#endif 63 64extern int (*rarp_ioctl_hook)(int,void*); 65 66#ifdef CONFIG_IPX_MODULE 67extern struct datalink_proto *make_EII_client(void); 68extern struct datalink_proto *make_8023_client(void); 69extern void destroy_EII_client(struct datalink_proto *); 70extern void destroy_8023_client(struct datalink_proto *); 71#endif 72 73#ifdef CONFIG_ATALK_MODULE 74#include <net/sock.h> 75#endif 76 77/* Skbuff symbols. */ 78EXPORT_SYMBOL(skb_push_errstr); 79EXPORT_SYMBOL(skb_put_errstr); 80 81/* Socket layer registration */ 82EXPORT_SYMBOL(sock_register); 83EXPORT_SYMBOL(sock_unregister); 84 85/* Socket layer support routines */ 86EXPORT_SYMBOL(memcpy_fromiovec); 87EXPORT_SYMBOL(sock_create); 88EXPORT_SYMBOL(sock_alloc); 89EXPORT_SYMBOL(sock_release); 90EXPORT_SYMBOL(sock_setsockopt); 91EXPORT_SYMBOL(sock_getsockopt); 92EXPORT_SYMBOL(sock_sendmsg); 93EXPORT_SYMBOL(sock_recvmsg); 94EXPORT_SYMBOL(sk_alloc); 95EXPORT_SYMBOL(sk_free); 96EXPORT_SYMBOL(sock_wake_async); 97EXPORT_SYMBOL(sock_alloc_send_skb); 98EXPORT_SYMBOL(sock_init_data); 99EXPORT_SYMBOL(sock_no_dup); 100EXPORT_SYMBOL(sock_no_release); 101EXPORT_SYMBOL(sock_no_bind); 102EXPORT_SYMBOL(sock_no_connect); 103EXPORT_SYMBOL(sock_no_socketpair); 104EXPORT_SYMBOL(sock_no_accept); 105EXPORT_SYMBOL(sock_no_getname); 106EXPORT_SYMBOL(sock_no_poll); 107EXPORT_SYMBOL(sock_no_ioctl); 108EXPORT_SYMBOL(sock_no_listen); 109EXPORT_SYMBOL(sock_no_shutdown); 110EXPORT_SYMBOL(sock_no_getsockopt); 111EXPORT_SYMBOL(sock_no_setsockopt); 112EXPORT_SYMBOL(sock_no_fcntl); 113EXPORT_SYMBOL(sock_no_sendmsg); 114EXPORT_SYMBOL(sock_no_recvmsg); 115EXPORT_SYMBOL(sock_rfree); 116EXPORT_SYMBOL(sock_wfree); 117EXPORT_SYMBOL(skb_recv_datagram); 118EXPORT_SYMBOL(skb_free_datagram); 119EXPORT_SYMBOL(skb_copy_datagram); 120EXPORT_SYMBOL(skb_copy_datagram_iovec); 121EXPORT_SYMBOL(skb_realloc_headroom); 122EXPORT_SYMBOL(datagram_poll); 123EXPORT_SYMBOL(put_cmsg); 124 125EXPORT_SYMBOL(neigh_table_init); 126/* Declared in <net/neighbour.h> but not defined? 127 EXPORT_SYMBOL(neigh_table_destroy); 128 EXPORT_SYMBOL(neigh_table_run_bh); 129*/ 130EXPORT_SYMBOL(neigh_alloc); 131EXPORT_SYMBOL(neigh_table_ins); 132EXPORT_SYMBOL(neigh_queue_ins); 133EXPORT_SYMBOL(neigh_unlink); 134EXPORT_SYMBOL(neigh_lookup); 135EXPORT_SYMBOL(ntbl_walk_table); 136EXPORT_SYMBOL(neigh_tbl_run_bh); 137 138/* dst_entry */ 139EXPORT_SYMBOL(dst_alloc); 140EXPORT_SYMBOL(__dst_free); 141EXPORT_SYMBOL(dst_total); 142 143/* Needed by smbfs.o */ 144EXPORT_SYMBOL(__scm_destroy); 145EXPORT_SYMBOL(__scm_send); 146 147#ifdef CONFIG_IPX_MODULE 148EXPORT_SYMBOL(make_8023_client); 149EXPORT_SYMBOL(destroy_8023_client); 150EXPORT_SYMBOL(make_EII_client); 151EXPORT_SYMBOL(destroy_EII_client); 152#endif 153 154#ifdef CONFIG_ATALK_MODULE 155EXPORT_SYMBOL(sklist_destroy_socket); 156EXPORT_SYMBOL(sklist_insert_socket); 157#endif 158 159#ifdef CONFIG_SMB_FS_MODULE 160EXPORT_SYMBOL(scm_detach_fds); 161#endif 162 163#ifdef CONFIG_INET 164/* Internet layer registration */ 165EXPORT_SYMBOL(inet_add_protocol); 166EXPORT_SYMBOL(inet_del_protocol); 167EXPORT_SYMBOL(rarp_ioctl_hook); 168EXPORT_SYMBOL(init_etherdev); 169EXPORT_SYMBOL(ip_route_output); 170EXPORT_SYMBOL(icmp_send); 171EXPORT_SYMBOL(ip_options_compile); 172EXPORT_SYMBOL(ip_rt_put); 173EXPORT_SYMBOL(arp_send); 174EXPORT_SYMBOL(ip_id_count); 175EXPORT_SYMBOL(ip_send_check); 176EXPORT_SYMBOL(ip_fragment); 177EXPORT_SYMBOL(ip_dev_find_tunnel); 178EXPORT_SYMBOL(inet_family_ops); 179EXPORT_SYMBOL(in_aton); 180EXPORT_SYMBOL(in_ntoa); 181 182#ifdef CONFIG_IPV6_MODULE 183/* inet functions common to v4 and v6 */ 184EXPORT_SYMBOL(inet_stream_ops); 185EXPORT_SYMBOL(inet_dgram_ops); 186EXPORT_SYMBOL(inet_release); 187EXPORT_SYMBOL(inet_stream_connect); 188EXPORT_SYMBOL(inet_dgram_connect); 189EXPORT_SYMBOL(inet_accept); 190EXPORT_SYMBOL(inet_poll); 191EXPORT_SYMBOL(inet_listen); 192EXPORT_SYMBOL(inet_shutdown); 193EXPORT_SYMBOL(inet_setsockopt); 194EXPORT_SYMBOL(inet_getsockopt); 195EXPORT_SYMBOL(inet_sendmsg); 196EXPORT_SYMBOL(inet_recvmsg); 197 198/* Socket demultiplexing. */ 199EXPORT_SYMBOL(tcp_good_socknum); 200EXPORT_SYMBOL(tcp_established_hash); 201EXPORT_SYMBOL(tcp_listening_hash); 202EXPORT_SYMBOL(tcp_bound_hash); 203EXPORT_SYMBOL(udp_good_socknum); 204EXPORT_SYMBOL(udp_hash); 205 206EXPORT_SYMBOL(destroy_sock); 207EXPORT_SYMBOL(ip_queue_xmit); 208EXPORT_SYMBOL(csum_partial); 209EXPORT_SYMBOL(dev_lockct); 210EXPORT_SYMBOL(memcpy_fromiovecend); 211EXPORT_SYMBOL(csum_partial_copy_fromiovecend); 212EXPORT_SYMBOL(__release_sock); 213EXPORT_SYMBOL(net_timer); 214/* UDP/TCP exported functions for TCPv6 */ 215EXPORT_SYMBOL(sysctl_tcp_sack); 216EXPORT_SYMBOL(sysctl_tcp_timestamps); 217EXPORT_SYMBOL(sysctl_tcp_window_scaling); 218EXPORT_SYMBOL(sock_rspace); 219EXPORT_SYMBOL(udp_ioctl); 220EXPORT_SYMBOL(udp_connect); 221EXPORT_SYMBOL(udp_sendmsg); 222EXPORT_SYMBOL(tcp_close); 223EXPORT_SYMBOL(tcp_accept); 224EXPORT_SYMBOL(tcp_write_wakeup); 225EXPORT_SYMBOL(tcp_read_wakeup); 226EXPORT_SYMBOL(tcp_poll); 227EXPORT_SYMBOL(tcp_ioctl); 228EXPORT_SYMBOL(tcp_shutdown); 229EXPORT_SYMBOL(tcp_setsockopt); 230EXPORT_SYMBOL(tcp_getsockopt); 231EXPORT_SYMBOL(tcp_recvmsg); 232EXPORT_SYMBOL(tcp_send_synack); 233EXPORT_SYMBOL(tcp_check_req); 234EXPORT_SYMBOL(sock_wmalloc); 235EXPORT_SYMBOL(tcp_reset_xmit_timer); 236EXPORT_SYMBOL(tcp_parse_options); 237EXPORT_SYMBOL(tcp_rcv_established); 238EXPORT_SYMBOL(tcp_init_xmit_timers); 239EXPORT_SYMBOL(tcp_clear_xmit_timers); 240EXPORT_SYMBOL(tcp_slt_array); 241EXPORT_SYMBOL(__tcp_inc_slow_timer); 242EXPORT_SYMBOL(tcp_statistics); 243EXPORT_SYMBOL(tcp_rcv_state_process); 244EXPORT_SYMBOL(tcp_do_sendmsg); 245EXPORT_SYMBOL(tcp_v4_build_header); 246EXPORT_SYMBOL(tcp_v4_rebuild_header); 247EXPORT_SYMBOL(tcp_v4_send_check); 248EXPORT_SYMBOL(tcp_v4_conn_request); 249EXPORT_SYMBOL(tcp_v4_syn_recv_sock); 250EXPORT_SYMBOL(tcp_v4_do_rcv); 251EXPORT_SYMBOL(tcp_v4_connect); 252EXPORT_SYMBOL(__ip_chk_addr); 253EXPORT_SYMBOL(net_reset_timer); 254EXPORT_SYMBOL(net_delete_timer); 255EXPORT_SYMBOL(udp_prot); 256EXPORT_SYMBOL(tcp_prot); 257EXPORT_SYMBOL(tcp_openreq_cachep); 258EXPORT_SYMBOL(ipv4_specific); 259#endif 260 261#if defined(CONFIG_ULTRA) || defined(CONFIG_WD80x3) || \ 262 defined(CONFIG_EL2) || defined(CONFIG_NE2000) || \ 263 defined(CONFIG_E2100) || defined(CONFIG_HPLAN_PLUS) || \ 264 defined(CONFIG_HPLAN) || defined(CONFIG_AC3200) || \ 265 defined(CONFIG_ES3210) 266/* If 8390 NIC support is built in, we will need these. */ 267EXPORT_SYMBOL(ei_open); 268EXPORT_SYMBOL(ei_close); 269EXPORT_SYMBOL(ei_debug); 270EXPORT_SYMBOL(ei_interrupt); 271EXPORT_SYMBOL(ethdev_init); 272EXPORT_SYMBOL(NS8390_init); 273#endif 274 275#ifdef CONFIG_TR 276EXPORT_SYMBOL(tr_setup); 277EXPORT_SYMBOL(tr_type_trans); 278EXPORT_SYMBOL(register_trdev); 279EXPORT_SYMBOL(unregister_trdev); 280EXPORT_SYMBOL(init_trdev); 281EXPORT_SYMBOL(tr_freedev); 282EXPORT_SYMBOL(tr_reformat); 283#endif 284 285#ifdef CONFIG_NET_ALIAS 286#include <linux/net_alias.h> 287#endif 288 289/* Used by at least ipip.c. */ 290EXPORT_SYMBOL(ipv4_config); 291#ifdef CONFIG_IP_MROUTE 292EXPORT_SYMBOL(ip_mr_find_tunnel); 293#endif 294 295#endif /* CONFIG_INET */ 296 297/* Device callback registration */ 298EXPORT_SYMBOL(register_netdevice_notifier); 299EXPORT_SYMBOL(unregister_netdevice_notifier); 300 301#ifdef CONFIG_NET_ALIAS 302EXPORT_SYMBOL(register_net_alias_type); 303EXPORT_SYMBOL(unregister_net_alias_type); 304#endif 305 306/* support for loadable net drivers */ 307#ifdef CONFIG_NET 308EXPORT_SYMBOL(register_netdev); 309EXPORT_SYMBOL(unregister_netdev); 310EXPORT_SYMBOL(ether_setup); 311EXPORT_SYMBOL(dev_new_index); 312EXPORT_SYMBOL(dev_get_by_index); 313EXPORT_SYMBOL(eth_type_trans); 314EXPORT_SYMBOL(eth_copy_and_sum); 315EXPORT_SYMBOL(alloc_skb); 316EXPORT_SYMBOL(__kfree_skb); 317EXPORT_SYMBOL(skb_clone); 318EXPORT_SYMBOL(skb_copy); 319EXPORT_SYMBOL(dev_alloc_skb); 320EXPORT_SYMBOL(netif_rx); 321EXPORT_SYMBOL(dev_tint); 322EXPORT_SYMBOL(irq2dev_map); 323EXPORT_SYMBOL(dev_add_pack); 324EXPORT_SYMBOL(dev_remove_pack); 325EXPORT_SYMBOL(dev_get); 326EXPORT_SYMBOL(dev_alloc); 327EXPORT_SYMBOL(dev_alloc_name); 328EXPORT_SYMBOL(dev_ioctl); 329EXPORT_SYMBOL(dev_queue_xmit); 330#ifdef CONFIG_IP_ACCT 331EXPORT_SYMBOL(ip_acct_output); 332#endif 333EXPORT_SYMBOL(dev_base); 334EXPORT_SYMBOL(dev_close); 335EXPORT_SYMBOL(dev_mc_add); 336EXPORT_SYMBOL(arp_find); 337EXPORT_SYMBOL(arp_find_1); 338EXPORT_SYMBOL(n_tty_ioctl); 339EXPORT_SYMBOL(tty_register_ldisc); 340EXPORT_SYMBOL(kill_fasync); 341EXPORT_SYMBOL(ip_rcv); 342EXPORT_SYMBOL(arp_rcv); 343 344EXPORT_SYMBOL(if_port_text); 345 346#if defined(CONFIG_ATALK) || defined(CONFIG_ATALK_MODULE) 347#include<linux/if_ltalk.h> 348EXPORT_SYMBOL(ltalk_setup); 349#endif 350 351#ifdef CONFIG_DLCI_MODULE 352extern int (*dlci_ioctl_hook)(unsigned int, void *); 353EXPORT_SYMBOL(dlci_ioctl_hook); 354#endif 355 356#endif /* CONFIG_NET */ 357 358#ifdef CONFIG_NETLINK 359EXPORT_SYMBOL(netlink_attach); 360EXPORT_SYMBOL(netlink_detach); 361EXPORT_SYMBOL(netlink_donothing); 362EXPORT_SYMBOL(netlink_post); 363#endif /* CONFIG_NETLINK */ 364

