34 #ifndef MBRTAI_UTILS_H
35 #define MBRTAI_UTILS_H
45 extern int rtmbdyn_rt_task_init(
const char *name,
int priority,
int stack_size,
46 int max_msg_size,
int cpu,
void **task);
47 extern int rtmbdyn_rt_task_delete(
void **task);
49 extern void rtmbdyn_rt_make_hard_real_time(
void);
50 extern void rtmbdyn_rt_make_soft_real_time(
void);
52 extern void rtmbdyn_rt_allow_nonroot_hrt(
void);
54 extern void rtmbdyn_rt_set_oneshot_mode(
void);
55 extern void rtmbdyn_rt_set_periodic_mode(
void);
57 extern int rtmbdyn_rt_is_hard_timer_running(
void);
58 extern long long rtmbdyn_start_rt_timer(
long long period);
59 extern void rtmbdyn_stop_rt_timer(
void);
60 extern long long rtmbdyn_rt_get_time(
void);
61 extern int rtmbdyn_rt_task_make_periodic(
void *task,
long long start_time,
63 extern void rtmbdyn_rt_task_wait_period(
void);
64 extern long long rtmbdyn_count2nano(
long long count);
65 extern long long rtmbdyn_nano2count(
long long nanos);
67 extern int rtmbdyn_rt_request_port(
unsigned long node);
69 extern int rtmbdyn_rt_mbx_init(
const char *name,
int size,
void **mbx);
70 extern int rtmbdyn_rt_mbx_delete(
void **mbx);
71 extern int rtmbdyn_RT_mbx_send(
unsigned long node,
int port,
void *mbx,
72 void *
msg,
int msg_size);
73 extern int rtmbdyn_RT_mbx_send_if(
unsigned long node,
int port,
void *mbx,
74 void *
msg,
int msg_size);
75 extern int rtmbdyn_RT_mbx_receive(
unsigned long node,
int port,
void *mbx,
76 void *
msg,
int msg_size);
77 extern int rtmbdyn_RT_mbx_receive_if(
unsigned long node,
int port,
void *mbx,
78 void *
msg,
int msg_size);
80 extern int rtmbdyn_RT_get_adr(
unsigned long node,
int port,
const char *name,
83 extern int rtmbdyn_rt_task_suspend(
void *task);
84 extern int rtmbdyn_rt_task_resume(
void *task);
85 extern void rtmbdyn_rt_sleep(
long long count);
87 extern int rtmbdyn_rt_sem_init(
char *name,
int value,
void **sem);
88 extern int rtmbdyn_rt_sem_delete(
void **sem);
89 extern int rtmbdyn_rt_sem_signal(
void *sem);
90 extern int rtmbdyn_rt_sem_wait(
void *sem);
92 extern void *rtmbdyn_rt_receive(
void *task,
int *
msg);
93 extern void *rtmbdyn_rt_receive_if(
void *task,
int *
msg);
94 extern long long rtmbdyn_rt_get_cpu_time_ns(
void);