39 lines
806 B
C
39 lines
806 B
C
|
|
#pragma once
|
|||
|
|
#include "IVrEthMonitor.h"
|
|||
|
|
|
|||
|
|
class CVrEthMonitor : public IVrEthMonitor
|
|||
|
|
{
|
|||
|
|
public:
|
|||
|
|
CVrEthMonitor();
|
|||
|
|
~CVrEthMonitor();
|
|||
|
|
|
|||
|
|
/// @brief
|
|||
|
|
/// <20><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>
|
|||
|
|
/// @return <20>ɹ<EFBFBD><C9B9><EFBFBD><EFBFBD><EFBFBD>TRUE
|
|||
|
|
virtual int StartMonitor(NetNotify func, void* pParam);
|
|||
|
|
|
|||
|
|
/// @brief
|
|||
|
|
/// ֹͣ<CDA3><D6B9><EFBFBD><EFBFBD>
|
|||
|
|
virtual void StopMonitor();
|
|||
|
|
|
|||
|
|
private:
|
|||
|
|
void _MonitorTask();
|
|||
|
|
|
|||
|
|
void _parse_rtattr(struct rtattr **tb, int max, struct rtattr *attr, int len);
|
|||
|
|
|
|||
|
|
///<2F><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>䶯<EFBFBD><E4B6AF>ʱ<EFBFBD><EFBFBD><F2B4A5B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C><>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>豸,<2C><><EFBFBD><EFBFBD>/<2F><><EFBFBD>ýӿڵ<D3BF>.
|
|||
|
|
void _ifinfomsg(struct nlmsghdr *nh);
|
|||
|
|
|
|||
|
|
///<2F><>ʾ<EFBFBD><CABE>ַ<EFBFBD><D6B7>Ϣ: <20><><EFBFBD><EFBFBD>ַ<EFBFBD>䶯<EFBFBD><E4B6AF>ʱ<EFBFBD><EFBFBD><F2B4A5B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ,<2C><><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8>DHCP<43><50>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7>
|
|||
|
|
void _ifaddrmsg(struct nlmsghdr *nh);
|
|||
|
|
|
|||
|
|
/// <20><>ʾ·<CABE><C2B7><EFBFBD><EFBFBD>Ϣ: <20><>·<EFBFBD>ɱ䶯<C9B1><E4B6AF>ʱ<EFBFBD><EFBFBD><F2B4A5B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
void _rtmsg(struct nlmsghdr *nh);
|
|||
|
|
|
|||
|
|
NetNotify m_fNotify;
|
|||
|
|
void* m_pParam;
|
|||
|
|
bool m_bRunning;
|
|||
|
|
|
|||
|
|
};
|
|||
|
|
|