gpt4 book ai didi

c - sysctl() 的参数是什么?

转载 作者:太空狗 更新时间:2023-10-29 17:18:36 27 4
gpt4 key购买 nike

我查看了手册页和文档,但它们只讨论了命令行调用。我说的是 C 函数。关于它的两个问题:

  • C 中 sysctl() 的参数是什么? (我只想要一个将军描述每个参数是什么以及它的用途)
  • sysctl() 调用在 Mac OS X Lion 中是否仍然有效?

我在 Mac OS X Snow Leopard 上使用 Xcode 3.2.6

最佳答案

嗯,引用this page ,假设它有原型(prototype):

int sysctl (int *name,
int nlen,
void *oldval,
size_t *oldlenp,
void *newval,
size_t newlen);

那么它的参数如下:

  • name -> 指向一个整数数组:每个整数值标识一个 sysctl 项,目录或叶节点文件。这些值的符号名称在 <linux/sysctl.h> 中定义。 .
  • nlen -> 说明数组名称中列出了多少个整数:要到达特定条目,您需要指定通过子目录的路径,因此您需要告诉该路径有多长.
  • oldval -> 是指向必须存储 sysctl 项的旧值的数据缓冲区的指针。如果为 NULL,则系统调用不会向用户空间返回值。
  • oldlenp -> 指向一个表示 oldval 缓冲区长度的整数。系统调用更改值以反射(reflect)已写入的数据量,该值可以小于缓冲区长度。
  • newval -> 指向托管替换数据的数据缓冲区:内核将读取此缓冲区以更改正在执行的 sysctl 条目。如果为 NULL,则内核值不变。
  • newlen -> 是 newval 的长度。内核将从 newval 读取不超过 newlen 个字节。

我建议您阅读整个 page ,因为它提供了更广泛的细节。至于它在 Mac OS X Lion 中是否有效,我不确定,但我可以想象。

希望我有所帮助!

关于c - sysctl() 的参数是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9145982/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com