equal
deleted
inserted
replaced
1 /** |
1 /** |
2 * Linux specific code |
2 * Xenomai Linux specific code |
3 **/ |
3 **/ |
4 |
4 |
5 #include <stdio.h> |
5 #include <stdio.h> |
6 #include <unistd.h> |
6 #include <unistd.h> |
7 #include <string.h> |
7 #include <string.h> |
43 |
43 |
44 long AtomicCompareExchange(long* atomicvar,long compared, long exchange) |
44 long AtomicCompareExchange(long* atomicvar,long compared, long exchange) |
45 { |
45 { |
46 return __sync_val_compare_and_swap(atomicvar, compared, exchange); |
46 return __sync_val_compare_and_swap(atomicvar, compared, exchange); |
47 } |
47 } |
|
48 long long AtomicCompareExchange64(long long* atomicvar, long long compared, long long exchange) |
|
49 { |
|
50 return __sync_val_compare_and_swap(atomicvar, compared, exchange); |
|
51 } |
48 |
52 |
49 void PLC_GetTime(IEC_TIME *CURRENT_TIME) |
53 void PLC_GetTime(IEC_TIME *CURRENT_TIME) |
50 { |
54 { |
51 RTIME current_time = rt_timer_read(); |
55 RTIME current_time = rt_timer_read(); |
52 CURRENT_TIME->tv_sec = current_time / 1000000000; |
56 CURRENT_TIME->tv_sec = current_time / 1000000000; |