sysconfig 子例程
用途
提供用于控制系统/内核配置的服务。
库
标准 C 库 (libc.a)
语法
描述
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_KLOAD 或 SYS_SINGLELOAD)。 对于内核扩展,这指示内核扩展不导出 64 位系统调用,但所有 32 位系统调用也适用于 64 位应用程序。 对于设备驱动程序,这指示设备驱动程序可以由 64 位应用程序使用。
装入程序符号绑定支持 说明装入内核对象文件时提供的符号绑定支持。
参数
| 项 | 描述 |
|---|---|
| Cmd | 指定 sysconfig 子例程要执行的函数。 |
| 参数 | 指定用户提供的结构。 |
| 参数 | 指定由 Parmp 参数指示的用户提供的结构的长度。 |
返回值
成功完成子例程后,这些 sysconfig 操作将返回值 0。 否则,返回值为-1,并设置errno全局变量来指示错误。
如果结构并非完全在可由调用进程寻址的内存中,那么需要来自调用者的结构的任何 sysconfig 操作都将失败。 返回值为-1,全局变量errno被设置为EFAULT。