Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT sourceware DOT cygnus DOT com Delivered-To: mailing list cygwin AT sourceware DOT cygnus DOT com Message-ID: <20000128141851.29188.qmail@web123.yahoomail.com> Date: Fri, 28 Jan 2000 06:18:51 -0800 (PST) From: Earnie Boyd Reply-To: earnie_boyd AT yahoo DOT com Subject: Re: LARGE_INTEGER in w32API 0.1.5 To: kris DOT thielemans AT csc DOT mrc DOT ac DOT uk, anorland AT hem DOT passagen DOT se Cc: Gnuwin MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Search for anonymous unions in the archives. Earnie. --- Kris Thielemans wrote: > Hi > > I'm having problems with LARGE_INTEGER (defined in winnt.h). Via the cygwin > mailing list I found out that in the distributed W32 API, LARGE_INTEGER and > LONGLONG are flawed. Mumit advised to download your w32api 0.1.5 which I > did. However, even > there, the LARGE_INTEGER is not compatible with Microsoft's. The following > code does not work: > > LARGE_INTEGER a; > DWORD b = a.LowPart; > > instead, we have to use > DWORD b = a.u.LowPart; > > This fits (of course) with your definition > > typedef union _LARGE_INTEGER { > struct { > DWORD LowPart; > LONG HighPart; > }_STRUCT_NAME(u); > LONGLONG QuadPart; > } LARGE_INTEGER,*PLARGE_INTEGER; > > compared to Visual C++ 5.0 (an extra struct in the union): > > #if defined(MIDL_PASS) > typedef struct _LARGE_INTEGER { > #else // MIDL_PASS > typedef union _LARGE_INTEGER { > struct { > DWORD LowPart; > LONG HighPart; > }; > struct { > DWORD LowPart; > LONG HighPart; > } u; > #endif //MIDL_PASS > LONGLONG QuadPart; > } LARGE_INTEGER; > > > > Thanks for providng the API ! > > Kris > > PS : > for cygwin people. This API can be found on > http://www.acc.umu.se/~anorland/gnu-win32/ > > The standard distribution defines LONGLONG as double, and > typedef struct _LARGE_INTEGER > { > DWORD LowPart; > LONG HighPart; > } LARGE_INTEGER, *PLARGE_INTEGER; > > > > -- > Want to unsubscribe from this list? > Send a message to cygwin-unsubscribe AT sourceware DOT cygnus DOT com > > ===== Earnie Boyd Cygwin Newbies, please visit __________________________________________________ Do You Yahoo!? Talk to your friends online with Yahoo! Messenger. http://im.yahoo.com -- Want to unsubscribe from this list? Send a message to cygwin-unsubscribe AT sourceware DOT cygnus DOT com