2. 结构中指向函数的指针,用来作为服务操作
网络接口操作可以分为两部分,一部分为基本操作,即每个网络接口都必
须有的操作;另一部分是可选操作。
()!基本操作 )(
!! )!!!),!!()!6!'!*!)(
初始化函数的指针,仅被调用一次。当登记一个设备时,核心一般会让驱
动程序初始化该设备。初始化函数功能包括以下内容:检测设备是否存在;自
动检测该设备的 ($ 端口和中断号;填写该设备 结构的大部分域段;用
& 分配所需的内存空间等。若初始化失败,该设备的 结构就不
会被链接到全局的网络设备表上。在系统启动时,每个驱动程序都试图登记自
己,当只有那些实际存在的设备才会登记成功。这与用主设备号及次设备号索
引的字符设备和块设备不同。
!! )!!!),
打开网络接口。每当接口被 40 激活时,网络接口都要被打开。$
操作做以下工作:登记一些需要的系统资源,如 #3、%7、($ 端口等;打
开硬件;将 & 使用计数器加一。
!! )!!!),
停止网络接口。操作内容与 相逆。
!! )&!!!)O!!!!),
硬件开始传输。这个操作请求对一个包的传输,这个包原保存在一个
缓冲区结构中()。
!! )!!!)O!!!!)O!!
0!!'O!
!!!)O !!!)O!!0!,
这个函数可根据先前得到的源物理地址和目的物理地址建立硬件头
(E!)。以太网接口的缺省函数是 。
!! )!)O!!!)O!!0!
0!O!!!),
在一个包被发送之前重建硬件头。对于以太网设备,若有未知的信息,缺
省函数将使用 7# 填写。
!!!) )0!!),
当一个应用程序需要知道网络接口的一些统计数据时,可调用该函数,如
40、 等。
()!可选操作 )(