⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bootp.h

📁 MIPS处理器的bootloader,龙芯就是用的修改过的PMON2
💻 H
字号:
/*	$Id *//* * Copyright (c) 2001-2002 Opsycon AB  (www.opsycon.se / www.opsycon.com) *  * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright *    notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright *    notice, this list of conditions and the following disclaimer in the *    documentation and/or other materials provided with the distribution. * 3. All advertising materials mentioning features or use of this software *    must display the following acknowledgement: *	This product includes software developed by Opsycon AB, Sweden. * 4. The name of the author may not be used to endorse or promote products *    derived from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * *//* * Bootstrap Protocol (BOOTP).  RFC951 and RFC1048. * * This file specifies the "implementation-independent" BOOTP protocol * information which is common to both client and server. * * Copyright 1988 by Carnegie Mellon. * * Permission to use, copy, modify, and distribute this program for any * purpose and without fee is hereby granted, provided that this copyright * and permission notice appear on all copies and supporting documentation, * the name of Carnegie Mellon not be used in advertising or publicity * pertaining to distribution of the program without specific prior * permission, and notice be given in supporting documentation that copying * and distribution is by permission of Carnegie Mellon and Stanford * University.  Carnegie Mellon makes no representations about the * suitability of this software for any purpose.  It is provided "as is" * without express or implied warranty. */struct bootp {	unsigned char	bp_op;		/* packet opcode type */	unsigned char	bp_htype;	/* hardware addr type */	unsigned char	bp_hlen;	/* hardware addr length */	unsigned char	bp_hops;	/* gateway hops */	unsigned long	bp_xid;		/* transaction ID */	unsigned short	bp_secs;	/* seconds since boot began */	unsigned short	bp_unused;	struct in_addr	bp_ciaddr;	/* client IP address */	struct in_addr	bp_yiaddr;	/* 'your' IP address */	struct in_addr	bp_siaddr;	/* server IP address */	struct in_addr	bp_giaddr;	/* gateway IP address */	unsigned char	bp_chaddr[16];	/* client hardware address */	unsigned char	bp_sname[64];	/* server host name */	unsigned char	bp_file[128];	/* boot file name */	unsigned char	bp_vend[64];	/* vendor-specific area */};/* * UDP port numbers, server and client. */#define	IPPORT_BOOTPS		67#define	IPPORT_BOOTPC		68#define BOOTREPLY		2#define BOOTREQUEST		1/* * Hardware types from Assigned Numbers RFC. */#define HTYPE_ETHERNET		  1#define HTYPE_EXP_ETHERNET	  2#define HTYPE_AX25		  3#define HTYPE_PRONET		  4#define HTYPE_CHAOS		  5#define HTYPE_IEEE802		  6#define HTYPE_ARCNET		  7/* * Vendor magic cookie (v_magic) for CMU */#define VM_CMU		"CMU"/* * Vendor magic cookie (v_magic) for RFC1048 */#define VM_RFC1048	{ 99, 130, 83, 99 }/* * Tag values used to specify what information is being supplied in * the vendor (options) data area of the packet. *//* RFC 1048 */#define TAG_END			((unsigned char) 255)#define TAG_PAD			((unsigned char)   0)#define TAG_SUBNET_MASK		((unsigned char)   1)#define TAG_TIME_OFFSET		((unsigned char)   2)#define TAG_GATEWAY		((unsigned char)   3)#define TAG_TIME_SERVER		((unsigned char)   4)#define TAG_NAME_SERVER		((unsigned char)   5)#define TAG_DOMAIN_SERVER	((unsigned char)   6)#define TAG_LOG_SERVER		((unsigned char)   7)#define TAG_COOKIE_SERVER	((unsigned char)   8)#define TAG_LPR_SERVER		((unsigned char)   9)#define TAG_IMPRESS_SERVER	((unsigned char)  10)#define TAG_RLP_SERVER		((unsigned char)  11)#define TAG_HOST_NAME		((unsigned char)  12)#define TAG_BOOT_SIZE		((unsigned char)  13)/* RFC 1395 */#define TAG_DUMP_FILE		((unsigned char)  14)#define TAG_DOMAIN_NAME		((unsigned char)  15)#define TAG_SWAP_SERVER		((unsigned char)  16)#define TAG_ROOT_PATH		((unsigned char)  17)/* RFC 1497 */#define TAG_EXTEN_FILE		((unsigned char)  18)/* RFC 1533 */#define TAG_NIS_DOMAIN		((unsigned char)  40)#define TAG_NIS_SERVER		((unsigned char)  41)#define TAG_NTP_SERVER		((unsigned char)  42)/* DHCP maximum message size. */#define TAG_MAX_MSGSZ		((unsigned char)  57)/* XXX - Add new tags here *//* * "vendor" data permitted for CMU bootp clients. */struct cmu_vend {	unsigned char	v_magic[4];	/* magic number */	unsigned long	v_flags;	/* flags/opcodes, etc. */	struct in_addr	v_smask;	/* Subnet mask */	struct in_addr	v_dgate;	/* Default gateway */	struct in_addr	v_dns1, v_dns2; /* Domain name servers */	struct in_addr	v_ins1, v_ins2; /* IEN-116 name servers */	struct in_addr	v_ts1, v_ts2;	/* Time servers */	unsigned char	v_unused[25];	/* currently unused */};void boot_bootp __P((struct bootparams *, char *));/* v_flags values */#define VF_SMASK	1	/* Subnet mask field contains valid data */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -