Заголовочный файл обычно используется только для ссылок к глобальным переменным. А такие определения как
#define __export extern
#define __private static никакой дополнительной информации не несут. Скорее даже наоборот, затрудняют понимание программ, поскольку являются нестандартными. Или нет?