Code and exercises from David R. Hanson's book C Interfaces and Implementations