3

我正在寻找 Solaris ifconfig(1M)命令的编程接口。

显然 Linux 有getifaddrs(3)命令,但据我所知,这还没有移植到 Solaris

除了尝试使用上面链接中的代码之外,有没有办法在不分叉系统命令和解析输出的情况下确定ifconfig(1M)类型的数据(网络接口存在、状态等)?

4

3 回答 3

2

我在这里有一个实现,仅基于 IPv4SIOCGIFCONF ioctl()和 IP 系列不可知版本,使用SIOCGLIFCONF

http://code.google.com/p/openpgm/source/browse/trunk/openpgm/pgm/getifaddrs.c

在 SPARC/Solaris 10 和 x86/OpenSolaris 2008.11 和 2009.06 上测试,LGPL 2.1 许可证。

于 2010-08-09T14:23:06.157 回答
2

getifaddrs() 最近已集成到未来 OpenSolaris 和 Solaris 版本的源代码中,但这无助于您的代码在当前版本上运行:

在那之前,您将需要使用SIOCGLIFCONFioctl,您应该在开源代码中找到很多示例,包括您发布的链接。

于 2010-04-16T21:06:46.150 回答
0

真正的男人使用ioctl;)

看看if(7P)

于 2010-04-16T19:46:53.420 回答