sysconfig 子例程

用途

提供用于控制系统/内核配置的服务。

标准 C 库 (libc.a)

语法

#include <sys/types.h>
#include <sys/sysconfig.h>
int sysconfig ( Cmd,  Parmp,  Parmlen)
int Cmd;
void *Parmp;
int Parmlen;

描述

sysconfig 子例程用于定制操作系统。 此子例程提供了装入,卸载和配置内核扩展的方法。 这些内核扩展可以是额外的 内核服务系统调用,设备驱动程序, 或 操作系统和设备管理中的 文件系统sysconfig 子例程还提供读取和设置系统运行时操作参数的能力。

使用 sysconfig 子例程需要适当的特权。

sysconfig 子例程提供的特定操作由 Cmd 参数的值定义。 定义了以下操作:

描述
SYS_KLOAD (SYS_KLOAD sysconfig 操作) 将内核扩展对象文件装入内核内存。
SYS_SINGLELOAD (SYS_SINGLELOAD sysconfig 操作) 仅当尚未装入内核扩展对象文件时,才装入该文件。
SYS_QUERYLOAD (SYS_QUERYLOAD sysconfig 操作) 确定是否装入指定的内核对象文件。
SYS_KULOAD (SYS_KULOAD sysconfig 操作) 卸载先前装入的内核对象文件。
SYS_QDVSW (SYS_QDVSW sysconfig 操作) 检查设备交换机表中设备交换机条目的状态。
SYS_CFGDD (SYS_CFGDD sysconfig 操作) 调用指定的 设备驱动程序配置例程 (模块入口点)。
SYS_CFGKMOD (SYS_CFGKMOD sysconfig 操作) 在其模块入口点调用指定的模块以进行配置。
SYS_GETPARMS (SYS_GETPARMS sysconfig 操作) 返回包含在 var 结构中找到的运行时系统参数的当前值的结构。
SYS_SETPARMS (SYS_SETPARMS sysconfig 操作) 从调用者提供的结构设置运行时系统参数。
SYS_GETLPARINFO (SYS_GETLPAR_INFO sysconfig 操作) 将系统 LPAR 信息复制到用户分配的缓冲区中。

此外,可以使用 命令 参数对 SYS_64BIT 标志进行按位排序 (如果 命令 参数为 SYS_KLOADSYS_SINGLELOAD)。 对于内核扩展,这指示内核扩展不导出 64 位系统调用,但所有 32 位系统调用也适用于 64 位应用程序。 对于设备驱动程序,这指示设备驱动程序可以由 64 位应用程序使用。

装入程序符号绑定支持 说明装入内核对象文件时提供的符号绑定支持。

参数

描述
Cmd 指定 sysconfig 子例程要执行的函数。
参数 指定用户提供的结构。
参数 指定由 Parmp 参数指示的用户提供的结构的长度。

返回值

成功完成子例程后,这些 sysconfig 操作将返回值 0。 否则,返回值为-1,并设置errno全局变量来指示错误。

如果结构并非完全在可由调用进程寻址的内存中,那么需要来自调用者的结构的任何 sysconfig 操作都将失败。 返回值为-1,全局变量errno被设置为EFAULT