This file documents some conventions for sorting system header files in the #include section. 1. #include <config.h> unconditionally 2. if there are any headers containing "alloca" in the name, include them here. Some systems need them as the first header. 3. #include the Standard C Library headers, sorted alphabetically (assert, ctype, errno, float, limits, locale, math, setjmp, signal, stdarg, stddef, stdio, stdlib, string, time) 4. #include the POSIX headers, in the following order <sys/types.h> Needed by many other headers. <sys/*.h> <*.h> For every POSIX function you use, make sure that the order of the headers is the same as in the according manpage. 5. #include other external headers 6. #include "../src/global.h" This file contains lots of compatibility stuff that is used throughout the whole mc. All mc header files rely on this file to be included before them. 7. #include Midnight Commander headers Currently, not all headers can be ordered arbitrarily, so try it out. ==== Headers that may be included unconditionally ==== All ISO C90 headers. <sys/types.h> <sys/stat.h> <unistd.h> <fcntl.h> ==== Headers that need autoconf guards ==== <termios.h> <sys/ioctl.h>