40#ifndef _RTEMS_RTEMS_TIMER_INL
41#define _RTEMS_RTEMS_TIMER_INL
94static inline void _Timer_Free (
120 cpu = _Watchdog_Get_CPU( &the_timer->
Ticker );
121 _Watchdog_Per_CPU_acquire_critical( cpu, lock_context );
126static inline void _Timer_Release(
131 _Watchdog_Per_CPU_release_critical( cpu, lock_context );
135static inline bool _Timer_Is_interval_class(
145static inline bool _Timer_Is_on_task_class(
152 return ( the_class & mask ) == mask;
202static inline void _Timer_server_Acquire_critical(
210static inline void _Timer_server_Release_critical(
rtems_status_code
This enumeration provides status codes for directives of the Classic API.
Definition: status.h:85
rtems_timer_service_routine(* rtems_timer_service_routine_entry)(rtems_id, void *)
This type defines the prototype of routines which can be fired by directives of the Timer Manager.
Definition: timer.h:259
#define TIMER_CLASS_BIT_NOT_DORMANT
This timer class bit indicates that the timer is not dormant.
Definition: timer.h:86
Timer_Classes
The timer class indicates how the timer was most recently fired.
Definition: timer.h:114
#define TIMER_CLASS_BIT_TIME_OF_DAY
This timer class bit indicates that the timer uses a time of day.
Definition: timer.h:105
#define TIMER_CLASS_BIT_ON_TASK
This timer class bit indicates that the timer routine executes in a task context.
Definition: timer.h:96
Objects_Id rtems_id
This type represents RTEMS object identifiers.
Definition: types.h:94
Watchdog_Interval rtems_interval
This type represents clock tick intervals.
Definition: types.h:114
Timer_server_Control *volatile _Timer_server
Pointer to default timer server control block.
Definition: timercreate.c:60
Objects_Information _Timer_Information
The Classic Timer objects information.
#define ISR_LOCK_MEMBER(_designator)
Defines an ISR lock member.
Definition: isrlock.h:105
#define _ISR_lock_ISR_enable(_context)
Restores the saved interrupt state of the ISR lock context.
Definition: isrlock.h:435
#define _ISR_lock_Release(_lock, _context)
Releases an ISR lock inside an ISR disabled section.
Definition: isrlock.h:332
#define _ISR_lock_Acquire(_lock, _context)
Acquires an ISR lock inside an ISR disabled section.
Definition: isrlock.h:309
Objects_Control * _Objects_Allocate(Objects_Information *information)
Allocates an object.
Definition: objectallocate.c:43
uint32_t Objects_Id
Definition: object.h:101
Objects_Control * _Objects_Get(Objects_Id id, ISR_lock_Context *lock_context, const Objects_Information *information)
Maps the specified object identifier to the associated local object control block.
Definition: objectgetlocal.c:43
Per_CPU_Watchdog_index
Per-CPU watchdog header index.
Definition: percpu.h:345
uint32_t Watchdog_Interval
Type is used to specify the length of intervals.
Definition: watchdogticks.h:59
Watchdog_Service_routine(* Watchdog_Service_routine_entry)(Watchdog_Control *)
Pointer to a watchdog service routine.
Definition: watchdog.h:85
This header file provides interfaces of the Object Handler which are only used by the implementation.
This header file provides interfaces of the Thread Handler which are used by the implementation and t...
Local ISR lock context for acquire and release pairs.
Definition: isrlock.h:81
Per CPU Core Structure.
Definition: percpu.h:384
struct Per_CPU_Control::@4380 Watchdog
Watchdog state for this processor.
uint64_t ticks
Watchdog ticks on this processor used for monotonic clock watchdogs.
Definition: percpu.h:506
Definition: timerdata.h:61
Objects_Control Object
Definition: timerdata.h:63
Watchdog_Control Ticker
Definition: timerdata.h:65
Definition: timerimpl.h:62
The control block used to manage each watchdog timer.
Definition: watchdog.h:109
This type represents Classic API calendar times.
Definition: types.h:266
This header file provides data structures used by the implementation and the Application Configuratio...
This union represents a chain control block.
Definition: chain.h:96
This header file provides interfaces of the Watchdog Handler which are only used by the implementatio...