I am only a spare time C coder myself and was surprised that I can follow the code. Nice! Any reason why typedef struct is avoided?
The reason struct typedefs are avoided is because I prefer to be explicit (the "Zen of Python" isn't just for Python!). It's also common practice in most of the projects I work on, and it's not much of an issue for me as far as a little bit of typing goes: I'm a fast typist.
The Linux style suggests avoiding it: https://www.kernel.org/doc/html/v4.10/process/coding-style.h...