mrfioc2  2.3.0
Macros | Functions
mrfIoOpsDef.h File Reference
#include <epicsTypes.h>
#include <epicsEndian.h>
#include <shareLib.h>
Include dependency graph for mrfIoOpsDef.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define bswap16(value)
 
#define bswap32(value)
 
#define be_ioread16(A)   nat_ioread16(A)
 
#define be_ioread32(A)   nat_ioread32(A)
 
#define be_iowrite16(A, D)   nat_iowrite16(A,D)
 
#define be_iowrite32(A, D)   nat_iowrite32(A,D)
 
#define le_ioread16(A)   bswap16(nat_ioread16(A))
 
#define le_ioread32(A)   bswap32(nat_ioread32(A))
 
#define le_iowrite16(A, D)   nat_iowrite16(A,bswap16(D))
 
#define le_iowrite32(A, D)   nat_iowrite32(A,bswap32(D))
 
#define rbarr()   do{}while(0)
 
#define wbarr()   do{}while(0)
 
#define rwbarr()   do{}while(0)
 

Functions

INLINE epicsUInt8 ioread8 (volatile void *addr)
 
INLINE void iowrite8 (volatile void *addr, epicsUInt8 val)
 
INLINE epicsUInt16 nat_ioread16 (volatile void *addr)
 
INLINE void nat_iowrite16 (volatile void *addr, epicsUInt16 val)
 
INLINE epicsUInt32 nat_ioread32 (volatile void *addr)
 
INLINE void nat_iowrite32 (volatile void *addr, epicsUInt32 val)
 

Macro Definition Documentation

◆ be_ioread16

#define be_ioread16 (   A)    nat_ioread16(A)

Definition at line 72 of file mrfIoOpsDef.h.

◆ be_ioread32

#define be_ioread32 (   A)    nat_ioread32(A)

Definition at line 73 of file mrfIoOpsDef.h.

◆ be_iowrite16

#define be_iowrite16 (   A,
 
)    nat_iowrite16(A,D)

Definition at line 74 of file mrfIoOpsDef.h.

◆ be_iowrite32

#define be_iowrite32 (   A,
 
)    nat_iowrite32(A,D)

Definition at line 75 of file mrfIoOpsDef.h.

◆ bswap16

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

Definition at line 62 of file mrfIoOpsDef.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 66 of file mrfIoOpsDef.h.

◆ le_ioread16

#define le_ioread16 (   A)    bswap16(nat_ioread16(A))

Definition at line 77 of file mrfIoOpsDef.h.

◆ le_ioread32

#define le_ioread32 (   A)    bswap32(nat_ioread32(A))

Definition at line 78 of file mrfIoOpsDef.h.

◆ le_iowrite16

#define le_iowrite16 (   A,
 
)    nat_iowrite16(A,bswap16(D))

Definition at line 79 of file mrfIoOpsDef.h.

◆ le_iowrite32

#define le_iowrite32 (   A,
 
)    nat_iowrite32(A,bswap32(D))

Definition at line 80 of file mrfIoOpsDef.h.

◆ rbarr

#define rbarr ( )    do{}while(0)

Definition at line 112 of file mrfIoOpsDef.h.

◆ rwbarr

#define rwbarr ( )    do{}while(0)

Definition at line 114 of file mrfIoOpsDef.h.

◆ wbarr

#define wbarr ( )    do{}while(0)

Definition at line 113 of file mrfIoOpsDef.h.

Function Documentation

◆ ioread8()

INLINE epicsUInt8 ioread8 ( volatile void *  addr)

Definition at line 20 of file mrfIoOpsDef.h.

21 {
22  return *(volatile epicsUInt8*)(addr);
23 }
Definition: devObj.h:97

◆ iowrite8()

INLINE void iowrite8 ( volatile void *  addr,
epicsUInt8  val 
)

Definition at line 27 of file mrfIoOpsDef.h.

28 {
29  *(volatile epicsUInt8*)(addr) = val;
30 }
Definition: devObj.h:97

◆ nat_ioread16()

INLINE epicsUInt16 nat_ioread16 ( volatile void *  addr)

Definition at line 34 of file mrfIoOpsDef.h.

35 {
36  return *(volatile epicsUInt16*)(addr);
37 }
Definition: devObj.h:97

◆ nat_ioread32()

INLINE epicsUInt32 nat_ioread32 ( volatile void *  addr)

Definition at line 48 of file mrfIoOpsDef.h.

49 {
50  return *(volatile epicsUInt32*)(addr);
51 }
Definition: devObj.h:97

◆ nat_iowrite16()

INLINE void nat_iowrite16 ( volatile void *  addr,
epicsUInt16  val 
)

Definition at line 41 of file mrfIoOpsDef.h.

42 {
43  *(volatile epicsUInt16*)(addr) = val;
44 }
Definition: devObj.h:97

◆ nat_iowrite32()

INLINE void nat_iowrite32 ( volatile void *  addr,
epicsUInt32  val 
)

Definition at line 55 of file mrfIoOpsDef.h.

56 {
57  *(volatile epicsUInt32*)(addr) = val;
58 }
Definition: devObj.h:97