add IN/OUT/INOUT macros
add COUNTOF() macro and disable -Werror for testing