RTEMS  5.0.0
Files | Data Structures | Macros | Typedefs | Functions | Variables
Classic Timer Implementation

Files

file  timerdata.h
 Classic Partition Manager Data Structures.
 
file  timerimpl.h
 Classic Timer Implementation.
 

Data Structures

struct  Timer_Control
 
struct  Timer_server_Control
 

Macros

#define TIMER_INFORMATION_DEFINE(max)
 Macro to define the objects information for the Classic Timer objects. More...
 

Typedefs

typedef struct Timer_server_Control Timer_server_Control
 

Functions

RTEMS_INLINE_ROUTINE Timer_Control_Timer_Allocate (void)
 Timer_Allocate. More...
 
RTEMS_INLINE_ROUTINE void _Timer_Free (Timer_Control *the_timer)
 Timer_Free. More...
 
RTEMS_INLINE_ROUTINE Timer_Control_Timer_Get (Objects_Id id, ISR_lock_Context *lock_context)
 
RTEMS_INLINE_ROUTINE Per_CPU_Control_Timer_Acquire_critical (Timer_Control *the_timer, ISR_lock_Context *lock_context)
 
RTEMS_INLINE_ROUTINE void _Timer_Release (Per_CPU_Control *cpu, ISR_lock_Context *lock_context)
 
RTEMS_INLINE_ROUTINE bool _Timer_Is_interval_class (Timer_Classes the_class)
 
RTEMS_INLINE_ROUTINE bool _Timer_Is_on_task_class (Timer_Classes the_class)
 
RTEMS_INLINE_ROUTINE Per_CPU_Watchdog_index _Timer_Watchdog_header_index (Timer_Classes the_class)
 
RTEMS_INLINE_ROUTINE Watchdog_Interval _Timer_Get_CPU_ticks (const Per_CPU_Control *cpu)
 
rtems_status_code _Timer_Fire (rtems_id id, rtems_interval interval, rtems_timer_service_routine_entry routine, void *user_data, Timer_Classes the_class, Watchdog_Service_routine_entry adaptor)
 
rtems_status_code _Timer_Fire_after (rtems_id id, rtems_interval ticks, rtems_timer_service_routine_entry routine, void *user_data, Timer_Classes the_class, Watchdog_Service_routine_entry adaptor)
 
rtems_status_code _Timer_Fire_when (rtems_id id, const rtems_time_of_day *wall_time, rtems_timer_service_routine_entry routine, void *user_data, Timer_Classes the_class, Watchdog_Service_routine_entry adaptor)
 
void _Timer_Cancel (Per_CPU_Control *cpu, Timer_Control *the_timer)
 
void _Timer_Routine_adaptor (Watchdog_Control *the_watchdog)
 
void _Timer_server_Routine_adaptor (Watchdog_Control *the_watchdog)
 
RTEMS_INLINE_ROUTINE void _Timer_server_Acquire_critical (Timer_server_Control *timer_server, ISR_lock_Context *lock_context)
 
RTEMS_INLINE_ROUTINE void _Timer_server_Release_critical (Timer_server_Control *timer_server, ISR_lock_Context *lock_context)
 

Variables

Objects_Information _Timer_Information
 The Classic Timer objects information.
 
Timer_server_Control *volatile _Timer_server
 Pointer to default timer server control block. More...
 

Detailed Description

Macro Definition Documentation

◆ TIMER_INFORMATION_DEFINE

#define TIMER_INFORMATION_DEFINE (   max)
Value:
_Timer, \
OBJECTS_CLASSIC_API, \
OBJECTS_RTEMS_TIMERS, \
max, \
NULL \
)
#define OBJECTS_NO_STRING_NAME
Constant for the object information string name length to indicate that this object class has no stri...
Definition: objectdata.h:94
#define OBJECTS_INFORMATION_DEFINE(name, api, cls, type, max, nl, ex)
Statically initializes an objects information.
Definition: objectdata.h:333
Definition: timerdata.h:41
#define NULL
Requests a GPIO pin group configuration.
Definition: bestcomm_api.h:77

Macro to define the objects information for the Classic Timer objects.

This macro should only be used by <rtems/confdefs.h>.

Parameters
maxThe configured object maximum (the OBJECTS_UNLIMITED_OBJECTS flag may be set).

Function Documentation

◆ _Timer_Allocate()

RTEMS_INLINE_ROUTINE Timer_Control* _Timer_Allocate ( void  )

Timer_Allocate.

This function allocates a timer control block from the inactive chain of free timer control blocks.

◆ _Timer_Free()

RTEMS_INLINE_ROUTINE void _Timer_Free ( Timer_Control the_timer)

Timer_Free.

This routine frees a timer control block to the inactive chain of free timer control blocks.

Variable Documentation

◆ _Timer_server

Timer_server_Control* volatile _Timer_server

Pointer to default timer server control block.

This value is NULL when the default timer server is not initialized.