Is it possible to define macros
write_foo(A); and read_foo();
so that:
WRITE_FOO(hello); code_block_1; READ_FOO(); code
It is not possible since macro should not contain preprocessor directives.