接口和地址小结-jpeg标准的中文文档pdf
6.2代码介绍
图6-3所列的两个头文件和两个C文件包含本章中讨论的结构定义和实用函数。
文件说明:
-
netinet/in.h: Internet地址定义
-
netinet/in_var.h: Internet接口定义
-
netinet/in.c: Internet初始化和实用函数
-
netinet/if.c: Internet接口实用函数
图6-3本章讨论的文件
全局变量
图6-4所列的是本章中介绍的两个全局变量。
变量数据类型说明:
-
in_ifaddr:
struct in_ifaddr*
,in_ifaddr
结构列表的首部 -
in_interfaces:
int
,有IP能力的接口个数
图6-4在本章中介绍的全局变量
6.3接口和地址小结
在本章讨论的所有接口和地址结构的一个例子配置如图6-5所示。图6-5显示了我们的三个接口例子:以太网接口、SLIP接口和环回接口。它们都有一个链路层地址作为地址列表中的第一个结点。显示的以太网接口有两个IP地址,SLIP接口有一个IP地址,并且环回接口有一个IP地址和一个OSI地址。注意所有的IP地址被链接到in_ifaddr
列表中,并且所有链路层地址能从ifnet_addrs
数组访问。
为了清楚起见,图6-5没有画出每个ifaddr
结构中的指针ifa_ifp
。这些指针回指包含此ifaddr
结构的列表的首部ifnet
结构。
想深入了解更多关于接口定义的内容吗?可以查看GTK自定义接口函数和IVR接口函数结构详解。这些资源将帮助你更全面地理解接口函数的定义和应用。
若对不同的接口定义感兴趣,可以参考接口的定义,或者探索Prog Internet II接口接口源码来获取更多技术细节。甚至关于SATA、DVI等硬件接口的定义也可以在SATA接口定义和DVI接口定义中找到。
接下来的部分讨论图6-5中的数据结构及用来查看和修改这些结构的IP专用ioctl命令。你对这些复杂的结构感到困惑吗?不要担心,细心阅读,你会发现其中的奥秘。