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/inetdevice.h> 16#include <linux/fddidevice.h> 17#include <linux/trdevice.h> 18#include <linux/ioport.h> 19#include <net/neighbour.h> 20#include <net/snmp.h> 21#include <net/dst.h> 22#include <net/checksum.h> 23#include <linux/etherdevice.h> 24#include <net/pkt_sched.h> 25 26#ifdef CONFIG_BRIDGE 27#include <net/br.h> 28#endif 29 30#ifdef CONFIG_INET 31#include <linux/ip.h> 32#include <linux/etherdevice.h> 33#include <net/protocol.h> 34#include <net/arp.h> 35#include <net/ip.h> 36#include <net/udp.h> 37#include <net/tcp.h> 38#include <net/icmp.h> 39#include <net/route.h> 40#include <net/scm.h> 41#include <net/inet_common.h> 42#include <net/pkt_sched.h> 43#include <linux/inet.h> 44#include <linux/mroute.h> 45#include <linux/igmp.h> 46 47extern struct net_proto_family inet_family_ops; 48 49#if defined(CONFIG_IPV6) || defined (CONFIG_IPV6_MODULE) 50#include <linux/in6.h> 51#include <linux/icmpv6.h> 52#include <net/ipv6.h> 53#include <net/ndisc.h> 54#include <net/dst.h> 55#include <net/transp_v6.h> 56 57extern int tcp_tw_death_row_slot; 58#endif 59 60#endif 61 62#include <linux/rtnetlink.h> 63 64#include <net/scm.h> 65 66#if defined(CONFIG_ULTRA) || defined(CONFIG_WD80x3) || \ 67 defined(CONFIG_EL2) || defined(CONFIG_NE2000) || \ 68 defined(CONFIG_E2100) || defined(CONFIG_HPLAN_PLUS) || \ 69 defined(CONFIG_HPLAN) || defined(CONFIG_AC3200) || \ 70 defined(CONFIG_ES3210) || defined(CONFIG_ULTRA32) || \ 71 defined(CONFIG_LNE390) || defined(CONFIG_NE3210) || \ 72 defined(CONFIG_NE2K_PCI) || defined(CONFIG_APNE) || \ 73 defined(CONFIG_DAYNAPORT) 74#include "../drivers/net/8390.h" 75#endif 76 77extern int (*rarp_ioctl_hook)(int,void*); 78 79#ifdef CONFIG_IPX_MODULE 80extern struct datalink_proto *make_EII_client(void); 81extern struct datalink_proto *make_8023_client(void); 82extern void destroy_EII_client(struct datalink_proto *); 83extern void destroy_8023_client(struct datalink_proto *); 84#endif 85 86#ifdef CONFIG_ATALK_MODULE 87#include <net/sock.h> 88#include <net/dst.h> 89#include <net/checksum.h> 90#include <linux/etherdevice.h> 91#include <net/pkt_sched.h> 92#endif 93 94#ifdef CONFIG_SYSCTL 95extern int sysctl_max_syn_backlog; 96#endif 97 98EXPORT_SYMBOL(dev_lockct); 99 100/* Skbuff symbols. */ 101EXPORT_SYMBOL(skb_over_panic); 102EXPORT_SYMBOL(skb_under_panic); 103 104/* Socket layer registration */ 105EXPORT_SYMBOL(sock_register); 106EXPORT_SYMBOL(sock_unregister); 107 108/* Socket layer support routines */ 109EXPORT_SYMBOL(memcpy_fromiovec); 110EXPORT_SYMBOL(memcpy_tokerneliovec); 111EXPORT_SYMBOL(sock_create); 112EXPORT_SYMBOL(sock_alloc); 113EXPORT_SYMBOL(sock_release); 114EXPORT_SYMBOL(sock_setsockopt); 115EXPORT_SYMBOL(sock_getsockopt); 116EXPORT_SYMBOL(sock_sendmsg); 117EXPORT_SYMBOL(sock_recvmsg); 118EXPORT_SYMBOL(sk_alloc); 119EXPORT_SYMBOL(sk_free); 120EXPORT_SYMBOL(sock_wake_async); 121EXPORT_SYMBOL(sock_alloc_send_skb); 122EXPORT_SYMBOL(sock_init_data); 123EXPORT_SYMBOL(sock_no_dup); 124EXPORT_SYMBOL(sock_no_release); 125EXPORT_SYMBOL(sock_no_bind); 126EXPORT_SYMBOL(sock_no_connect); 127EXPORT_SYMBOL(sock_no_socketpair); 128EXPORT_SYMBOL(sock_no_accept); 129EXPORT_SYMBOL(sock_no_getname); 130EXPORT_SYMBOL(sock_no_poll); 131EXPORT_SYMBOL(sock_no_ioctl); 132EXPORT_SYMBOL(sock_no_listen); 133EXPORT_SYMBOL(sock_no_shutdown); 134EXPORT_SYMBOL(sock_no_getsockopt); 135EXPORT_SYMBOL(sock_no_setsockopt); 136EXPORT_SYMBOL(sock_no_fcntl); 137EXPORT_SYMBOL(sock_no_sendmsg); 138EXPORT_SYMBOL(sock_no_recvmsg); 139EXPORT_SYMBOL(sock_rfree); 140EXPORT_SYMBOL(sock_wfree); 141EXPORT_SYMBOL(sock_wmalloc); 142EXPORT_SYMBOL(sock_rmalloc); 143EXPORT_SYMBOL(sock_rspace); 144EXPORT_SYMBOL(skb_recv_datagram); 145EXPORT_SYMBOL(skb_free_datagram); 146EXPORT_SYMBOL(skb_copy_datagram); 147EXPORT_SYMBOL(skb_copy_datagram_iovec); 148EXPORT_SYMBOL(skb_realloc_headroom); 149EXPORT_SYMBOL(datagram_poll); 150EXPORT_SYMBOL(put_cmsg); 151EXPORT_SYMBOL(net_families); 152EXPORT_SYMBOL(sock_kmalloc); 153EXPORT_SYMBOL(sock_kfree_s); 154EXPORT_SYMBOL(skb_queue_lock); 155 156#ifdef CONFIG_FILTER 157EXPORT_SYMBOL(sk_run_filter); 158#endif 159 160EXPORT_SYMBOL(neigh_table_init); 161EXPORT_SYMBOL(neigh_table_clear); 162EXPORT_SYMBOL(__neigh_lookup); 163EXPORT_SYMBOL(neigh_resolve_output); 164EXPORT_SYMBOL(neigh_connected_output); 165EXPORT_SYMBOL(neigh_update); 166EXPORT_SYMBOL(__neigh_event_send); 167EXPORT_SYMBOL(neigh_event_ns); 168EXPORT_SYMBOL(neigh_ifdown); 169#ifdef CONFIG_ARPD 170EXPORT_SYMBOL(neigh_app_ns); 171#endif 172#ifdef CONFIG_SYSCTL 173EXPORT_SYMBOL(neigh_sysctl_register); 174#endif 175EXPORT_SYMBOL(pneigh_lookup); 176EXPORT_SYMBOL(pneigh_enqueue); 177EXPORT_SYMBOL(neigh_destroy); 178EXPORT_SYMBOL(neigh_parms_alloc); 179EXPORT_SYMBOL(neigh_parms_release); 180EXPORT_SYMBOL(neigh_rand_reach_time); 181 182/* dst_entry */ 183EXPORT_SYMBOL(dst_alloc); 184EXPORT_SYMBOL(__dst_free); 185EXPORT_SYMBOL(dst_total); 186EXPORT_SYMBOL(dst_destroy); 187 188/* misc. support routines */ 189EXPORT_SYMBOL(net_ratelimit); 190EXPORT_SYMBOL(net_random); 191EXPORT_SYMBOL(net_srandom); 192 193/* Needed by smbfs.o */ 194EXPORT_SYMBOL(__scm_destroy); 195EXPORT_SYMBOL(__scm_send); 196 197/* Needed by unix.o */ 198EXPORT_SYMBOL(scm_fp_dup); 199EXPORT_SYMBOL(max_files); 200EXPORT_SYMBOL(do_mknod); 201EXPORT_SYMBOL(memcpy_toiovec); 202EXPORT_SYMBOL(csum_partial); 203 204#ifdef CONFIG_IPX_MODULE 205EXPORT_SYMBOL(make_8023_client); 206EXPORT_SYMBOL(destroy_8023_client); 207EXPORT_SYMBOL(make_EII_client); 208EXPORT_SYMBOL(destroy_EII_client); 209#endif 210 211EXPORT_SYMBOL(sklist_destroy_socket); 212EXPORT_SYMBOL(sklist_insert_socket); 213 214EXPORT_SYMBOL(scm_detach_fds); 215 216#ifdef CONFIG_BRIDGE 217EXPORT_SYMBOL(br_ioctl); 218#endif 219 220#ifdef CONFIG_INET 221/* Internet layer registration */ 222EXPORT_SYMBOL(inet_add_protocol); 223EXPORT_SYMBOL(inet_del_protocol); 224EXPORT_SYMBOL(rarp_ioctl_hook); 225EXPORT_SYMBOL(init_etherdev); 226EXPORT_SYMBOL(ip_route_output); 227EXPORT_SYMBOL(icmp_send); 228EXPORT_SYMBOL(ip_options_compile); 229EXPORT_SYMBOL(arp_send); 230EXPORT_SYMBOL(arp_broken_ops); 231EXPORT_SYMBOL(ip_id_count); 232EXPORT_SYMBOL(ip_send_check); 233EXPORT_SYMBOL(ip_fragment); 234EXPORT_SYMBOL(inet_family_ops); 235EXPORT_SYMBOL(in_aton); 236EXPORT_SYMBOL(ip_mc_inc_group); 237EXPORT_SYMBOL(ip_mc_dec_group); 238EXPORT_SYMBOL(__ip_finish_output); 239EXPORT_SYMBOL(inet_dgram_ops); 240EXPORT_SYMBOL(ip_cmsg_recv); 241EXPORT_SYMBOL(__release_sock); 242 243/* Route manipulation */ 244EXPORT_SYMBOL(ip_rt_ioctl); 245EXPORT_SYMBOL(devinet_ioctl); 246 247/* needed for ip_gre -cw */ 248EXPORT_SYMBOL(ip_statistics); 249 250#ifdef CONFIG_DLCI_MODULE 251extern int (*dlci_ioctl_hook)(unsigned int, void *); 252EXPORT_SYMBOL(dlci_ioctl_hook); 253#endif 254 255 256#ifdef CONFIG_IPV6 257EXPORT_SYMBOL(ipv6_addr_type); 258EXPORT_SYMBOL(icmpv6_send); 259#endif 260#ifdef CONFIG_IPV6_MODULE 261/* inet functions common to v4 and v6 */ 262EXPORT_SYMBOL(inet_stream_ops); 263EXPORT_SYMBOL(inet_release); 264EXPORT_SYMBOL(inet_stream_connect); 265EXPORT_SYMBOL(inet_dgram_connect); 266EXPORT_SYMBOL(inet_accept); 267EXPORT_SYMBOL(inet_poll); 268EXPORT_SYMBOL(inet_listen); 269EXPORT_SYMBOL(inet_shutdown); 270EXPORT_SYMBOL(inet_setsockopt); 271EXPORT_SYMBOL(inet_getsockopt); 272EXPORT_SYMBOL(inet_sendmsg); 273EXPORT_SYMBOL(inet_recvmsg); 274 275/* Socket demultiplexing. */ 276EXPORT_SYMBOL(tcp_good_socknum); 277EXPORT_SYMBOL(tcp_established_hash); 278EXPORT_SYMBOL(tcp_listening_hash); 279EXPORT_SYMBOL(tcp_bound_hash); 280EXPORT_SYMBOL(udp_good_socknum); 281EXPORT_SYMBOL(udp_hash); 282 283EXPORT_SYMBOL(destroy_sock); 284EXPORT_SYMBOL(ip_queue_xmit); 285EXPORT_SYMBOL(memcpy_fromiovecend); 286EXPORT_SYMBOL(csum_partial_copy_fromiovecend); 287EXPORT_SYMBOL(net_timer); 288/* UDP/TCP exported functions for TCPv6 */ 289EXPORT_SYMBOL(udp_ioctl); 290EXPORT_SYMBOL(udp_connect); 291EXPORT_SYMBOL(udp_sendmsg); 292EXPORT_SYMBOL(tcp_close); 293EXPORT_SYMBOL(tcp_accept); 294EXPORT_SYMBOL(tcp_write_wakeup); 295EXPORT_SYMBOL(tcp_read_wakeup); 296EXPORT_SYMBOL(tcp_write_space); 297EXPORT_SYMBOL(tcp_poll); 298EXPORT_SYMBOL(tcp_ioctl); 299EXPORT_SYMBOL(tcp_shutdown); 300EXPORT_SYMBOL(tcp_setsockopt); 301EXPORT_SYMBOL(tcp_getsockopt); 302EXPORT_SYMBOL(tcp_recvmsg); 303EXPORT_SYMBOL(tcp_send_synack); 304EXPORT_SYMBOL(tcp_check_req); 305EXPORT_SYMBOL(tcp_reset_xmit_timer); 306EXPORT_SYMBOL(tcp_parse_options); 307EXPORT_SYMBOL(tcp_rcv_established); 308EXPORT_SYMBOL(tcp_init_xmit_timers); 309EXPORT_SYMBOL(tcp_clear_xmit_timers); 310EXPORT_SYMBOL(tcp_slt_array); 311EXPORT_SYMBOL(__tcp_inc_slow_timer); 312EXPORT_SYMBOL(tcp_statistics); 313EXPORT_SYMBOL(tcp_rcv_state_process); 314EXPORT_SYMBOL(tcp_timewait_state_process); 315EXPORT_SYMBOL(tcp_do_sendmsg); 316EXPORT_SYMBOL(tcp_v4_rebuild_header); 317EXPORT_SYMBOL(tcp_v4_send_check); 318EXPORT_SYMBOL(tcp_v4_conn_request); 319EXPORT_SYMBOL(tcp_create_openreq_child); 320EXPORT_SYMBOL(tcp_bucket_create); 321EXPORT_SYMBOL(tcp_bucket_unlock); 322EXPORT_SYMBOL(tcp_v4_syn_recv_sock); 323EXPORT_SYMBOL(tcp_v4_do_rcv); 324EXPORT_SYMBOL(tcp_v4_connect); 325EXPORT_SYMBOL(inet_addr_type); 326EXPORT_SYMBOL(net_reset_timer); 327EXPORT_SYMBOL(net_delete_timer); 328EXPORT_SYMBOL(udp_prot); 329EXPORT_SYMBOL(tcp_prot); 330EXPORT_SYMBOL(tcp_openreq_cachep); 331EXPORT_SYMBOL(ipv4_specific); 332EXPORT_SYMBOL(tcp_simple_retransmit); 333EXPORT_SYMBOL(tcp_transmit_skb); 334EXPORT_SYMBOL(tcp_connect); 335EXPORT_SYMBOL(tcp_make_synack); 336EXPORT_SYMBOL(tcp_tw_death_row_slot); 337EXPORT_SYMBOL(tcp_sync_mss); 338EXPORT_SYMBOL(net_statistics); 339 340EXPORT_SYMBOL(xrlim_allow); 341 342EXPORT_SYMBOL(tcp_write_xmit); 343EXPORT_SYMBOL(dev_loopback_xmit); 344EXPORT_SYMBOL(tcp_regs); 345 346#ifdef CONFIG_SYSCTL 347EXPORT_SYMBOL(sysctl_max_syn_backlog); 348#endif 349#endif 350 351#ifdef CONFIG_NETLINK 352EXPORT_SYMBOL(netlink_set_err); 353EXPORT_SYMBOL(netlink_broadcast); 354EXPORT_SYMBOL(netlink_unicast); 355EXPORT_SYMBOL(netlink_kernel_create); 356EXPORT_SYMBOL(netlink_dump_start); 357EXPORT_SYMBOL(netlink_ack); 358#if defined(CONFIG_NETLINK_DEV) || defined(CONFIG_NETLINK_DEV_MODULE) 359EXPORT_SYMBOL(netlink_attach); 360EXPORT_SYMBOL(netlink_detach); 361EXPORT_SYMBOL(netlink_post); 362#endif 363#endif 364 365#ifdef CONFIG_RTNETLINK 366EXPORT_SYMBOL(rtattr_parse); 367EXPORT_SYMBOL(rtnetlink_links); 368EXPORT_SYMBOL(__rta_fill); 369EXPORT_SYMBOL(rtnetlink_dump_ifinfo); 370EXPORT_SYMBOL(rtnl_wlockct); 371EXPORT_SYMBOL(rtnl); 372EXPORT_SYMBOL(neigh_delete); 373EXPORT_SYMBOL(neigh_add); 374EXPORT_SYMBOL(neigh_dump_info); 375#endif 376 377EXPORT_SYMBOL(dev_set_allmulti); 378EXPORT_SYMBOL(dev_set_promiscuity); 379EXPORT_SYMBOL(sklist_remove_socket); 380EXPORT_SYMBOL(rtnl_wait); 381EXPORT_SYMBOL(rtnl_rlockct); 382EXPORT_SYMBOL(rtnl_lock); 383EXPORT_SYMBOL(rtnl_unlock); 384 385 386/* Used by at least ipip.c. */ 387EXPORT_SYMBOL(ipv4_config); 388EXPORT_SYMBOL(dev_open); 389 390/* Used by other modules */ 391EXPORT_SYMBOL(in_ntoa); 392 393EXPORT_SYMBOL(ip_rcv); 394EXPORT_SYMBOL(arp_rcv); 395EXPORT_SYMBOL(arp_tbl); 396EXPORT_SYMBOL(arp_find); 397 398#endif /* CONFIG_INET */ 399 400#if defined(CONFIG_ULTRA) || defined(CONFIG_WD80x3) || \ 401 defined(CONFIG_EL2) || defined(CONFIG_NE2000) || \ 402 defined(CONFIG_E2100) || defined(CONFIG_HPLAN_PLUS) || \ 403 defined(CONFIG_HPLAN) || defined(CONFIG_AC3200) || \ 404 defined(CONFIG_ES3210) || defined(CONFIG_ULTRA32) || \ 405 defined(CONFIG_LNE390) || defined(CONFIG_NE3210) || \ 406 defined(CONFIG_NE2K_PCI) || defined(CONFIG_APNE) || \ 407 defined(CONFIG_DAYNAPORT) 408/* If 8390 NIC support is built in, we will need these. */ 409EXPORT_SYMBOL(ei_open); 410EXPORT_SYMBOL(ei_close); 411EXPORT_SYMBOL(ei_interrupt); 412EXPORT_SYMBOL(ethdev_init); 413EXPORT_SYMBOL(NS8390_init); 414#endif 415 416#ifdef CONFIG_TR 417EXPORT_SYMBOL(tr_setup); 418EXPORT_SYMBOL(tr_type_trans); 419EXPORT_SYMBOL(register_trdev); 420EXPORT_SYMBOL(unregister_trdev); 421EXPORT_SYMBOL(init_trdev); 422EXPORT_SYMBOL(tr_freedev); 423#endif 424 425/* Device callback registration */ 426EXPORT_SYMBOL(register_netdevice_notifier); 427EXPORT_SYMBOL(unregister_netdevice_notifier); 428 429/* support for loadable net drivers */ 430#ifdef CONFIG_NET 431EXPORT_SYMBOL(loopback_dev); 432EXPORT_SYMBOL(register_netdevice); 433EXPORT_SYMBOL(unregister_netdevice); 434EXPORT_SYMBOL(register_netdev); 435EXPORT_SYMBOL(unregister_netdev); 436EXPORT_SYMBOL(netdev_state_change); 437EXPORT_SYMBOL(ether_setup); 438EXPORT_SYMBOL(dev_new_index); 439EXPORT_SYMBOL(dev_get_by_index); 440EXPORT_SYMBOL(eth_type_trans); 441#ifdef CONFIG_FDDI 442EXPORT_SYMBOL(fddi_type_trans); 443EXPORT_SYMBOL(fddi_setup); 444#endif /* CONFIG_FDDI */ 445EXPORT_SYMBOL(eth_copy_and_sum); 446EXPORT_SYMBOL(alloc_skb); 447EXPORT_SYMBOL(__kfree_skb); 448EXPORT_SYMBOL(skb_clone); 449EXPORT_SYMBOL(skb_copy); 450EXPORT_SYMBOL(netif_rx); 451EXPORT_SYMBOL(dev_add_pack); 452EXPORT_SYMBOL(dev_remove_pack); 453EXPORT_SYMBOL(dev_get); 454EXPORT_SYMBOL(dev_alloc); 455EXPORT_SYMBOL(dev_alloc_name); 456EXPORT_SYMBOL(dev_ioctl); 457EXPORT_SYMBOL(dev_queue_xmit); 458EXPORT_SYMBOL(netdev_dropping); 459#ifdef CONFIG_NET_FASTROUTE 460EXPORT_SYMBOL(dev_fastroute_stat); 461#endif 462#ifdef CONFIG_NET_HW_FLOWCONTROL 463EXPORT_SYMBOL(netdev_register_fc); 464EXPORT_SYMBOL(netdev_unregister_fc); 465EXPORT_SYMBOL(netdev_fc_xoff); 466#endif 467EXPORT_SYMBOL(dev_base); 468EXPORT_SYMBOL(dev_close); 469EXPORT_SYMBOL(dev_mc_add); 470EXPORT_SYMBOL(dev_mc_delete); 471EXPORT_SYMBOL(dev_mc_upload); 472EXPORT_SYMBOL(n_tty_ioctl); 473EXPORT_SYMBOL(tty_register_ldisc); 474EXPORT_SYMBOL(kill_fasync); 475 476EXPORT_SYMBOL(if_port_text); 477 478#if defined(CONFIG_ATALK) || defined(CONFIG_ATALK_MODULE) 479#include<linux/if_ltalk.h> 480EXPORT_SYMBOL(ltalk_setup); 481#endif 482 483 484/* Packet scheduler modules want these. */ 485EXPORT_SYMBOL(qdisc_destroy); 486EXPORT_SYMBOL(qdisc_reset); 487EXPORT_SYMBOL(qdisc_restart); 488EXPORT_SYMBOL(qdisc_head); 489EXPORT_SYMBOL(qdisc_create_dflt); 490EXPORT_SYMBOL(noop_qdisc); 491#ifdef CONFIG_NET_SCHED 492PSCHED_EXPORTLIST; 493EXPORT_SYMBOL(pfifo_qdisc_ops); 494EXPORT_SYMBOL(register_qdisc); 495EXPORT_SYMBOL(unregister_qdisc); 496EXPORT_SYMBOL(qdisc_get_rtab); 497EXPORT_SYMBOL(qdisc_put_rtab); 498#ifdef CONFIG_NET_ESTIMATOR 499EXPORT_SYMBOL(qdisc_new_estimator); 500EXPORT_SYMBOL(qdisc_kill_estimator); 501#endif 502#ifdef CONFIG_NET_CLS_POLICE 503EXPORT_SYMBOL(tcf_police); 504EXPORT_SYMBOL(tcf_police_locate); 505EXPORT_SYMBOL(tcf_police_destroy); 506#ifdef CONFIG_RTNETLINK 507EXPORT_SYMBOL(tcf_police_dump); 508#endif 509#endif 510#endif 511#ifdef CONFIG_NET_CLS 512EXPORT_SYMBOL(register_tcf_proto_ops); 513EXPORT_SYMBOL(unregister_tcf_proto_ops); 514#endif 515 516EXPORT_SYMBOL(register_gifconf); 517 518#endif /* CONFIG_NET */ 519

