11#include "dawn/common/object.hxx"
12#include "dawn/porting/config.hxx"
52#ifdef CONFIG_DAWN_IO_LIMITS
71 int bind(uint8_t
id, uint8_t dtype,
size_t words,
const uint32_t *data);
79#ifdef CONFIG_DAWN_IO_LIMITS
95 int validate(
const uint32_t *data,
size_t words, uint8_t dtype)
const;
103#ifdef CONFIG_DAWN_IO_LIMITS
116#ifdef CONFIG_DAWN_IO_LIMITS
129#ifdef CONFIG_DAWN_IO_LIMITS
142#ifdef CONFIG_DAWN_IO_LIMITS
150#ifdef CONFIG_DAWN_IO_LIMITS
151 const uint32_t *minData;
152 const uint32_t *maxData;
153 const uint32_t *stepData;
159#ifndef CONFIG_DAWN_IO_LIMITS
164inline int CIOLimits::bind(uint8_t
id, uint8_t dtype,
size_t words,
const uint32_t *data)
Common IO runtime limits container and validator.
size_t getWords() const
Get configured limit array size in words.
bool isConfigured() const
Check whether any limits are configured.
const uint32_t * getMax() const
Get maximum limit words pointer.
const uint32_t * getStep() const
Get step limit words pointer.
int validate(const uint32_t *data, size_t words, uint8_t dtype) const
Validate payload against configured limits.
CIOLimits()
Construct empty limits.
@ CFG_LIMIT_STEP
Step limit words.
@ CFG_LIMIT_MIN
Minimum limit words.
@ CFG_LIMIT_MAX
Maximum limit words.
const uint32_t * getMin() const
Get minimum limit words pointer.
int bind(uint8_t id, uint8_t dtype, size_t words, const uint32_t *data)
Bind one limit config item.
void reset()
Reset all configured limits.
Out-of-tree user-extension hooks for Dawn.
@ DTYPE_ANY
Wildcard data type (matches any actual type).