Path: blob/a-new-beginning/SharedDependencies/Sources/libslirp/include/bootp.h
2 views
/* SPDX-License-Identifier: BSD-3-Clause */1/* bootp/dhcp defines */23#ifndef SLIRP_BOOTP_H4#define SLIRP_BOOTP_H56#define BOOTP_SERVER 677#define BOOTP_CLIENT 6889#define BOOTP_REQUEST 110#define BOOTP_REPLY 21112#define RFC1533_COOKIE 99, 130, 83, 9913#define RFC1533_PAD 014#define RFC1533_NETMASK 115#define RFC1533_TIMEOFFSET 216#define RFC1533_GATEWAY 317#define RFC1533_TIMESERVER 418#define RFC1533_IEN116NS 519#define RFC1533_DNS 620#define RFC1533_LOGSERVER 721#define RFC1533_COOKIESERVER 822#define RFC1533_LPRSERVER 923#define RFC1533_IMPRESSSERVER 1024#define RFC1533_RESOURCESERVER 1125#define RFC1533_HOSTNAME 1226#define RFC1533_BOOTFILESIZE 1327#define RFC1533_MERITDUMPFILE 1428#define RFC1533_DOMAINNAME 1529#define RFC1533_SWAPSERVER 1630#define RFC1533_ROOTPATH 1731#define RFC1533_EXTENSIONPATH 1832#define RFC1533_IPFORWARDING 1933#define RFC1533_IPSOURCEROUTING 2034#define RFC1533_IPPOLICYFILTER 2135#define RFC1533_IPMAXREASSEMBLY 2236#define RFC1533_IPTTL 2337#define RFC1533_IPMTU 2438#define RFC1533_IPMTUPLATEAU 2539#define RFC1533_INTMTU 2640#define RFC1533_INTLOCALSUBNETS 2741#define RFC1533_INTBROADCAST 2842#define RFC1533_INTICMPDISCOVER 2943#define RFC1533_INTICMPRESPOND 3044#define RFC1533_INTROUTEDISCOVER 3145#define RFC1533_INTROUTESOLICIT 3246#define RFC1533_INTSTATICROUTES 3347#define RFC1533_LLTRAILERENCAP 3448#define RFC1533_LLARPCACHETMO 3549#define RFC1533_LLETHERNETENCAP 3650#define RFC1533_TCPTTL 3751#define RFC1533_TCPKEEPALIVETMO 3852#define RFC1533_TCPKEEPALIVEGB 3953#define RFC1533_NISDOMAIN 4054#define RFC1533_NISSERVER 4155#define RFC1533_NTPSERVER 4256#define RFC1533_VENDOR 4357#define RFC1533_NBNS 4458#define RFC1533_NBDD 4559#define RFC1533_NBNT 4660#define RFC1533_NBSCOPE 4761#define RFC1533_XFS 4862#define RFC1533_XDM 496364#define RFC2132_REQ_ADDR 5065#define RFC2132_LEASE_TIME 5166#define RFC2132_MSG_TYPE 5367#define RFC2132_SRV_ID 5468#define RFC2132_PARAM_LIST 5569#define RFC2132_MESSAGE 5670#define RFC2132_MAX_SIZE 5771#define RFC2132_RENEWAL_TIME 5872#define RFC2132_REBIND_TIME 5973#define RFC2132_VENDOR_CLASS_ID 6074#define RFC2132_TFTP_SERVER_NAME 667576#define DHCPDISCOVER 177#define DHCPOFFER 278#define DHCPREQUEST 379#define DHCPACK 580#define DHCPNAK 68182#define RFC1533_VENDOR_MAJOR 083#define RFC1533_VENDOR_MINOR 08485#define RFC1533_VENDOR_MAGIC 12886#define RFC1533_VENDOR_ADDPARM 12987#define RFC1533_VENDOR_ETHDEV 13088#define RFC1533_VENDOR_HOWTO 13289#define RFC1533_VENDOR_MNUOPTS 16090#define RFC1533_VENDOR_SELECTION 17691#define RFC1533_VENDOR_MOTD 18492#define RFC1533_VENDOR_NUMOFMOTD 893#define RFC1533_VENDOR_IMG 19294#define RFC1533_VENDOR_NUMOFIMG 169596#define RFC1533_END 25597#define BOOTP_VENDOR_LEN 6498#define DHCP_OPT_LEN 31299100struct bootp_t {101struct ip ip;102struct udphdr udp;103uint8_t bp_op;104uint8_t bp_htype;105uint8_t bp_hlen;106uint8_t bp_hops;107uint32_t bp_xid;108uint16_t bp_secs;109uint16_t unused;110struct in_addr bp_ciaddr;111struct in_addr bp_yiaddr;112struct in_addr bp_siaddr;113struct in_addr bp_giaddr;114uint8_t bp_hwaddr[16];115uint8_t bp_sname[64];116char bp_file[128];117uint8_t bp_vend[];118};119120typedef struct {121uint16_t allocated;122uint8_t macaddr[6];123} BOOTPClient;124125#define NB_BOOTP_CLIENTS 16126127/* Process a bootp packet from the guest */128void bootp_input(struct mbuf *m);129130#endif131132133