Solaris:ifconfig 的编程接口?
我正在寻找 Solaris ifconfig(1M) 命令。
显然 Linux 有 getifaddrs(3) 命令,但据我所知,该命令尚未移植到 Solaris。
如果没有尝试使用上面的链接上的代码,有什么方法可以确定ifconfig(1M) 类型数据(网络接口存在、状态等)而不分叉系统命令并解析输出?
I'm looking for a programmatic interface to the Solaris ifconfig(1M) command.
Apparently Linux has the getifaddrs(3) command, but as far as I can tell this has not been ported to Solaris.
Short of attempting to use the code at the link above, is there any way to determine ifconfig(1M)-type data (network interface presence, state, etc.) without forking the system command and parsing the output?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
我在这里有一个实现,仅基于
SIOCGIFCONF
ioctl()
的 IPv4 和使用SIOCGLIFCONF
的 IP 系列不可知版本: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 许可证。
I have an implementation here, IPv4-only based on
SIOCGIFCONF
ioctl()
's and IP family agnostic version usingSIOCGLIFCONF
:http://code.google.com/p/openpgm/source/browse/trunk/openpgm/pgm/getifaddrs.c
Tested on SPARC/Solaris 10 and x86/OpenSolaris 2008.11 & 2009.06, LGPL 2.1 license.
getifaddrs() 最近被集成到未来 OpenSolaris 和 OpenSolaris 的源代码中。 Solaris 版本,但这无助于您的代码在当前版本上运行:
在此之前,您将需要使用
SIOCGLIFCONF
ioctl,您应该会发现很多开源代码中的示例,包括您发布的链接。getifaddrs() was recently integrated into the source code for future OpenSolaris & Solaris releases, but that doesn't help your code run on current releases:
Until then you'll need to use the
SIOCGLIFCONF
ioctls, which you should find lots of examples of in open source code, including the link you posted.真正的男人使用
ioctl
;)看看if(7P)。
Real men use
ioctl
;)Take a look at if(7P).