10#include "dawn/io/common.hxx"
11#include "dawn/io/timerfd.hxx"
12#include "dawn/porting/config.hxx"
29 IO_RAND_CFG_FIRST = 0,
44#ifdef CONFIG_DAWN_OBJECT_HAS_NAME
45 const char *getClassNameStr()
const override
55 int getDataImpl(IODataCmn &data,
size_t len)
override;
57#ifdef CONFIG_DAWN_IO_NOTIFY
58 int getFd()
const override;
108 int configureDesc(
const CDescObject &desc);
Descriptor wrapper for individual object configuration.
Template helper for creating ObjectIDs for I/O types.
static SObjectId::ObjectId create(bool ts, uint16_t inst)
Create ObjectID with default data type.
Base class for all I/O objects.
virtual int getFd() const
Get file descriptor for notifications.
@ IO_CLASS_RAND
Random number generator.
Random number generator I/O type.
int getDataImpl(IODataCmn &data, size_t len)
Get data implementation (override in derived classes).
@ IO_RAND_CFG_INTERVAL
Interval configuration in microseconds.
bool isBatch() const
Check if IO supports batch operations.
bool isRead() const
Check if IO supports read operations.
bool isWrite() const
Check if IO supports write operations.
size_t getDataSize() const
Get data size in bytes.
int configure()
Configure object from descriptor data.
size_t getDataDim() const
Get data vector dimension.
int doStart()
Start implementation hook.
int doStop()
Stop implementation hook.
bool isNotify() const
Check if IO supports notifications.
int deinit()
De-initialize object.
Internal helper for timer-based I/O notifications.
size_t getDtypeSize() const
Get size of this object's data type.
static ObjectCfgId objectCfg(uint8_t type, uint16_t cls, uint8_t dtype, bool rw, uint16_t size, uint8_t id)
Construct 32-bit ConfigID from component fields.
uint32_t ObjectCfgId
ConfigID type - single 32-bit value.
Out-of-tree user-extension hooks for Dawn.
@ OBJTYPE_IO
Input/Output object type.
EObjectDataType
Data types supported by Dawn framework.
@ DTYPE_UINT32
Unsigned 32-bit integer (0 to 4294967295).
uint32_t ObjectId
ObjectID type - single 32-bit value.