// // $Id$ // #ifndef COS_TIME_BASE_IDL #define COS_TIME_BASE_IDL module TimeBase { // = TITLE // COS Time Service basic types. // // = DESCRIPTION // The standard CORBA Time Service defines a number of data // structures to manipulate and express time. // TAO does not implement this standard service (yet), but we use // the standard types. // #if 1 // interim definition of type ulonglong pending the // adoption of the type extension RFP. // @@ We also need support for 64-bit integers in TAO IDL compiler. struct ulonglong { unsigned long low; unsigned long high; }; typedef ulonglong TimeT; #else typedef unsigned long long TimeT; #endif // As yet the IDL compiler does not support 64-bit quantities, we // resort to the original definition of TimeT before long long // numbers were added to IDL. // // Time in TimeT is expressed in units of 100 nano seconds (in // other words 10^-7 seconds), and are relative to October 15, 1582; // please read the spec for further details. typedef TimeT InaccuracyT; // To express an error estimate for time. typedef short TdfT; // Minutes of displacement from the Greenwich time. struct UtcT { // = TITLE // The UTC time structure. TimeT time; unsigned long inacclo; unsigned short inacchi; TdfT tdf; }; struct IntervalT { // = TITLE // A time interval TimeT lower_bound; TimeT upper_bound; }; }; #endif /* COS_TIME_BASE_IDL */