#include "globals.h"
#include <time.h>
#include <sys/time.h>


GlobalStruct globals = {
	.Flags.do_check_settings = 1,
	.Flags.attenuators_enabled = 1,
	.DefaultFlags.do_check_settings = 1,
	.DefaultFlags.attenuators_enabled = 1,

	.Registers.last_rise_time_relay_setting = 99,

	.Registers.last_relay_driver_settings[0] = -1,
	.Registers.last_relay_driver_settings[1] = -1,
	.Registers.last_relay_driver_settings[2] = -1,

	.Registers.gpib_input_buffer[0] = 0,
	.Registers.pending_output_message = NULL,

	.VxiLocks.locked_network_server = NO_SERVER_LOCKED,

	.MenuStatus.Nonstd_Display = YES
};


long sec_timer (void)
{
	return (long)time(NULL);
}


unsigned long long ms_timer (void)
{
	struct timeval tv;
	gettimeofday(&tv, NULL);

	unsigned long long millisecondsSinceEpoch =
	        (unsigned long long)(tv.tv_sec) * 1000 +
	        (unsigned long long)(tv.tv_usec) / 1000;

	return millisecondsSinceEpoch;
}