Included required macros and function prototypes from the assignment
specs.