summaryrefslogtreecommitdiffstats
path: root/cpukit/score/inline/rtems/score/watchdog.inl
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>1995-05-11 17:39:37 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>1995-05-11 17:39:37 +0000
commitac7d5ef06a6d6e8d84abbd1f0b82162725f98326 (patch)
tree9304cf759a73f2a1c6fd3191948f00e870af3787 /cpukit/score/inline/rtems/score/watchdog.inl
downloadrtems-ac7d5ef06a6d6e8d84abbd1f0b82162725f98326.tar.bz2
Initial revision
Diffstat (limited to 'cpukit/score/inline/rtems/score/watchdog.inl')
-rw-r--r--cpukit/score/inline/rtems/score/watchdog.inl296
1 files changed, 296 insertions, 0 deletions
diff --git a/cpukit/score/inline/rtems/score/watchdog.inl b/cpukit/score/inline/rtems/score/watchdog.inl
new file mode 100644
index 0000000000..d5d12cbeef
--- /dev/null
+++ b/cpukit/score/inline/rtems/score/watchdog.inl
@@ -0,0 +1,296 @@
+/* watchdog.inl
+ *
+ * This file contains the static inline implementation of all inlined
+ * routines in the Watchdog Handler.
+ *
+ * COPYRIGHT (c) 1989, 1990, 1991, 1992, 1993, 1994.
+ * On-Line Applications Research Corporation (OAR).
+ * All rights assigned to U.S. Government, 1994.
+ *
+ * This material may be reproduced by or for the U.S. Government pursuant
+ * to the copyright license under the clause at DFARS 252.227-7013. This
+ * notice must appear in all copies of this file and its derivatives.
+ *
+ * $Id$
+ */
+
+#ifndef __WATCHDOG_inl
+#define __WATCHDOG_inl
+
+/*PAGE
+ *
+ * _Watchdog_Initialize
+ *
+ */
+
+STATIC INLINE void _Watchdog_Initialize(
+ Watchdog_Control *the_watchdog,
+ rtems_timer_service_routine_entry routine,
+ Objects_Id id,
+ void *user_data
+)
+{
+ the_watchdog->state = WATCHDOG_INACTIVE;
+ the_watchdog->routine = routine;
+ the_watchdog->id = id;
+ the_watchdog->user_data = user_data;
+}
+
+/*PAGE
+ *
+ * _Watchdog_Is_active
+ *
+ */
+
+STATIC INLINE boolean _Watchdog_Is_active(
+ Watchdog_Control *the_watchdog
+)
+{
+
+ return ( the_watchdog->state == WATCHDOG_ACTIVE );
+
+}
+
+/*PAGE
+ *
+ * _Watchdog_Activate
+ *
+ */
+
+STATIC INLINE void _Watchdog_Activate(
+ Watchdog_Control *the_watchdog
+)
+{
+
+ the_watchdog->state = WATCHDOG_ACTIVE;
+
+}
+
+/*PAGE
+ *
+ * _Watchdog_Deactivate
+ *
+ */
+
+STATIC INLINE void _Watchdog_Deactivate(
+ Watchdog_Control *the_watchdog
+)
+{
+
+ the_watchdog->state = WATCHDOG_REMOVE_IT;
+
+}
+
+/*PAGE
+ *
+ * _Watchdog_Tickle_ticks
+ *
+ */
+
+STATIC INLINE void _Watchdog_Tickle_ticks( void )
+{
+
+ _Watchdog_Tickle( &_Watchdog_Ticks_chain );
+
+}
+
+/*PAGE
+ *
+ * _Watchdog_Tickle_seconds
+ *
+ */
+
+STATIC INLINE void _Watchdog_Tickle_seconds( void )
+{
+
+ _Watchdog_Tickle( &_Watchdog_Seconds_chain );
+
+}
+
+/*PAGE
+ *
+ * _Watchdog_Insert_ticks
+ *
+ */
+
+STATIC INLINE void _Watchdog_Insert_ticks(
+ Watchdog_Control *the_watchdog,
+ rtems_interval units,
+ Watchdog_Insert_modes insert_mode
+)
+{
+
+ the_watchdog->initial = units;
+
+ _Watchdog_Insert( &_Watchdog_Ticks_chain, the_watchdog, insert_mode );
+
+}
+
+/*PAGE
+ *
+ * _Watchdog_Insert_seconds
+ *
+ */
+
+STATIC INLINE void _Watchdog_Insert_seconds(
+ Watchdog_Control *the_watchdog,
+ rtems_interval units,
+ Watchdog_Insert_modes insert_mode
+)
+{
+
+ the_watchdog->initial = units;
+
+ _Watchdog_Insert( &_Watchdog_Seconds_chain, the_watchdog, insert_mode );
+
+}
+
+/*PAGE
+ *
+ * _Watchdog_Adjust_seconds
+ *
+ */
+
+STATIC INLINE void _Watchdog_Adjust_seconds(
+ Watchdog_Adjust_directions direction,
+ rtems_interval units
+)
+{
+
+ _Watchdog_Adjust( &_Watchdog_Seconds_chain, direction, units );
+
+}
+
+/*PAGE
+ *
+ * _Watchdog_Adjust_ticks
+ *
+ */
+
+STATIC INLINE void _Watchdog_Adjust_ticks(
+ Watchdog_Adjust_directions direction,
+ rtems_interval units
+)
+{
+
+ _Watchdog_Adjust( &_Watchdog_Ticks_chain, direction, units );
+
+}
+
+/*PAGE
+ *
+ * _Watchdog_Reset
+ *
+ */
+
+STATIC INLINE void _Watchdog_Reset(
+ Watchdog_Control *the_watchdog
+)
+{
+
+ (void) _Watchdog_Remove( the_watchdog );
+
+ _Watchdog_Insert(
+ &_Watchdog_Ticks_chain,
+ the_watchdog,
+ WATCHDOG_ACTIVATE_NOW
+ );
+
+}
+
+/*PAGE
+ *
+ * _Watchdog_Next
+ *
+ */
+
+STATIC INLINE Watchdog_Control *_Watchdog_Next(
+ Watchdog_Control *the_watchdog
+)
+{
+
+ return ( (Watchdog_Control *) the_watchdog->Node.next );
+
+}
+
+/*PAGE
+ *
+ * _Watchdog_Previous
+ *
+ */
+
+STATIC INLINE Watchdog_Control *_Watchdog_Previous(
+ Watchdog_Control *the_watchdog
+)
+{
+
+ return ( (Watchdog_Control *) the_watchdog->Node.previous );
+
+}
+
+/*PAGE
+ *
+ * _Watchdog_First
+ *
+ */
+
+STATIC INLINE Watchdog_Control *_Watchdog_First(
+ Chain_Control *header
+)
+{
+
+ return ( (Watchdog_Control *) header->first );
+
+}
+
+/*PAGE
+ *
+ * _Watchdog_Last
+ *
+ */
+STATIC INLINE Watchdog_Control *_Watchdog_Last(
+ Chain_Control *header
+)
+{
+
+ return ( (Watchdog_Control *) header->last );
+
+}
+
+/*PAGE
+ *
+ * _Watchdog_Get_sync
+ *
+ */
+
+STATIC INLINE Watchdog_Control *_Watchdog_Get_sync( void )
+{
+ return (Watchdog_Control *) _Watchdog_Sync;
+}
+
+/*PAGE
+ *
+ * _Watchdog_Set_sync
+ *
+ */
+
+STATIC INLINE void _Watchdog_Set_sync(
+ Watchdog_Control *the_watchdog
+)
+{
+ _Watchdog_Sync = (Watchdog_Synchronization_pointer) the_watchdog;
+}
+
+/*PAGE
+ *
+ * _Watchdog_Clear_sync
+ *
+ */
+
+STATIC INLINE void _Watchdog_Clear_sync( void )
+{
+ _Watchdog_Sync = NULL;
+}
+
+#endif
+/* end of include file */