EN JA
GETVFSBYNAME(3)
GETVFSBYNAME(3) FreeBSD Library Functions Manual GETVFSBYNAME(3)

名称

getvfsbynameファイルシステムに関する情報を取得する

ライブラリ

Standard C Library (libc, -lc)

書式

#include < sys/param.h>
#include < sys/mount.h>

int
getvfsbyname( const char *name, struct xvfsconf *vfc);

解説

getvfsbyname() 関数は、カーネルで設定されるファイルシステムモジュールに関する情報へのアクセスを提供します。成功するなら、要求されるファイルシステム xvfsconf は、 vfc によって指される位置に返されます。“ struct xvfsconf”のフィールドは、次のように定義されています:

vfc_name
ファイルシステムの名前
vfc_typenum
カーネルによって割り当てられたファイルシステムのタイプ番号
vfc_refcount
ファイルシステムで使用するアクティブなマウントポイントの数
vfc_flags
以下に記述される、フラグビット

フラグは、次のように定義されています:

VFCF_STATIC
静的にカーネルにコンパイルされます
VFCF_NETWORK
データをネットワークを越えて得ることができます
VFCF_READONLY
書き込みは、実装されていません
VFCF_SYNTHETIC
データは、実際のファイルを表しません
VFCF_LOOPBACK
いくつかの他のマウントされた FS の別名
VFCF_UNICODE
ユニコードとしてファイル名を格納します
VFCF_JAIL
security.jail.mount_allowed sysctl が 1 に設定されるなら、jail の中からマウントすることができます
VFCF_DELEGADMIN
vfs.usermount sysctl が 1 に設定されるなら、委任管理をサポートします

戻り値

The getvfsbyname() function returns the value 0 if successful; otherwise the value -1 is returned and the global variable errno is set to indicate the error.

エラー

次のエラーが報告されます:
[ EFAULT]
vfc 引数が、不正なアドレスを指しています。
[ ENOENT]
ファイルシステムを指定する name 引数が未知のファイルシステムを指定するか、またはカーネルで設定されていません。

歴史

getvfsbyname() 関数の変異型は、 FreeBSD 2.0 ではじめて登場しました。
April 5, 2007 FreeBSD