[B20] porting code from Unix to Windows NT

Donald Sharp sharpd@mindspring.com
Tue Dec 1 18:16:00 GMT 1998

At 03:58 PM 12/1/98 +1100, raf wrote:
>Christine Pourcelot wrote:
>>I'm trying to port some Unix code to Windows Nt with Cygwin tools. My
>>problem is that code handles sockets and I can't compile the source.
>>I've put #define Win32_winsock and #include 'windows.h' in my source.
>>But in my Unix code (somebody else wrote it, not me... I'm novice with
>>unix ans C programming) SOCKET is defined like this :
>>typedef struct sockaddr_un SOCKET;
>>sockaddr_un is defined in sys/un.h like this :
>> * definitions for Unix IPC domain.
>>#if defined(_SOCKADDR_LEN) || defined(_KERNEL) ||
>>struct sockaddr_un {
>>    unsigned char sun_len;
>>    sa_family_t     sun_family;
>>    char sun_path[104];
>>struct sockaddr_un {
>>    unsigned short  sun_familly;
>>    char sun_path[104];
>>my unix code uses sun_path and sun_family...
>>in Sockets.h (cygwin), SOCKETis defined as an unsigned int
>these are not your average socket.
>they are unix domain sockets which
>are not yet implemented in cygwin.
>you could either change your code
>to use NT's named pipes instead,
>or implement unix domain sockets
>in cygwin, using NT's named pipes.

this isn't quite correct.  If you look carefully he is running
into the problem where some past programmer of the code he is
now working on, typedef'ed the struct sockaddr_un to be SOCKET
which in the windows world is the socket descriptor returned from
a socket() call.  He also needs to change his code over to use
named pipes/unix domain sockets.


For help on using this list (especially unsubscribing), send a message to
"gnu-win32-request@cygnus.com" with one line of text: "help".

More information about the Cygwin mailing list