# bootp.i86 - BOOTP record include file for target library # # Copyright (C) 2002-2003 Gero Kuhlmann # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. # # $Id: bootp.i86,v 1.2 2003/01/25 23:29:42 gkminix Exp $ # #==================================================================== # # Layout and magic ID of BOOTP/DHCP record. Refer to RFC 951, # RFC 1048 and RFC 1533 for further information. The BOOTP/DHCP # record can be longer than the standard length as the bootrom # might be able to load a vendor extension file via tftp. # BOOTP_MAGIC_RFC .equ H'63538263 # RFC 1048 vendor ID BOOTP_MAGIC_LEN .equ 4 # length of vendor ID BOOTP_REQUEST .equ 1 # bootp OP-code BOOTP_REPLY .equ 2 BOOTP_OP .equ 0 # offset to bootp OP-code BOOTP_HTYPE .equ 1 # offset to hardware type BOOTP_HLEN .equ 2 # offset to length of hardware addr BOOTP_HOPS .equ 3 # offset to number of gateway hops BOOTP_XID .equ 4 # offset to transfer ID BOOTP_SECS .equ 8 # offset to seconds since boot began BOOTP_CIADDR .equ 12 # offset to client IP address BOOTP_YIADDR .equ 16 # offset to "your" IP address BOOTP_SIADDR .equ 20 # offset to server IP address BOOTP_GIADDR .equ 24 # offset to gateway IP address BOOTP_CHADDR .equ 28 # offset to hardware address BOOTP_SNAME .equ 44 # offset to server name BOOTP_FILE .equ 108 # offset to name of boot file BOOTP_VEND .equ 236 # offset to vendor information BOOTP_SIZE .equ 300 # size of complete bootp record BOOTP_RFC_NOP .equ 0 # RFC vendor tag for NO-OP BOOTP_RFC_MSK .equ 1 # RFC vendor tag for netmask BOOTP_RFC_GWY .equ 3 # RFC vendor tag for gateway BOOTP_RFC_HNAME .equ 12 # RFC vendor tag for host name BOOTP_RFC_ROOT .equ 17 # RFC vendor tag for root directory BOOTP_RFC_OVRLD .equ 52 # RFC vendor tag for option overload BOOTP_RFC_FILE .equ 67 # RFC vendor tag for boot image file BOOTP_RFC_END .equ 255 # RFC vendor tag for end of record BOOTP_OVR_FILE .equ B'00000001 BOOTP_OVR_SNAME .equ B'00000010 MAX_BOOTP_LEN .equ 2048 # maximum length of bootp record