RTEMS 6.1-rc2
Loading...
Searching...
No Matches
Macros | Enumerations | Functions
watchdogimpl.h File Reference

This header file provides interfaces of the Watchdog Handler which are only used by the implementation. More...

#include <rtems/score/watchdog.h>
#include <rtems/score/watchdogticks.h>
#include <rtems/score/assert.h>
#include <rtems/score/isrlock.h>
#include <rtems/score/percpu.h>
#include <rtems/score/rbtreeimpl.h>
#include <sys/types.h>
#include <sys/timespec.h>

Go to the source code of this file.

Macros

#define WATCHDOG_INITIALIZER(routine)
 Watchdog initializer for static initialization.
 
#define _Watchdog_Tickle(header, first, now, lock, lock_context)    _Watchdog_Do_tickle( header, first, now, lock_context )
 
#define WATCHDOG_MAXIMUM_TICKS   UINT64_MAX
 The maximum watchdog ticks value for the far future.
 
#define WATCHDOG_NANOSECONDS_PER_SECOND   1000000000
 
#define WATCHDOG_BITS_FOR_1E9_NANOSECONDS   30
 The bits necessary to store 1000000000 (= WATCHDOG_NANOSECONDS_PER_SECOND) nanoseconds.
 
#define WATCHDOG_MAX_SECONDS   0x3ffffffff
 The maximum number of seconds representable in the nanoseconds watchdog format.
 

Enumerations

enum  Watchdog_State { WATCHDOG_SCHEDULED_BLACK , WATCHDOG_SCHEDULED_RED , WATCHDOG_INACTIVE , WATCHDOG_PENDING }
 Watchdog states. More...
 

Functions

void _Watchdog_Tick (struct Per_CPU_Control *cpu)
 Performs a watchdog tick.
 
void _Watchdog_Do_tickle (Watchdog_Header *header, Watchdog_Control *first, uint64_t now, ISR_lock_Context *lock_context)
 Calls the routine of each not expired watchdog control node.
 
void _Watchdog_Insert (Watchdog_Header *header, Watchdog_Control *the_watchdog, uint64_t expire)
 Inserts a watchdog into the set of scheduled watchdogs according to the specified expiration time.
 
void _Watchdog_Remove (Watchdog_Header *header, Watchdog_Control *the_watchdog)
 In the case the watchdog is scheduled, then it is removed from the set of scheduled watchdogs.
 

Detailed Description

This header file provides interfaces of the Watchdog Handler which are only used by the implementation.