> I don't get it.  Why the "void *" stuff?  That is where I think the
> real badness lies, and I agree we should not have that.

> But defining something like

> typedef struct bus_dma_tag *bus_dma_tag_t;

> would mean we could easily change what bus_dma_tag_t actually is,
> keeping it opaque, while at the same time keeping the type checking.

Um, no, you get the type checking only as long as "what [it] actually
is" is a tagged type - a struct, union, or (I think; I'd have to check)
enum.  Make it (for example) a char *, or an unsigned int, and you lose
much of the typechecking.

/~\ The ASCII                             Mouse
\ / Ribbon Campaign
 X  Against HTML                mo...@rodents-montreal.org
/ \ Email!           7D C8 61 52 5D E7 2D 39  4E F1 31 3E E8 B3 27 4B

Reply via email to