HALFRED  0.4.0
Data Structures | Macros | Typedefs | Enumerations
hal_iobus.h File Reference

IO Bus API. More...

Detailed Description

IO Bus API.

Purpose
HALFRED Hardware Abstraction Layer
Version
Revision
1500
License
$License$

Go to the source code of this file.

Data Structures

struct  IOBusDesc
 
struct  IOBusDeviceDesc
 

Macros

#define IOBUS_Init(iobus)   (iobus)->Init((iobus))
 
#define IOBUS_Deinit(iobus)   (iobus)->Deinit((iobus))
 
#define IOBUS_EnableWrite(iobus)   (iobus)->EnableWrite((iobus))
 
#define IOBUS_DisableWrite(iobus)   (iobus)->DisableWrite((iobus))
 
#define IOBUS_EnableRead(iobus)   (iobus)->EnableRead((iobus))
 
#define IOBUS_DisableRead(iobus)   (iobus)->DisableRead((iobus))
 
#define IOBUS_GetReadCount(iobus)   (iobus)->GetReadCount((iobus))
 
#define IOBUS_GetWriteSpace(iobus)   (iobus)->GetWriteSpace((iobus))
 
#define IOBUS_Read(iobus, addr, data, size, timeout)   (iobus)->Read((iobus), (addr), (data), (size), (timeout))
 
#define IOBUS_Write(iobus, addr, data, size, timeout)   (iobus)->Write((iobus), (addr), (data), (size), (timeout))
 
#define IOBUS_StartTransaction(iobus)   (iobus)->StartTransaction((iobus))
 
#define IOBUS_EndTransaction(iobus)   (iobus)->EndTransaction((iobus))
 
#define IOBUS_RawWrite(iobus, data, size, timeout)   (iobus)->RawWrite((iobus), (data), (size), (timeout))
 
#define IOBUS_SearchDevices(iobus, data, timeout)   (iobus)->SearchDevices((iobus), (data), (timeout))
 
#define IOBUS_DEVICE_DECLARE(name, IOBus, addr, parameters)
 

Typedefs

typedef uint64_t IOBusAddr
 
typedef struct IOBusDescIOBus
 
typedef struct IOBusDeviceDescIOBusDevice
 

Enumerations

enum  IOBUS_TransactionState { IOBUS_Ready = 0, IOBUS_Busy }
 

Macro Definition Documentation

#define IOBUS_DEVICE_DECLARE (   name,
  IOBus,
  addr,
  parameters 
)
Value:
struct IOBusDeviceDesc name ## _desc = { \
.bus = (IOBus), \
.address = (addr), \
.param = (parameters) \
}; \
IOBusDevice name = &name ## _desc;
Definition: hal_iobus.h:82
Definition: hal_iobus.h:26