📄 options.h
字号:
/* vi: set sw=4 ts=4: *//* options.h */#ifndef _OPTIONS_H#define _OPTIONS_H#define TYPE_MASK 0x0Fenum { OPTION_IP=1, OPTION_IP_PAIR, OPTION_STRING,#if ENABLE_FEATURE_RFC3397 OPTION_STR1035, /* RFC1035 compressed domain name list */#endif OPTION_BOOLEAN, OPTION_U8, OPTION_U16, OPTION_S16, OPTION_U32, OPTION_S32};#define OPTION_REQ 0x10 /* have the client request this option */#define OPTION_LIST 0x20 /* There can be a list of 1 or more of these *//*****************************************************************//* Do not modify below here unless you know what you are doing!! *//*****************************************************************//* DHCP protocol -- see RFC 2131 */#define SERVER_PORT 67#define CLIENT_PORT 68#define DHCP_MAGIC 0x63825363/* DHCP option codes (partial list) */#define DHCP_PADDING 0x00#define DHCP_SUBNET 0x01#define DHCP_TIME_OFFSET 0x02#define DHCP_ROUTER 0x03#define DHCP_TIME_SERVER 0x04#define DHCP_NAME_SERVER 0x05#define DHCP_DNS_SERVER 0x06#define DHCP_LOG_SERVER 0x07#define DHCP_COOKIE_SERVER 0x08#define DHCP_LPR_SERVER 0x09#define DHCP_HOST_NAME 0x0c#define DHCP_BOOT_SIZE 0x0d#define DHCP_DOMAIN_NAME 0x0f#define DHCP_SWAP_SERVER 0x10#define DHCP_ROOT_PATH 0x11#define DHCP_IP_TTL 0x17#define DHCP_MTU 0x1a#define DHCP_BROADCAST 0x1c#define DHCP_NTP_SERVER 0x2a#define DHCP_WINS_SERVER 0x2c#define DHCP_REQUESTED_IP 0x32#define DHCP_LEASE_TIME 0x33#define DHCP_OPTION_OVER 0x34#define DHCP_MESSAGE_TYPE 0x35#define DHCP_SERVER_ID 0x36#define DHCP_PARAM_REQ 0x37#define DHCP_MESSAGE 0x38#define DHCP_MAX_SIZE 0x39#define DHCP_T1 0x3a#define DHCP_T2 0x3b#define DHCP_VENDOR 0x3c#define DHCP_CLIENT_ID 0x3d#define DHCP_FQDN 0x51#define DHCP_END 0xFF#define BOOTREQUEST 1#define BOOTREPLY 2#define ETH_10MB 1#define ETH_10MB_LEN 6#define DHCPDISCOVER 1#define DHCPOFFER 2#define DHCPREQUEST 3#define DHCPDECLINE 4#define DHCPACK 5#define DHCPNAK 6#define DHCPRELEASE 7#define DHCPINFORM 8#define BROADCAST_FLAG 0x8000#define OPTION_FIELD 0#define FILE_FIELD 1#define SNAME_FIELD 2/* miscellaneous defines */#define OPT_CODE 0#define OPT_LEN 1#define OPT_DATA 2struct dhcp_option { char name[12]; char flags; uint8_t code;};extern const struct dhcp_option dhcp_options[];extern const unsigned char option_lengths[];uint8_t *get_option(struct dhcpMessage *packet, int code);int end_option(uint8_t *optionptr);int add_option_string(uint8_t *optionptr, uint8_t *string);int add_simple_option(uint8_t *optionptr, uint8_t code, uint32_t data);#if ENABLE_FEATURE_RFC3397char *dname_dec(const uint8_t *cstr, int clen, const char *pre);uint8_t *dname_enc(const uint8_t *cstr, int clen, const char *src, int *retlen);#endif#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -