view future.h @ 239:ec81395bf08d

Solve name collisions and other problems caused by including Windows headers
author Daniele Nicolodi <daniele.nicolodi@obspm.fr>
date Thu, 12 Feb 2015 19:13:55 +0100
parents a2f99632a80c
children 7fd5cb857d07
line wrap: on
line source

#ifndef __FUTURE_H__
#define __FUTURE_H__

/* required for time_t definition */
#include <time.h>

#define PTR_TO_INT(p) ((int) ((intptr_t)(p)))
#define INT_TO_PTR(u) ((void *) ((intptr_t)(u)))

double round(double x);

/* struct timeval is defined in `WinSock2.h` but we cannot safely include 
 * this header because it includes `Windows.h` and CVI does not like to
 * have that included after his includes. resort to this ugly hack to
 * avoid to include windows headers and to avoid name clashes */
struct __timeval {
	time_t tv_sec;
	long tv_usec;
};

#define timeval __timeval

/* we never use struct timezone so leave it as on opaque struct */
struct timezone;

int gettimeofday(struct timeval *tp, struct timezone *tzp);

#endif