On Tue, Nov 26, 2019 at 03:53:02PM +0200, Nikolay Borisov wrote: > > > On 20.11.19 г. 20:24 ч., Omar Sandoval wrote: > > From: Omar Sandoval <osandov@xxxxxx> > > <snip> > > > > > +enum { > > + ENCODED_IOV_COMPRESSION_NONE, > > +#define ENCODED_IOV_COMPRESSION_NONE ENCODED_IOV_COMPRESSION_NONE > > + ENCODED_IOV_COMPRESSION_ZLIB, > > +#define ENCODED_IOV_COMPRESSION_ZLIB ENCODED_IOV_COMPRESSION_ZLIB > > + ENCODED_IOV_COMPRESSION_LZO, > > +#define ENCODED_IOV_COMPRESSION_LZO ENCODED_IOV_COMPRESSION_LZO > > + ENCODED_IOV_COMPRESSION_ZSTD, > > +#define ENCODED_IOV_COMPRESSION_ZSTD ENCODED_IOV_COMPRESSION_ZSTD > > + ENCODED_IOV_COMPRESSION_TYPES = ENCODED_IOV_COMPRESSION_ZSTD, > > This looks very dodgy, what am I missing? This is a somewhat common trick so that enum values can be checked for with ifdef/ifndef. See include/uapi/linux.in.h, for example.