加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

sysctl()的参数是什么?

发布时间:2020-12-16 03:40:15 所属栏目:百科 来源:网络整理
导读:我检查了手册页和文档,但他们只讨论了命令行调用.我在谈论C函数.关于它的两个问题: C中sysctl()的参数是什么? (我只想要一位将军 描述每个参数是什么以及它用于什么) sysctl()调用在Mac OS X Lion中仍然有效吗? 我使用Xcode 3.2.6在Mac OS X Snow Leopard
我检查了手册页和文档,但他们只讨论了命令行调用.我在谈论C函数.关于它的两个问题:

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

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

解决方法

好吧,引用 this page,假设它有原型:
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字节.

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

希望我帮忙!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读