154 lines
5.2 KiB
C
154 lines
5.2 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_add_u8_option(U8 *pBegin, int opt, U8 value);
|
|
int dhcp_add_u32_option(U8 *pBegin, int opt, U32 value);
|
|
int dhcp_add_buf_option(U8 *pBegin, int opt, U8 *buf, U8 nSize);
|
|
int dhcp_add_string_option(U8 *pBegin, int opt, const char *buf);
|
|
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
|