mrfioc2  2.3.0
Macros | Functions
vxWorks/mrfIoOps.h File Reference
#include <vxWorks.h>
#include <vxAtomicLib.h>
#include <sysLib.h>
#include <epicsTypes.h>
#include <epicsEndian.h>
Include dependency graph for vxWorks/mrfIoOps.h:

Go to the source code of this file.

Macros

#define bswap16(value)
 
#define bswap32(value)
 
#define be16_to_cpu(X)   (X)
 
#define be32_to_cpu(X)   (X)
 
#define le16_to_cpu(X)   bswap16(X)
 
#define le32_to_cpu(X)   bswap32(X)
 
#define ioread8(address)   sysInByte ((epicsUInt32)(address))
 
#define iowrite8(address, data)   sysOutByte ((epicsUInt32)(address), (epicsUInt8)(data))
 
#define nat_ioread16(address)   sysIn16 ((address))
 
#define nat_ioread32(address)   sysIn32 ((address))
 
#define nat_iowrite16(address, data)   sysOut16(address,data)
 
#define nat_iowrite32(address, data)   sysOut32(address,data)
 
#define be_ioread16(address)   be16_to_cpu (sysIn16 ((address)))
 
#define be_ioread32(address)   be32_to_cpu (sysIn32 ((address)))
 
#define be_iowrite16(address, data)   sysOut16 ((address), be16_to_cpu((epicsUInt16)(data)))
 
#define be_iowrite32(address, data)   sysOut32 ((address), be32_to_cpu((epicsUInt32)(data)))
 
#define le_ioread16(address)   le16_to_cpu (sysIn16 ((address)))
 
#define le_ioread32(address)   le32_to_cpu (sysIn32 ((address)))
 
#define le_iowrite16(address, data)   sysOut16 ((address), le16_to_cpu((epicsUInt16)(data)))
 
#define le_iowrite32(address, data)   sysOut32 ((address), le32_to_cpu((epicsUInt32)(data)))
 
#define rbarr()   VX_MEM_BARRIER_R()
 
#define wbarr()   VX_MEM_BARRIER_W()
 
#define rwbarr()   VX_MEM_BARRIER_RW()
 

Functions

epicsUInt16 sysIn16 (volatile void *)
 
epicsUInt32 sysIn32 (volatile void *)
 
void sysOut16 (volatile void *, epicsUInt16)
 
void sysOut32 (volatile void *, epicsUInt32)
 

Macro Definition Documentation

◆ be16_to_cpu

#define be16_to_cpu (   X)    (X)

Definition at line 44 of file vxWorks/mrfIoOps.h.

◆ be32_to_cpu

#define be32_to_cpu (   X)    (X)

Definition at line 45 of file vxWorks/mrfIoOps.h.

◆ be_ioread16

#define be_ioread16 (   address)    be16_to_cpu (sysIn16 ((address)))

Definition at line 68 of file vxWorks/mrfIoOps.h.

◆ be_ioread32

#define be_ioread32 (   address)    be32_to_cpu (sysIn32 ((address)))

Definition at line 69 of file vxWorks/mrfIoOps.h.

◆ be_iowrite16

#define be_iowrite16 (   address,
  data 
)    sysOut16 ((address), be16_to_cpu((epicsUInt16)(data)))

Definition at line 71 of file vxWorks/mrfIoOps.h.

◆ be_iowrite32

#define be_iowrite32 (   address,
  data 
)    sysOut32 ((address), be32_to_cpu((epicsUInt32)(data)))

Definition at line 72 of file vxWorks/mrfIoOps.h.

◆ bswap16

#define bswap16 (   value)
Value:
((epicsUInt16) ( \
(((epicsUInt16)(value) & 0x00ff) << 8) | \
(((epicsUInt16)(value) & 0xff00) >> 8)))

Definition at line 33 of file vxWorks/mrfIoOps.h.

◆ bswap32

#define bswap32 (   value)
Value:
( \
(((epicsUInt32)(value) & 0x000000ff) << 24) | \
(((epicsUInt32)(value) & 0x0000ff00) << 8) | \
(((epicsUInt32)(value) & 0x00ff0000) >> 8) | \
(((epicsUInt32)(value) & 0xff000000) >> 24))

Definition at line 37 of file vxWorks/mrfIoOps.h.

◆ ioread8

#define ioread8 (   address)    sysInByte ((epicsUInt32)(address))

Definition at line 59 of file vxWorks/mrfIoOps.h.

◆ iowrite8

#define iowrite8 (   address,
  data 
)    sysOutByte ((epicsUInt32)(address), (epicsUInt8)(data))

Definition at line 60 of file vxWorks/mrfIoOps.h.

◆ le16_to_cpu

#define le16_to_cpu (   X)    bswap16(X)

Definition at line 46 of file vxWorks/mrfIoOps.h.

◆ le32_to_cpu

#define le32_to_cpu (   X)    bswap32(X)

Definition at line 47 of file vxWorks/mrfIoOps.h.

◆ le_ioread16

#define le_ioread16 (   address)    le16_to_cpu (sysIn16 ((address)))

Definition at line 74 of file vxWorks/mrfIoOps.h.

◆ le_ioread32

#define le_ioread32 (   address)    le32_to_cpu (sysIn32 ((address)))

Definition at line 75 of file vxWorks/mrfIoOps.h.

◆ le_iowrite16

#define le_iowrite16 (   address,
  data 
)    sysOut16 ((address), le16_to_cpu((epicsUInt16)(data)))

Definition at line 77 of file vxWorks/mrfIoOps.h.

◆ le_iowrite32

#define le_iowrite32 (   address,
  data 
)    sysOut32 ((address), le32_to_cpu((epicsUInt32)(data)))

Definition at line 78 of file vxWorks/mrfIoOps.h.

◆ nat_ioread16

#define nat_ioread16 (   address)    sysIn16 ((address))

Definition at line 62 of file vxWorks/mrfIoOps.h.

◆ nat_ioread32

#define nat_ioread32 (   address)    sysIn32 ((address))

Definition at line 63 of file vxWorks/mrfIoOps.h.

◆ nat_iowrite16

#define nat_iowrite16 (   address,
  data 
)    sysOut16(address,data)

Definition at line 65 of file vxWorks/mrfIoOps.h.

◆ nat_iowrite32

#define nat_iowrite32 (   address,
  data 
)    sysOut32(address,data)

Definition at line 66 of file vxWorks/mrfIoOps.h.

◆ rbarr

#define rbarr ( )    VX_MEM_BARRIER_R()

Definition at line 80 of file vxWorks/mrfIoOps.h.

◆ rwbarr

#define rwbarr ( )    VX_MEM_BARRIER_RW()

Definition at line 82 of file vxWorks/mrfIoOps.h.

◆ wbarr

#define wbarr ( )    VX_MEM_BARRIER_W()

Definition at line 81 of file vxWorks/mrfIoOps.h.

Function Documentation

◆ sysIn16()

epicsUInt16 sysIn16 ( volatile void *  )

◆ sysIn32()

epicsUInt32 sysIn32 ( volatile void *  )

◆ sysOut16()

void sysOut16 ( volatile void *  ,
epicsUInt16   
)

◆ sysOut32()

void sysOut32 ( volatile void *  ,
epicsUInt32   
)