The iPhone Wiki is no longer updated. Visit this article on The Apple Wiki for current information. |
Kernel Sysctls
XNU exports to user mode a fairly rich array of system control variables. These are known as sysctls, and can be accessed by the system call of the same name.
Sysctls are especially important because they allow the probing of kernel memory (in select locations), and - in some cases, the modification thereof. iOS offers all the sysctls its OS X counterpart does, but also a few additional ones:
Jetsam related:
- kern.memorystatus_priority_list - kern.memorystatus_snapshot
TCP related: These are likely here to optimize for iOS's mobile (i.e. over 3G/cell) medium
- net.inet.tcp.rfc3390: RFC 3390 compliance (Calculate intial slowstart cwnd depending on MSS) - net.inet.tcp.min_iaj_win: Minimum recv win based on inter-packet arrival jitter - net.inet.tcp.acc_iaj_react_limit: Accumulated inter-packet arrival jitter when receiver starts to react - net.inet.tcp.doautosndbuf: Enable send socket buffer auto-tuning - net.inet.tcp.autosndbufinc: Increment in send socket bufffer siz - net.inet.tcp.autosndbufmax: Maximum send socket buffer size