projects
/
unix-history
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
tags
|
clone url
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fixes for fp context switching
[unix-history]
/
usr
/
src
/
sys
/
kern
/
uipc_domain.c
diff --git
a/usr/src/sys/kern/uipc_domain.c
b/usr/src/sys/kern/uipc_domain.c
index
965ce13
..
fa67b61
100644
(file)
--- a/
usr/src/sys/kern/uipc_domain.c
+++ b/
usr/src/sys/kern/uipc_domain.c
@@
-1,16
+1,25
@@
-/* uipc_domain.c 6.5 85/06/02 */
+/*
+ * Copyright (c) 1982, 1986 Regents of the University of California.
+ * All rights reserved.
+ *
+ * %sccs.include.redist.c%
+ *
+ * @(#)uipc_domain.c 7.9 (Berkeley) %G%
+ */
+#include <sys/cdefs.h>
#include "param.h"
#include "socket.h"
#include "protosw.h"
#include "domain.h"
#include "param.h"
#include "socket.h"
#include "protosw.h"
#include "domain.h"
+#include "mbuf.h"
#include "time.h"
#include "kernel.h"
#define ADDDOMAIN(x) { \
#include "time.h"
#include "kernel.h"
#define ADDDOMAIN(x) { \
- extern struct domain
x/**/domain
; \
-
x/**/domain.dom_next
= domains; \
- domains = &
x/**/domain
; \
+ extern struct domain
__CONCAT(x,domain)
; \
+
__CONCAT(x,domain.dom_next)
= domains; \
+ domains = &
__CONCAT(x,domain)
; \
}
domaininit()
}
domaininit()
@@
-18,16
+27,24
@@
domaininit()
register struct domain *dp;
register struct protosw *pr;
register struct domain *dp;
register struct protosw *pr;
+#undef unix
#ifndef lint
ADDDOMAIN(unix);
#ifndef lint
ADDDOMAIN(unix);
+ ADDDOMAIN(route);
#ifdef INET
ADDDOMAIN(inet);
#endif
#ifdef NS
ADDDOMAIN(ns);
#endif
#ifdef INET
ADDDOMAIN(inet);
#endif
#ifdef NS
ADDDOMAIN(ns);
#endif
-#ifdef PUP
- ADDDOMAIN(pup);
+#ifdef ISO
+ ADDDOMAIN(iso);
+#endif
+#ifdef RMP
+ ADDDOMAIN(rmp);
+#endif
+#ifdef CCITT
+ ADDDOMAIN(ccitt);
#endif
#include "imp.h"
#if NIMP > 0
#endif
#include "imp.h"
#if NIMP > 0
@@
-42,6
+59,11
@@
domaininit()
if (pr->pr_init)
(*pr->pr_init)();
}
if (pr->pr_init)
(*pr->pr_init)();
}
+
+if (max_linkhdr < 16) /* XXX */
+max_linkhdr = 16;
+ max_hdr = max_linkhdr + max_protohdr;
+ max_datalen = MHLEN - max_hdr;
pffasttimo();
pfslowtimo();
}
pffasttimo();
pfslowtimo();
}
@@
-80,8
+102,9
@@
pffindproto(family, protocol, type)
return (0);
found:
for (pr = dp->dom_protosw; pr < dp->dom_protoswNPROTOSW; pr++) {
return (0);
found:
for (pr = dp->dom_protosw; pr < dp->dom_protoswNPROTOSW; pr++) {
- if (
pr->pr_protocol == protocol
)
+ if (
(pr->pr_protocol == protocol) && (pr->pr_type == type)
)
return (pr);
return (pr);
+
if (type == SOCK_RAW && pr->pr_type == SOCK_RAW &&
pr->pr_protocol == 0 && maybe == (struct protosw *)0)
maybe = pr;
if (type == SOCK_RAW && pr->pr_type == SOCK_RAW &&
pr->pr_protocol == 0 && maybe == (struct protosw *)0)
maybe = pr;
@@
-89,9
+112,9
@@
found:
return (maybe);
}
return (maybe);
}
-pfctlinput(cmd,
arg
)
+pfctlinput(cmd,
sa
)
int cmd;
int cmd;
-
caddr_t arg
;
+
struct sockaddr *sa
;
{
register struct domain *dp;
register struct protosw *pr;
{
register struct domain *dp;
register struct protosw *pr;
@@
-99,7
+122,7
@@
pfctlinput(cmd, arg)
for (dp = domains; dp; dp = dp->dom_next)
for (pr = dp->dom_protosw; pr < dp->dom_protoswNPROTOSW; pr++)
if (pr->pr_ctlinput)
for (dp = domains; dp; dp = dp->dom_next)
for (pr = dp->dom_protosw; pr < dp->dom_protoswNPROTOSW; pr++)
if (pr->pr_ctlinput)
- (*pr->pr_ctlinput)(cmd,
arg
);
+ (*pr->pr_ctlinput)(cmd,
sa, (caddr_t) 0
);
}
pfslowtimo()
}
pfslowtimo()