3 * @brief Common header includes
9 /** Defines required to allow various C standard functions to be used **/
10 #define _POSIX_C_SOURCE 200809L
12 #define _XOPEN_SOURCE 600
14 /** Determine if we're running on the BBB **/
18 //#warning This software was designed for the BeagleBone Black. Some features may not work.
21 /** The current API version **/
24 //#define REALTIME_VERSION
44 /**Converts a timeval to a double**/
45 #define TIMEVAL_TO_DOUBLE(tv) ((tv).tv_sec + 1e-9 * ((tv).tv_nsec))
46 /**Takes the tv1-tv2 between two timevals and returns the result as a double*/
47 #define TIMEVAL_DIFF(tv1, tv2) ((tv1).tv_sec - (tv2).tv_sec + 1e-9 * ((tv1).tv_nsec - (tv2).tv_nsec))
48 /** Converts a double time value (in seconds) to a timespec **/
49 #define DOUBLE_TO_TIMEVAL(value, tv) { \
50 (tv)->tv_sec = (int)(value); \
51 (tv)->tv_nsec = ((value) - (int)(value))*1e9; \
54 extern bool PathExists(const char * path);
55 extern bool DirExists(const char * path);