[pacman-dev] Checking free space before transaction
Allan McRae
allan at archlinux.org
Fri Nov 12 15:14:42 CET 2010
On 12/11/10 11:07, Allan McRae wrote:
> So, looking into this further:
>
> getmntent:
> used by glibc, uclibc, cygwin
>
> getmntinfo with statfs:
> used by bsd4.4 (FreeBSD, OpenBSD, OSX)
>
> getmntinfo with statvfs:
> NetBSD
>
> I can work with that... the mount point struct can hold a statfs or
> statvfs object depending on what function we are using. Given the
> entries that we need to access are available in both structs, the rest
> should be transparent.
>
> So what I need to do is:
> 1) figure out how to distinguish between the two getmntinfo versions...
So having a peak at how coreutils does this... Restating the prototype
for a function does not create a compiler error. But stating a modified
prototype for a function causes an error. So I need one of those "if
this compiles" tests. Should be manageable.
> 2) add a code path for the second getmntinfo
> 3) review what headers need included in each path
Just to put my notes on the list:
NetBSD:
#include <sys/types.h>
#include <sys/statvfs.h>
FreeBSD/OSX:
#include <sys/param.h>
#include <sys/ucred.h>
#include <sys/mount.h>
OpenBSD:
#include <sys/param.h>
#include <sys/mount.h>
Glibc:
#include <stdio.h>
#include <mntent.h>
#include <sys/statvfs.h>
Fun stuff...
Allan
More information about the pacman-dev
mailing list