This is Unofficial EPICS BASE Doxygen Site
epicsMMIODef.h File Reference

Memory Mapped I/O. More...

#include <epicsTypes.h>
#include <epicsEndian.h>
#include <compilerSpecific.h>
#include <libComAPI.h>
+ Include dependency graph for epicsMMIODef.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define rbarr()   do{}while(0)
 Explicit read memory barrier Prevents reordering of reads around it. More...
 
#define wbarr()   do{}while(0)
 Explicit write memory barrier Prevents reordering of writes around it. More...
 
#define rwbarr()   do{}while(0)
 Explicit read/write memory barrier Prevents reordering of reads or writes around it. More...
 
#define be_ioread16(A)   nat_ioread16(A)
 Read two byte in big endian order. More...
 
#define be_ioread32(A)   nat_ioread32(A)
 Read four byte in big endian order. More...
 
#define be_iowrite16(A, D)   nat_iowrite16(A,D)
 Write two byte in big endian order. More...
 
#define be_iowrite32(A, D)   nat_iowrite32(A,D)
 Write four byte in big endian order. More...
 
#define le_ioread16(A)   bswap16(nat_ioread16(A))
 Read two byte in little endian order. More...
 
#define le_ioread32(A)   bswap32(nat_ioread32(A))
 Read four byte in little endian order. More...
 
#define le_iowrite16(A, D)   nat_iowrite16(A,bswap16(D))
 Write two byte in little endian order. More...
 
#define le_iowrite32(A, D)   nat_iowrite32(A,bswap32(D))
 Write four byte in little endian order. More...
 

Detailed Description

Memory Mapped I/O.

Definitions related to Memory Mapped I/O

Author
Michael Davidsaver mdavi.nosp@m.dsav.nosp@m.er@bn.nosp@m.l.go.nosp@m.v

Definition in file epicsMMIODef.h.

Macro Definition Documentation

#define be_ioread16 (   A)    nat_ioread16(A)

Read two byte in big endian order.

#define be_ioread32 (   A)    nat_ioread32(A)

Read four byte in big endian order.

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

Write two byte in big endian order.

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

Write four byte in big endian order.

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

Read two byte in little endian order.

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

Read four byte in little endian order.

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

Write two byte in little endian order.

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

Write four byte in little endian order.