Separated into C and header.
First C structure version.