2016-09-06 40 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
相關問題