40#ifndef _RTEMS_RTEMS_TIMER_INL
41#define _RTEMS_RTEMS_TIMER_INL
63#if ISR_LOCK_NEEDS_OBJECT
64 ISR_lock_Control Lock;
96static inline void _Timer_Free (
122 cpu = _Watchdog_Get_CPU( &the_timer->
Ticker );
123 _Watchdog_Per_CPU_acquire_critical( cpu, lock_context );
128static inline void _Timer_Release(
133 _Watchdog_Per_CPU_release_critical( cpu, lock_context );
137static inline bool _Timer_Is_interval_class(
147static inline bool _Timer_Is_on_task_class(
154 return ( the_class & mask ) == mask;
204static inline void _Timer_server_Acquire_critical(
212static 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_ISR_enable(_context)
Restores the saved interrupt state of the ISR lock context.
Definition isrlock.h:385
#define _ISR_lock_Release(_lock, _context)
Releases an ISR lock inside an ISR disabled section.
Definition isrlock.h:282
#define _ISR_lock_Acquire(_lock, _context)
Acquires an ISR lock inside an ISR disabled section.
Definition isrlock.h:259
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:94
Per CPU Core Structure.
Definition percpu.h:384
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...