Ну, цитируя эту страницу , предполагая, что она имеет прототип:
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, я не уверен, но я бы вообразил.
Надеюсь, что помог!