2016-09-06 60 views
2

现在我使用statfs来获取文件系统类型。我认为的f_type从返回struct statfs值是那些之一enum fs_type_numhttp://opensource.apple.com/source/xnu/xnu-3248.60.10/bsd/vfs/vfs_conf.c如何在OSX/macOS中使用API​​获取文件系统类型?

直到MACOS 10.12 f_typestruct statfs值为17 HFS/HFS +定义。在macOS 10.12上,值是23,而我看不到在enum fs_type_num中定义的这个值。

这里有一个文件,其中可能的值f_typestruct statfs被定义?

或者,它有一个更好的API来获取文件系统类型?

回答

0

以下是我的工作。

首先包含mount.h。

#include <sys/mount.h>

那么下面会给你的类型,子类型和类型名称。

struct statfs output; 
statfs("/", &output); 
NSLog(@"Type: %u", output.f_type); 
NSLog(@"Subtype: %u", output.f_fssubtype); 
NSLog(@"Type name: %s", output.f_fstypename); 

这适用于macOS和iOS。

对于那些好奇的人来说,这是我得到的一些设备的结果。

的MacOS上10.12.3

  • 类型:23
  • 亚型:1个
  • 型号名称:HFS

iPhone上10.2.1

  • 类型:23
  • 亚型:3
  • 类型名称:HFS

的iPad上10.3

  • 类型:22
  • 亚型:1种
  • 类型名称:的APF
相关问题