Having spent 15 or so years on Plan 9 and Linux, the only conclusion I can make is that nothing is universal.
Plan 9 is this: outl(int port, ulong value)
And I used software that came long before Linux (back in the 70s, if you want to know) that followed that form too. I think Linux got it backwards, but it's the standard, so I guess that's what people want.
I don't really care at this point, as long as whatever we use is defined with a correct prototype, so we don't get errors when people from other projects also get it "backwards", like me. It's just not that big a deal. Let's stop fussing about it.
ron