8#include "dawn/dev/descriptor.hxx"
9#include "dawn/io/common.hxx"
10#include "dawn/porting/config.hxx"
25 IO_DESCRIPTOR_CFG_FIRST = 0,
26 IO_DESCRIPTOR_CFG_LAST = 31
36#ifdef CONFIG_DAWN_OBJECT_HAS_NAME
37 const char *getClassNameStr()
const override
50#ifdef CONFIG_DAWN_IO_NOTIFY
51 int getFd()
const override;
82 using ObjectIdHelper =
91 CDevDescriptor::SDescriptorReg regDesc = {};
93 int configureDesc(
const CDescObject &desc);
Descriptor wrapper for individual object configuration.
Template helper for creating ObjectIDs for I/O types without timestamp support.
static SObjectId::ObjectId create(uint16_t inst)
Create ObjectID with fixed data type and no timestamp.
Base class for all I/O objects.
virtual int getFd() const
Get file descriptor for notifications.
int getCmnDevno() const
Get device number for this I/O.
Device descriptor I/O access.
bool isNotify() const
Check if IO supports notifications.
int deinit()
De-initialize object.
int setDataImpl(IODataCmn &data)
Set data implementation (override in derived classes).
size_t getDataSize() const
Get data size in bytes.
int getDataImpl(IODataCmn &data, size_t len)
Get data implementation (override in derived classes).
bool isWrite() const
Check if IO supports write operations.
int configure()
Configure object from descriptor data.
bool isSeekable() const
Check if IO supports partial (seekable) access.
int setDataAtImpl(IODataCmn &data, size_t offset)
Set data at byte offset (override in seekable IOs).
int getDataAtImpl(IODataCmn &data, size_t len, size_t offset)
Get data at byte offset (override in seekable IOs).
bool isRead() const
Check if IO supports read operations.
bool isBatch() const
Check if IO supports batch operations.
size_t getDataDim() const
Get data vector dimension.
Out-of-tree user-extension hooks for Dawn.
Base interface for I/O data buffers (static and dynamic).
uint32_t ObjectId
ObjectID type - single 32-bit value.