Я тоже так делаю. С помощью такого, можно реализовать подобия
приват/паблик #ifdef __WAIT_C
unsigned long TimingDelay;
#else
extern volatile const unsigned long TimingDelay;
#endif
или например такое
#ifdef __MODUL_C
typedef struct
{
const int in;
int out;
}Tip_t;
#else
typedef struct
{
int in;
const int out;
}Tip_t;
#endif