The code in test.c is a bit crappy.
Solve one error after the other.
What it boils down to is this :
Status MyStatus = {
STATUS_ONE,
STATUS_ONE,
STATUS_ZERO
};
What are you trying to do here ? Create an an array or enum ?
My guess is here is that it is suppused to be an array right ?
Then it should be :
Status Mystatus[] = {STATUS_ONE, STATUS_ONE, STATUS_ZERO};
this is also fine :
Status Mystatus[3] = {STATUS_ONE, STATUS_ONE, STATUS_ZERO};
But actually the first method is better, because if you add an element you don't have to change the 3 into a 4, the compiler finds out how many elements are in the array
I actually see a lot more errors because for instance in main.c you do
Status_Ptr = (Status *) Status_Ptr_In_Header;
and Status_Ptr_In_Header is never declared. What you need here is this to change it into Status_Ptr_In_Test;