Annotation of 42BSD/sys/netinet/in.h, revision 1.1.1.1

1.1       root        1: /*     in.h    6.1     83/07/29        */
                      2: 
                      3: /*
                      4:  * Constants and structures defined by the internet system,
                      5:  * Per RFC 790, September 1981.
                      6:  */
                      7: 
                      8: /*
                      9:  * Protocols
                     10:  */
                     11: #define        IPPROTO_ICMP            1               /* control message protocol */
                     12: #define        IPPROTO_GGP             2               /* gateway^2 (deprecated) */
                     13: #define        IPPROTO_TCP             6               /* tcp */
                     14: #define        IPPROTO_PUP             12              /* pup */
                     15: #define        IPPROTO_UDP             17              /* user datagram protocol */
                     16: #define        IPPROTO_ND              77              /* UNOFFICIAL net disk proto */
                     17: 
                     18: #define        IPPROTO_RAW             255             /* raw IP packet */
                     19: #define        IPPROTO_MAX             256
                     20: 
                     21: /*
                     22:  * Port/socket numbers: network standard functions
                     23:  */
                     24: #define        IPPORT_ECHO             7
                     25: #define        IPPORT_DISCARD          9
                     26: #define        IPPORT_SYSTAT           11
                     27: #define        IPPORT_DAYTIME          13
                     28: #define        IPPORT_NETSTAT          15
                     29: #define        IPPORT_FTP              21
                     30: #define        IPPORT_TELNET           23
                     31: #define        IPPORT_SMTP             25
                     32: #define        IPPORT_TIMESERVER       37
                     33: #define        IPPORT_NAMESERVER       42
                     34: #define        IPPORT_WHOIS            43
                     35: #define        IPPORT_MTP              57
                     36: 
                     37: /*
                     38:  * Port/socket numbers: host specific functions
                     39:  */
                     40: #define        IPPORT_TFTP             69
                     41: #define        IPPORT_RJE              77
                     42: #define        IPPORT_FINGER           79
                     43: #define        IPPORT_TTYLINK          87
                     44: #define        IPPORT_SUPDUP           95
                     45: 
                     46: /*
                     47:  * UNIX TCP sockets
                     48:  */
                     49: #define        IPPORT_EXECSERVER       512
                     50: #define        IPPORT_LOGINSERVER      513
                     51: #define        IPPORT_CMDSERVER        514
                     52: #define        IPPORT_EFSSERVER        520
                     53: 
                     54: /*
                     55:  * UNIX UDP sockets
                     56:  */
                     57: #define        IPPORT_BIFFUDP          512
                     58: #define        IPPORT_WHOSERVER        513
                     59: #define        IPPORT_ROUTESERVER      520     /* 520+1 also used */
                     60: 
                     61: /*
                     62:  * Ports < IPPORT_RESERVED are reserved for
                     63:  * privileged processes (e.g. root).
                     64:  */
                     65: #define        IPPORT_RESERVED         1024
                     66: 
                     67: /*
                     68:  * Link numbers
                     69:  */
                     70: #define        IMPLINK_IP              155
                     71: #define        IMPLINK_LOWEXPER        156
                     72: #define        IMPLINK_HIGHEXPER       158
                     73: 
                     74: /*
                     75:  * Internet address (old style... should be updated)
                     76:  */
                     77: struct in_addr {
                     78:        union {
                     79:                struct { u_char s_b1,s_b2,s_b3,s_b4; } S_un_b;
                     80:                struct { u_short s_w1,s_w2; } S_un_w;
                     81:                u_long S_addr;
                     82:        } S_un;
                     83: #define        s_addr  S_un.S_addr     /* can be used for most tcp & ip code */
                     84: #define        s_host  S_un.S_un_b.s_b2        /* host on imp */
                     85: #define        s_net   S_un.S_un_b.s_b1        /* network */
                     86: #define        s_imp   S_un.S_un_w.s_w2        /* imp */
                     87: #define        s_impno S_un.S_un_b.s_b4        /* imp # */
                     88: #define        s_lh    S_un.S_un_b.s_b3        /* logical host */
                     89: };
                     90: 
                     91: /*
                     92:  * Definitions of bits in internet address integers.
                     93:  */
                     94: #define        IN_CLASSA(i)            ((((long)(i))&0x80000000)==0)
                     95: #define        IN_CLASSA_NET           0xff000000
                     96: #define        IN_CLASSA_NSHIFT        24
                     97: #define        IN_CLASSA_HOST          0x00ffffff
                     98: 
                     99: #define        IN_CLASSB(i)            ((((long)(i))&0xc0000000)==0x80000000)
                    100: #define        IN_CLASSB_NET           0xffff0000
                    101: #define        IN_CLASSB_NSHIFT        16
                    102: #define        IN_CLASSB_HOST          0x0000ffff
                    103: 
                    104: #define        IN_CLASSC(i)            ((((long)(i))&0xc0000000)==0xc0000000)
                    105: #define        IN_CLASSC_NET           0xffffff00
                    106: #define        IN_CLASSC_NSHIFT        8
                    107: #define        IN_CLASSC_HOST          0x000000ff
                    108: 
                    109: #define        INADDR_ANY      0x00000000
                    110: 
                    111: /*
                    112:  * Socket address, internet style.
                    113:  */
                    114: struct sockaddr_in {
                    115:        short   sin_family;
                    116:        u_short sin_port;
                    117:        struct  in_addr sin_addr;
                    118:        char    sin_zero[8];
                    119: };
                    120: 
                    121: #if !defined(vax)
                    122: /*
                    123:  * Macros for number representation conversion.
                    124:  */
                    125: #define        ntohl(x)        (x)
                    126: #define        ntohs(x)        (x)
                    127: #define        htonl(x)        (x)
                    128: #define        htons(x)        (x)
                    129: #endif
                    130: 
                    131: #ifdef KERNEL
                    132: extern struct domain inetdomain;
                    133: extern struct protosw inetsw[];
                    134: #endif

unix.superglobalmegacorp.com

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