跨平台方式为NIC添加IP地址(使用c ++)

时间:2014-09-18 14:56:52

标签: c++ networking boost lan nic

我知道我可以使用AddIPAddress在Windows中执行此操作,但我想知道是否存在跨平台(如果我可以使用提升,我会喜欢它,因为我已经在此项目中)添加IP的方式特定NIC的地址?

示例:

UINT iaIPAddress;
UINT iaIPMask;

iaIPAddress = inet_addr("192.168.0.5");
iaIPMask    = inet_addr("255.255.255.0");

dwRetVal = AddIPAddress(iaIPAddress, iaIPMask, pIPAddrTable->table[0].dwIndex, 
                         &NTEContext, &NTEInstance);
if (dwRetVal != NO_ERROR) {
    printf("AddIPAddress call failed with %d\n", dwRetVal);
}

这适用于Windows,但我怎么能在linux上做同样的事情呢?

1 个答案:

答案 0 :(得分:1)

没有。

Boost通过抽象出OS接口,让操作系统与硬件通信来实现平台独立性

因此,Boost没有用于系统管理或外围设备控制的库。

围绕操作系统服务的库可能与某些设备关联(例如CPU资源(线程,调度,IPC和同步),文件系统和网络服务)但他们仍然处于那个抽象层。

没有Boost库可以帮助编写文件系统驱动程序,操作GPT分区表,显式管理SSD驱动器上的创建稀疏文件或TRIM扇区。

同样,没有Boost库可以捕获原始TCP数据包或将显示器置于图形模式。

相关问题