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.)

@winocm I would much rather type "vnode_t" a lot than "struct vnode" a lot, tbh
@jmc you and me both.