Re: [PATCH 1/19] unify desc_struct

Andi Kleen
2007-12-06T20:54:56Z

> +/*
> + * FIXME: Acessing the desc_struct through its fields is more elegant,
> + * and should be the one valid thing to do. However, a lot of open code
> + * still touches the a and b acessors, and doing this allow us to do it
> + * incrementally. We keep the signature as a struct, rather than an union,
> + * so we can get rid of it transparently in the future -- glommer
> + */
> +#define raw_desc_struct struct { unsigned int a, b; }
> +#define detailed_desc_struct \
> + struct { \
> + u16 limit0; \
> + u16 base0; \
> + unsigned base1 : 8, type : 4, s : 1, dpl : 2, p : 1; \
> + unsigned limit : 4, avl : 1, l : 1, d : 1, g : 1, base2 :8;\
> + }

The standard clean way to do this is with a anonymous union.

-Andi