19 #ifndef _RTEMS_POSIX_TIMERIMPL_H 20 #define _RTEMS_POSIX_TIMERIMPL_H 31 #define POSIX_TIMER_STATE_FREE 0x01 34 #define POSIX_TIMER_STATE_CREATE_NEW 0x02 37 #define POSIX_TIMER_STATE_CREATE_RUN 0x03 40 #define POSIX_TIMER_STATE_CREATE_STOP 0x04 43 #define POSIX_TIMER_RELATIVE 0 50 #if (POSIX_TIMER_RELATIVE == TIMER_ABSTIME) 51 #error "POSIX_TIMER_RELATIVE == TIMER_ABSTIME" 108 cpu = _Watchdog_Get_CPU( &ptimer->Timer );
109 _Watchdog_Per_CPU_acquire_critical( cpu, lock_context );
119 _Watchdog_Per_CPU_release_critical( cpu, lock_context );
void _Objects_Free(Objects_Information *information, Objects_Control *the_object)
Frees an object.
Definition: objectfree.c:25
Objects_Control * _Objects_Allocate(Objects_Information *information)
Allocates an object.
Definition: objectallocate.c:89
Inlined Routines in the Watchdog Handler.
#define RTEMS_INLINE_ROUTINE
Definition: basedefs.h:65
Objects_Information _POSIX_Timer_Information
The POSIX Timer objects information.
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:28
The control block used to manage each watchdog timer.
Definition: watchdog.h:87
#define _ISR_lock_ISR_enable(_context)
Restores the saved interrupt state of the ISR lock context.
Definition: isrlock.h:404
Per CPU Core Structure.
Definition: percpu.h:290
RTEMS_INLINE_ROUTINE POSIX_Timer_Control * _POSIX_Timer_Allocate(void)
POSIX Timer Allocate.
Definition: timerimpl.h:60
POSIX Timers Internal Support.
RTEMS_INLINE_ROUTINE POSIX_Timer_Control * _POSIX_Timer_Get(timer_t id, ISR_lock_Context *lock_context)
POSIX Timer Get.
Definition: timerimpl.h:89
Local ISR lock context for acquire and release pairs.
Definition: isrlock.h:65
RTEMS_INLINE_ROUTINE void _POSIX_Timer_Free(POSIX_Timer_Control *the_timer)
POSIX Timer Free.
Definition: timerimpl.h:71
Inlined Routines in the Object Handler.
uint32_t Objects_Id
Definition: object.h:75