[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) ||
>>defined(_XOPEN_SOURCE_EXTENDED)
>>struct sockaddr_un {
>>    unsigned char sun_len;
>>    sa_family_t     sun_family;
>>    char sun_path[104];
>>};
>>#else
>>struct sockaddr_un {
>>    unsigned short  sun_familly;
>>    char sun_path[104];
>>}
>>#endif
>
>>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.
>
>raf
>

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.

donald

-
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