📄 protocol.h
字号:
/*****************************************************************************//** Microsoft Windows **//** Copyright (c) 1997-2000 Microsoft Corporation. All rights reserved. **//*****************************************************************************//* protocol.h DESCRIPTION: contains the DHCP protocol structures and def's*/#ifndef _PROTOCOL_H_#define _PROTOCOL_H_#define CHADDR_LEN 16#define SNAME_LEN 64#define FILE_LEN 128#define OPTIONS_LEN 312typedef struct DhcpPkt { unsigned char Op; unsigned char Htype; unsigned char Hlen; unsigned char Hops; unsigned int Xid; unsigned short Secs; unsigned short Flags; unsigned int Ciaddr; unsigned int Yiaddr; unsigned int Siaddr; unsigned int Giaddr; unsigned char aChaddr[CHADDR_LEN]; unsigned char aSname[SNAME_LEN]; unsigned char aFile[FILE_LEN]; unsigned char aOptions[OPTIONS_LEN];} DhcpPkt;// we're being little-endian specific here// Flags#define DHCP_BCAST_FL 0x0008// DHCP Message Types (after option DHCP_MSG_TYPE_OP)#define DHCPDISCOVER 1#define DHCPOFFER 2 #define DHCPREQUEST 3#define DHCPDECLINE 4#define DHCPACK 5#define DHCPNACK 6#define DHCPRELEASE 7#define DHCPINFORM 8// Function Declarationsvoid BuildDhcpPkt(DhcpInfo *pDhcp, DhcpPkt *pPkt, uchar Type, int fNew, uchar *aOptionList, int *pcPkt);STATUS SendDhcpPkt(DhcpInfo *pDhcp, DhcpPkt *pPkt, int cPkt, uchar WaitforType, int Flags);STATUS TranslatePkt(DhcpInfo *pDhcp, DhcpPkt *pPkt, int cPkt, uchar *pType, unsigned int Xid);// Flags for BuildDhcpPkt#define NEW_PKT_FL 0x01#define SID_PKT_FL 0x02 // Server Id flag#define RIP_PKT_FL 0x04 // Requested IP addr option// Flags for SendDhcpPkt// first byte is number of times to loop...#define LOOP_MASK_FL 0x00ff#define ONCE_FL 0x0001#define DFT_LOOP_FL 0x0004#define BCAST_FL 0x0100// Magic Cookie in Little Endian format#define MAGIC_COOKIE 0x63538263// Option Definitions (in decimal)#define DHCP_PAD_OP 0#define DHCP_END_OP 255#define DHCP_SUBNET_OP 1#define DHCP_ROUTER_OP 3#define DHCP_DNS_OP 6#define DHCP_HOST_NAME_OP 12#define DHCP_DOMAIN_NAME_OP 15#define DHCP_NBT_SRVR_OP 44#define DHCP_NBT_NODE_TYPE_OP 46#define DHCP_REQ_IP_OP 50#define DHCP_IP_LEASE_OP 51#define DHCP_OVERLOAD_OP 52#define DHCP_MSG_TYPE_OP 53#define DHCP_SERVER_ID_OP 54#define DHCP_PARAMETER_REQ_OP 55#define DHCP_MESSAGE_OP 56#define DHCP_T1_VALUE_OP 58#define DHCP_T2_VALUE_OP 59#define DHCP_CLIENT_ID_OP 61#define DHCP_MSFT_AUTOCONF 251// Unused Options (decimal)#if 0#define DHCP_TIME_OFFSET_OP 2#define DHCP_TIME_SRVR_OP 4#define DHCP_NAME_SRVR_OP 5#define DHCP_LOG_SRVR_OP 7#define DHCP_COOKIE_SRVR_OP 8#define DHCP_LPR_SRVR_OP 9#define DHCP_IMPRESS_SRVR_OP 10#define DHCP_RES_LOC_SRVR_OP 11 // Resource location server option#define DHCP_BOOTFILE_SIZE_OP 13#define DHCP_MERIT_DUMP_FILE_OP 14#define DHCP_SWAP_SRVR_OP 16#define DHCP_ROOT_PATH_OP 17#define DHCP_EXT_PATH_OP 18#define DHCP_IP_FORWARDING_OP 19#define DHCP_NONLOCAL_SRCROUTE_OP 20#define DHCP_POLICY_FILTER_OP 21#define DHCP_MAX_DGRAM_REASSEMBLE_SIZE_OP 22#define DHCP_IP_TTL_OP 23#define DHCP_PATH_MTU_TO_OP 24#define DHCP_PATH_MTU_PLATEAU_OP 25#define DHCP_INTERFACE_MTU_OP 26#define DHCP_ALL_SUBNETS_LOCAL_OP 27#define DHCP_BCAST_ADDR_OP 28#define DHCP_MASK_DISCOVERY_OP 29#define DHCP_MASK_SUPPLIER_OP 30#define DHCP_ROUTER_DISCOVERY_OP 31#define DHCP_ROUTER_SOLICIT_ADDR_OP 32#define DHCP_STATIC_ROUTE_OP 33#define DHCP_TRAILER_ENCAPSULATE_OP 34#define DHCP_ARP_CACHE_TO_OP 35#define DHCP_ETHERNET_ENCAPSULATE_OP 36#define DHCP_TCP_TTL_OP 37#define DHCP_TCP_KEEPALIVE_INTVL_OP 38#define DHCP_TCP_KEEPALIVE_GARBAGE_OP 39#define DHCP_NIS_DOMAIN_OP 40#define DHCP_NETWORK_INFO_SRVRS_OP 41#define DHCP_NETWORK_TIME_SRVRS_OP 42#define DHCP_VENDOR_SPECIFIC_OP 43#define DHCP_NBDD_OP 45#define DHCP_NBT_SCOPE_OP 47#define DHCP_XWINDOW_FONT_SRVR_OP 48#define DHCP_XWINDOW_DISPLAY_MGR_OP 49#define DHCP_NISP_DOMAIN_OP 64#define DHCP_NISP_SRVRS_OP 65#define DHCP_MOBILE_IP_AGENT_OP 68#define DHCP_SMTP_SRVR_OP 69#define DHCP_POP3_SRVR_OP 70#define DHCP_NNTP_SRVR_OP 71#define DHCP_WWW_SRVR_OP 72#define DHCP_DEFAULT_FINGER_OP 73#define DHCP_DEFAULT_IRC_SRVR_OP 74 // default Internet relay chat server#define DHCP_STREETTALK_SRVR_OP 75#define DHCP_STDA_SRVR_OP 76#define DHCP_TFTP_SRVR_NAME_OP 66#define DHCP_BOOTFILE_NAME_OP 67#define DHCP_MAX_DHCP_MSG_OP 57#define DHCP_VENDOR_CLASS_ID_OP 60#endif // 0#endif // _PROTOCOL_H_
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -