I am not at a computer so cannot test this at the moment but have some code to review. I’m still somewhat in a C++ mindframe unfortunatley.
So, when a typedef is declared within a C source file what is its scope? I am aware that to make functions and variables only available within the same translation unit you need to make them static and I was wondering if this is the same for typedefs?
Typedefs are declarations. If you have a typedef in a C file, no other C file will be aware of that since they are compiled indepedendly of each other.
For a typedef in a header, it will of course be visible from all C files that include it.