?? 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 312
typedef 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 Declarations
void 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 + -