首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >sysctl()的参数是什么?

sysctl()的参数是什么?
EN

Stack Overflow用户
提问于 2012-02-05 00:47:48
回答 1查看 9.8K关注 0票数 6

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

  • C中sysctl()的参数是什么?(我只想大致描述一下每个论点是什么以及它是用来做什么的)
  • sysctl()调用在中仍然有效吗?

我在Mac雪豹上使用Xcode 3.2.6

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-02-05 00:59:06

那么,引用此页的话,假设它有原型:

代码语言:javascript
复制
int sysctl (int *name,
            int nlen, 
            void *oldval,
            size_t *oldlenp,
            void *newval, 
            size_t newlen);

然后它的参数如下:

  • 名称->指向一个整数数组:每个整数值标识一个sysctl项,一个目录或一个叶节点文件。这些值的符号名在<linux/sysctl.h>中定义。
  • nlen ->描述数组名称中列出了多少个整数:要到达特定的条目,需要通过子目录指定路径,因此您需要知道这种路径的长度。
  • oldval ->是指向数据缓冲区的指针,其中必须存储sysctl项的旧值。如果为NULL,系统调用将不会将值返回给用户空间。
  • oldlenp ->指向一个整数,表示oldval缓冲区的长度。系统调用更改值以反映写入了多少数据,该数据可以小于缓冲区长度。
  • newval ->指向承载替换数据的数据缓冲区:内核将读取此缓冲区以更改所操作的sysctl条目。如果为NULL,则不更改内核值。
  • newlen ->是newval的长度。内核将只读取newval中的newlen字节。

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

希望我帮了你!

票数 15
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9145982

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档