Geteblk 内核服务

用途

分配可用缓冲区。

语法

#include <sys/types.h>
#include <sys/errno.h>
#include <sys/buf.h>
struct buf *geteblk ( )

描述

注意: 强烈建议不要使用字符设备驱动程序所使用的 盖特布尔克 服务。 作为替代方法,字符设备驱动程序可以使用 克马洛克 服务直接分配内存空间,或者使用字符 I/O 内核服务 (例如, 盖茨布Getcf 服务)。

盖特布尔克 内核服务会分配一个缓冲区和缓冲区头,并返回缓冲区头的地址。 如果没有可用的缓冲区,那么 盖特布尔克 服务将等待其中一个缓冲区变为可用。 块设备驱动程序可以使用 盖特布尔克 服务检索缓冲区。

在标题中,b_forw,b_back,b_flags,b_bcount,b_devb_un字段由系统使用,并且不能由驱动程序修改。 该av_forwav_back字段可供 盖特布尔克 服务的用户使用,用于由 盖特布尔克 服务的用户保持缓冲区链。 (此用户可以是内核文件系统,也可以是设备驱动程序。) 该b_blknob_resid字段可以用于任何目的。

布雷尔塞 服务用于释放这种类型的缓冲区。

盖特布尔克 服务没有任何参数。

执行环境

盖特布尔克 内核服务只能从进程环境中进行调用。

返回值

盖特布尔克 服务返回一个指向缓冲区头的指针。 不存在任何错误代码,因为 盖特布尔克 服务会等待缓冲区头变为可用。

在支持存储密钥的平台上,缓冲区头是从受 KKEY_BLOCK_DEV 内核密钥保护的存储器分配的。