some useful c macros I use