Give the sockbuf structure its own header file and supporting source file.
authorMatthew Dillon <dillon@dragonflybsd.org>
Sun, 22 Apr 2007 01:13:17 +0000 (01:13 +0000)
committerMatthew Dillon <dillon@dragonflybsd.org>
Sun, 22 Apr 2007 01:13:17 +0000 (01:13 +0000)
commit6d49aa6ffaff1e5a2ff3abe70c453cc8b47adb73
tree814baa27f03e4df8121c9466b32d1ba27d5d943b
parent63db58ada77d676e356579bfca6230b2b8b2651c
Give the sockbuf structure its own header file and supporting source file.
Move all sockbuf-specific functions from kern/uipc_socket2.c into the new
kern/uipc_sockbuf.c and move all the sockbuf-specific structures from
sys/socketvar.h to sys/sockbuf.h.

Change the sockbuf structure to only contain those fields required to
properly management a chain of mbufs.  Create a signalsockbuf structure
to hold the remaining fields (e.g. selinfo, mbmax, etc).

Change the so_rcv and so_snd structures in the struct socket from
a sockbuf to a signalsockbuf.

Remove the recently added sorecv_direct structure which was being used
to provide a direct mbuf path to consumers for socket I/O.  Use the newly
revamped sockbuf base structure instead.  This gives mbuf consumers
direct access to the sockbuf API functions for use outside of a struct
socket.  This will also allow new API functions to be added to the sockbuf
interface to ease the job of parsing data out of chained mbufs.
63 files changed:
sys/conf/files
sys/kern/sys_socket.c
sys/kern/uipc_msg.c
sys/kern/uipc_sockbuf.c [new file with mode: 0644]
sys/kern/uipc_socket.c
sys/kern/uipc_socket2.c
sys/kern/uipc_syscalls.c
sys/kern/uipc_usrreq.c
sys/kern/vfs_aio.c
sys/net/accf_data/accf_data.c
sys/net/accf_http/accf_http.c
sys/net/ip_mroute/ip_mroute.c
sys/net/netmsg.h
sys/net/raw_usrreq.c
sys/netgraph/ksocket/ng_ksocket.c
sys/netgraph/socket/ng_socket.c
sys/netinet/ip_divert.c
sys/netinet/raw_ip.c
sys/netinet/sctp_indata.c
sys/netinet/sctp_input.c
sys/netinet/sctp_output.c
sys/netinet/sctp_pcb.c
sys/netinet/sctp_usrreq.c
sys/netinet/sctp_var.h
sys/netinet/sctputil.c
sys/netinet/sctputil.h
sys/netinet/tcp_input.c
sys/netinet/tcp_output.c
sys/netinet/tcp_sack.c
sys/netinet/tcp_subr.c
sys/netinet/tcp_syncache.c
sys/netinet/tcp_usrreq.c
sys/netinet/udp_usrreq.c
sys/netinet6/icmp6.c
sys/netinet6/ip6_mroute.c
sys/netinet6/raw_ip6.c
sys/netinet6/sctp6_usrreq.c
sys/netinet6/udp6_usrreq.c
sys/netproto/atalk/ddp_input.c
sys/netproto/atm/atm_aal5.c
sys/netproto/atm/atm_socket.c
sys/netproto/ipsec/keysock.c
sys/netproto/ipx/ipx_usrreq.c
sys/netproto/ipx/spx_usrreq.c
sys/netproto/key/keysock.c
sys/netproto/natm/natm.c
sys/netproto/natm/natm.h
sys/netproto/ncp/ncp_ncp.c
sys/netproto/ncp/ncp_sock.c
sys/netproto/ncp/ncp_sock.h
sys/netproto/ns/idp_usrreq.c
sys/netproto/ns/spp_usrreq.c
sys/netproto/smb/smb_trantcp.c
sys/sys/aio.h
sys/sys/protosw.h
sys/sys/sockbuf.h [new file with mode: 0644]
sys/sys/socketops.h
sys/sys/socketvar.h
sys/vfs/fifofs/fifo_vnops.c
sys/vfs/nfs/krpc_subr.c
sys/vfs/nfs/nfs_socket.c
sys/vfs/nfs/nfs_syscalls.c
sys/vfs/portal/portal_vnops.c