Standard Berkeley socket functionality need not be abstracted.
What is standard berkeley sockets? Standard as in what is standarized for TCP/IP in general (which afaik doesn't contain select), or the subset commonly supported by unices (the posix sockets?)
Contrary to Unix, Windows NT was threaded from the start, and therefore has different programming models in certain cases.
What makes you think so? AFAIK Linux is closer to the standard with not many exemptions, but Windows has a complete implementation with extensions.
Well, as said, most unices use bitfields, and have different non standarized calls for larger numbers of connections (incompatible though, like kqueue/epoll) Afaik Windows has arrays of thandles as TFDSet, and a low maximum number of items in a set (64 in winsock?)
Since the reverse is here applicable, it should work with winsock too. Otherwise there's an issue with fpc's winsock.
[/quote]
Older winsock v1 was totally defunct in this functionality, which was still dominant in 2003 when this decision was made.
Afaik Ales (Almindor) already kicked the tires of that bounderies when he worked on lnet in 2007,2008 using v2. But I do remember him having troubles with all these kind of ioctl like functionality. Most of it didn't work, and he went more a ifdef model.
But that is all iirc and old news.
Of course the sane question is why messing with this at all, and not simply using Indy or synapse.