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;
}