RTEMS  5.0.0
Macros | Functions
timerimpl.h File Reference

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

#include <rtems/posix/timer.h>
#include <rtems/score/objectimpl.h>
#include <rtems/score/watchdogimpl.h>

Go to the source code of this file.

Macros

#define POSIX_TIMER_STATE_FREE   0x01
 
#define POSIX_TIMER_STATE_CREATE_NEW   0x02
 
#define POSIX_TIMER_STATE_CREATE_RUN   0x03
 
#define POSIX_TIMER_STATE_CREATE_STOP   0x04
 
#define POSIX_TIMER_RELATIVE   0
 

Functions

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...
 
void _POSIX_Timer_TSR (Watchdog_Control *the_watchdog)
 
RTEMS_INLINE_ROUTINE POSIX_Timer_Control_POSIX_Timer_Get (timer_t id, ISR_lock_Context *lock_context)
 POSIX Timer Get. More...
 
RTEMS_INLINE_ROUTINE Per_CPU_Control_POSIX_Timer_Acquire_critical (POSIX_Timer_Control *ptimer, ISR_lock_Context *lock_context)
 
RTEMS_INLINE_ROUTINE void _POSIX_Timer_Release (Per_CPU_Control *cpu, ISR_lock_Context *lock_context)
 

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.

Macro Definition Documentation

◆ POSIX_TIMER_RELATIVE

#define POSIX_TIMER_RELATIVE   0

Indicates that the fire time is relative to the current one

◆ POSIX_TIMER_STATE_CREATE_NEW

#define POSIX_TIMER_STATE_CREATE_NEW   0x02

Created timer but not running

◆ POSIX_TIMER_STATE_CREATE_RUN

#define POSIX_TIMER_STATE_CREATE_RUN   0x03

Created timer and running

◆ POSIX_TIMER_STATE_CREATE_STOP

#define POSIX_TIMER_STATE_CREATE_STOP   0x04

Created, ran and stopped timer

◆ POSIX_TIMER_STATE_FREE

#define POSIX_TIMER_STATE_FREE   0x01

Timer is free

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.

◆ _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.

◆ _POSIX_Timer_Get()

RTEMS_INLINE_ROUTINE POSIX_Timer_Control* _POSIX_Timer_Get ( timer_t  id,
ISR_lock_Context lock_context 
)

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.