This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
ACKNOWLEDGMENTS: Pierre Cloutier (pcloutier@poseidoncontrols.com) has suggested the 6 characters names and fixed many inconsistencies within this file.
Definition in file rtai_lxrt.h.#include <rtai_sched.h>
#include <rtai_nam2num.h>
#include <sys/types.h>
#include <sched.h>
#include <stdarg.h>
#include <stdio.h>
#include <string.h>
#include <asm/rtai_lxrt.h>
#include <pthread.h>
#include <asm/ptrace.h>
#include <unistd.h>
#include <rtai_msg.h>
Include dependency graph for rtai_lxrt.h:
This graph shows which files directly or indirectly include this file:
Go to the source code of this file.
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) |
Functions | |
void * | rt_get_adr (unsigned long name) |
Get an object address by its name. | |
unsigned long | rt_get_name (void *adr) |
Get an object name by its address. | |
RT_TASK * | rt_task_init_schmod (unsigned long name, int priority, int stack_size, int max_msg_size, int policy, int cpus_allowed) |
int | rt_clone (void *fun, void *args, long stack_size, unsigned long flags) |
int | rt_thread_create (void *fun, void *args, int stack_size) |
int | rt_thread_join (int thread) |
RT_TASK * | rt_receive_linux_syscall (RT_TASK *task, struct pt_regs *regs) |
void | rt_return_linux_syscall (RT_TASK *task, unsigned long retval) |
void | linux_syscall_server_fun (RT_TASK *task) |
int | rt_linux_syscall_server_create (RT_TASK *task) |
RT_TASK * | rt_thread_init (unsigned long name, int priority, int max_msg_size, int policy, int cpus_allowed) |
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. | |
void | rt_set_sched_policy (RT_TASK *task, int policy, int rr_quantum_ns) |
int | rt_change_prio (RT_TASK *task, int priority) |
void | rt_make_soft_real_time (void) |
Return a hard real time Linux process, or pthread to the standard Linux behavior. | |
int | rt_task_delete (RT_TASK *task) |
int | rt_task_yield (void) |
int | rt_task_suspend (RT_TASK *task) |
int | rt_task_suspend_if (RT_TASK *task) |
int | rt_task_suspend_until (RT_TASK *task, RTIME time) |
int | rt_task_suspend_timed (RT_TASK *task, RTIME delay) |
int | rt_task_resume (RT_TASK *task) |
void | rt_sched_lock (void) |
void | rt_sched_unlock (void) |
void | rt_pend_linux_irq (unsigned irq) |
int | rt_irq_wait (unsigned irq) |
int | rt_irq_wait_if (unsigned irq) |
int | rt_irq_wait_until (unsigned irq, RTIME time) |
int | rt_irq_wait_timed (unsigned irq, RTIME delay) |
int | rt_irq_signal (unsigned irq) |
int | rt_request_irq_task (unsigned irq, void *handler, int type, int affine2task) |
int | rt_release_irq_task (unsigned irq) |
int | rt_task_make_periodic (RT_TASK *task, RTIME start_time, RTIME period) |
int | rt_task_make_periodic_relative_ns (RT_TASK *task, RTIME start_delay, RTIME period) |
int | rt_task_wait_period (void) |
int | rt_sleep (RTIME delay) |
int | rt_sleep_until (RTIME time) |
int | rt_is_hard_timer_running (void) |
RTIME | start_rt_timer (int period) |
void | stop_rt_timer (void) |
void | rt_request_rtc (int rtc_freq, void *handler) |
void | rt_release_rtc (void) |
RTIME | rt_get_time (void) |
RTIME | count2nano (RTIME count) |
RTIME | nano2count (RTIME nanos) |
void | rt_busy_sleep (int ns) |
void | rt_set_periodic_mode (void) |
void | rt_set_oneshot_mode (void) |
int | rt_task_signal_handler (RT_TASK *task, void(*handler)(void)) |
int | rt_task_use_fpu (RT_TASK *task, int use_fpu_flag) |
int | rt_buddy_task_use_fpu (RT_TASK *task, int use_fpu_flag) |
int | rt_linux_use_fpu (int use_fpu_flag) |
int | rt_hard_timer_tick (void) |
RTIME | rt_get_time_ns (void) |
RTIME | rt_get_cpu_time_ns (void) |
void | rt_set_runnable_on_cpus (RT_TASK *task, unsigned long cpu_mask) |
void | rt_set_runnable_on_cpuid (RT_TASK *task, unsigned int cpuid) |
int | rt_get_timer_cpu (void) |
void | start_rt_apic_timers (struct apic_timer_setup_data *setup_mode, unsigned int rcvr_jiffies_cpuid) |
int | rt_hard_timer_tick_cpuid (int cpuid) |
RTIME | count2nano_cpuid (RTIME count, unsigned int cpuid) |
RTIME | nano2count_cpuid (RTIME nanos, unsigned int cpuid) |
RTIME | rt_get_time_cpuid (unsigned int cpuid) |
RTIME | rt_get_time_ns_cpuid (unsigned int cpuid) |
void | rt_boom (void) |
void | rt_mmgr_stats (void) |
void | rt_stomp (void) |
int | rt_get_linux_signal (RT_TASK *task) |
int | rt_get_errno (RT_TASK *task) |
int | rt_set_linux_signal_handler (RT_TASK *task, void(*handler)(int sig)) |
int | rtai_print_to_screen (const char *format,...) |
int | rt_printk (const char *format,...) |
int | rt_usp_signal_handler (void(*handler)(void)) |
unsigned long | rt_get_usp_flags (RT_TASK *rt_task) |
unsigned long | rt_get_usp_flags_mask (RT_TASK *rt_task) |
void | rt_set_usp_flags (RT_TASK *rt_task, unsigned long flags) |
void | rt_set_usp_flags_mask (unsigned long flags_mask) |
RT_TASK * | rt_force_task_soft (int pid) |
RT_TASK * | rt_agent (void) |
void | rt_make_hard_real_time (void) |
Give a Linux process, or pthread, hard real time execution capabilities allowing full kernel preemption. | |
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. | |
int | rt_is_hard_real_time (RT_TASK *rt_task) |
void | rt_task_set_resume_end_times (RTIME resume, RTIME end) |
int | rt_set_resume_time (RT_TASK *rt_task, RTIME new_resume_time) |
int | rt_set_period (RT_TASK *rt_task, RTIME new_period) |
void | rt_spv_RMS (int cpuid) |
int | rt_task_masked_unblock (RT_TASK *task, unsigned long mask) |
void | rt_get_exectime (RT_TASK *task, RTIME *exectime) |
void | rt_gettimeorig (RTIME time_orig[]) |
RT_TASK * | ftask_init (unsigned long name, int priority) |
RTIME | start_ftimer (long period, long ftick_freq) |
RTIME | stop_ftimer (void) |