00001 // -*- C++ -*- 00002 00003 //========================================================================== 00004 /** 00005 * @file Event_Service_Constants.h 00006 * 00007 * Event_Service_Constants.h,v 1.21 2005/11/10 06:47:22 ossama Exp 00008 * 00009 * Keep constants required by both Event Service implementation and 00010 * the Scheduling Service implementation. 00011 * 00012 * @author Carlos O'Ryan (coryan@cs.wustl.edu) 00013 */ 00014 //========================================================================== 00015 00016 #ifndef ACE_ES_CONSTANTS_H 00017 #define ACE_ES_CONSTANTS_H 00018 00019 #include /**/ "ace/pre.h" 00020 #include "ace/Message_Block.h" 00021 00022 #if !defined (ACE_LACKS_PRAGMA_ONCE) 00023 # pragma once 00024 #endif /* ACE_LACKS_PRAGMA_ONCE */ 00025 00026 #include "orbsvcs/Time_Utilities.h" 00027 00028 TAO_BEGIN_VERSIONED_NAMESPACE_DECL 00029 00030 // = Predefined event types. All application defined types should be 00031 // relative to ACE_ES_EVENT_UNDEFINED. 00032 const long ACE_ES_EVENT_ANY = 0; 00033 const long ACE_ES_EVENT_SHUTDOWN = 1; 00034 const long ACE_ES_EVENT_ACT = 2; 00035 const long ACE_ES_EVENT_NOTIFICATION = 3; 00036 const long ACE_ES_EVENT_TIMEOUT = 4; 00037 const long ACE_ES_EVENT_INTERVAL_TIMEOUT = 5; 00038 const long ACE_ES_EVENT_DEADLINE_TIMEOUT = 6; 00039 const long ACE_ES_GLOBAL_DESIGNATOR = 7; 00040 const long ACE_ES_CONJUNCTION_DESIGNATOR = 8; 00041 const long ACE_ES_DISJUNCTION_DESIGNATOR = 9; 00042 const long ACE_ES_NEGATION_DESIGNATOR = 10; 00043 const long ACE_ES_LOGICAL_AND_DESIGNATOR = 11; 00044 const long ACE_ES_BITMASK_DESIGNATOR = 12; 00045 const long ACE_ES_MASKED_TYPE_DESIGNATOR = 13; 00046 const long ACE_ES_NULL_DESIGNATOR = 14; 00047 const long ACE_ES_EVENT_UNDEFINED = 16; 00048 00049 /// Predefined event sources. 00050 const long ACE_ES_EVENT_SOURCE_ANY = 0; 00051 00052 /// The max number of priorities provided by the target platform. 00053 /// @todo This should be defined in ACE (somehow) and only mapped here 00054 /// to some variables (and even that is doubtful). 00055 const long ACE_Scheduler_MAX_PRIORITIES = 5; 00056 00057 const TimeBase::TimeT ACE_Scheduler_Rates[ACE_Scheduler_MAX_PRIORITIES] = { 00058 250000, // 40 Hz 00059 500000, // 20 Hz 00060 1000000, // 10 Hz 00061 2000000, // 5 Hz 00062 10000000 // 1 Hz 00063 }; 00064 00065 /// The minimum preemption priority. 00066 const long ACE_Scheduler_MIN_PREEMPTION_PRIORITY = 00067 ACE_Scheduler_MAX_PRIORITIES - 1; 00068 00069 /// Max preemption priority. 00070 const long ACE_Scheduler_MAX_PREEMPTION_PRIORITY = 0; 00071 00072 /// This is the maximum sub priority. 00073 const u_long ACE_Scheduler_MAX_SUB_PRIORITY = 00074 ACE_Message_Block::MB_USER - 1; 00075 00076 /// This is the minimum sub priority. 00077 const u_long ACE_Scheduler_MIN_SUB_PRIORITY = 00078 ACE_Message_Block::MB_NORMAL; 00079 00080 TAO_END_VERSIONED_NAMESPACE_DECL 00081 00082 #include /**/ "ace/post.h" 00083 00084 #endif /* ACE_ES_CONSTANTS_H */