It looks more clear and user-friendly for splitting the flag.
Acked-by: Chengwen Feng <fengcheng...@huawei.com>

On 2025/5/27 17:21, Bruce Richardson wrote:
> The use of lists of #defines with _MAX entries at the end causes issues
> for ABI compatibility as those MAX values often leak through to
> applications and can cause issues when changed.
> 
> We can rework the code to increase type safety by splitting the flags
> field and using enums for each set of values explicitly:
> 
> * One enum for whether an argument takes a parameter or not (or
>   optionally takes one)
> * One enum for the type of the argument.
> * A separate flags field for any additional info - right now this is
>   only to indicate an argument can appear more than once.
> 
> The use of the MAX field is no longer necessary using the enums as we
> can use an inline function with a switch statement to check for valid
> values. Compilers like GCC will warn when an enum value is missing from
> the switch statement, easing future maintenance if enum values are
> added.
> 
> Signed-off-by: Bruce Richardson <bruce.richard...@intel.com>

Reply via email to