> Greetings list. > > I'm running into a bit of a conundrum. I'm calling into stat(2) and > statfs(2) on Mac operating systems and get back the old 32-bit structure > instead of the new 64-bit structure. > > If I compile a test program in C I get the 64-bit structure with just > <sys/mount.h> included. When I use DEFCFUN I get the 32-bit structure. > Same for <sys/stat.h>. I'm working around it currently using #+, but > I'd like some help understanding what's going on so I can do a proper > implementation. > > I read in the include files and man pages that the *64 functions are > temporary things while old code gets updated and that users should never > actually call them. In the include file they are different functions > (see below for statfs), but there is some preprocessor magic happening. > There's a pair of defines _DARWIN_USE_64_BIT_INODE and > _DARWIN_NO_64_BIT_INODE that you can set before doing the include to set > the default behavior, but CFFI doesn't do grovelling for function > definitions.
Hello Lucien, This(and others) is one of then reasons why I wrote libfixposix, so I'd advise you to use IOlib. -- Stelian Ionescu a.k.a. fe[nl]ix Quidquid latine dictum sit, altum videtur. http://common-lisp.net/project/iolib