/* Definitions for the Boot Protocol (bootp). */

#define BOOTP_SERVER_PORT 67
#define BOOTP_CLIENT_PORT 68

#define CHADDR_LEN 16
#define SNAME_LEN 64
#define FILE_LEN 128
#define VEND_LEN 64

#define BOOTREQUEST 1
#define BOOTREPLY 2

#define TYPE_ETHER 1
#define TYPE_VII 4
#define TYPE_SLIP 8

struct bootp_pkt {
    char bp_op;			/* opcode */
    char bp_htype;		/* hardware type */
    char bp_hlen;		/* hardware address length */
    char bp_hops;		/* hop count for cross-gateway booting */
    long bp_xid;		/* transaction ID */
    short bp_secs;		/* seconds since client started booting */
    short bp_unused;
    long bp_ciaddr;		/* client IP address */
    long bp_yiaddr;		/* 'your' (client) IP address */
    long bp_siaddr;		/* server IP address */
    long bp_giaddr;		/* gateway IP address */
    char bp_chaddr[CHADDR_LEN];	/* client hardware address */
    char bp_sname[SNAME_LEN];	/* server host name */
    char bp_file[FILE_LEN];	/* file name */
    char bp_vend[VEND_LEN];	/* vendor specific */
};
