genminor 设备配置子例程
用途
生成可用于设备的最小未使用次数,首选次数 (如果可用) 或设备的一组未使用次数。
语法
#include <cf.h>
#include <sys/cfgodm.h>
#include <sys/cfgdb.h> int *genminor (device_instance, major_no, preferred_minor,
minors_in_grp, inc_within_grp, inc_btwn_grp)
char * device_instance;
int major_no;
int preferred_minor;
int minors_in_grp;
int inc_within_grp;
int inc_btwn_grp;
minors_in_grp, inc_within_grp, inc_btwn_grp)
char * device_instance;
int major_no;
int preferred_minor;
int minors_in_grp;
int inc_within_grp;
int inc_btwn_grp;
参数
| 项 | 描述 |
|---|---|
| 设备实例 | 指向包含此设备实例名称的字符串。 |
| Major_no | 包含设备实例的主要编号。 |
| 首选小号 | 包含用于生成一组数字的单个首选次编号或起始次编号。 在后一种情况下,可以使用 根未成年人 子例程来获取单个调用中的一组次编号。 |
| 未成年人群体 | 指示要分配的次编号的数量。 |
| 集团内部 inc_within_grp | 指示次数之间的时间间隔。 |
| inc_btwn_grp | 指示次编号组之间的时间间隔。 |
描述
genminor 设备配置子例程是用于访问 定制设备驱动程序 (CuDv) 对象类的指定例程之一。 为确保生成唯一数字,此例程将锁定对象类,直至完成此例程。
如果需要分配单个首选小号,那么应该在 preferred_minor 参数中提供该小号。 在此情况下,其他参数应包含 1 的整数值。 如果期望的数字可用,那么将返回该值。 否则,将返回空指针,指示所请求的数字正在使用中。
如果呼叫方没有偏好,只需要一个小数,则应在 preferred_minor 参数中传递 -1 值。 其他参数应该全部包含整数值 1。 在这种情况下, 根未成年人 子例程返回最小的可用次数。
如果需要一组数字,那么指定的集合中的每个数字都必须可用。 不可用的数字是已分配的数字。 要获取已分配的特定小号集, preferred_minor 参数包含起始小号。 如果此集合具有不可用的次编号,那么 根未成年人 子例程将返回空指针以指示失败。
如果需要分配的小数集的第一个数字以特定边界为起点(即以 8 的倍数为起点),则应在 preferred_minor 参数中传递 -1 值。 inc_btwn_grp 参数应设置为多个期望的值。 根未成年人 子例程使用 inc_btwn_grp 参数来查找第一个完整的可用次编号集。
如果要返回小号列表,那么返回值会指向首选小号列表中的第一个小号。 然后,此指针可以递增以在列表中移动以访问每个次数。 次编号将按升序顺序返回。
返回值
在发生故障的情况下,将返回空指针。 如果 根未成年人 子例程成功,那么会将指针返回到最小可用小号或小号列表。
文件
| 项 | 描述 |
|---|---|
| /usr/lib/libcfg.a | 设备配置子例程的归档。 |