If you are interested, try something like this to start making sense of the code:
cc -E m.c | indent | grep -v INDENT | less
and separately read k.h for typedefs etc.