|
|
1.1 ! root 1: /* bootp/dhcp defines */ ! 2: ! 3: /* 16/04/2015 - andreas_g: ! 4: * Define to 1 to enable NeXT compatible bootp reply ! 5: */ ! 6: #define BOOTP_VEND_NEXT 1 ! 7: ! 8: ! 9: #define BOOTP_SERVER 67 ! 10: #define BOOTP_CLIENT 68 ! 11: ! 12: #define BOOTP_REQUEST 1 ! 13: #define BOOTP_REPLY 2 ! 14: ! 15: #define RFC1533_COOKIE 99, 130, 83, 99 ! 16: #define RFC1533_PAD 0 ! 17: #define RFC1533_NETMASK 1 ! 18: #define RFC1533_TIMEOFFSET 2 ! 19: #define RFC1533_GATEWAY 3 ! 20: #define RFC1533_TIMESERVER 4 ! 21: #define RFC1533_IEN116NS 5 ! 22: #define RFC1533_DNS 6 ! 23: #define RFC1533_LOGSERVER 7 ! 24: #define RFC1533_COOKIESERVER 8 ! 25: #define RFC1533_LPRSERVER 9 ! 26: #define RFC1533_IMPRESSSERVER 10 ! 27: #define RFC1533_RESOURCESERVER 11 ! 28: #define RFC1533_HOSTNAME 12 ! 29: #define RFC1533_BOOTFILESIZE 13 ! 30: #define RFC1533_MERITDUMPFILE 14 ! 31: #define RFC1533_DOMAINNAME 15 ! 32: #define RFC1533_SWAPSERVER 16 ! 33: #define RFC1533_ROOTPATH 17 ! 34: #define RFC1533_EXTENSIONPATH 18 ! 35: #define RFC1533_IPFORWARDING 19 ! 36: #define RFC1533_IPSOURCEROUTING 20 ! 37: #define RFC1533_IPPOLICYFILTER 21 ! 38: #define RFC1533_IPMAXREASSEMBLY 22 ! 39: #define RFC1533_IPTTL 23 ! 40: #define RFC1533_IPMTU 24 ! 41: #define RFC1533_IPMTUPLATEAU 25 ! 42: #define RFC1533_INTMTU 26 ! 43: #define RFC1533_INTLOCALSUBNETS 27 ! 44: #define RFC1533_INTBROADCAST 28 ! 45: #define RFC1533_INTICMPDISCOVER 29 ! 46: #define RFC1533_INTICMPRESPOND 30 ! 47: #define RFC1533_INTROUTEDISCOVER 31 ! 48: #define RFC1533_INTROUTESOLICIT 32 ! 49: #define RFC1533_INTSTATICROUTES 33 ! 50: #define RFC1533_LLTRAILERENCAP 34 ! 51: #define RFC1533_LLARPCACHETMO 35 ! 52: #define RFC1533_LLETHERNETENCAP 36 ! 53: #define RFC1533_TCPTTL 37 ! 54: #define RFC1533_TCPKEEPALIVETMO 38 ! 55: #define RFC1533_TCPKEEPALIVEGB 39 ! 56: #define RFC1533_NISDOMAIN 40 ! 57: #define RFC1533_NISSERVER 41 ! 58: #define RFC1533_NTPSERVER 42 ! 59: #define RFC1533_VENDOR 43 ! 60: #define RFC1533_NBNS 44 ! 61: #define RFC1533_NBDD 45 ! 62: #define RFC1533_NBNT 46 ! 63: #define RFC1533_NBSCOPE 47 ! 64: #define RFC1533_XFS 48 ! 65: #define RFC1533_XDM 49 ! 66: ! 67: #define RFC2132_REQ_ADDR 50 ! 68: #define RFC2132_LEASE_TIME 51 ! 69: #define RFC2132_MSG_TYPE 53 ! 70: #define RFC2132_SRV_ID 54 ! 71: #define RFC2132_PARAM_LIST 55 ! 72: #define RFC2132_MAX_SIZE 57 ! 73: #define RFC2132_RENEWAL_TIME 58 ! 74: #define RFC2132_REBIND_TIME 59 ! 75: ! 76: #define DHCPDISCOVER 1 ! 77: #define DHCPOFFER 2 ! 78: #define DHCPREQUEST 3 ! 79: #define DHCPACK 5 ! 80: ! 81: #define RFC1533_VENDOR_MAJOR 0 ! 82: #define RFC1533_VENDOR_MINOR 0 ! 83: ! 84: #define RFC1533_VENDOR_MAGIC 128 ! 85: #define RFC1533_VENDOR_ADDPARM 129 ! 86: #define RFC1533_VENDOR_ETHDEV 130 ! 87: #define RFC1533_VENDOR_HOWTO 132 ! 88: #define RFC1533_VENDOR_MNUOPTS 160 ! 89: #define RFC1533_VENDOR_SELECTION 176 ! 90: #define RFC1533_VENDOR_MOTD 184 ! 91: #define RFC1533_VENDOR_NUMOFMOTD 8 ! 92: #define RFC1533_VENDOR_IMG 192 ! 93: #define RFC1533_VENDOR_NUMOFIMG 16 ! 94: ! 95: #define RFC1533_END 255 ! 96: #define BOOTP_VENDOR_LEN 64 ! 97: #define DHCP_OPT_LEN 312 ! 98: ! 99: #ifdef PRAGMA_PACK_SUPPORTED ! 100: #pragma pack(1) ! 101: #endif ! 102: ! 103: struct bootp_t { ! 104: struct ip ip; ! 105: struct udphdr udp; ! 106: uint8_t bp_op; ! 107: uint8_t bp_htype; ! 108: uint8_t bp_hlen; ! 109: uint8_t bp_hops; ! 110: uint32_t bp_xid; ! 111: uint16_t bp_secs; ! 112: uint16_t unused; ! 113: struct in_addr bp_ciaddr; ! 114: struct in_addr bp_yiaddr; ! 115: struct in_addr bp_siaddr; ! 116: struct in_addr bp_giaddr; ! 117: uint8_t bp_hwaddr[16]; ! 118: uint8_t bp_sname[64]; ! 119: uint8_t bp_file[128]; ! 120: #if BOOTP_VEND_NEXT ! 121: uint8_t bp_vend[BOOTP_VENDOR_LEN]; ! 122: #else ! 123: uint8_t bp_vend[DHCP_OPT_LEN]; ! 124: #endif ! 125: } PACKED__; ! 126: ! 127: #ifdef PRAGMA_PACK_SUPPORTED ! 128: #pragma pack(PACK_RESET) ! 129: #endif ! 130: ! 131: void bootp_input(struct mbuf *m);
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.