[ale] Ms -> Linux porting pointer sought

Christopher Fowler cfowler at outpostsentinel.com
Thu May 15 15:41:54 EDT 2003


Maybe it is not a bad idea to begin working on a UNIX library that
provides some compatibilty between API calls in Win32 and converts them to
Posix in the backend.

Follow the same docs in regards to win32, but in the library, code
for POSIX.

Chris

On Thu, May 15, 2003 at 01:07:22PM -0400, John Mills wrote:
> Joe -
> 
> Thanks for the details here.
> 
> On 15 May 2003, Joseph Knapka wrote:
> 
> > > That's what I'm doing. Numeric types have not been a problem to define,
> > > but I'm looking for *nix synonyms for generic 'HANDLE' (U16, I guess?)  
> > > and 'SOCKET'. I don't have much in the way of MsWin examples to look at, 
> > > compared to all the *nix sources. I admit to being 'Windows challenged'.
> 
> > IIRC a HANDLE is essentially a void*. But HANDLEs are used for
> > resource acquisition all over the place in Windows: you have HANDLEs
> > to files, windows, paintbrushes, shared memory areas, etc etc etc etc
> > etc... In all those different cases, the data structure pointed to by
> > the HANDLE is different, and only the Win32 implementation knows what
> > to do with them (this is fine API design, BTW; Microsoft does actually
> > do some things right. Well, one thing, anyway). Anything that uses a
> > Windows HANDLE is generally going to require rewriting for Linux.
> 
> Looks like I'm going to meet some of those.
>  
> > In Linux a socket is represented by an int. In Windows, it's another
> > kind of HANDLE, I think, but code that uses sockets on either OS
> > shouldn't care about the representation of sockets. Therefore, if you
> > use a "typedef int SOCKET" on the Linux side, most Winsock code should
> > compile verbatim, except the bits that initialize the Winsock library
> > (which is redundant on Linux anyway).
> 
> As long as there is a usable Linux type that's functionally similar to a 
> MsWin type, my "synonym" approach is transparent. When the two worlds need 
> different processing, we will have to provide parallel code. I _don't_ 
> want to replicate the MsWin API in Linux (sort of a reverse-cygwin), just 
> to keep code maintenance as sane as possible between the two domains.
> 
> Thanks again.
> 
>  John Mills
>  john.m.mills at alum.mit.edu
> 
> _______________________________________________
> Ale mailing list
> Ale at ale.org
> http://www.ale.org/mailman/listinfo/ale
_______________________________________________
Ale mailing list
Ale at ale.org
http://www.ale.org/mailman/listinfo/ale





More information about the Ale mailing list