- ip_input, ip_output, 0,
- 0, ip_slowtimo, ip_drain, 0, 0,
- 0 },
-{ 0, 0, IPPROTO_ICMP, 0,
- icmp_input, icmp_output, 0,
- 0, 0, icmp_drain, 0, 0,
- 0 },
-{ SOCK_DGRAM, PF_INET, IPPROTO_UDP, PR_ATOMIC|PR_PROVIDEADDR,
- udp_input, 0, udp_advise,
- 0, 0, 0, udp_usrreq, udp_sense,
- MLEN },
-{ SOCK_STREAM, PF_INET, IPPROTO_TCP, 0,
- tcp_input, 0, tcp_advise,
- tcp_fasttimo, tcp_slowtimo, tcp_drain, tcp_usrreq, tcp_sense,
- MLEN },
-{ SOCK_RAW, PF_INET, IPPROTO_RAW, PR_ATOMIC|PR_PROVIDEADDR,
- ri_input, 0, ri_advise,
- ri_fasttimo, ri_slowtimo, ri_drain, ri_usrreq, ri_sense,
- MLEN },
-#endif
-#if NPUP > 0
-{ SOCK_DGRAM, PF_PUP, 0, PR_ATOMIC|PR_PROVIDEADDR,
- pup_input, pup_output, pup_advise,
- 0, pup_slowtimo, pup_drain, pup_usrreq, pup_sense,
- MLEN },
-{ SOCK_STREAM, PF_PUP1, PUPPROTO_BSP, 0,
- bsp_input, 0, bsp_advise,
- bsp_fasttimo, bsp_slowtimo, bsp_drain, bsp_usrreq, bsp_sense,
- MLEN },
-{ SOCK_RAW, PF_PUP1, PUPPROTO_RAW, PR_ATOMIC|PR_PROVIDEADDR,
- rp_input, 0, rp_advise,
- rp_fasttimo, rp_slowtimo, rp_drain, rp_usrreq, rp_sense,
- MLEN },
-#endif
-#if NCHAOS > 0
-/* ... */
-#endif
-#if NOISCP > 0
-/* ... */
-#endif
-#if NNBS > 0
-/* ... */
-#endif
-#if NECMA > 0
-/* ... */
-#endif
-#if NDATAKIT > 0
-/* ... */
-#endif
-};
-#define protoswEND &protosw[sizeof (protosw)/sizeof (protosw[0])]
-
-/*
- * Operations on protocol table and protocol families.
- */
-
-/*
- * Find a standard protocol in a protocol family
- * of a specific type.
- */
-pf_stdproto(family, type)
- int family, type;
-{
- register struct protosw *pr;
-
- if (family == 0)
- return (0);
- for (pr = protosw; pr < protoswEND; pr++)
- if (pr->pr_family == family && pr->pr_type == type)
- return (pr);
- return (0);