I had to port only the TCP part of the ICS to OSX64 and I identified what the translation of the kevent and probably of the kevent_64 structures is inaccurate: the uint32_t, the data type of the fflags field should be not LongWord, but Cardinal. And the {$A4} directive should be removed for the kevent record. This way it works on both OSX32 and OSX64. I tried with Delphi 10.3.3.