/*  -*- mode: c++; c-basic-offset: 4; -*-
 *
 *  File: TimeBase.idl
 *  Part of the Time Service
 *
 */
// IDL  

#ifndef _TIME_BASE_IDL_
#define _TIME_BASE_IDL_

#pragma prefix "omg.org"

module TimeBase {

#ifdef NOLONGLONG
	struct ulonglong{
		unsigned long 		low;
		unsigned long		high;
	};
	typedef ulonglong 		TimeT;
#else
	typedef unsigned long long	TimeT;
#endif
	
	typedef TimeT 			InaccuracyT;
	typedef short 			TdfT;
	struct UtcT {
		TimeT			time;		// 8 octets
		unsigned long	inacclo;	// 4 octets
		unsigned short	inacchi;	// 2 octets
		TdfT			tdf;		// 2 octets 
									// total 16 octets.
	};

	struct IntervalT {
		TimeT			lower_bound;
		TimeT			upper_bound;
	};
};
#endif /* ifndef _TIME_BASE_IDL_ */
