27 typedef struct rt_alarm_info {
31 unsigned long expiries;
33 char name[XNOBJECT_NAME_LEN];
37 typedef struct rt_alarm_placeholder {
39 } RT_ALARM_PLACEHOLDER;
41 #if defined(__KERNEL__) || defined(__XENO_SIM__)
44 #include <nucleus/synch.h>
47 #define XENO_ALARM_MAGIC 0x55550909
49 typedef struct rt_alarm {
61 unsigned long expiries;
63 #ifdef CONFIG_XENO_OPT_PERVASIVE
71 #define rlink2alarm(ln) container_of(ln, RT_ALARM, rlink)
75 char name[XNOBJECT_NAME_LEN];
83 #ifdef CONFIG_XENO_OPT_NATIVE_ALARM
85 int __native_alarm_pkg_init(
void);
87 void __native_alarm_pkg_cleanup(
void);
89 static inline void __native_alarm_flush_rq(xnqueue_t *rq)
91 xeno_flush_rq(RT_ALARM, rq, alarm);
96 #define __native_alarm_pkg_init() ({ 0; })
97 #define __native_alarm_pkg_cleanup() do { } while(0)
98 #define __native_alarm_flush_rq(rq) do { } while(0)
107 #ifdef CONFIG_XENO_OPT_PERVASIVE
109 void rt_alarm_handler(RT_ALARM *alarm,
120 typedef RT_ALARM_PLACEHOLDER RT_ALARM;
154 RT_ALARM_INFO *info);
int rt_alarm_stop(RT_ALARM *alarm)
Stop an alarm.
Definition: alarm.c:47
int rt_alarm_inquire(RT_ALARM *alarm, RT_ALARM_INFO *info)
Inquire about an alarm.
Definition: alarm.c:52
int rt_alarm_wait(RT_ALARM *alarm)
Wait for the next alarm shot.
Definition: alarm.c:35
This file is part of the Xenomai project.
int rt_alarm_create(RT_ALARM *alarm, const char *name, rt_alarm_t handler, void *cookie)
Create an alarm object from kernel space.
Definition: alarm.c:229
int rt_alarm_start(RT_ALARM *alarm, RTIME value, RTIME interval)
Start an alarm.
Definition: alarm.c:40
int rt_alarm_delete(RT_ALARM *alarm)
Delete an alarm.
Definition: alarm.c:30
This file is part of the Xenomai project.