targets/Xenomai/plc_Xenomai_main.c
changeset 954 ab487d32ce9a
parent 745 96dd6650854d
child 985 cd8dadcef426
equal deleted inserted replaced
953:1fb6cf5a4c4d 954:ab487d32ce9a
     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;