indent with tabs (width 8)
don't write CPP when you can write C: use inline functions and enums instead of macros
the code should be C99 compliant, and must compile with GCC; clang support is highly desirable
C++ is ok (for integrating C++ only libraries), but it should be avoided
Some example code:
static inline int foo(const char *abc, int xyz) { if (abc == NULL) { g_warning("Foo happened!\n"); return -1; } return xyz; }