4 * @brief Define the RtecBase module
6 * RtecBase.idl,v 1.2 2001/09/17 20:50:34 coryan Exp
8 * @author Carlos O'Ryan <coryan@uci.edu>
11 #ifndef TAO_RTEC_BASE_IDL
12 #define TAO_RTEC_BASE_IDL
17 * @brief Define types shared by the real-time scheduling and event
20 * These types are defined in a separate module to decouple the
21 * real-time event services from the scheduling service interface (and
26 /// Specify type of call.
27 enum Dependency_Type_t
35 /// Provide a fast, low-footprint identifier for RT_Infos.
37 * The Event and Scheduling Service need to communicate information
38 * about RT_Infos (descriptions about the scheduling properties of a
39 * simple operation). On a centralized application one would use
40 * pointers for such a task, but obviously that does not work on a
42 * It is tempting to use object references to identify each RT_Info,
43 * but that does not work either: first the *contents* of the
44 * RT_Info must be transmitted between applications, and object
45 * references are not good identifiers (due to the semantics of
48 * The handle_t type is used to generate unique identifiers on the
49 * scheduling service, the Event Service can then refer to any
50 * RT_Info using either their name or the quicker handle_t.
52 typedef long handle_t;
54 enum Dependency_Enabled_Type_t
55 // Specify whether a dependency is enabled, disabled, or
56 // non-volatile (enabled + cannot be disabled automatically).
60 DEPENDENCY_NON_VOLATILE
63 /// Define dependencies between two RT_Infos
64 struct Dependency_Info
66 /// Type of dependency
67 Dependency_Type_t dependency_type
;
69 /// Number of times the dependency is called
75 handle_t rt_info_depended_on
;
76 Dependency_Enabled_Type_t enabled
;
77 // Notice the reference to the RT_Info we
81 /// Helper typedef to define the OS priority.
82 typedef long OS_Priority
;
84 /// Helper typedef to define the OS-independent priority
85 typedef long Preemption_Priority_t
;
87 /// Helper typedef to define the OS-independent sub-priority
88 typedef long Preemption_Subpriority_t
;
91 #endif
/* TAO_RTEC_BASE_IDL */