37 lines · cpp
1// RUN: %clangxx -O0 -g %s -o %t && %run %t 2>&1 | FileCheck %s2 3#include <sys/types.h>4 5#include <sys/statvfs.h>6 7#include <assert.h>8#include <stdio.h>9#include <stdlib.h>10 11int main(void) {12 printf("getvfsstat\n");13 14 int rv = getvfsstat(NULL, 0, ST_WAIT);15 assert(rv != -1);16 17 size_t sz = rv * sizeof(struct statvfs);18 struct statvfs *buf = (struct statvfs *)malloc(sz);19 assert(buf);20 21 rv = getvfsstat(buf, sz, ST_WAIT);22 assert(rv != -1);23 24 for (int i = 0; i < rv; i++) {25 printf("Filesystem %d\n", i);26 printf("\tfstypename=%s\n", buf[i].f_fstypename);27 printf("\tmntonname=%s\n", buf[i].f_mntonname);28 printf("\tmntfromname=%s\n", buf[i].f_mntfromname);29 }30 31 free(buf);32 33 // CHECK: getvfsstat34 35 return 0;36}37