Subject: Re: [B20] porting code from Unix to Windows NT
From: [email-masked] (Donald Sharp)

2 Dec 1998 07:34:07 -0800
Message-ID: <[email-masked]>
References: <[email-masked]>
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
To: [email-masked] (raf), [email-masked]

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
"[email-masked]" with one line of text: "help".