Annotation of Net2/arch/i386/netboot/bootp.h, revision 1.1

1.1     ! root        1: /* netboot
        !             2:  *
        !             3:  * bootp.h,v
        !             4:  * Revision 1.1  1993/07/08  16:03:53  brezak
        !             5:  * Diskless boot prom code from Jim McKim ([email protected])
        !             6:  *
        !             7:  * Revision 1.1  1993/06/30  20:14:07  mckim
        !             8:  * Added BOOTP support.
        !             9:  *
        !            10:  */
        !            11: 
        !            12: /*
        !            13:  * Bootstrap Protocol (BOOTP).  RFC951 and RFC1048.
        !            14:  *
        !            15:  *
        !            16:  * This file specifies the "implementation-independent" BOOTP protocol
        !            17:  * information which is common to both client and server.
        !            18:  *
        !            19:  *
        !            20:  * Copyright 1988 by Carnegie Mellon.
        !            21:  *
        !            22:  * Permission to use, copy, modify, and distribute this program for any
        !            23:  * purpose and without fee is hereby granted, provided that this copyright
        !            24:  * and permission notice appear on all copies and supporting documentation,
        !            25:  * the name of Carnegie Mellon not be used in advertising or publicity
        !            26:  * pertaining to distribution of the program without specific prior
        !            27:  * permission, and notice be given in supporting documentation that copying
        !            28:  * and distribution is by permission of Carnegie Mellon and Stanford
        !            29:  * University.  Carnegie Mellon makes no representations about the
        !            30:  * suitability of this software for any purpose.  It is provided "as is"
        !            31:  * without express or implied warranty.
        !            32:  */
        !            33: 
        !            34: 
        !            35: struct bootp {
        !            36:        unsigned char   bp_op;          /* packet opcode type */
        !            37:        unsigned char   bp_htype;       /* hardware addr type */
        !            38:        unsigned char   bp_hlen;        /* hardware addr length */
        !            39:        unsigned char   bp_hops;        /* gateway hops */
        !            40:        unsigned long   bp_xid;         /* transaction ID */
        !            41:        unsigned short  bp_secs;        /* seconds since boot began */
        !            42:        unsigned short  bp_unused;
        !            43:        ipaddr_t        bp_ciaddr;      /* client IP address */
        !            44:        ipaddr_t        bp_yiaddr;      /* 'your' IP address */
        !            45:        ipaddr_t        bp_siaddr;      /* server IP address */
        !            46:        ipaddr_t        bp_giaddr;      /* gateway IP address */
        !            47:        unsigned char   bp_chaddr[16];  /* client hardware address */
        !            48:        unsigned char   bp_sname[64];   /* server host name */
        !            49:        unsigned char   bp_file[128];   /* boot file name */
        !            50:        unsigned char   bp_vend[64];    /* vendor-specific area */
        !            51: };
        !            52: 
        !            53: /*
        !            54:  * UDP port numbers, server and client.
        !            55:  */
        !            56: #define        IPPORT_BOOTPS           67
        !            57: #define        IPPORT_BOOTPC           68
        !            58: 
        !            59: #define BOOTREPLY              2
        !            60: #define BOOTREQUEST            1
        !            61: 
        !            62: 
        !            63: /*
        !            64:  * Vendor magic cookie (v_magic) for CMU
        !            65:  */
        !            66: #define VM_CMU         "CMU"
        !            67: 
        !            68: /*
        !            69:  * Vendor magic cookie (v_magic) for RFC1048
        !            70:  */
        !            71: #define VM_RFC1048     { 99, 130, 83, 99 }
        !            72: 
        !            73: 
        !            74: 
        !            75: /*
        !            76:  * RFC1048 tag values used to specify what information is being supplied in
        !            77:  * the vendor field of the packet.
        !            78:  */
        !            79: 
        !            80: #define TAG_PAD                        ((unsigned char)   0)
        !            81: #define TAG_SUBNET_MASK                ((unsigned char)   1)
        !            82: #define TAG_TIME_OFFSET                ((unsigned char)   2)
        !            83: #define TAG_GATEWAY            ((unsigned char)   3)
        !            84: #define TAG_TIME_SERVER                ((unsigned char)   4)
        !            85: #define TAG_NAME_SERVER                ((unsigned char)   5)
        !            86: #define TAG_DOMAIN_SERVER      ((unsigned char)   6)
        !            87: #define TAG_LOG_SERVER         ((unsigned char)   7)
        !            88: #define TAG_COOKIE_SERVER      ((unsigned char)   8)
        !            89: #define TAG_LPR_SERVER         ((unsigned char)   9)
        !            90: #define TAG_IMPRESS_SERVER     ((unsigned char)  10)
        !            91: #define TAG_RLP_SERVER         ((unsigned char)  11)
        !            92: #define TAG_HOSTNAME           ((unsigned char)  12)
        !            93: #define TAG_BOOTSIZE           ((unsigned char)  13)
        !            94: #define TAG_END                        ((unsigned char) 255)
        !            95: 
        !            96: 
        !            97: 
        !            98: /*
        !            99:  * "vendor" data permitted for CMU bootp clients.
        !           100:  */
        !           101: 
        !           102: struct cmu_vend {
        !           103:        unsigned char   v_magic[4];     /* magic number */
        !           104:        unsigned long   v_flags;        /* flags/opcodes, etc. */
        !           105:        ipaddr_t        v_smask;        /* Subnet mask */
        !           106:        ipaddr_t        v_dgate;        /* Default gateway */
        !           107:        ipaddr_t        v_dns1, v_dns2; /* Domain name servers */
        !           108:        ipaddr_t        v_ins1, v_ins2; /* IEN-116 name servers */
        !           109:        ipaddr_t        v_ts1, v_ts2;   /* Time servers */
        !           110:        unsigned char   v_unused[25];   /* currently unused */
        !           111: };
        !           112: 
        !           113: 
        !           114: /* v_flags values */
        !           115: #define VF_SMASK       1       /* Subnet mask field contains valid data */

unix.superglobalmegacorp.com

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