// // 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; void dhcp_add_number_option(U8 *pBegin, int opt, U8 value, U8 nSize); void dhcp_add_buf_option(U8 *pBegin, int opt, U8 *buf, U8 nSize); 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