.\" Copyright (c) 1989, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)getfsstat.2 8.3 (Berkeley) 5/25/95 .\" %FreeBSD: src/lib/libc/sys/getfsstat.2,v 1.17 2004/07/16 01:18:13 alfred Exp % .\" .\" $FreeBSD$ .Dd November 20, 2003 .Dt GETFSSTAT 2 .Os .Sh 名称 .Nm getfsstat .Nd マウントされたすべてのファイルシステムのリストを得る .Sh ライブラリ .Lb libc .Sh 書式 .In sys/param.h .In sys/ucred.h .In sys/mount.h .Ft int .Fn getfsstat "struct statfs *buf" "long bufsize" "int flags" .Sh 解説 .Fn getfsstat システムコールは、マウントされたすべてのファイルシステムに関する情報を 返します。 .Fa buf 引数は .Xr statfs 2 に記述された .Vt statfs 構造体へのポインタです。 .Pp 特定のファイルシステムについて未定義となるフィールドは -1 に設定されます。 バッファは .Fa fsstat 構造体の配列で埋められます。 マウントされた各ファイルシステムについて 1 つずつ、最高 .Fa bufsize で指定されたバイト数までです。 .Fa bufsize 引数は、 .Fa buf が保持することができるバイト数であり、保持することができる statfs 構造体の 数ではないことに、注意して下さい。 .Pp .Fa buf として NULL が指定されている場合、 .Fn getfsstat はマウントされているファイルシステムの数のみを返します。 .Pp 通常、 .Fa flags には .Dv MNT_WAIT を指定するべきです。 .Fa flags として .Dv MNT_NOWAIT が指定されている場合、 .Fn getfsstat は各ファイルシステムからの更新を要求せずに利用できる情報を返します。 そのため、情報のうちには古くなっているものがあるでしょうが、 .Fn getfsstat は応答できないファイルシステムからの情報を 待機してブロックすることはありません。 .Sh 戻り値 正常に完了すると .Fa fsstat 構造体の数が返されます。 そうでない場合は -1 が返され、エラーを示すためにグローバル変数 .Va errno が設定されます。 .Sh エラー .Fn getfsstat システムコールは以下の 1 つでも真の場合、処理に失敗します: .Bl -tag -width Er .It Bq Er EFAULT .Fa buf 引数が無効なアドレスを指しています。 .It Bq Er EIO ファイルシステムを読み書きしている間に .Tn I/O (入出力) エラーが発生しました。 .El .Sh 関連項目 .Xr statfs 2 , .Xr fstab 5 , .Xr mount 8 .Sh 歴史 .Fn getfsstat システムコールは .Bx 4.4 ではじめて登場しました。