RTEMS CPU Kit with SuperCore  4.11.2
Data Structures | Macros | Functions | Variables
watchdogimpl.h File Reference

Inlined Routines in the Watchdog Handler. More...

#include <rtems/score/watchdog.h>
#include <rtems/score/assert.h>
#include <rtems/score/chainimpl.h>
#include <rtems/score/isrlock.h>
Include dependency graph for watchdogimpl.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  Watchdog_Iterator
 Iterator item to synchronize concurrent insert, remove and tickle operations. More...
 
struct  Watchdog_Header
 Watchdog header. More...
 

Macros

#define WATCHDOG_INITIALIZER(routine, id, user_data)
 Watchdog initializer for static initialization. More...
 

Functions

RTEMS_INLINE_ROUTINE void _Watchdog_Acquire (Watchdog_Header *header, ISR_lock_Context *lock_context)
 
RTEMS_INLINE_ROUTINE void _Watchdog_Release (Watchdog_Header *header, ISR_lock_Context *lock_context)
 
RTEMS_INLINE_ROUTINE void _Watchdog_Flash (Watchdog_Header *header, ISR_lock_Context *lock_context)
 
void _Watchdog_Handler_initialization (void)
 Initialize the watchdog handler. More...
 
void _Watchdog_Tick (void)
 Triggers a watchdog tick. More...
 
Watchdog_States _Watchdog_Remove (Watchdog_Header *header, Watchdog_Control *the_watchdog)
 Removes the_watchdog from the watchdog chain. More...
 
void _Watchdog_Adjust_backward (Watchdog_Header *header, Watchdog_Interval units)
 Adjusts the header watchdog chain in the backward direction for units ticks. More...
 
void _Watchdog_Adjust_backward_locked (Watchdog_Header *header, Watchdog_Interval units)
 Adjusts the watchdogs in backward direction in a locked context. More...
 
void _Watchdog_Adjust_forward (Watchdog_Header *header, Watchdog_Interval units)
 Adjusts the header watchdog chain in the forward direction for units ticks. More...
 
void _Watchdog_Adjust_forward_locked (Watchdog_Header *header, Watchdog_Interval units, ISR_lock_Context *lock_context)
 Adjusts the watchdogs in forward direction in a locked context. More...
 
void _Watchdog_Insert (Watchdog_Header *header, Watchdog_Control *the_watchdog)
 Inserts the_watchdog into the header watchdog chain for a time of units. More...
 
void _Watchdog_Insert_locked (Watchdog_Header *header, Watchdog_Control *the_watchdog, ISR_lock_Context *lock_context)
 Inserts the watchdog in a locked context. More...
 
void _Watchdog_Tickle (Watchdog_Header *header)
 This routine is invoked at appropriate intervals to update the header watchdog chain. More...
 
RTEMS_INLINE_ROUTINE void _Watchdog_Preinitialize (Watchdog_Control *the_watchdog)
 Pre-initializes a watchdog. More...
 
RTEMS_INLINE_ROUTINE void _Watchdog_Initialize (Watchdog_Control *the_watchdog, Watchdog_Service_routine_entry routine, Objects_Id id, void *user_data)
 This routine initializes the specified watchdog. More...
 
RTEMS_INLINE_ROUTINE bool _Watchdog_Is_active (Watchdog_Control *the_watchdog)
 This routine returns true if the watchdog timer is in the ACTIVE state, and false otherwise.
 
RTEMS_INLINE_ROUTINE void _Watchdog_Activate (Watchdog_Control *the_watchdog)
 This routine activates THE_WATCHDOG timer which is already on a watchdog chain.
 
RTEMS_INLINE_ROUTINE void _Watchdog_Tickle_ticks (void)
 This routine is invoked at each clock tick to update the ticks watchdog chain.
 
RTEMS_INLINE_ROUTINE void _Watchdog_Tickle_seconds (void)
 This routine is invoked at each clock tick to update the seconds watchdog chain.
 
RTEMS_INLINE_ROUTINE void _Watchdog_Insert_ticks (Watchdog_Control *the_watchdog, Watchdog_Interval units)
 This routine inserts THE_WATCHDOG into the ticks watchdog chain for a time of UNITS ticks. More...
 
RTEMS_INLINE_ROUTINE void _Watchdog_Insert_seconds (Watchdog_Control *the_watchdog, Watchdog_Interval units)
 This routine inserts THE_WATCHDOG into the seconds watchdog chain for a time of UNITS seconds. More...
 
RTEMS_INLINE_ROUTINE Watchdog_States _Watchdog_Remove_ticks (Watchdog_Control *the_watchdog)
 
RTEMS_INLINE_ROUTINE Watchdog_States _Watchdog_Remove_seconds (Watchdog_Control *the_watchdog)
 
RTEMS_INLINE_ROUTINE void _Watchdog_Reset_ticks (Watchdog_Control *the_watchdog)
 This routine resets THE_WATCHDOG timer to its state at INSERT time. More...
 
RTEMS_INLINE_ROUTINE Watchdog_Control_Watchdog_Next (Watchdog_Control *the_watchdog)
 This routine returns a pointer to the watchdog timer following THE_WATCHDOG on the watchdog chain.
 
RTEMS_INLINE_ROUTINE Watchdog_Control_Watchdog_Previous (Watchdog_Control *the_watchdog)
 This routine returns a pointer to the watchdog timer preceding THE_WATCHDOG on the watchdog chain.
 
RTEMS_INLINE_ROUTINE Watchdog_Control_Watchdog_First (Watchdog_Header *header)
 This routine returns a pointer to the first watchdog timer on the watchdog chain HEADER.
 
RTEMS_INLINE_ROUTINE Watchdog_Control_Watchdog_Last (Watchdog_Header *header)
 This routine returns a pointer to the last watchdog timer on the watchdog chain HEADER.
 
RTEMS_INLINE_ROUTINE bool _Watchdog_Is_empty (const Watchdog_Header *header)
 
RTEMS_INLINE_ROUTINE void _Watchdog_Header_initialize (Watchdog_Header *header)
 

Variables

SCORE_EXTERN Watchdog_Header _Watchdog_Ticks_header
 Watchdog chain which is managed at ticks. More...
 
SCORE_EXTERN Watchdog_Header _Watchdog_Seconds_header
 Watchdog chain which is managed at second boundaries. More...
 

Detailed Description

Inlined Routines in the Watchdog Handler.

This file contains the static inline implementation of all inlined routines in the Watchdog Handler.