150 lines
5.0 KiB
C
150 lines
5.0 KiB
C
|
//
|
||
|
// Created by xajhuang on 2023/3/21.
|
||
|
//
|
||
|
|
||
|
#ifndef VCPE_DHCP_OPTIONS_H
|
||
|
#define VCPE_DHCP_OPTIONS_H
|
||
|
#ifdef __cplusplus
|
||
|
extern "C" {
|
||
|
#endif
|
||
|
// DHCP OPTIONS
|
||
|
#define OPT_PAD 0
|
||
|
#define OPT_NETMASK 1
|
||
|
#define OPT_TIMEOFFSET 2
|
||
|
#define OPT_ROUTER 3
|
||
|
#define OPT_TIMESERVER 4
|
||
|
#define OPT_NAMESERVER 5
|
||
|
#define OPT_DNS 6
|
||
|
#define OPT_LOGSERVER 7
|
||
|
#define OPT_COOKIESERVER 8
|
||
|
#define OPT_LPRSERVER 9
|
||
|
#define OPT_IMPRESSSERVER 10
|
||
|
#define OPT_RESLOCSERVER 11
|
||
|
#define OPT_HOSTNAME 12
|
||
|
#define OPT_BOOTFILESIZE 13
|
||
|
#define OPT_MERITDUMP 14
|
||
|
#define OPT_DOMAINNAME 15
|
||
|
#define OPT_SWAPSERVER 16
|
||
|
#define OPT_ROOTPATH 17
|
||
|
#define OPT_EXTSPATH 18
|
||
|
#define OPT_IPFORWARD 19
|
||
|
#define OPT_NONLOCALSR 20
|
||
|
#define OPT_POLICYFILTER 21
|
||
|
#define OPT_MAXREASSEMBLE 22
|
||
|
#define OPT_IPTTL 23
|
||
|
#define OPT_PATHMTUAGING 24
|
||
|
#define OPT_PATHMTUPLATEAU 25
|
||
|
#define OPT_INTERFACEMTU 26
|
||
|
#define OPT_SUBNETSLOCAL 27
|
||
|
#define OPT_BCASTADDRESS 28
|
||
|
#define OPT_MASKDISCOVERY 29
|
||
|
#define OPT_MASKSUPPLIER 30
|
||
|
#define OPT_ROUTERDISCOVERY 31
|
||
|
#define OPT_ROUTERSOLIC 32
|
||
|
#define OPT_STATICROUTE 33
|
||
|
#define OPT_TRAILERENCAPS 34
|
||
|
#define OPT_ARPTIMEOUT 35
|
||
|
#define OPT_ETHERNETENCAPS 36
|
||
|
#define OPT_TCPTTL 37
|
||
|
#define OPT_TCPKEEPALIVEINT 38
|
||
|
#define OPT_TCPKEEPALIVEGRBG 39
|
||
|
#define OPT_NISDOMAIN 40
|
||
|
#define OPT_NISSERVERS 41
|
||
|
#define OPT_NTPSERVERS 42
|
||
|
#define OPT_VENDORSPECIFIC 43
|
||
|
#define OPT_NETBIOSNAMESERV 44
|
||
|
#define OPT_NETBIOSDGDIST 45
|
||
|
#define OPT_NETBIOSNODETYPE 46
|
||
|
#define OPT_NETBIOSSCOPE 47
|
||
|
#define OPT_X11FONTS 48
|
||
|
#define OPT_X11DISPLAYMNGR 49
|
||
|
#define OPT_REQUESTEDIPADDR 50
|
||
|
#define OPT_IPADDRLEASE 51
|
||
|
#define OPT_OVERLOAD 52
|
||
|
#define OPT_MESSAGETYPE 53
|
||
|
#define OPT_SERVERID 54
|
||
|
#define OPT_PARAMREQLIST 55
|
||
|
#define OPT_MESSAGE 56
|
||
|
#define OPT_MAXDHCPMSGSIZE 57
|
||
|
#define OPT_RENEWALTIME 58
|
||
|
#define OPT_REBINDINGTIME 59
|
||
|
#define OPT_VENDORCLASSID 60
|
||
|
#define OPT_CLIENTID 61
|
||
|
#define OPT_NETWARE_IPDOMAIN 62
|
||
|
#define OPT_NETWARE_IPOPTION 63
|
||
|
#define OPT_NISPLUSDOMAIN 64
|
||
|
#define OPT_NISPLUSSERVERS 65
|
||
|
#define OPT_TFTPSERVER 66
|
||
|
#define OPT_BOOTFILE 67
|
||
|
#define OPT_MOBILEIPHOME 68
|
||
|
#define OPT_SMTPSERVER 69
|
||
|
#define OPT_POP3SERVER 70
|
||
|
#define OPT_NNTPSERVER 71
|
||
|
#define OPT_WWWSERVER 72
|
||
|
#define OPT_FINGERSERVER 73
|
||
|
#define OPT_IRCSERVER 74
|
||
|
#define OPT_STSERVER 75
|
||
|
#define OPT_STDASERVER 76
|
||
|
#define OPT_USERCLASS 77
|
||
|
#define OPT_SLPDIRAGENT 78
|
||
|
#define OPT_SLPDIRSCOPE 79
|
||
|
#define OPT_RAPIDCOMMIT 80
|
||
|
#define OPT_CLIENTFQDN 81
|
||
|
#define OPT_RELAYAGENTINFO 82
|
||
|
#define OPT_I_SNS 83
|
||
|
#define OPT_NDSSERVERS 85
|
||
|
#define OPT_NDSTREENAME 86
|
||
|
#define OPT_NDSCONTEXT 87
|
||
|
#define OPT_AUTHENTICATION 90
|
||
|
#define OPT_CLIENTSYSTEM 93
|
||
|
#define OPT_CLIENTNDI 94
|
||
|
#define OPT_LDAP 95
|
||
|
#define OPT_UUID_GUID 97
|
||
|
#define OPT_USER_AUTH 98
|
||
|
#define OPT_P_CODE 100
|
||
|
#define OPT_T_CODE 101
|
||
|
#define OPT_NETINFOADDRESS 112
|
||
|
#define OPT_NETINFOTAG 113
|
||
|
#define OPT_URL 114
|
||
|
#define OPT_AUTO_CONFIG 116
|
||
|
#define OPT_NAMESERVICESEARCH 117
|
||
|
#define OPT_SUBNETSELECTION 118
|
||
|
#define OPT_DOMAINSEARCH 119
|
||
|
#define OPT_SIPSERVERSDHCP 120
|
||
|
#define OPT_CLASSLESSSTATICROUTE 121
|
||
|
#define OPT_CCC 122
|
||
|
#define OPT_GEOCONF 123
|
||
|
#define OPT_V_IVENDORCLASS 124
|
||
|
#define OPT_V_IVENDOR_SPECIFIC 125
|
||
|
#define OPT_TFPTSERVERIPADDRESS 128
|
||
|
#define OPT_CALLSERVERIPADDRESS 129
|
||
|
#define OPT_DISCRIMINATIONSTRING 130
|
||
|
#define OPT_REMOTESTATISTICSSERVER 131
|
||
|
#define OPT_802_1PVLANID 132
|
||
|
#define OPT_802_1QL2PRIORITY 133
|
||
|
#define OPT_DIFFSERVCODEPOINT 134
|
||
|
#define OPT_HTTPPROXYFORPHONE_SPEC 135
|
||
|
#define OPT_SERIAL 252
|
||
|
#define OPT_BP_FILE 253
|
||
|
#define OPT_NEXTSERVER 254
|
||
|
#define OPT_END 255
|
||
|
|
||
|
typedef struct {
|
||
|
S8 opName[40];
|
||
|
U8 opTag;
|
||
|
U8 opType;
|
||
|
U8 enable;
|
||
|
} DHCP_OPTION_CFG, *PDHCP_OPTION_CFG;
|
||
|
|
||
|
typedef struct {
|
||
|
U8 *pValue;
|
||
|
U8 len;
|
||
|
} DHCP_OPT, *PDHCP_OPT;
|
||
|
|
||
|
int dhcp_get_option(int opt, U8 *pOptData, U32 nSize, PDHCP_OPT pVal);
|
||
|
void dhcp_option_cfg_init();
|
||
|
#ifdef __cplusplus
|
||
|
}
|
||
|
#endif
|
||
|
#endif //VCPE_DHCP_OPTIONS_H
|