normally time.h would provide a definition for this struct, but depending on the feature test macros in use, it may not be exposed, leading to warnings when it's used in the function prototypes.