vcpe/srcs/service/dhcpd/include/dhcp_options.h

152 lines
5.1 KiB
C
Raw Normal View History

//
// 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