# Linux Networking and Network Devices APIs

This documentation is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA

For more details see the file COPYING in the source distribution of Linux.

## Linux Networking

### Networking Base Types

!Iinclude/linux/net.h

### Socket Buffer Functions

!Iinclude/linux/skbuff.h !Iinclude/net/sock.h !Enet/socket.c !Enet/core/skbuff.c !Enet/core/sock.c !Enet/core/datagram.c !Enet/core/stream.c

### Socket Filter

!Enet/core/filter.c

### Generic Network Statistics

!Iinclude/linux/gen_stats.h !Enet/core/gen_stats.c !Enet/core/gen_estimator.c

### SUN RPC subsystem

!Enet/sunrpc/xdr.c !Enet/sunrpc/svc_xprt.c !Enet/sunrpc/xprt.c !Enet/sunrpc/sched.c !Enet/sunrpc/socklib.c !Enet/sunrpc/stats.c !Enet/sunrpc/rpc_pipe.c !Enet/sunrpc/rpcb_clnt.c !Enet/sunrpc/clnt.c

## Network device support

### Driver Support

!Enet/core/dev.c !Enet/ethernet/eth.c !Enet/sched/sch_generic.c !Iinclude/linux/etherdevice.h !Iinclude/linux/netdevice.h

### PHY Support

!Edrivers/net/phy/phy.c !Idrivers/net/phy/phy.c !Edrivers/net/phy/phy_device.c !Idrivers/net/phy/phy_device.c !Edrivers/net/phy/mdio_bus.c !Idrivers/net/phy/mdio_bus.c

### Synchronous PPP

!Edrivers/net/wan/syncppp.c