Каковы аргументы для sysctl ()? - PullRequest
       8

Каковы аргументы для sysctl ()?

6 голосов
/ 05 февраля 2012

Я проверил страницы руководства и документацию, но они обсуждают только вызов командной строки. Я говорю о функции C. Два вопроса об этом:

  • Каковы аргументы для sysctl () в C? (Я просто хочу генерала описание того, что представляет собой каждый аргумент и для чего он используется)
  • Является ли вызов sysctl () все еще действительным в Mac OS X Lion?

Я нахожусь на Mac OS X Snow Leopard, используя Xcode 3.2.6

1 Ответ

12 голосов
/ 05 февраля 2012

Ну, цитируя эту страницу , предполагая, что она имеет прототип:

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.Системный вызов изменяет значение, чтобы отобразить объем записанных данных, который может быть меньше длины буфера.
  • newval -> указывает на буфер данных, содержащий данные для замены: ядробудет читать этот буфер, чтобы изменить запись sysctlЕсли он равен NULL, значение ядра не изменяется.
  • newlen -> - длина newval.Ядро будет читать не более новых байтов из newval.

Я бы порекомендовал прочитать всю эту страницу , поскольку она содержит более подробные сведения.А что касается его действительности в Mac OS X Lion, я не уверен, но я бы вообразил.

Надеюсь, что помог!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...