64-bit stat and statfs on Mac
Stelian Ionescu
sionescu at cddr.org
Wed Mar 25 19:27:57 UTC 2015
> 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
More information about the cffi-devel
mailing list