В глобальном макросе объявляются только переменные и прототипы функций. Пользовательский код пишется в пользовательских макросах.
См. пример во вложении.
Соответственно, можно было бы точно также создать в глобальном макросе прототип функции и внутри него работать со структурой.