diff --git a/src/libCom/osi/devLib.h b/src/libCom/osi/devLib.h index 778c113c2..e36f734d6 100644 --- a/src/libCom/osi/devLib.h +++ b/src/libCom/osi/devLib.h @@ -29,6 +29,7 @@ #define INCdevLibh 1 #include +#include #ifdef __cplusplus extern "C" { @@ -423,6 +424,11 @@ long devDisableInterruptLevel (epicsInterruptType intType, unsigned level); */ long locationProbe (epicsAddressType addrType, char *pLocation); +/* + * Some vxWorks convenience routines + */ +void bcopyLongs(char *source, char *destination, int nlongs); + #ifdef __cplusplus } #endif diff --git a/src/libCom/osi/os/RTEMS/devLibOSD.c b/src/libCom/osi/os/RTEMS/devLibOSD.c index eb0360a6d..7871c08b4 100644 --- a/src/libCom/osi/os/RTEMS/devLibOSD.c +++ b/src/libCom/osi/os/RTEMS/devLibOSD.c @@ -14,8 +14,10 @@ * */ +#include +#include -#if defined(__PPC__) && defined(mpc750) +#if defined(__PPC__) /* && defined(mpc750) */ #include #include @@ -322,3 +324,21 @@ void unsolicitedHandlerEPICS(int vectorNumber) } #endif /* defined(__PPC__) && defined(mpc750) */ + +/* + * Some vxWorks convenience routines + */ +void +bcopyLongs(char *source, char *destination, int nlongs) +{ + const long *s = (long *)source; + long *d = (long *)destination; + while(nlongs--) + *d++ = *s++; +} + +void +rebootHookAdd(void (*funptr)()) +{ + epicsAtExit(funptr,NULL); +}