2011/4/22 Martin Preuss <[email protected]>: > Hi, > > On Freitag 22 April 2011, Ludovic Rousseau wrote: > [...] >> I guess you are not using the correct definition for DWORD. Mac OS X >> does not use "unsigned long" but "uint32_t" > [...] > > Even though I understand your rationale I wouldn't say "uint32_t" is an > incorrect translation for DWORD, since they are both supposed to be 32 bit > wide...
I know. > I would rather state that using "unsigned long" (as pcsclite does) is not > quite the correct translation for DWORD, at least on other-than-32-bit > machines... Windows always defines DWORD as "unsigned long" for 32 and 64-bits CPU. It does work because Windows uses the LLP data model [1] and a long is always 32 bits. Unix uses the LP data model. So a long is 64 bits on a 64-bits CPU. For historical reasons DWORD was defined as "unsigned long" in pcsc-lite. Changing the DWORD definition in pcsc-lite would break all the 64-bits systems before all components are rebuilt. It is a very high cost for nearly no gain. I will not do it. Bye, [1] http://en.wikipedia.org/wiki/64-bit#Specific_C-language_data_models -- Dr. Ludovic Rousseau _______________________________________________ Muscle mailing list [email protected] http://lists.drizzle.com/mailman/listinfo/muscle
