This was done by hand, so I might have missed things. If anyone knows of a good C style enforcement tool, let me know.