summaryrefslogtreecommitdiff
path: root/TAO/orbsvcs/orbsvcs/CosTimeBase.idl
blob: 3d4eed07d768d933929ae15df1a40d817f3b58dd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
//
// $Id$
//

#ifndef COS_TIME_BASE_IDL
#define COS_TIME_BASE_IDL

#pragma prefix "omg.org"

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.

  typedef unsigned long long TimeT;
  // 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 {
    //   Structure of the time value.  The inaccuracy is packed into
    //   inacclo & inacchi.  The tdf holds the time displacement
    //   factor.
    //
    // = DESCRIPTION
    //   There is a total of 16 octets in this struct.

    TimeT time;
    // 8 octets

    unsigned long inacclo;
    // 4 octets

    unsigned short inacchi;
    // 2 octets

    TdfT tdf;
    // 2 octets

  };

   struct IntervalT
  {
    // = TITLE
    // This type holds a time interval represented as two TimeT values
    // corresponding to the lower and upper bound of the interval.

    TimeT lower_bound;
    // Lower bound of the interval.

    TimeT upper_bound;
    // Upper bound of the interval.
  };

};

#endif /* COS_TIME_BASE_IDL */