diff --git a/src/libCom/osi/os/VMS/osiWireFormat.h b/src/libCom/osi/os/VMS/osiWireFormat.h index e8d1b8130..bb60dc47e 100644 --- a/src/libCom/osi/os/VMS/osiWireFormat.h +++ b/src/libCom/osi/os/VMS/osiWireFormat.h @@ -19,4 +19,18 @@ inline void osiConvertToWireFormat ( const epicsFloat64 &value, unsigned char *p # endif } +inline void osiConvertFromWireFormat ( epicsFloat32 &value, epicsUInt8 *pWire ) +{ + cvt$convert_float ( &value, CVT$K_IEEE_S, pWire, CVT$K_VAX_F, CVT$M_BIG_ENDIAN ); +} + +inline void osiConvertFromWireFormat ( epicsFloat64 &value, epicsUInt8 *pWire ) +{ +# if defined ( __G_FLOAT ) && ( __G_FLOAT == 1 ) + cvt$convert_float ( pWire, CVT$K_IEEE_T, &value, CVT$K_VAX_G, CVT$M_BIG_ENDIAN ); +# else + cvt$convert_float ( pWire, CVT$K_IEEE_T, &value, CVT$K_VAX_D, CVT$M_BIG_ENDIAN ); +# endif +} + #endif // osiWireFormat \ No newline at end of file