The sendauth/recvauth interfaces (and lower-level routines like krb5_write_message) take a krb5_pointer argument that's handled as int* internally to find the file descriptor. 1) For Windows, we should be using SOCKET* probably. (Cf. ticket 6041.) 2) We might want to update the published prototypes to use pointers to real types; the fd handle shouldn't be opaque in this interface. #1 would presumably be an ABI change on 64-bit Windows, but the current version may well be unusable, I'm not sure...