RTEMS CPU Kit with SuperCore
Macros | Functions | Variables
posix/include/rtems/posix/timerimpl.h File Reference

Inlined Routines from the POSIX Timer Manager. More...

#include <rtems/posix/timer.h>
#include <rtems/score/objectimpl.h>
Include dependency graph for posix/include/rtems/posix/timerimpl.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define POSIX_TIMER_STATE_FREE   0x01
 Timer is free.
 
#define POSIX_TIMER_STATE_CREATE_NEW   0x02
 Created timer but not running.
 
#define POSIX_TIMER_STATE_CREATE_RUN   0x03
 Created timer and running.
 
#define POSIX_TIMER_STATE_CREATE_STOP   0x04
 Created, ran and stopped timer.
 
#define POSIX_TIMER_RELATIVE   0
 Indicates that the fire time is relative to the current one.
 

Functions

void _POSIX_Timer_Manager_initialization (void)
 POSIX Timer Manager Initialization. More...
 
void _POSIX_Timer_TSR (Objects_Id timer, void *data)
 POSIX Timer Manager Timer Service Routine Helper. More...
 
bool _POSIX_Timer_Insert_helper (Watchdog_Control *timer, Watchdog_Interval ticks, Objects_Id id, Watchdog_Service_routine_entry TSR, void *arg)
 POSIX Timer Watchdog Insertion Helper.
 
RTEMS_INLINE_ROUTINE POSIX_Timer_Control_POSIX_Timer_Allocate (void)
 POSIX Timer Allocate. More...
 
RTEMS_INLINE_ROUTINE void _POSIX_Timer_Free (POSIX_Timer_Control *the_timer)
 POSIX Timer Free. More...
 
RTEMS_INLINE_ROUTINE POSIX_Timer_Control_POSIX_Timer_Get (timer_t id, Objects_Locations *location)
 POSIX Timer Get. More...
 

Variables

POSIX_EXTERN Objects_Information _POSIX_Timer_Information
 The following defines the information control block used to manage this class of objects.
 

Detailed Description

Inlined Routines from the POSIX Timer Manager.

This file contains the static inline implementation of the inlined routines from the POSIX Timer Manager.

Function Documentation

◆ _POSIX_Timer_Allocate()

RTEMS_INLINE_ROUTINE POSIX_Timer_Control* _POSIX_Timer_Allocate ( void  )

POSIX Timer Allocate.

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

References _Objects_Allocate().

◆ _POSIX_Timer_Free()

RTEMS_INLINE_ROUTINE void _POSIX_Timer_Free ( POSIX_Timer_Control the_timer)

POSIX Timer Free.

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

References _Objects_Free().

◆ _POSIX_Timer_Get()

RTEMS_INLINE_ROUTINE POSIX_Timer_Control* _POSIX_Timer_Get ( timer_t  id,
Objects_Locations location 
)

POSIX Timer Get.

This function maps timer IDs to timer control blocks. If ID corresponds to a local timer, then it returns the timer control pointer which maps to ID and location is set to OBJECTS_LOCAL. Otherwise, location is set to OBJECTS_ERROR and the returned value is undefined.

References _Objects_Get().

Referenced by timer_delete(), and timer_getoverrun().

◆ _POSIX_Timer_TSR()

void _POSIX_Timer_TSR ( Objects_Id  timer,
void *  data 
)

POSIX Timer Manager Timer Service Routine Helper.

This is the operation that is run when a timer expires.

References _POSIX_Timer_Insert_helper(), and Objects_Control::id.