Annotation of 43BSD/sys/netinet/in_proto.c, revision 1.1

1.1     ! root        1: /*
        !             2:  * Copyright (c) 1982, 1986 Regents of the University of California.
        !             3:  * All rights reserved.  The Berkeley software License Agreement
        !             4:  * specifies the terms and conditions for redistribution.
        !             5:  *
        !             6:  *     @(#)in_proto.c  7.1 (Berkeley) 6/5/86
        !             7:  */
        !             8: 
        !             9: #include "param.h"
        !            10: #include "socket.h"
        !            11: #include "protosw.h"
        !            12: #include "domain.h"
        !            13: #include "mbuf.h"
        !            14: 
        !            15: #include "in.h"
        !            16: #include "in_systm.h"
        !            17: 
        !            18: /*
        !            19:  * TCP/IP protocol family: IP, ICMP, UDP, TCP.
        !            20:  */
        !            21: int    ip_output(),ip_ctloutput();
        !            22: int    ip_init(),ip_slowtimo(),ip_drain();
        !            23: int    icmp_input();
        !            24: int    udp_input(),udp_ctlinput();
        !            25: int    udp_usrreq();
        !            26: int    udp_init();
        !            27: int    tcp_input(),tcp_ctlinput();
        !            28: int    tcp_usrreq(),tcp_ctloutput();
        !            29: int    tcp_init(),tcp_fasttimo(),tcp_slowtimo(),tcp_drain();
        !            30: int    rip_input(),rip_output(),rip_ctloutput();
        !            31: extern int raw_usrreq();
        !            32: /*
        !            33:  * IMP protocol family: raw interface.
        !            34:  * Using the raw interface entry to get the timer routine
        !            35:  * in is a kludge.
        !            36:  */
        !            37: #include "imp.h"
        !            38: #if NIMP > 0
        !            39: int    rimp_output(), hostslowtimo();
        !            40: #endif
        !            41: 
        !            42: #ifdef NSIP
        !            43: int    idpip_input(), nsip_ctlinput();
        !            44: #endif
        !            45: 
        !            46: extern struct domain inetdomain;
        !            47: 
        !            48: struct protosw inetsw[] = {
        !            49: { 0,           &inetdomain,    0,              0,
        !            50:   0,           ip_output,      0,              0,
        !            51:   0,
        !            52:   ip_init,     0,              ip_slowtimo,    ip_drain,
        !            53: },
        !            54: { SOCK_DGRAM,  &inetdomain,    IPPROTO_UDP,    PR_ATOMIC|PR_ADDR,
        !            55:   udp_input,   0,              udp_ctlinput,   ip_ctloutput,
        !            56:   udp_usrreq,
        !            57:   udp_init,    0,              0,              0,
        !            58: },
        !            59: { SOCK_STREAM, &inetdomain,    IPPROTO_TCP,    PR_CONNREQUIRED|PR_WANTRCVD,
        !            60:   tcp_input,   0,              tcp_ctlinput,   tcp_ctloutput,
        !            61:   tcp_usrreq,
        !            62:   tcp_init,    tcp_fasttimo,   tcp_slowtimo,   tcp_drain,
        !            63: },
        !            64: { SOCK_RAW,    &inetdomain,    IPPROTO_RAW,    PR_ATOMIC|PR_ADDR,
        !            65:   rip_input,   rip_output,     0,              rip_ctloutput,
        !            66:   raw_usrreq,
        !            67:   0,           0,              0,              0,
        !            68: },
        !            69: { SOCK_RAW,    &inetdomain,    IPPROTO_ICMP,   PR_ATOMIC|PR_ADDR,
        !            70:   icmp_input,  rip_output,     0,              rip_ctloutput,
        !            71:   raw_usrreq,
        !            72:   0,           0,              0,              0,
        !            73: },
        !            74: #ifdef NSIP
        !            75: { SOCK_RAW,    &inetdomain,    IPPROTO_IDP,    PR_ATOMIC|PR_ADDR,
        !            76:   idpip_input, rip_output,     nsip_ctlinput,  0,
        !            77:   raw_usrreq,
        !            78:   0,           0,              0,              0,
        !            79: },
        !            80: #endif
        !            81:        /* raw wildcard */
        !            82: { SOCK_RAW,    &inetdomain,    0,              PR_ATOMIC|PR_ADDR,
        !            83:   rip_input,   rip_output,     0,              rip_ctloutput,
        !            84:   raw_usrreq,
        !            85:   0,           0,              0,              0,
        !            86: },
        !            87: };
        !            88: 
        !            89: struct domain inetdomain =
        !            90:     { AF_INET, "internet", 0, 0, 0, 
        !            91:       inetsw, &inetsw[sizeof(inetsw)/sizeof(inetsw[0])] };
        !            92: 
        !            93: #if NIMP > 0
        !            94: extern struct domain impdomain;
        !            95: 
        !            96: struct protosw impsw[] = {
        !            97: { SOCK_RAW,    &impdomain,     0,              PR_ATOMIC|PR_ADDR,
        !            98:   0,           rimp_output,    0,              0,
        !            99:   raw_usrreq,
        !           100:   0,           0,              hostslowtimo,   0,
        !           101: },
        !           102: };
        !           103: 
        !           104: struct domain impdomain =
        !           105:     { AF_IMPLINK, "imp", 0, 0, 0,
        !           106:       impsw, &impsw[sizeof (impsw)/sizeof(impsw[0])] };
        !           107: #endif
        !           108: 
        !           109: #include "hy.h"
        !           110: #if NHY > 0
        !           111: /*
        !           112:  * HYPERchannel protocol family: raw interface.
        !           113:  */
        !           114: int    rhy_output();
        !           115: extern struct domain hydomain;
        !           116: 
        !           117: struct protosw hysw[] = {
        !           118: { SOCK_RAW,    &hydomain,      0,              PR_ATOMIC|PR_ADDR,
        !           119:   0,           rhy_output,     0,              0,
        !           120:   raw_usrreq,
        !           121:   0,           0,              0,              0,
        !           122: },
        !           123: };
        !           124: 
        !           125: struct domain hydomain =
        !           126:     { AF_HYLINK, "hy", 0, 0, 0, hysw, &hysw[sizeof (hysw)/sizeof(hysw[0])] };
        !           127: #endif

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.