.\" %NetBSD: fhopen.2,v 1.1 1999/06/30 01:32:15 wrstuden Exp % .\" %FreeBSD: src/lib/libc/sys/fhopen.2,v 1.4.2.6 2001/12/14 18:34:00 ru Exp % .\" .\" Copyright (c) 1999 National Aeronautics & Space Administration .\" All rights reserved. .\" .\" This software was written by William Studenmund of the .\" Numerical Aerospace Similation Facility, NASA Ames Research Center. .\" .\" 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. Neither the name of the National Aeronautics & Space Administration .\" 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 NATIONAL AERONAUTICS & SPACE ADMINISTRATION .\" ``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 ADMINISTRATION OR CONTRIB- .\" UTORS 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. .\"/ .\" $FreeBSD$ .Dd June 29, 1999 .Dt FHOPEN 2 .Os .Sh 名称 .Nm fhopen , .Nm fhstat , .Nm fhstatfs .Nd ファイルハンドルによるファイルアクセス .Sh ライブラリ .Lb libc .Sh 書式 .In sys/param.h .In sys/mount.h .In sys/stat.h .Ft int .Fn fhopen "const fhandle_t *fhp" "int flags" .Ft int .Fn fhstat "const fhandle_t *fhp" "struct stat *sb" .Ft int .Fn fhstatfs "const fhandle_t *fhp" "struct statfs *buf" .Sh 解説 これらの関数はファイルハンドル .Fa fhp で渡されたファイルにアクセスする手段を提供します。 この方法はディレクトリのアクセス制限をバイパスするので、 これらのシステムコールの使用はスーパユーザに限定されています。 .Pp .Fn fhopen は .Fa fhp が参照するファイルを .Fa flags で指定にしたがって読み出し / 書き込み / 読み書き用にオープンし、 呼び出したプロセスにファイル記述子を返します。 .Fa flags は、 .Xr open 2 の呼び出す時に使われる各種フラグの .Em or をとって指定します。 ただし、フラグのうち .Dv O_CREAT は使えません。 .Pp .Fn fhstat と .Fn fhstatfs はオープンされたファイルではなく、 .Fa fhp によって指し示されたファイルの情報を返すことを除いて .Xr fstat 2 と .Xr fstatfs 2 呼び出しと同等の機能を提供します。 .Sh 戻り値 処理が正常に完了すると、 .Fn fhopen はオープンされたファイルの記述子を返します。 そうでない場合は -1 が返され、エラーを示すために .Va errno が 設定されます。 .Pp .Rv -std fhstat fhstatfs .Sh エラー .Xr open 2 , .Xr fstat 2 , .Xr fstatfs 2 のそれぞれの返すエラーに加えて .Fn fhopen , .Fn fhstat , .Fn fhstatfs は次のエラーを返します。 .Bl -tag -width Er .It Bq Er EINVAL .Fn fhopen が .Dv O_CREAT をセットされて呼び出されました。 .It Bq Er ESTALE ファイルハンドル .Fa fhp はもう有効ではありません。 .El .Sh 関連項目 .Xr fstat 2 , .Xr fstatfs 2 , .Xr getfh 2 , .Xr open 2 .Sh 歴史 関数 .Fn fhopen , .Fn fhstat , .Fn fhstatfs は .Nx 1.5 で最初に登場しました。Alfred Perlstein が .Fx 4.0 に移植しました。 .Sh 作者 このマニュアルページは .An William Studenmund によって .Nx 用に書かれました。