(cherry picked from commit 547e8248ba3538693ee8c587a92ffece7b40d1a2)
* Move from .c to .h as needed for consistency. * When missing from both, copy from pull request or wiki. * When missing entirely, infer functionality from source code.