reading "C Interfaces and Implementation" by David R. Hanson