SCCS-vsn: sys/kern/uipc_syscalls.c 4.20
SCCS-vsn: sys/kern/uipc_mbuf.c 1.36
SCCS-vsn: sys/kern/uipc_pipe.c 4.13
SCCS-vsn: sys/kern/uipc_proto.c 4.22
SCCS-vsn: sys/kern/uipc_socket.c 4.42
-/* uipc_mbuf.c 1.35 82/06/14 */
+/* uipc_mbuf.c 1.36 82/06/20 */
#include "../h/param.h"
#include "../h/dir.h"
#include "../h/param.h"
#include "../h/dir.h"
if (m_clalloc(4, MPG_MBUFS) == 0)
goto bad;
if (m_clalloc(32, MPG_CLUSTERS) == 0)
if (m_clalloc(4, MPG_MBUFS) == 0)
goto bad;
if (m_clalloc(32, MPG_CLUSTERS) == 0)
npg = ncl * CLSIZE;
s = splimp(); /* careful: rmalloc isn't reentrant */
mbx = rmalloc(mbmap, npg);
npg = ncl * CLSIZE;
s = splimp(); /* careful: rmalloc isn't reentrant */
mbx = rmalloc(mbmap, npg);
#ifdef lint
addr = addr; n = n;
#endif
#ifdef lint
addr = addr; n = n;
#endif
if (m_clalloc(1, MPG_MBUFS) == 0)
goto steal;
return (1);
if (m_clalloc(1, MPG_MBUFS) == 0)
goto steal;
return (1);
{
register struct mbuf *m;
{
register struct mbuf *m;
MGET(m, canwait);
return (m);
}
MGET(m, canwait);
return (m);
}
{
register struct mbuf *m;
{
register struct mbuf *m;
m = m_get(canwait);
if (m == 0)
return (0);
m = m_get(canwait);
if (m == 0)
return (0);
{
register struct mbuf *n;
{
register struct mbuf *n;
MFREE(m, n);
return (n);
}
MFREE(m, n);
return (n);
}
{
register struct mbuf *m;
{
register struct mbuf *m;
if (!m_expand()) {
mbstat.m_drops++;
return (NULL);
if (!m_expand()) {
mbstat.m_drops++;
return (NULL);
register struct mbuf *n;
register int s;
register struct mbuf *n;
register int s;
if (m == NULL)
return;
s = splimp();
if (m == NULL)
return;
s = splimp();
{
register struct mbuf *n, **np;
struct mbuf *top, *p;
{
register struct mbuf *n, **np;
struct mbuf *top, *p;
if (len == 0)
return (0);
if (len == 0)
return (0);
{
register struct mbuf *m, *n;
{
register struct mbuf *m, *n;
if ((m = mp) == NULL)
return;
if (len >= 0) {
if ((m = mp) == NULL)
return;
if (len >= 0) {
-/* uipc_pipe.c 4.12 82/06/14 */
+/* uipc_pipe.c 4.13 82/06/20 */
#include "../h/param.h"
#include "../h/dir.h"
#include "../h/param.h"
#include "../h/dir.h"
struct socket *wso, *rso;
{
struct socket *wso, *rso;
{
/* when we reserve memory this routine may fail */
wso->so_proto = rso->so_proto = &pipeproto;
wso->so_pcb = (caddr_t)rso;
/* when we reserve memory this routine may fail */
wso->so_proto = rso->so_proto = &pipeproto;
wso->so_pcb = (caddr_t)rso;
{
struct socket *so2 = (struct socket *)so->so_pcb;
{
struct socket *so2 = (struct socket *)so->so_pcb;
switch (req) {
case PRU_ATTACH:
switch (req) {
case PRU_ATTACH:
-/* uipc_proto.c 4.21 82/04/25 */
+/* uipc_proto.c 4.22 82/06/20 */
#include "../h/param.h"
#include "../h/socket.h"
#include "../h/param.h"
#include "../h/socket.h"
{
register struct protosw *pr;
{
register struct protosw *pr;
for (pr = protoswLAST; pr >= protosw; pr--)
if (pr->pr_init)
(*pr->pr_init)();
for (pr = protoswLAST; pr >= protosw; pr--)
if (pr->pr_init)
(*pr->pr_init)();
{
register struct protosw *pr;
{
register struct protosw *pr;
if (family == 0)
return (0);
for (pr = protosw; pr <= protoswLAST; pr++)
if (family == 0)
return (0);
for (pr = protosw; pr <= protoswLAST; pr++)
{
register struct protosw *pr;
{
register struct protosw *pr;
if (family == 0)
return (0);
for (pr = protosw; pr <= protoswLAST; pr++)
if (family == 0)
return (0);
for (pr = protosw; pr <= protoswLAST; pr++)
caddr_t arg;
{
register struct protosw *pr;
caddr_t arg;
{
register struct protosw *pr;
for (pr = protosw; pr <= protoswLAST; pr++)
if (pr->pr_ctlinput)
for (pr = protosw; pr <= protoswLAST; pr++)
if (pr->pr_ctlinput)
{
register struct protosw *pr;
{
register struct protosw *pr;
for (pr = protoswLAST; pr >= protosw; pr--)
if (pr->pr_slowtimo)
(*pr->pr_slowtimo)();
for (pr = protoswLAST; pr >= protosw; pr--)
if (pr->pr_slowtimo)
(*pr->pr_slowtimo)();
{
register struct protosw *pr;
{
register struct protosw *pr;
for (pr = protoswLAST; pr >= protosw; pr--)
if (pr->pr_fasttimo)
(*pr->pr_fasttimo)();
for (pr = protoswLAST; pr >= protosw; pr--)
if (pr->pr_fasttimo)
(*pr->pr_fasttimo)();
-/* uipc_socket.c 4.41 82/06/14 */
+/* uipc_socket.c 4.42 82/06/20 */
#include "../h/param.h"
#include "../h/systm.h"
#include "../h/param.h"
#include "../h/systm.h"
register struct socket *so;
struct mbuf *m;
int pf, proto, error;
register struct socket *so;
struct mbuf *m;
int pf, proto, error;
/*
* Use process standard protocol/protocol family if none
/*
* Use process standard protocol/protocol family if none
if (so->so_pcb || (so->so_state & SS_USERGONE) == 0)
return;
sbrelease(&so->so_snd);
if (so->so_pcb || (so->so_state & SS_USERGONE) == 0)
return;
sbrelease(&so->so_snd);
{
int s = splnet(); /* conservative */
{
int s = splnet(); /* conservative */
if (so->so_pcb == 0)
goto discard;
if (exiting)
if (so->so_pcb == 0)
goto discard;
if (exiting)
bzero((caddr_t)sb, sizeof (*sb)); /* XXX */
return (0); /* XXX */
}
bzero((caddr_t)sb, sizeof (*sb)); /* XXX */
return (0); /* XXX */
}
int s = splnet();
int error;
int s = splnet();
int error;
if ((so->so_options & SO_ACCEPTCONN) == 0) {
error = EINVAL; /* XXX */
goto bad;
if ((so->so_options & SO_ACCEPTCONN) == 0) {
error = EINVAL; /* XXX */
goto bad;
int s = splnet();
int error;
int s = splnet();
int error;
if (so->so_state & (SS_ISCONNECTED|SS_ISCONNECTING)) {
error = EISCONN;
goto bad;
if (so->so_state & (SS_ISCONNECTED|SS_ISCONNECTING)) {
error = EISCONN;
goto bad;
int s = splnet();
int error;
int s = splnet();
int error;
if ((so->so_state & SS_ISCONNECTED) == 0) {
error = ENOTCONN;
goto bad;
if ((so->so_state & SS_ISCONNECTED) == 0) {
error = ENOTCONN;
goto bad;
register u_int len;
int error = 0, space, s;
register u_int len;
int error = 0, space, s;
if (sosendallatonce(so) && u.u_count > so->so_snd.sb_hiwat)
return (EMSGSIZE);
#ifdef notdef
if (sosendallatonce(so) && u.u_count > so->so_snd.sb_hiwat)
return (EMSGSIZE);
#ifdef notdef
int eor, s, error = 0, cnt = u.u_count;
caddr_t base = u.u_base;
int eor, s, error = 0, cnt = u.u_count;
caddr_t base = u.u_base;
restart:
sblock(&so->so_rcv);
s = splnet();
restart:
sblock(&so->so_rcv);
s = splnet();
switch (cmd) {
case FIONBIO: {
switch (cmd) {
case FIONBIO: {
-/* uipc_syscalls.c 4.19 82/06/14 */
+/* uipc_syscalls.c 4.20 82/06/20 */
#include "../h/param.h"
#include "../h/systm.h"
#include "../h/param.h"
#include "../h/systm.h"
register struct file *rf, *wf;
struct socket *rso, *wso;
int r;
register struct file *rf, *wf;
struct socket *rso, *wso;
int r;
u.u_error = socreate(&rso, SOCK_STREAM,
&localproto, (struct sockaddr *)0, 0);
u.u_error = socreate(&rso, SOCK_STREAM,
&localproto, (struct sockaddr *)0, 0);
struct sockaddr sa;
struct socket *so;
register struct file *fp;
struct sockaddr sa;
struct socket *so;
register struct file *fp;
if ((fp = falloc()) == NULL)
return;
if ((fp = falloc()) == NULL)
return;
register struct file *fp;
struct socket *so;
int s;
register struct file *fp;
struct socket *so;
int s;
if (uap->asa && useracc((caddr_t)uap->asa, sizeof (sa), B_WRITE)==0) {
u.u_error = EFAULT;
if (uap->asa && useracc((caddr_t)uap->asa, sizeof (sa), B_WRITE)==0) {
u.u_error = EFAULT;
register struct file *fp;
register struct socket *so;
int s;
register struct file *fp;
register struct socket *so;
int s;
if (copyin((caddr_t)uap->a, (caddr_t)&sa, sizeof (sa))) {
u.u_error = EFAULT;
if (copyin((caddr_t)uap->a, (caddr_t)&sa, sizeof (sa))) {
u.u_error = EFAULT;
} *uap = (struct a *)u.u_ap;
register struct file *fp;
struct sockaddr sa;
} *uap = (struct a *)u.u_ap;
register struct file *fp;
struct sockaddr sa;
fp = getf(uap->fdes);
if (fp == 0)
fp = getf(uap->fdes);
if (fp == 0)
} *uap = (struct a *)u.u_ap;
register struct file *fp;
struct sockaddr sa;
} *uap = (struct a *)u.u_ap;
register struct file *fp;
struct sockaddr sa;
fp = getf(uap->fdes);
if (fp == 0)
fp = getf(uap->fdes);
if (fp == 0)
register struct file *fp;
register struct socket *so;
struct sockaddr addr;
register struct file *fp;
register struct socket *so;
struct sockaddr addr;
fp = getf(uap->fdes);
if (fp == 0)
fp = getf(uap->fdes);
if (fp == 0)