Why did the System V ‘{uchar,ushort,uint,ulong}_t’ types ever fall out of favor?

I always found them more aesthetically pleasing than the BSD-style ‘u_{char,short,int,long}’ types.

And by extension, a pattern I’ve seen a lot in Solaris is the extensive use of structure typedef alias definitions. BSD is the complete opposite, except for probably NetBSD, which does use some of them. (i.e: proc_t versus struct proc, or vnode_t versus struct vnode)

I found out why, it’s to reduce header declaration duplication and inclusion of unneeded files.

(Though there’s some question as to the benefit of this considering how many files need <sys/types.h> and friends included before the header file anyway.)

(c.f: /usr/share/misc/style in NetBSD)
@winocm I would much rather type "vnode_t" a lot than "struct vnode" a lot, tbh
@jmc you and me both.
@winocm tbh it's hard for me to see either of those sets of types as having been in favour but maybe it was before my time
@winocm don't most people use uint8_t, uint16_t, etc these days?
@bob yes, but this is just more of a historical curiosity than anything else
@winocm I am partial to (u)intNN_t because I am an idiot and can never remember bit lengths of ints
@winocm Apparently whoever was in charge of stdint.h agreed and went back to that style for uint64_t etc.