Main Page | Modules | Namespace List | Class Hierarchy | Class List | File List | Class Members | File Members

LXRT module.

LXRT services (soft-hard real time in user space). More...


Files

file  rtai_lxrt.h
 LXRT main header.
file  rtai_mbx.h
file  rtai_nam2num.h
 Conversion between characters strings and unsigned long identifiers.
file  rtai_registry.h
file  rtai_sem.h

Defines

#define YIELD   0
#define SUSPEND   1
#define RESUME   2
#define MAKE_PERIODIC   3
#define WAIT_PERIOD   4
#define SLEEP   5
#define SLEEP_UNTIL   6
#define START_TIMER   7
#define STOP_TIMER   8
#define GET_TIME   9
#define COUNT2NANO   10
#define NANO2COUNT   11
#define BUSY_SLEEP   12
#define SET_PERIODIC_MODE   13
#define SET_ONESHOT_MODE   14
#define SIGNAL_HANDLER   15
#define TASK_USE_FPU   16
#define LINUX_USE_FPU   17
#define HARD_TIMER_COUNT   18
#define GET_TIME_NS   19
#define GET_CPU_TIME_NS   20
#define SET_RUNNABLE_ON_CPUS   21
#define SET_RUNNABLE_ON_CPUID   22
#define GET_TIMER_CPU   23
#define START_RT_APIC_TIMERS   24
#define HARD_TIMER_COUNT_CPUID   25
#define COUNT2NANO_CPUID   26
#define NANO2COUNT_CPUID   27
#define GET_TIME_CPUID   28
#define GET_TIME_NS_CPUID   29
#define MAKE_PERIODIC_NS   30
#define SET_SCHED_POLICY   31
#define SET_RESUME_END   32
#define SPV_RMS   33
#define WAKEUP_SLEEPING   34
#define CHANGE_TASK_PRIO   35
#define SET_RESUME_TIME   36
#define SET_PERIOD   37
#define HARD_TIMER_RUNNING   38
#define TYPED_SEM_INIT   39
#define SEM_DELETE   40
#define NAMED_SEM_INIT   41
#define NAMED_SEM_DELETE   42
#define SEM_SIGNAL   43
#define SEM_WAIT   44
#define SEM_WAIT_IF   45
#define SEM_WAIT_UNTIL   46
#define SEM_WAIT_TIMED   47
#define SEM_BROADCAST   48
#define SEM_WAIT_BARRIER   49
#define SEM_COUNT   50
#define COND_WAIT   51
#define COND_WAIT_UNTIL   52
#define COND_WAIT_TIMED   53
#define RWL_INIT   54
#define RWL_DELETE   55
#define NAMED_RWL_INIT   56
#define NAMED_RWL_DELETE   57
#define RWL_RDLOCK   58
#define RWL_RDLOCK_IF   59
#define RWL_RDLOCK_UNTIL   60
#define RWL_RDLOCK_TIMED   61
#define RWL_WRLOCK   62
#define RWL_WRLOCK_IF   63
#define RWL_WRLOCK_UNTIL   64
#define RWL_WRLOCK_TIMED   65
#define RWL_UNLOCK   66
#define SPL_INIT   67
#define SPL_DELETE   68
#define NAMED_SPL_INIT   69
#define NAMED_SPL_DELETE   70
#define SPL_LOCK   71
#define SPL_LOCK_IF   72
#define SPL_LOCK_TIMED   73
#define SPL_UNLOCK   74
#define TYPED_MBX_INIT   75
#define MBX_DELETE   76
#define NAMED_MBX_INIT   77
#define NAMED_MBX_DELETE   78
#define MBX_SEND   79
#define MBX_SEND_WP   80
#define MBX_SEND_IF   81
#define MBX_SEND_UNTIL   82
#define MBX_SEND_TIMED   83
#define MBX_RECEIVE   84
#define MBX_RECEIVE_WP   85
#define MBX_RECEIVE_IF   86
#define MBX_RECEIVE_UNTIL   87
#define MBX_RECEIVE_TIMED   88
#define MBX_EVDRP   89
#define MBX_OVRWR_SEND   90
#define SENDMSG   91
#define SEND_IF   92
#define SEND_UNTIL   93
#define SEND_TIMED   94
#define RECEIVEMSG   95
#define RECEIVE_IF   96
#define RECEIVE_UNTIL   97
#define RECEIVE_TIMED   98
#define RPCMSG   99
#define RPC_IF   100
#define RPC_UNTIL   101
#define RPC_TIMED   102
#define EVDRP   103
#define ISRPC   104
#define RETURNMSG   105
#define RPCX   106
#define RPCX_IF   107
#define RPCX_UNTIL   108
#define RPCX_TIMED   109
#define SENDX   110
#define SENDX_IF   111
#define SENDX_UNTIL   112
#define SENDX_TIMED   113
#define RETURNX   114
#define RECEIVEX   115
#define RECEIVEX_IF   116
#define RECEIVEX_UNTIL   117
#define RECEIVEX_TIMED   118
#define EVDRPX   119
#define PROXY_ATTACH   120
#define PROXY_DETACH   121
#define PROXY_TRIGGER   122
#define RT_SEND   123
#define RT_RECEIVE   124
#define RT_CRECEIVE   125
#define RT_REPLY   126
#define RT_PROXY_ATTACH   127
#define RT_PROXY_DETACH   128
#define RT_TRIGGER   129
#define RT_NAME_ATTACH   130
#define RT_NAME_DETACH   131
#define RT_NAME_LOCATE   132
#define BITS_INIT   133
#define BITS_DELETE   134
#define NAMED_BITS_INIT   135
#define NAMED_BITS_DELETE   136
#define BITS_GET   137
#define BITS_RESET   138
#define BITS_SIGNAL   139
#define BITS_WAIT   140
#define BITS_WAIT_IF   141
#define BITS_WAIT_UNTIL   142
#define BITS_WAIT_TIMED   143
#define TBX_INIT   144
#define TBX_DELETE   145
#define NAMED_TBX_INIT   146
#define NAMED_TBX_DELETE   147
#define TBX_SEND   148
#define TBX_SEND_IF   149
#define TBX_SEND_UNTIL   150
#define TBX_SEND_TIMED   151
#define TBX_RECEIVE   152
#define TBX_RECEIVE_IF   153
#define TBX_RECEIVE_UNTIL   154
#define TBX_RECEIVE_TIMED   155
#define TBX_BROADCAST   156
#define TBX_BROADCAST_IF   157
#define TBX_BROADCAST_UNTIL   158
#define TBX_BROADCAST_TIMED   159
#define TBX_URGENT   160
#define TBX_URGENT_IF   161
#define TBX_URGENT_UNTIL   162
#define TBX_URGENT_TIMED   163
#define MQ_OPEN   164
#define MQ_RECEIVE   165
#define MQ_SEND   166
#define MQ_CLOSE   167
#define MQ_GETATTR   168
#define MQ_SETATTR   169
#define MQ_NOTIFY   170
#define MQ_UNLINK   171
#define MQ_TIMEDRECEIVE   172
#define MQ_TIMEDSEND   173
#define NAMED_TASK_INIT   174
#define NAMED_TASK_INIT_CPUID   175
#define NAMED_TASK_DELETE   176
#define GET_ADR   177
#define GET_NAME   178
#define NETRPC   179
#define SEND_REQ_REL_PORT   180
#define DDN2NL   181
#define SET_THIS_NODE   182
#define FIND_ASGN_STUB   183
#define REL_STUB   184
#define WAITING_RETURN   185
#define COND_SIGNAL   186
#define SHM_ALLOC   187
#define SHM_FREE   188
#define SHM_SIZE   189
#define HEAP_SET   190
#define HEAP_ALLOC   191
#define HEAP_FREE   192
#define HEAP_NAMED_ALLOC   193
#define HEAP_NAMED_FREE   194
#define MALLOC   195
#define FREE   196
#define NAMED_MALLOC   197
#define NAMED_FREE   198
#define SUSPEND_IF   199
#define SUSPEND_UNTIL   200
#define SUSPEND_TIMED   201
#define IRQ_WAIT   202
#define IRQ_WAIT_IF   203
#define IRQ_WAIT_UNTIL   204
#define IRQ_WAIT_TIMED   205
#define IRQ_SIGNAL   206
#define REQUEST_IRQ_TASK   207
#define RELEASE_IRQ_TASK   208
#define SCHED_LOCK   209
#define SCHED_UNLOCK   210
#define PEND_LINUX_IRQ   211
#define RECEIVE_LINUX_SYSCALL   212
#define RETURN_LINUX_SYSCALL   213
#define REQUEST_RTC   214
#define RELEASE_RTC   215
#define MAX_LXRT_FUN   220
#define RT_INITTICKQUEUE   69
#define RT_RELEASETICKQUEUE   70
#define RT_QDYNALLOC   71
#define RT_QDYNFREE   72
#define RT_QDYNINIT   73
#define RT_QBLKWAIT   74
#define RT_QBLKREPEAT   75
#define RT_QBLKSOON   76
#define RT_QBLKDEQUEUE   77
#define RT_QBLKCANCEL   78
#define RT_QSYNC   79
#define RT_QRECEIVE   80
#define RT_QLOOP   81
#define RT_QSTEP   82
#define RT_QBLKBEFORE   83
#define RT_QBLKAFTER   84
#define RT_QBLKUNHOOK   85
#define RT_QBLKRELEASE   86
#define RT_QBLKCOMPLETE   87
#define RT_QHOOKFLUSH   88
#define RT_QBLKATHEAD   89
#define RT_QBLKATTAIL   90
#define RT_QHOOKINIT   91
#define RT_QHOOKRELEASE   92
#define RT_QBLKSCHEDULE   93
#define RT_GETTICKQUEUEHOOK   94
#define RT_BOOM   95
#define RTAI_MALLOC   96
#define RT_FREE   97
#define RT_MMGR_STATS   98
#define RT_STOMP   99
#define RT_VC_ATTACH   100
#define RT_VC_RELEASE   101
#define RT_VC_RESERVE   102
#define RT_GET_LINUX_SIGNAL   103
#define RT_GET_ERRNO   104
#define RT_SET_LINUX_SIGNAL_HANDLER   105
#define LXRT_GET_ADR   1000
#define LXRT_GET_NAME   1001
#define LXRT_TASK_INIT   1002
#define LXRT_TASK_DELETE   1003
#define LXRT_SEM_INIT   1004
#define LXRT_SEM_DELETE   1005
#define LXRT_MBX_INIT   1006
#define LXRT_MBX_DELETE   1007
#define MAKE_SOFT_RT   1008
#define MAKE_HARD_RT   1009
#define PRINT_TO_SCREEN   1010
#define NONROOT_HRT   1011
#define RT_BUDDY   1012
#define HRT_USE_FPU   1013
#define USP_SIGHDL   1014
#define GET_USP_FLAGS   1015
#define SET_USP_FLAGS   1016
#define GET_USP_FLG_MSK   1017
#define SET_USP_FLG_MSK   1018
#define IS_HARD   1019
#define LINUX_SERVER_INIT   1020
#define ALLOC_REGISTER   1021
#define DELETE_DEREGISTER   1022
#define FORCE_TASK_SOFT   1023
#define PRINTK   1024
#define GET_EXECTIME   1025
#define GET_TIMEORIG   1026
#define LXRT_RWL_INIT   1027
#define LXRT_RWL_DELETE   1028
#define LXRT_SPL_INIT   1029
#define LXRT_SPL_DELETE   1030
#define FORCE_SOFT   0x80000000
#define GT_NR_SYSCALLS   (1 << 11)
#define ENCODE_LXRT_REQ(dynx, srq, lsize)   (((dynx) << 24) | ((srq) << 12) | GT_NR_SYSCALLS | (lsize))
#define SRQ(x)   (((x) >> 12) & 0xFFF)
#define NARG(x)   ((x) & (GT_NR_SYSCALLS - 1))
#define INDX(x)   (((x) >> 24) & 0xF)
#define rt_grow_and_lock_stack(incr)
#define BIDX   0
#define SIZARG   sizeof(arg)
#define RT_THREAD_STACK_MIN   64*1024
#define rt_named_task_init(task_name, thread, data, stack_size, prio, uses_fpu, signal)   rt_task_init(nam2num(task_name), thread, data, stack_size, prio, uses_fpu, signal)
#define rt_named_task_init_cpuid(task_name, thread, data, stack_size, prio, uses_fpu, signal, run_on_cpu)   rt_task_init_cpuid(nam2num(task_name), thread, data, stack_size, prio, uses_fpu, signal, run_on_cpu)
#define rt_buddy()   rt_agent()
#define rt_is_soft_real_time(rt_task)   (!rt_is_hard_real_time((rt_task)))
#define rt_task_wakeup_sleeping(task, mask)   rt_task_masked_unblock(task, RT_SCHED_DELAYED)
#define rt_mbx_init(name, size)   rt_typed_mbx_init(name, size, FIFO_Q)
 Initialize mailbox.
#define rt_sem_init(name, value)   rt_typed_sem_init(name, value, CNT_SEM)
 Initialize a counting semaphore.
#define rt_cond_init(name)   rt_typed_sem_init(name, 0, BIN_SEM)
 Initialize a condition variable.

Functions

 RTAI_PROTO (void *, rt_get_adr,(unsigned long name))
 Get an object address by its name.
 RTAI_PROTO (unsigned long, rt_get_name,(void *adr))
 Get an object name by its address.
 RTAI_PROTO (RT_TASK *, rt_task_init_schmod,(unsigned long name, int priority, int stack_size, int max_msg_size, int policy, int cpus_allowed))
static int rt_clone (void *fun, void *args, long stack_size, unsigned long flags)
 RTAI_PROTO (int, rt_thread_create,(void *fun, void *args, int stack_size))
 RTAI_PROTO (int, rt_thread_join,(int thread))
static RT_TASKrt_receive_linux_syscall (RT_TASK *task, struct pt_regs *regs)
static void rt_return_linux_syscall (RT_TASK *task, unsigned long retval)
static void linux_syscall_server_fun (RT_TASK *task)
 RTAI_PROTO (int, rt_linux_syscall_server_create,(RT_TASK *task))
 RTAI_PROTO (RT_TASK *, rt_thread_init,(unsigned long name, int priority, int max_msg_size, int policy, int cpus_allowed))
 RTAI_PROTO (RT_TASK *, rt_task_init,(unsigned long name, int priority, int stack_size, int max_msg_size))
 Create a new real time task in user space.
 RTAI_PROTO (void, rt_set_sched_policy,(RT_TASK *task, int policy, int rr_quantum_ns))
 RTAI_PROTO (int, rt_change_prio,(RT_TASK *task, int priority))
 RTAI_PROTO (void, rt_make_soft_real_time,(void))
 Return a hard real time Linux process, or pthread to the standard Linux behavior.
 RTAI_PROTO (int, rt_task_delete,(RT_TASK *task))
 RTAI_PROTO (int, rt_task_yield,(void))
 RTAI_PROTO (int, rt_task_suspend,(RT_TASK *task))
 RTAI_PROTO (int, rt_task_suspend_if,(RT_TASK *task))
 RTAI_PROTO (int, rt_task_suspend_until,(RT_TASK *task, RTIME time))
 RTAI_PROTO (int, rt_task_suspend_timed,(RT_TASK *task, RTIME delay))
 RTAI_PROTO (int, rt_task_resume,(RT_TASK *task))
 RTAI_PROTO (void, rt_sched_lock,(void))
 RTAI_PROTO (void, rt_sched_unlock,(void))
 RTAI_PROTO (void, rt_pend_linux_irq,(unsigned irq))
 RTAI_PROTO (int, rt_irq_wait,(unsigned irq))
 RTAI_PROTO (int, rt_irq_wait_if,(unsigned irq))
 RTAI_PROTO (int, rt_irq_wait_until,(unsigned irq, RTIME time))
 RTAI_PROTO (int, rt_irq_wait_timed,(unsigned irq, RTIME delay))
 RTAI_PROTO (int, rt_irq_signal,(unsigned irq))
 RTAI_PROTO (int, rt_request_irq_task,(unsigned irq, void *handler, int type, int affine2task))
 RTAI_PROTO (int, rt_release_irq_task,(unsigned irq))
 RTAI_PROTO (int, rt_task_make_periodic,(RT_TASK *task, RTIME start_time, RTIME period))
 RTAI_PROTO (int, rt_task_make_periodic_relative_ns,(RT_TASK *task, RTIME start_delay, RTIME period))
 RTAI_PROTO (int, rt_task_wait_period,(void))
 RTAI_PROTO (int, rt_sleep,(RTIME delay))
 RTAI_PROTO (int, rt_sleep_until,(RTIME time))
 RTAI_PROTO (int, rt_is_hard_timer_running,(void))
 RTAI_PROTO (RTIME, start_rt_timer,(int period))
 RTAI_PROTO (void, stop_rt_timer,(void))
 RTAI_PROTO (void, rt_request_rtc,(int rtc_freq, void *handler))
 RTAI_PROTO (void, rt_release_rtc,(void))
 RTAI_PROTO (RTIME, rt_get_time,(void))
 RTAI_PROTO (RTIME, count2nano,(RTIME count))
 RTAI_PROTO (RTIME, nano2count,(RTIME nanos))
 RTAI_PROTO (void, rt_busy_sleep,(int ns))
 RTAI_PROTO (void, rt_set_periodic_mode,(void))
 RTAI_PROTO (void, rt_set_oneshot_mode,(void))
 RTAI_PROTO (int, rt_task_signal_handler,(RT_TASK *task, void(*handler)(void)))
 RTAI_PROTO (int, rt_task_use_fpu,(RT_TASK *task, int use_fpu_flag))
 RTAI_PROTO (int, rt_buddy_task_use_fpu,(RT_TASK *task, int use_fpu_flag))
 RTAI_PROTO (int, rt_linux_use_fpu,(int use_fpu_flag))
 RTAI_PROTO (int, rt_hard_timer_tick,(void))
 RTAI_PROTO (RTIME, rt_get_time_ns,(void))
 RTAI_PROTO (RTIME, rt_get_cpu_time_ns,(void))
 RTAI_PROTO (void, rt_set_runnable_on_cpus,(RT_TASK *task, unsigned long cpu_mask))
 RTAI_PROTO (void, rt_set_runnable_on_cpuid,(RT_TASK *task, unsigned int cpuid))
 RTAI_PROTO (int, rt_get_timer_cpu,(void))
 RTAI_PROTO (void, start_rt_apic_timers,(struct apic_timer_setup_data *setup_mode, unsigned int rcvr_jiffies_cpuid))
 RTAI_PROTO (int, rt_hard_timer_tick_cpuid,(int cpuid))
 RTAI_PROTO (RTIME, count2nano_cpuid,(RTIME count, unsigned int cpuid))
 RTAI_PROTO (RTIME, nano2count_cpuid,(RTIME nanos, unsigned int cpuid))
 RTAI_PROTO (RTIME, rt_get_time_cpuid,(unsigned int cpuid))
 RTAI_PROTO (RTIME, rt_get_time_ns_cpuid,(unsigned int cpuid))
 RTAI_PROTO (void, rt_boom,(void))
 RTAI_PROTO (void, rt_mmgr_stats,(void))
 RTAI_PROTO (void, rt_stomp,(void))
 RTAI_PROTO (int, rt_get_linux_signal,(RT_TASK *task))
 RTAI_PROTO (int, rt_get_errno,(RT_TASK *task))
 RTAI_PROTO (int, rt_set_linux_signal_handler,(RT_TASK *task, void(*handler)(int sig)))
 RTAI_PROTO (int, rtai_print_to_screen,(const char *format,...))
 RTAI_PROTO (int, rt_printk,(const char *format,...))
 RTAI_PROTO (int, rt_usp_signal_handler,(void(*handler)(void)))
 RTAI_PROTO (unsigned long, rt_get_usp_flags,(RT_TASK *rt_task))
 RTAI_PROTO (unsigned long, rt_get_usp_flags_mask,(RT_TASK *rt_task))
 RTAI_PROTO (void, rt_set_usp_flags,(RT_TASK *rt_task, unsigned long flags))
 RTAI_PROTO (void, rt_set_usp_flags_mask,(unsigned long flags_mask))
 RTAI_PROTO (RT_TASK *, rt_force_task_soft,(int pid))
 RTAI_PROTO (RT_TASK *, rt_agent,(void))
 RTAI_PROTO (void, rt_make_hard_real_time,(void))
 Give a Linux process, or pthread, hard real time execution capabilities allowing full kernel preemption.
 RTAI_PROTO (void, rt_allow_nonroot_hrt,(void))
 Allows a non root user to use the Linux POSIX soft real time process management and memory lock functions, and allows it to do any input-output operation from user space.
 RTAI_PROTO (int, rt_is_hard_real_time,(RT_TASK *rt_task))
 RTAI_PROTO (void, rt_task_set_resume_end_times,(RTIME resume, RTIME end))
 RTAI_PROTO (int, rt_set_resume_time,(RT_TASK *rt_task, RTIME new_resume_time))
 RTAI_PROTO (int, rt_set_period,(RT_TASK *rt_task, RTIME new_period))
 RTAI_PROTO (void, rt_spv_RMS,(int cpuid))
 RTAI_PROTO (int, rt_task_masked_unblock,(RT_TASK *task, unsigned long mask))
 RTAI_PROTO (void, rt_get_exectime,(RT_TASK *task, RTIME *exectime))
 RTAI_PROTO (void, rt_gettimeorig,(RTIME time_orig[]))
 RTAI_PROTO (RT_TASK *, ftask_init,(unsigned long name, int priority))
 RTAI_PROTO (RTIME, start_ftimer,(long period, long ftick_freq))
 RTAI_PROTO (RTIME, stop_ftimer,(void))

Detailed Description

LXRT services (soft-hard real time in user space).

LXRT is a module that allows you to use all the services made available by RTAI and its schedulers in user space, both for soft and hard real time. At the moment it is a feature youll find nowhere but with RTAI. For an explanation of how it works see Pierre Cloutiers LXRT-INFORMED FAQs, and the explanation of the implementation of hard real time in user space (contributed by: Pierre Cloutier, Paolo Mantegazza, Steve Papacharalambous).

LXRT-INFORMED should be the production version of LXRT, the latter being the development version. So it can happen that LXRT-INFORMED could be lagging slightly behind LXRT. If you need to hurry to the services not yet ported to LXRT-INFORMED do it without pain. Even if you are likely to miss some useful services found only in LXRT-INFORMED, we release only when a feature is relatively stable.

From what said above there should be no need for anything specific as all the functions you can use in user space have been already documented in this manual. There are however a few exceptions that need to be explained.

Note also that, as already done for the shared memory services in user space, the function calls for Linux processes are inlined in the file rtai_lxrt.h. This approach has been preferred to a library since it is simpler, more effective, the calls are short and simple so that, even if it is likely that there can be more than just a few per process, they could never be charged of making codes too bigger. Also common to shared memory is the use of unsigned int to identify LXRT objects. If you want to use string identifiers the same support functions, i.e. nam2num() and num2nam(), can be used.


Define Documentation

#define ALLOC_REGISTER   1021
 

Definition at line 387 of file rtai_lxrt.h.

#define BIDX   0
 

Definition at line 557 of file rtai_lxrt.h.

Referenced by _rt_shm_alloc(), linux_syscall_server_fun(), rt_receive_linux_syscall(), rt_return_linux_syscall(), rt_shm_free(), and RTAI_PROTO().

#define BITS_DELETE   134
 

Definition at line 222 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define BITS_GET   137
 

Definition at line 225 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define BITS_INIT   133
 

Definition at line 221 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define BITS_RESET   138
 

Definition at line 226 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define BITS_SIGNAL   139
 

Definition at line 227 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define BITS_WAIT   140
 

Definition at line 228 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define BITS_WAIT_IF   141
 

Definition at line 229 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define BITS_WAIT_TIMED   143
 

Definition at line 231 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define BITS_WAIT_UNTIL   142
 

Definition at line 230 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define BUSY_SLEEP   12
 

Definition at line 85 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define CHANGE_TASK_PRIO   35
 

Definition at line 108 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define COND_SIGNAL   186
 

Definition at line 286 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define COND_WAIT   51
 

Definition at line 126 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define COND_WAIT_TIMED   53
 

Definition at line 128 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define COND_WAIT_UNTIL   52
 

Definition at line 127 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define COUNT2NANO   10
 

Definition at line 83 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define COUNT2NANO_CPUID   26
 

Definition at line 99 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define DDN2NL   181
 

Definition at line 279 of file rtai_lxrt.h.

#define DELETE_DEREGISTER   1022
 

Definition at line 388 of file rtai_lxrt.h.

#define ENCODE_LXRT_REQ dynx,
srq,
lsize   )     (((dynx) << 24) | ((srq) << 12) | GT_NR_SYSCALLS | (lsize))
 

Definition at line 403 of file rtai_lxrt.h.

Referenced by rtai_lxrt().

#define EVDRP   103
 

Definition at line 182 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define EVDRPX   119
 

Definition at line 200 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define FIND_ASGN_STUB   183
 

Definition at line 281 of file rtai_lxrt.h.

#define FORCE_SOFT   0x80000000
 

Definition at line 398 of file rtai_lxrt.h.

#define FORCE_TASK_SOFT   1023
 

Definition at line 389 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define FREE   196
 

Definition at line 298 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define GET_ADR   177
 

Definition at line 273 of file rtai_lxrt.h.

#define GET_CPU_TIME_NS   20
 

Definition at line 93 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define GET_EXECTIME   1025
 

Definition at line 391 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define GET_NAME   178
 

Definition at line 274 of file rtai_lxrt.h.

#define GET_TIME   9
 

Definition at line 82 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define GET_TIME_CPUID   28
 

Definition at line 101 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define GET_TIME_NS   19
 

Definition at line 92 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define GET_TIME_NS_CPUID   29
 

Definition at line 102 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define GET_TIMEORIG   1026
 

Definition at line 392 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define GET_TIMER_CPU   23
 

Definition at line 96 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define GET_USP_FLAGS   1015
 

Definition at line 381 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define GET_USP_FLG_MSK   1017
 

Definition at line 383 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define GT_NR_SYSCALLS   (1 << 11)
 

Definition at line 402 of file rtai_lxrt.h.

#define HARD_TIMER_COUNT   18
 

Definition at line 91 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define HARD_TIMER_COUNT_CPUID   25
 

Definition at line 98 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define HARD_TIMER_RUNNING   38
 

Definition at line 111 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define HEAP_ALLOC   191
 

Definition at line 293 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define HEAP_FREE   192
 

Definition at line 294 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define HEAP_NAMED_ALLOC   193
 

Definition at line 295 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define HEAP_NAMED_FREE   194
 

Definition at line 296 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define HEAP_SET   190
 

Definition at line 292 of file rtai_lxrt.h.

Referenced by _rt_shm_alloc().

#define HRT_USE_FPU   1013
 

Definition at line 379 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define INDX  )     (((x) >> 24) & 0xF)
 

Definition at line 407 of file rtai_lxrt.h.

#define IRQ_SIGNAL   206
 

Definition at line 309 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define IRQ_WAIT   202
 

Definition at line 305 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define IRQ_WAIT_IF   203
 

Definition at line 306 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define IRQ_WAIT_TIMED   205
 

Definition at line 308 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define IRQ_WAIT_UNTIL   204
 

Definition at line 307 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define IS_HARD   1019
 

Definition at line 385 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define ISRPC   104
 

Definition at line 183 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define LINUX_SERVER_INIT   1020
 

Definition at line 386 of file rtai_lxrt.h.

Referenced by linux_syscall_server_fun().

#define LINUX_USE_FPU   17
 

Definition at line 90 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define LXRT_GET_ADR   1000
 

Definition at line 366 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define LXRT_GET_NAME   1001
 

Definition at line 367 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define LXRT_MBX_DELETE   1007
 

Definition at line 373 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define LXRT_MBX_INIT   1006
 

Definition at line 372 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define LXRT_RWL_DELETE   1028
 

Definition at line 394 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define LXRT_RWL_INIT   1027
 

Definition at line 393 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define LXRT_SEM_DELETE   1005
 

Definition at line 371 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define LXRT_SEM_INIT   1004
 

Definition at line 370 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define LXRT_SPL_DELETE   1030
 

Definition at line 396 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define LXRT_SPL_INIT   1029
 

Definition at line 395 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define LXRT_TASK_DELETE   1003
 

Definition at line 369 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define LXRT_TASK_INIT   1002
 

Definition at line 368 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define MAKE_HARD_RT   1009
 

Definition at line 375 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define MAKE_PERIODIC   3
 

Definition at line 76 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define MAKE_PERIODIC_NS   30
 

Definition at line 103 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define MAKE_SOFT_RT   1008
 

Definition at line 374 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define MALLOC   195
 

Definition at line 297 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define MAX_LXRT_FUN   220
 

Definition at line 320 of file rtai_lxrt.h.

#define MBX_DELETE   76
 

Definition at line 153 of file rtai_lxrt.h.

#define MBX_EVDRP   89
 

Definition at line 166 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define MBX_OVRWR_SEND   90
 

Definition at line 167 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define MBX_RECEIVE   84
 

Definition at line 161 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define MBX_RECEIVE_IF   86
 

Definition at line 163 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define MBX_RECEIVE_TIMED   88
 

Definition at line 165 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define MBX_RECEIVE_UNTIL   87
 

Definition at line 164 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define MBX_RECEIVE_WP   85
 

Definition at line 162 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define MBX_SEND   79
 

Definition at line 156 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define MBX_SEND_IF   81
 

Definition at line 158 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define MBX_SEND_TIMED   83
 

Definition at line 160 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define MBX_SEND_UNTIL   82
 

Definition at line 159 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define MBX_SEND_WP   80
 

Definition at line 157 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define MQ_CLOSE   167
 

Definition at line 259 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define MQ_GETATTR   168
 

Definition at line 260 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define MQ_NOTIFY   170
 

Definition at line 262 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define MQ_OPEN   164
 

Definition at line 256 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define MQ_RECEIVE   165
 

Definition at line 257 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define MQ_SEND   166
 

Definition at line 258 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define MQ_SETATTR   169
 

Definition at line 261 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define MQ_TIMEDRECEIVE   172
 

Definition at line 264 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define MQ_TIMEDSEND   173
 

Definition at line 265 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define MQ_UNLINK   171
 

Definition at line 263 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define NAMED_BITS_DELETE   136
 

Definition at line 224 of file rtai_lxrt.h.

#define NAMED_BITS_INIT   135
 

Definition at line 223 of file rtai_lxrt.h.

#define NAMED_FREE   198
 

Definition at line 300 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define NAMED_MALLOC   197
 

Definition at line 299 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define NAMED_MBX_DELETE   78
 

Definition at line 155 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define NAMED_MBX_INIT   77
 

Definition at line 154 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define NAMED_RWL_DELETE   57
 

Definition at line 132 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define NAMED_RWL_INIT   56
 

Definition at line 131 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define NAMED_SEM_DELETE   42
 

Definition at line 117 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define NAMED_SEM_INIT   41
 

Definition at line 116 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define NAMED_SPL_DELETE   70
 

Definition at line 145 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define NAMED_SPL_INIT   69
 

Definition at line 144 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define NAMED_TASK_DELETE   176
 

Definition at line 270 of file rtai_lxrt.h.

#define NAMED_TASK_INIT   174
 

Definition at line 268 of file rtai_lxrt.h.

#define NAMED_TASK_INIT_CPUID   175
 

Definition at line 269 of file rtai_lxrt.h.

#define NAMED_TBX_DELETE   147
 

Definition at line 237 of file rtai_lxrt.h.

#define NAMED_TBX_INIT   146
 

Definition at line 236 of file rtai_lxrt.h.

#define NANO2COUNT   11
 

Definition at line 84 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define NANO2COUNT_CPUID   27
 

Definition at line 100 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define NARG  )     ((x) & (GT_NR_SYSCALLS - 1))
 

Definition at line 406 of file rtai_lxrt.h.

#define NETRPC   179
 

Definition at line 277 of file rtai_lxrt.h.

#define NONROOT_HRT   1011
 

Definition at line 377 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define PEND_LINUX_IRQ   211
 

Definition at line 314 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define PRINT_TO_SCREEN   1010
 

Definition at line 376 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define PRINTK   1024
 

Definition at line 390 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define PROXY_ATTACH   120
 

Definition at line 203 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define PROXY_DETACH   121
 

Definition at line 204 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define PROXY_TRIGGER   122
 

Definition at line 205 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define RECEIVE_IF   96
 

Definition at line 175 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define RECEIVE_LINUX_SYSCALL   212
 

Definition at line 315 of file rtai_lxrt.h.

Referenced by rt_receive_linux_syscall().

#define RECEIVE_TIMED   98
 

Definition at line 177 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define RECEIVE_UNTIL   97
 

Definition at line 176 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define RECEIVEMSG   95
 

Definition at line 174 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define RECEIVEX   115
 

Definition at line 196 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define RECEIVEX_IF   116
 

Definition at line 197 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define RECEIVEX_TIMED   118
 

Definition at line 199 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define RECEIVEX_UNTIL   117
 

Definition at line 198 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define REL_STUB   184
 

Definition at line 282 of file rtai_lxrt.h.

#define RELEASE_IRQ_TASK   208
 

Definition at line 311 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define RELEASE_RTC   215
 

Definition at line 318 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define REQUEST_IRQ_TASK   207
 

Definition at line 310 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define REQUEST_RTC   214
 

Definition at line 317 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define RESUME   2
 

Definition at line 75 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define RETURN_LINUX_SYSCALL   213
 

Definition at line 316 of file rtai_lxrt.h.

Referenced by rt_return_linux_syscall().

#define RETURNMSG   105
 

Definition at line 184 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define RETURNX   114
 

Definition at line 195 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define RPC_IF   100
 

Definition at line 179 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define RPC_TIMED   102
 

Definition at line 181 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define RPC_UNTIL   101
 

Definition at line 180 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define RPCMSG   99
 

Definition at line 178 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define RPCX   106
 

Definition at line 187 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define RPCX_IF   107
 

Definition at line 188 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define RPCX_TIMED   109
 

Definition at line 190 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define RPCX_UNTIL   108
 

Definition at line 189 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define RT_BOOM   95
 

Definition at line 351 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

 
#define rt_buddy  )     rt_agent()
 

Definition at line 1218 of file rtai_lxrt.h.

Referenced by MAKE_SOFT(), rt_request_signal(), and RTAI_PROTO().

#define RT_BUDDY   1012
 

Definition at line 378 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define rt_cond_init name   )     rt_typed_sem_init(name, 0, BIN_SEM)
 

Initialize a condition variable.

Allocates and initializes a condition variable to be referred by name.

Parameters:
name name of the condition variable.
It is important to remark that the returned pointer cannot be used directly, it is for kernel space data, but just passed as arguments when needed.

Returns:
a pointer to the condition variable to be used in related calls or 0 if an error has occured.

Definition at line 341 of file rtai_sem.h.

#define RT_CRECEIVE   125
 

Definition at line 211 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define RT_FREE   97
 

Definition at line 353 of file rtai_lxrt.h.

#define RT_GET_ERRNO   104
 

Definition at line 362 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define RT_GET_LINUX_SIGNAL   103
 

Definition at line 361 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define RT_GETTICKQUEUEHOOK   94
 

Definition at line 349 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define rt_grow_and_lock_stack incr   ) 
 

Value:

do { \
                char buf[incr]; \
                memset(buf, 0, incr); \
                mlockall(MCL_CURRENT | MCL_FUTURE); \
        } while (0)

Definition at line 550 of file rtai_lxrt.h.

#define RT_INITTICKQUEUE   69
 

Definition at line 324 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define rt_is_soft_real_time rt_task   )     (!rt_is_hard_real_time((rt_task)))
 

Definition at line 1268 of file rtai_lxrt.h.

#define rt_mbx_init name,
size   )     rt_typed_mbx_init(name, size, FIFO_Q)
 

Initialize mailbox.

Initializes a mailbox referred to by name of size size.

It is important to remark that the returned task pointer cannot be used directly, they are for kernel space data, but just passed as arguments when needed.

Returns:
On success a pointer to the mail box to be used in related calls.

A 0 value is returned if it was not possible to setup the semaphore or something using the same name was found.

Definition at line 179 of file rtai_mbx.h.

#define RT_MMGR_STATS   98
 

Definition at line 354 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define RT_NAME_ATTACH   130
 

Definition at line 216 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define RT_NAME_DETACH   131
 

Definition at line 217 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define RT_NAME_LOCATE   132
 

Definition at line 218 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define rt_named_task_init task_name,
thread,
data,
stack_size,
prio,
uses_fpu,
signal   )     rt_task_init(nam2num(task_name), thread, data, stack_size, prio, uses_fpu, signal)
 

Definition at line 1054 of file rtai_lxrt.h.

#define rt_named_task_init_cpuid task_name,
thread,
data,
stack_size,
prio,
uses_fpu,
signal,
run_on_cpu   )     rt_task_init_cpuid(nam2num(task_name), thread, data, stack_size, prio, uses_fpu, signal, run_on_cpu)
 

Definition at line 1057 of file rtai_lxrt.h.

#define RT_PROXY_ATTACH   127
 

Definition at line 213 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define RT_PROXY_DETACH   128
 

Definition at line 214 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define RT_QBLKAFTER   84
 

Definition at line 339 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define RT_QBLKATHEAD   89
 

Definition at line 344 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define RT_QBLKATTAIL   90
 

Definition at line 345 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define RT_QBLKBEFORE   83
 

Definition at line 338 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define RT_QBLKCANCEL   78
 

Definition at line 333 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define RT_QBLKCOMPLETE   87
 

Definition at line 342 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define RT_QBLKDEQUEUE   77
 

Definition at line 332 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define RT_QBLKRELEASE   86
 

Definition at line 341 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define RT_QBLKREPEAT   75
 

Definition at line 330 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define RT_QBLKSCHEDULE   93
 

Definition at line 348 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define RT_QBLKSOON   76
 

Definition at line 331 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define RT_QBLKUNHOOK   85
 

Definition at line 340 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define RT_QBLKWAIT   74
 

Definition at line 329 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define RT_QDYNALLOC   71
 

Definition at line 326 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define RT_QDYNFREE   72
 

Definition at line 327 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define RT_QDYNINIT   73
 

Definition at line 328 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define RT_QHOOKFLUSH   88
 

Definition at line 343 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define RT_QHOOKINIT   91
 

Definition at line 346 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define RT_QHOOKRELEASE   92
 

Definition at line 347 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define RT_QLOOP   81
 

Definition at line 336 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define RT_QRECEIVE   80
 

Definition at line 335 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define RT_QSTEP   82
 

Definition at line 337 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define RT_QSYNC   79
 

Definition at line 334 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define RT_RECEIVE   124
 

Definition at line 210 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define RT_RELEASETICKQUEUE   70
 

Definition at line 325 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define RT_REPLY   126
 

Definition at line 212 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define rt_sem_init name,
value   )     rt_typed_sem_init(name, value, CNT_SEM)
 

Initialize a counting semaphore.

Allocates and initializes a semaphore to be referred by name.

Parameters:
name name of the semaphore.
value is the initial value of the semaphore
It is important to remark that the returned task pointer cannot be used directly, they are for kernel space data, but just passed as arguments when needed.

Returns:
a pointer to the semaphore to be used in related calls or 0 if an error has occured.

Definition at line 255 of file rtai_sem.h.

#define RT_SEND   123
 

Definition at line 209 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define RT_SET_LINUX_SIGNAL_HANDLER   105
 

Definition at line 363 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define RT_STOMP   99
 

Definition at line 355 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define rt_task_wakeup_sleeping task,
mask   )     rt_task_masked_unblock(task, RT_SCHED_DELAYED)
 

Definition at line 1300 of file rtai_lxrt.h.

#define RT_THREAD_STACK_MIN   64*1024
 

Definition at line 619 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define RT_TRIGGER   129
 

Definition at line 215 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define RT_VC_ATTACH   100
 

Definition at line 357 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define RT_VC_RELEASE   101
 

Definition at line 358 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define RT_VC_RESERVE   102
 

Definition at line 359 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define RTAI_MALLOC   96
 

Definition at line 352 of file rtai_lxrt.h.

#define RWL_DELETE   55
 

Definition at line 130 of file rtai_lxrt.h.

#define RWL_INIT   54
 

Definition at line 129 of file rtai_lxrt.h.

#define RWL_RDLOCK   58
 

Definition at line 133 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define RWL_RDLOCK_IF   59
 

Definition at line 134 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define RWL_RDLOCK_TIMED   61
 

Definition at line 136 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define RWL_RDLOCK_UNTIL   60
 

Definition at line 135 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define RWL_UNLOCK   66
 

Definition at line 141 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define RWL_WRLOCK   62
 

Definition at line 137 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define RWL_WRLOCK_IF   63
 

Definition at line 138 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define RWL_WRLOCK_TIMED   65
 

Definition at line 140 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define RWL_WRLOCK_UNTIL   64
 

Definition at line 139 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define SCHED_LOCK   209
 

Definition at line 312 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define SCHED_UNLOCK   210
 

Definition at line 313 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define SEM_BROADCAST   48
 

Definition at line 123 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define SEM_COUNT   50
 

Definition at line 125 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define SEM_DELETE   40
 

Definition at line 115 of file rtai_lxrt.h.

#define SEM_SIGNAL   43
 

Definition at line 118 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define SEM_WAIT   44
 

Definition at line 119 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define SEM_WAIT_BARRIER   49
 

Definition at line 124 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define SEM_WAIT_IF   45
 

Definition at line 120 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define SEM_WAIT_TIMED   47
 

Definition at line 122 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define SEM_WAIT_UNTIL   46
 

Definition at line 121 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define SEND_IF   92
 

Definition at line 171 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define SEND_REQ_REL_PORT   180
 

Definition at line 278 of file rtai_lxrt.h.

#define SEND_TIMED   94
 

Definition at line 173 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define SEND_UNTIL   93
 

Definition at line 172 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define SENDMSG   91
 

Definition at line 170 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define SENDX   110
 

Definition at line 191 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define SENDX_IF   111
 

Definition at line 192 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define SENDX_TIMED   113
 

Definition at line 194 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define SENDX_UNTIL   112
 

Definition at line 193 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define SET_ONESHOT_MODE   14
 

Definition at line 87 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define SET_PERIOD   37
 

Definition at line 110 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define SET_PERIODIC_MODE   13
 

Definition at line 86 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define SET_RESUME_END   32
 

Definition at line 105 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define SET_RESUME_TIME   36
 

Definition at line 109 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define SET_RUNNABLE_ON_CPUID   22
 

Definition at line 95 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define SET_RUNNABLE_ON_CPUS   21
 

Definition at line 94 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define SET_SCHED_POLICY   31
 

Definition at line 104 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define SET_THIS_NODE   182
 

Definition at line 280 of file rtai_lxrt.h.

#define SET_USP_FLAGS   1016
 

Definition at line 382 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define SET_USP_FLG_MSK   1018
 

Definition at line 384 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define SHM_ALLOC   187
 

Definition at line 289 of file rtai_lxrt.h.

Referenced by _rt_shm_alloc().

#define SHM_FREE   188
 

Definition at line 290 of file rtai_lxrt.h.

Referenced by _rt_shm_alloc().

#define SHM_SIZE   189
 

Definition at line 291 of file rtai_lxrt.h.

Referenced by rt_shm_free().

#define SIGNAL_HANDLER   15
 

Definition at line 88 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define SIZARG   sizeof(arg)
 

Definition at line 558 of file rtai_lxrt.h.

Referenced by _rt_shm_alloc(), rt_disable_signal(), rt_enable_signal(), rt_receive_linux_syscall(), rt_release_signal(), rt_return_linux_syscall(), rt_shm_free(), rt_trigger_signal(), RTAI_PROTO(), and support_tasklet().

#define SLEEP   5
 

Definition at line 78 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define SLEEP_UNTIL   6
 

Definition at line 79 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define SPL_DELETE   68
 

Definition at line 143 of file rtai_lxrt.h.

#define SPL_INIT   67
 

Definition at line 142 of file rtai_lxrt.h.

#define SPL_LOCK   71
 

Definition at line 146 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define SPL_LOCK_IF   72
 

Definition at line 147 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define SPL_LOCK_TIMED   73
 

Definition at line 148 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define SPL_UNLOCK   74
 

Definition at line 149 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define SPV_RMS   33
 

Definition at line 106 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define SRQ  )     (((x) >> 12) & 0xFFF)
 

Definition at line 405 of file rtai_lxrt.h.

#define START_RT_APIC_TIMERS   24
 

Definition at line 97 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define START_TIMER   7
 

Definition at line 80 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define STOP_TIMER   8
 

Definition at line 81 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define SUSPEND   1
 

Definition at line 74 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define SUSPEND_IF   199
 

Definition at line 302 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define SUSPEND_TIMED   201
 

Definition at line 304 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define SUSPEND_UNTIL   200
 

Definition at line 303 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define TASK_USE_FPU   16
 

Definition at line 89 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define TBX_BROADCAST   156
 

Definition at line 246 of file rtai_lxrt.h.

#define TBX_BROADCAST_IF   157
 

Definition at line 247 of file rtai_lxrt.h.

#define TBX_BROADCAST_TIMED   159
 

Definition at line 249 of file rtai_lxrt.h.

#define TBX_BROADCAST_UNTIL   158
 

Definition at line 248 of file rtai_lxrt.h.

#define TBX_DELETE   145
 

Definition at line 235 of file rtai_lxrt.h.

#define TBX_INIT   144
 

Definition at line 234 of file rtai_lxrt.h.

#define TBX_RECEIVE   152
 

Definition at line 242 of file rtai_lxrt.h.

#define TBX_RECEIVE_IF   153
 

Definition at line 243 of file rtai_lxrt.h.

#define TBX_RECEIVE_TIMED   155
 

Definition at line 245 of file rtai_lxrt.h.

#define TBX_RECEIVE_UNTIL   154
 

Definition at line 244 of file rtai_lxrt.h.

#define TBX_SEND   148
 

Definition at line 238 of file rtai_lxrt.h.

#define TBX_SEND_IF   149
 

Definition at line 239 of file rtai_lxrt.h.

#define TBX_SEND_TIMED   151
 

Definition at line 241 of file rtai_lxrt.h.

#define TBX_SEND_UNTIL   150
 

Definition at line 240 of file rtai_lxrt.h.

#define TBX_URGENT   160
 

Definition at line 250 of file rtai_lxrt.h.

#define TBX_URGENT_IF   161
 

Definition at line 251 of file rtai_lxrt.h.

#define TBX_URGENT_TIMED   163
 

Definition at line 253 of file rtai_lxrt.h.

#define TBX_URGENT_UNTIL   162
 

Definition at line 252 of file rtai_lxrt.h.

#define TYPED_MBX_INIT   75
 

Definition at line 152 of file rtai_lxrt.h.

#define TYPED_SEM_INIT   39
 

Definition at line 114 of file rtai_lxrt.h.

#define USP_SIGHDL   1014
 

Definition at line 380 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define WAIT_PERIOD   4
 

Definition at line 77 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define WAITING_RETURN   185
 

Definition at line 283 of file rtai_lxrt.h.

#define WAKEUP_SLEEPING   34
 

Definition at line 107 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().

#define YIELD   0
 

Definition at line 73 of file rtai_lxrt.h.

Referenced by RTAI_PROTO().


Function Documentation

static void linux_syscall_server_fun RT_TASK task  )  [static]
 

Definition at line 684 of file rtai_lxrt.h.

References BIDX, i, LINUX_SERVER_INIT, LOW, rt_receive_linux_syscall(), rt_return_linux_syscall(), and rtai_lxrt().

Referenced by RTAI_PROTO().

static int rt_clone void *  fun,
void *  args,
long  stack_size,
unsigned long  flags
[inline, static]
 

Definition at line 608 of file rtai_lxrt.h.

Referenced by rt_request_signal().

static RT_TASK* rt_receive_linux_syscall RT_TASK task,
struct pt_regs *  regs
[inline, static]
 

Definition at line 671 of file rtai_lxrt.h.

References BIDX, LOW, RECEIVE_LINUX_SYSCALL, rtai_lxrt(), SIZARG, and rtai_lxrt_t::v.

Referenced by linux_syscall_server_fun().

static void rt_return_linux_syscall RT_TASK task,
unsigned long  retval
[inline, static]
 

Definition at line 677 of file rtai_lxrt.h.

References BIDX, RETURN_LINUX_SYSCALL, rtai_lxrt(), and SIZARG.

Referenced by linux_syscall_server_fun().

RTAI_PROTO RTIME  ,
stop_ftimer  ,
(void) 
 

Definition at line 1334 of file rtai_lxrt.h.

References BIDX, RELEASE_RTC, rtai_lxrt_t::rt, rtai_lxrt(), SIZARG, and STOP_TIMER.

RTAI_PROTO RTIME  ,
start_ftimer  ,
(long period, long ftick_freq) 
 

Definition at line 1322 of file rtai_lxrt.h.

References BIDX, REQUEST_RTC, rtai_lxrt_t::rt, rtai_lxrt(), SET_ONESHOT_MODE, SET_PERIODIC_MODE, SIZARG, and START_TIMER.

RTAI_PROTO RT_TASK ,
ftask_init  ,
(unsigned long name, int priority) 
 

Definition at line 1316 of file rtai_lxrt.h.

References BIDX, LOW, LXRT_TASK_INIT, rtai_lxrt(), SIZARG, and rtai_lxrt_t::v.

RTAI_PROTO void  ,
rt_gettimeorig  ,
(RTIME time_orig[]) 
 

Definition at line 1310 of file rtai_lxrt.h.

References BIDX, GET_TIMEORIG, rtai_lxrt(), and SIZARG.

RTAI_PROTO void  ,
rt_get_exectime  ,
(RT_TASK *task, RTIME *exectime) 
 

Definition at line 1302 of file rtai_lxrt.h.

References BIDX, GET_EXECTIME, rtai_lxrt(), and SIZARG.

RTAI_PROTO int  ,
rt_task_masked_unblock  ,
(RT_TASK *task, unsigned long mask) 
 

Definition at line 1294 of file rtai_lxrt.h.

References BIDX, rtai_lxrt_t::i, LOW, rtai_lxrt(), SIZARG, and WAKEUP_SLEEPING.

RTAI_PROTO void  ,
rt_spv_RMS  ,
(int cpuid) 
 

Definition at line 1288 of file rtai_lxrt.h.

References BIDX, rtai_lxrt(), SIZARG, and SPV_RMS.

RTAI_PROTO int  ,
rt_set_period  ,
(RT_TASK *rt_task, RTIME new_period) 
 

Definition at line 1282 of file rtai_lxrt.h.

References BIDX, rtai_lxrt_t::i, LOW, rtai_lxrt(), SET_PERIOD, and SIZARG.

RTAI_PROTO int  ,
rt_set_resume_time  ,
(RT_TASK *rt_task, RTIME new_resume_time) 
 

Definition at line 1276 of file rtai_lxrt.h.

References BIDX, rtai_lxrt_t::i, LOW, rtai_lxrt(), SET_RESUME_TIME, and SIZARG.

RTAI_PROTO void  ,
rt_task_set_resume_end_times  ,
(RTIME resume, RTIME end
 

Definition at line 1270 of file rtai_lxrt.h.

References BIDX, rtai_lxrt(), SET_RESUME_END, and SIZARG.

RTAI_PROTO int  ,
rt_is_hard_real_time  ,
(RT_TASK *rt_task) 
 

Definition at line 1262 of file rtai_lxrt.h.

References BIDX, rtai_lxrt_t::i, IS_HARD, LOW, rtai_lxrt(), and SIZARG.

RTAI_PROTO void  ,
rt_allow_nonroot_hrt  ,
(void) 
 

Allows a non root user to use the Linux POSIX soft real time process management and memory lock functions, and allows it to do any input-output operation from user space.

Only the process itself can use this functions, it is not possible to impose the related transition from another process.

Definition at line 1256 of file rtai_lxrt.h.

References BIDX, NONROOT_HRT, rtai_lxrt(), and SIZARG.

RTAI_PROTO void  ,
rt_make_hard_real_time  ,
(void) 
 

Give a Linux process, or pthread, hard real time execution capabilities allowing full kernel preemption.

rt_make_hard_real_time makes the soft Linux POSIX real time process, from which it is called, a hard real time LXRT process. It is important to remark that this function must be used only with soft Linux POSIX processes having their memory locked in memory. See Linux man pages.

Only the process itself can use this functions, it is not possible to impose the related transition from another process.

Note that processes made hard real time should avoid making any Linux System call that can lead to a task switch as Linux cannot run anymore processes that are made hard real time. To interact with Linux you should couple the process that was made hard real time with a Linux buddy server, either standard or POSIX soft real time. To communicate and synchronize with the buddy you can use the wealth of available RTAI, and its schedulers, services.

After all it is pure nonsense to use a non hard real time Operating System, i.e. Linux, from within hard real time processes.

Definition at line 1242 of file rtai_lxrt.h.

References BIDX, MAKE_HARD_RT, rtai_lxrt(), and SIZARG.

RTAI_PROTO RT_TASK ,
rt_agent  ,
(void) 
 

Definition at line 1212 of file rtai_lxrt.h.

References BIDX, LOW, RT_BUDDY, rtai_lxrt(), SIZARG, and rtai_lxrt_t::v.

RTAI_PROTO RT_TASK ,
rt_force_task_soft  ,
(int pid) 
 

Definition at line 1206 of file rtai_lxrt.h.

References BIDX, FORCE_TASK_SOFT, LOW, rtai_lxrt(), SIZARG, and rtai_lxrt_t::v.

RTAI_PROTO void  ,
rt_set_usp_flags_mask  ,
(unsigned long flags_mask) 
 

Definition at line 1200 of file rtai_lxrt.h.

References BIDX, rtai_lxrt(), SET_USP_FLG_MSK, and SIZARG.

RTAI_PROTO void  ,
rt_set_usp_flags  ,
(RT_TASK *rt_task, unsigned long flags) 
 

Definition at line 1194 of file rtai_lxrt.h.

References BIDX, rtai_lxrt(), SET_USP_FLAGS, and SIZARG.

RTAI_PROTO unsigned  long,
rt_get_usp_flags_mask  ,
(RT_TASK *rt_task) 
 

Definition at line 1188 of file rtai_lxrt.h.

References BIDX, GET_USP_FLG_MSK, rtai_lxrt_t::i, LOW, rtai_lxrt(), and SIZARG.

RTAI_PROTO unsigned  long,
rt_get_usp_flags  ,
(RT_TASK *rt_task) 
 

Definition at line 1182 of file rtai_lxrt.h.

References BIDX, GET_USP_FLAGS, rtai_lxrt_t::i, LOW, rtai_lxrt(), and SIZARG.

RTAI_PROTO int  ,
rt_usp_signal_handler  ,
(void(*handler)(void)) 
 

Definition at line 1176 of file rtai_lxrt.h.

References BIDX, rtai_lxrt_t::i, rtai_lxrt(), SIZARG, and USP_SIGHDL.

RTAI_PROTO int  ,
rt_printk  ,
(const char *format,...) 
 

Definition at line 1163 of file rtai_lxrt.h.

References BIDX, display(), PRINTK, rtai_lxrt(), and SIZARG.

RTAI_PROTO int  ,
rtai_print_to_screen  ,
(const char *format,...) 
 

Definition at line 1150 of file rtai_lxrt.h.

References BIDX, display(), PRINT_TO_SCREEN, rtai_lxrt(), and SIZARG.

RTAI_PROTO int  ,
rt_set_linux_signal_handler  ,
(RT_TASK *task, void(*handler)(int sig)) 
 

Definition at line 1144 of file rtai_lxrt.h.

References BIDX, rtai_lxrt_t::i, LOW, RT_SET_LINUX_SIGNAL_HANDLER, rtai_lxrt(), and SIZARG.

RTAI_PROTO int  ,
rt_get_errno  ,
(RT_TASK *task) 
 

Definition at line 1138 of file rtai_lxrt.h.

References BIDX, rtai_lxrt_t::i, LOW, RT_GET_ERRNO, rtai_lxrt(), and SIZARG.

RTAI_PROTO int  ,
rt_get_linux_signal  ,
(RT_TASK *task) 
 

Definition at line 1132 of file rtai_lxrt.h.

References BIDX, rtai_lxrt_t::i, LOW, RT_GET_LINUX_SIGNAL, rtai_lxrt(), and SIZARG.

RTAI_PROTO void  ,
rt_stomp  ,
(void) 
 

Definition at line 1126 of file rtai_lxrt.h.

References BIDX, RT_STOMP, rtai_lxrt(), and SIZARG.

RTAI_PROTO void  ,
rt_mmgr_stats  ,
(void) 
 

Definition at line 1120 of file rtai_lxrt.h.

References BIDX, RT_MMGR_STATS, rtai_lxrt(), and SIZARG.

RTAI_PROTO void  ,
rt_boom  ,
(void) 
 

Definition at line 1114 of file rtai_lxrt.h.

References BIDX, RT_BOOM, rtai_lxrt(), and SIZARG.

RTAI_PROTO RTIME  ,
rt_get_time_ns_cpuid  ,
(unsigned int cpuid) 
 

Definition at line 1108 of file rtai_lxrt.h.

References BIDX, GET_TIME_NS_CPUID, rtai_lxrt_t::rt, rtai_lxrt(), and SIZARG.

RTAI_PROTO RTIME  ,
rt_get_time_cpuid  ,
(unsigned int cpuid) 
 

Definition at line 1102 of file rtai_lxrt.h.

References BIDX, GET_TIME_CPUID, rtai_lxrt_t::rt, rtai_lxrt(), and SIZARG.

RTAI_PROTO RTIME  ,
nano2count_cpuid  ,
(RTIME nanos, unsigned int cpuid) 
 

Definition at line 1096 of file rtai_lxrt.h.

References BIDX, NANO2COUNT_CPUID, rtai_lxrt_t::rt, rtai_lxrt(), and SIZARG.

RTAI_PROTO RTIME  ,
count2nano_cpuid  ,
(RTIME count, unsigned int cpuid) 
 

Definition at line 1090 of file rtai_lxrt.h.

References BIDX, COUNT2NANO_CPUID, rtai_lxrt_t::rt, rtai_lxrt(), and SIZARG.

RTAI_PROTO int  ,
rt_hard_timer_tick_cpuid  ,
(int cpuid) 
 

Definition at line 1084 of file rtai_lxrt.h.

References BIDX, HARD_TIMER_COUNT_CPUID, rtai_lxrt_t::i, LOW, rtai_lxrt(), and SIZARG.

RTAI_PROTO void  ,
start_rt_apic_timers  ,
(struct apic_timer_setup_data *setup_mode, unsigned int rcvr_jiffies_cpuid) 
 

Definition at line 1078 of file rtai_lxrt.h.

References BIDX, rtai_lxrt(), SIZARG, and START_RT_APIC_TIMERS.

RTAI_PROTO int  ,
rt_get_timer_cpu  ,
(void) 
 

Definition at line 1072 of file rtai_lxrt.h.

References BIDX, GET_TIMER_CPU, rtai_lxrt_t::i, LOW, rtai_lxrt(), and SIZARG.

RTAI_PROTO void  ,
rt_set_runnable_on_cpuid  ,
(RT_TASK *task, unsigned int cpuid) 
 

Definition at line 1066 of file rtai_lxrt.h.

References BIDX, rtai_lxrt(), SET_RUNNABLE_ON_CPUID, and SIZARG.

RTAI_PROTO void  ,
rt_set_runnable_on_cpus  ,
(RT_TASK *task, unsigned long cpu_mask) 
 

Definition at line 1060 of file rtai_lxrt.h.

References BIDX, rtai_lxrt(), SET_RUNNABLE_ON_CPUS, and SIZARG.

RTAI_PROTO RTIME  ,
rt_get_cpu_time_ns  ,
(void) 
 

Definition at line 1048 of file rtai_lxrt.h.

References BIDX, GET_CPU_TIME_NS, rtai_lxrt_t::rt, rtai_lxrt(), and SIZARG.

RTAI_PROTO RTIME  ,
rt_get_time_ns  ,
(void) 
 

Definition at line 1042 of file rtai_lxrt.h.

References BIDX, GET_TIME_NS, rtai_lxrt_t::rt, rtai_lxrt(), and SIZARG.

RTAI_PROTO int  ,
rt_hard_timer_tick  ,
(void) 
 

Definition at line 1036 of file rtai_lxrt.h.

References BIDX, HARD_TIMER_COUNT, rtai_lxrt_t::i, LOW, rtai_lxrt(), and SIZARG.

RTAI_PROTO int  ,
rt_linux_use_fpu  ,
(int use_fpu_flag) 
 

Definition at line 1030 of file rtai_lxrt.h.

References BIDX, rtai_lxrt_t::i, LINUX_USE_FPU, LOW, rtai_lxrt(), and SIZARG.

RTAI_PROTO int  ,
rt_buddy_task_use_fpu  ,
(RT_TASK *task, int use_fpu_flag) 
 

Definition at line 1024 of file rtai_lxrt.h.

References BIDX, rtai_lxrt_t::i, LOW, rtai_lxrt(), SIZARG, and TASK_USE_FPU.

RTAI_PROTO int  ,
rt_task_use_fpu  ,
(RT_TASK *task, int use_fpu_flag) 
 

Definition at line 1010 of file rtai_lxrt.h.

References BIDX, HRT_USE_FPU, rtai_lxrt_t::i, LOW, RT_BUDDY, rtai_lxrt(), SIZARG, and TASK_USE_FPU.

RTAI_PROTO int  ,
rt_task_signal_handler  ,
(RT_TASK *task, void(*handler)(void)) 
 

Definition at line 1004 of file rtai_lxrt.h.

References BIDX, rtai_lxrt_t::i, LOW, rtai_lxrt(), SIGNAL_HANDLER, and SIZARG.

RTAI_PROTO void  ,
rt_set_oneshot_mode  ,
(void) 
 

Definition at line 998 of file rtai_lxrt.h.

References BIDX, rtai_lxrt(), SET_ONESHOT_MODE, and SIZARG.

RTAI_PROTO void  ,
rt_set_periodic_mode  ,
(void) 
 

Definition at line 992 of file rtai_lxrt.h.

References BIDX, rtai_lxrt(), SET_PERIODIC_MODE, and SIZARG.

RTAI_PROTO void  ,
rt_busy_sleep  ,
(int ns) 
 

Definition at line 986 of file rtai_lxrt.h.

References BIDX, BUSY_SLEEP, rtai_lxrt(), and SIZARG.

RTAI_PROTO RTIME  ,
nano2count  ,
(RTIME nanos) 
 

Definition at line 980 of file rtai_lxrt.h.

References BIDX, NANO2COUNT, rtai_lxrt_t::rt, rtai_lxrt(), and SIZARG.

RTAI_PROTO RTIME  ,
count2nano  ,
(RTIME count
 

Definition at line 974 of file rtai_lxrt.h.

References BIDX, COUNT2NANO, rtai_lxrt_t::rt, rtai_lxrt(), and SIZARG.

RTAI_PROTO RTIME  ,
rt_get_time  ,
(void) 
 

Definition at line 968 of file rtai_lxrt.h.

References BIDX, GET_TIME, rtai_lxrt_t::rt, rtai_lxrt(), and SIZARG.

RTAI_PROTO void  ,
rt_release_rtc  ,
(void) 
 

Definition at line 962 of file rtai_lxrt.h.

References BIDX, RELEASE_RTC, rtai_lxrt(), and SIZARG.

RTAI_PROTO void  ,
rt_request_rtc  ,
(int rtc_freq, void *handler) 
 

Definition at line 956 of file rtai_lxrt.h.

References BIDX, REQUEST_RTC, rtai_lxrt(), and SIZARG.

RTAI_PROTO void  ,
stop_rt_timer  ,
(void) 
 

Definition at line 950 of file rtai_lxrt.h.

References BIDX, rtai_lxrt(), SIZARG, and STOP_TIMER.

RTAI_PROTO RTIME  ,
start_rt_timer  ,
(int period) 
 

Definition at line 944 of file rtai_lxrt.h.

References BIDX, rtai_lxrt_t::rt, rtai_lxrt(), SIZARG, and START_TIMER.

RTAI_PROTO int  ,
rt_is_hard_timer_running  ,
(void) 
 

Definition at line 938 of file rtai_lxrt.h.

References BIDX, HARD_TIMER_RUNNING, rtai_lxrt_t::i, LOW, rtai_lxrt(), and SIZARG.

RTAI_PROTO int  ,
rt_sleep_until  ,
(RTIME time
 

Definition at line 932 of file rtai_lxrt.h.

References BIDX, rtai_lxrt_t::i, LOW, rtai_lxrt(), SIZARG, and SLEEP_UNTIL.

RTAI_PROTO int  ,
rt_sleep  ,
(RTIME delay) 
 

Definition at line 926 of file rtai_lxrt.h.

References BIDX, rtai_lxrt_t::i, LOW, rtai_lxrt(), SIZARG, and SLEEP.

RTAI_PROTO int  ,
rt_task_wait_period  ,
(void) 
 

Definition at line 920 of file rtai_lxrt.h.

References BIDX, rtai_lxrt_t::i, LOW, rtai_lxrt(), SIZARG, and WAIT_PERIOD.

RTAI_PROTO int  ,
rt_task_make_periodic_relative_ns  ,
(RT_TASK *task, RTIME start_delay, RTIME period) 
 

Definition at line 914 of file rtai_lxrt.h.

References BIDX, rtai_lxrt_t::i, LOW, MAKE_PERIODIC_NS, rtai_lxrt(), and SIZARG.

RTAI_PROTO int  ,
rt_task_make_periodic  ,
(RT_TASK *task, RTIME start_time, RTIME period) 
 

Definition at line 908 of file rtai_lxrt.h.

References BIDX, rtai_lxrt_t::i, LOW, MAKE_PERIODIC, rtai_lxrt(), and SIZARG.

RTAI_PROTO int  ,
rt_release_irq_task  ,
(unsigned irq) 
 

Definition at line 902 of file rtai_lxrt.h.

References BIDX, rtai_lxrt_t::i, LOW, RELEASE_IRQ_TASK, rtai_lxrt(), and SIZARG.

RTAI_PROTO int  ,
rt_request_irq_task  ,
(unsigned irq, void *handler, int type, int affine2task) 
 

Definition at line 895 of file rtai_lxrt.h.

References BIDX, rtai_lxrt_t::i, LOW, REQUEST_IRQ_TASK, rtai_lxrt(), and SIZARG.

RTAI_PROTO int  ,
rt_irq_signal  ,
(unsigned irq) 
 

Definition at line 889 of file rtai_lxrt.h.

References BIDX, rtai_lxrt_t::i, IRQ_SIGNAL, LOW, rtai_lxrt(), and SIZARG.

RTAI_PROTO int  ,
rt_irq_wait_timed  ,
(unsigned irq, RTIME delay) 
 

Definition at line 883 of file rtai_lxrt.h.

References BIDX, rtai_lxrt_t::i, IRQ_WAIT_TIMED, LOW, rtai_lxrt(), and SIZARG.

RTAI_PROTO int  ,
rt_irq_wait_until  ,
(unsigned irq, RTIME time
 

Definition at line 877 of file rtai_lxrt.h.

References BIDX, rtai_lxrt_t::i, IRQ_WAIT_UNTIL, LOW, rtai_lxrt(), and SIZARG.

RTAI_PROTO int  ,
rt_irq_wait_if  ,
(unsigned irq) 
 

Definition at line 871 of file rtai_lxrt.h.

References BIDX, rtai_lxrt_t::i, IRQ_WAIT_IF, LOW, rtai_lxrt(), and SIZARG.

RTAI_PROTO int  ,
rt_irq_wait  ,
(unsigned irq) 
 

Definition at line 865 of file rtai_lxrt.h.

References BIDX, rtai_lxrt_t::i, IRQ_WAIT, LOW, rtai_lxrt(), and SIZARG.

RTAI_PROTO void  ,
rt_pend_linux_irq  ,
(unsigned irq) 
 

Definition at line 859 of file rtai_lxrt.h.

References BIDX, PEND_LINUX_IRQ, rtai_lxrt(), and SIZARG.

RTAI_PROTO void  ,
rt_sched_unlock  ,
(void) 
 

Definition at line 853 of file rtai_lxrt.h.

References BIDX, rtai_lxrt(), SCHED_UNLOCK, and SIZARG.

RTAI_PROTO void  ,
rt_sched_lock  ,
(void) 
 

Definition at line 847 of file rtai_lxrt.h.

References BIDX, rtai_lxrt(), SCHED_LOCK, and SIZARG.

RTAI_PROTO int  ,
rt_task_resume  ,
(RT_TASK *task) 
 

Definition at line 841 of file rtai_lxrt.h.

References BIDX, rtai_lxrt_t::i, LOW, RESUME, rtai_lxrt(), and SIZARG.

RTAI_PROTO int  ,
rt_task_suspend_timed  ,
(RT_TASK *task, RTIME delay) 
 

Definition at line 835 of file rtai_lxrt.h.

References BIDX, rtai_lxrt_t::i, LOW, rtai_lxrt(), SIZARG, and SUSPEND_TIMED.

RTAI_PROTO int  ,
rt_task_suspend_until  ,
(RT_TASK *task, RTIME time
 

Definition at line 829 of file rtai_lxrt.h.

References BIDX, rtai_lxrt_t::i, LOW, rtai_lxrt(), SIZARG, and SUSPEND_UNTIL.

RTAI_PROTO int  ,
rt_task_suspend_if  ,
(RT_TASK *task) 
 

Definition at line 823 of file rtai_lxrt.h.

References BIDX, rtai_lxrt_t::i, LOW, rtai_lxrt(), SIZARG, and SUSPEND_IF.

RTAI_PROTO int  ,
rt_task_suspend  ,
(RT_TASK *task) 
 

Definition at line 817 of file rtai_lxrt.h.

References BIDX, rtai_lxrt_t::i, LOW, rtai_lxrt(), SIZARG, and SUSPEND.

RTAI_PROTO int  ,
rt_task_yield  ,
(void) 
 

Definition at line 811 of file rtai_lxrt.h.

References BIDX, rtai_lxrt_t::i, LOW, rtai_lxrt(), SIZARG, and YIELD.

RTAI_PROTO int  ,
rt_task_delete  ,
(RT_TASK *task) 
 

Definition at line 804 of file rtai_lxrt.h.

References BIDX, rtai_lxrt_t::i, LOW, LXRT_TASK_DELETE, rtai_lxrt(), and SIZARG.

RTAI_PROTO void  ,
rt_make_soft_real_time  ,
(void) 
 

Return a hard real time Linux process, or pthread to the standard Linux behavior.

rt_make_soft_real_time returns to soft Linux POSIX real time a process, from which it is called, that was made hard real time by a call to rt_make_hard_real_time.

Only the process itself can use this functions, it is not possible to impose the related transition from another process.

Definition at line 798 of file rtai_lxrt.h.

References BIDX, MAKE_SOFT_RT, rtai_lxrt(), and SIZARG.

RTAI_PROTO int  ,
rt_change_prio  ,
(RT_TASK *task, int priority) 
 

Definition at line 780 of file rtai_lxrt.h.

References BIDX, CHANGE_TASK_PRIO, rtai_lxrt_t::i, LOW, rtai_lxrt(), and SIZARG.

RTAI_PROTO void  ,
rt_set_sched_policy  ,
(RT_TASK *task, int policy, int rr_quantum_ns) 
 

Definition at line 774 of file rtai_lxrt.h.

References BIDX, rtai_lxrt(), SET_SCHED_POLICY, and SIZARG.

RTAI_PROTO RT_TASK ,
rt_task_init  ,
(unsigned long name, int priority, int stack_size, int max_msg_size) 
 

Create a new real time task in user space.

rt_task_init provides a real time buddy, also called proxy, task to the Linux process that wants to access RTAI scheduler services. It needs no task function as none is used, but it does need to setup a task structure and initialize it appropriately as the provided services are carried out as if the Linux process has become an RTAI task. Because of that it requires less arguments and returns the pointer to the task that is to be used in related calls.

Parameters:
name is a unique identifier that is possibly used by easing referencing the buddy RTAItask, and thus its peer Linux process.
priority is the priority of the buddys priority.
stack_size is just what is implied by such a name and refers to the stack size used by the buddy.
max_msg_size is a hint for the size of the most lengthy message than is likely to be exchanged.
stack_size and max_msg_size can be zero, in which case the default internal values are used. The assignment of a different value should be required only if you want to use task signal functions. In such a case note that these signal functions are intended to catch asyncrounous events in kernel space and, as such, must be programmed into a companion module and interfaced to their parent Linux process through the available services.

Keep an eye on the default stack (512) and message (256) sizes as they seem to be acceptable, but this API has not been used extensively with complex interrupt service routines. Since the latter are served on the stack of any task being interrupted, and more than one can pile up on the same stack, it can be possible that a larger stack is required. In such a case either recompile lxrt.c with macros STACK_SIZE and MSG_SIZE set appropriately, or explicitly assign larger values at your buddy tasks inits. Note that while the stack size can be critical the message size will not. In fact the module reassigns it, appropriately sized, whenever it is needed. The cost is a kmalloc with GFP_KERNEL that can block, but within the Linux environment. Note also that max_msg_size is for a buffer to be used to copy whatever message, either mailbox or inter task, from user to kernel space, as messages are not necessarily copied immediately, and has nothing to do directly with what you are doing.

It is important to remark that the returned task pointers cannot be used directly, they are for kernel space data, but just passed as arguments when needed.

Returns:
On success a pointer to the task structure initialized in kernel space.

On failure a 0 value is returned if it was not possible to setup the buddy task or something using the same name was found.

Definition at line 769 of file rtai_lxrt.h.

RTAI_PROTO RT_TASK ,
rt_thread_init  ,
(unsigned long name, int priority, int max_msg_size, int policy, int cpus_allowed) 
 

Definition at line 711 of file rtai_lxrt.h.

RTAI_PROTO int  ,
rt_linux_syscall_server_create  ,
(RT_TASK *task) 
 

Definition at line 699 of file rtai_lxrt.h.

References BIDX, linux_syscall_server_fun(), LOW, RT_BUDDY, rtai_lxrt(), and SUSPEND.

RTAI_PROTO int  ,
rt_thread_join  ,
(int thread) 
 

Definition at line 638 of file rtai_lxrt.h.

RTAI_PROTO int  ,
rt_thread_create  ,
(void *fun, void *args, int stack_size) 
 

Definition at line 624 of file rtai_lxrt.h.

References RT_THREAD_STACK_MIN.

RTAI_PROTO RT_TASK ,
rt_task_init_schmod  ,
(unsigned long name, int priority, int stack_size, int max_msg_size, int policy, int cpus_allowed) 
 

Definition at line 591 of file rtai_lxrt.h.

References BIDX, LOW, LXRT_TASK_INIT, rtai_iopl, rtai_lxrt(), SIZARG, and rtai_lxrt_t::v.

RTAI_PROTO unsigned  long,
rt_get_name  ,
(void *adr) 
 

Get an object name by its address.

rt_get_name returns the name pointed by the address adr.

Returns:
the identifier pointed by the address adr on success, 0 on failure.

Definition at line 585 of file rtai_lxrt.h.

References BIDX, rtai_lxrt_t::i, LOW, LXRT_GET_NAME, rtai_lxrt(), and SIZARG.

RTAI_PROTO void *  ,
rt_get_adr  ,
(unsigned long name) 
 

Get an object address by its name.

rt_get_adr returns the address associated to name.

Returns:
the address associated to name on success, 0 on failure

Definition at line 571 of file rtai_lxrt.h.

References BIDX, LOW, LXRT_GET_ADR, rtai_lxrt(), SIZARG, and rtai_lxrt_t::v.


Generated on Fri Sep 1 14:26:03 2006 for Raptor by  doxygen 1.4.4