NetBurner 3.1
ip_negotiation.h
1 /*NB_REVISION*/
2 
3 /*NB_COPYRIGHT*/
4 
5 #include <dhcpclient.h>
6 
7 #define IPC_STATE_STARTUP 1
8 #define IPC_STATE_STATIC 2
9 #define IPC_STATE_DCHPCLIENT 3
10 #define IPC_STATE_FALLBACK 4
11 #define IPC_STATE_AUTOIP 5
12 #define IPC_STATE_DHCPSERVER 6
13 #define IPC_STATE_DHCPCLIENT_OVERRIDE 7
14 #define IPC_STATE_AUTOIP_OVERRIDE 8
15 
16 class IPClient
17 {
18  private:
19  bool useDHCP;
20  bool dhcpClientRetry;
21  int IPState;
22  int clientInterface;
23 
24  IPADDR4 IPClientIP;
25  IPADDR4 IPClientMask;
26  IPADDR4 gatewayIP;
27  IPADDR4 DNSIP;
28 
29  DhcpObject dhcpClient;
30 
31  public:
32  IPClient(int interface = 0, bool useDhcp = true, bool retry = true);
33  ~IPClient();
34  void start();
35  void stop();
36  void restart();
37 
38  IPADDR4 getClientIP();
39  IPADDR4 getClientMask();
40  IPADDR4 getGatewayIP();
41  IPADDR4 getDNSIP();
42 
43  int getState();
44 }