# マニュアルページ stat.3f

## 名前

         stat, lstat, fstat - ファイル状態の取得

## 形式

         integer*4 function stat(name,statb)
         character*(*) name 0.br integer*4 statb(13)

         integer*4 function lstat(name,statb)
         character*(*) name
         integer*4 statb(13)

         integer function fstat(lunit,statb)
         integer*4 statb(13)

## 機能説明

         これらのルーチンは、ファイルに関する詳細情報を返します。

         関数 stat と lstat は、ファイル名 name による問い合わせを 行
         います。

         関数 fstat は、FORTRAN 論理ユニット lunit による問い合わせを
         行います。

         各関数の値は、正常終了の場合はゼロ、それ以外の場合は該当する
         エラーコードになります。

         変数 statb には、ファイルの状態構造が格納されます。

         呼び出しシーケンス

         stat:
         integer*4 stat, statb(13)
         character name*(*)
         ierr = stat ( name, statb )

         fstat:
         integer*4 fstat, logunit, statb(13)
         ierr = fstat ( logunit, statb )

         lstat:
         integer*4 lstat, statb(13)
         character name*(*)
         ierr = lstat ( name, statb )

         配列 statb に返される情報の意味は、 stat (2) で取り上げら れ
         ている構造体 stat の説明にあるとおりです。予備の値は含まれて
         いません。順序は、次のとおりです。

                   statb(1)        存在するデバイスの i ノード
                   statb(2)        ファイルの i ノード番号
                   statb(3)        保護
                   statb(4)        ファイルへのハードリンクの数
                   statb(5)        オーナーのユーザー ID
                   statb(6)        オーナーのグループ ID
                   statb(7)        デバイスのタイプ (i ノードがデバイスの場合)
                   statb(8)        ファイルの合計サイズ
                   statb(9)        ファイルの最終アクセス時刻
                   statb(10)       ファイルの最終変更時刻
                   statb(11)       ファイルの最終状態変更時刻
                   statb(12)       ファイルシステム入出力オプションの最適ブロックサイズ
                   statb(13)       割り当てられたブロックの実際の数

## 注意事項

         これらのルーチンは、INTEGER*4 データの範囲を超えるような「大
         き な」ファイル、つまり、2 GB 以上あるようなファイル上で使用
         すると、エラーや警告メッセージを返さないで、ファイル全体のサ
         イズ (statb(8)) を 32 ビットに切り上げた値を返します。このよ
         うな大規模ファイルを使用することができるのは、Solaris 2.6 以
         降のオペレーティング環境です。大規模ファイルを使用する際は、
         stat64(3F)、 lstat64(3F)、 fstat64(3F) などを使用してくだ さ
         い。

         lstat が lstat(2) を呼び出す際に、 stat は libc ライブラリに
         ある stat(2) を呼び出します。これら 2 つの libc 関数の違いに
         ついては、 stat(2) のマニュアルページを参照してください。 つ
         まり、ファイルがシンボリックリンクの場合、結果が異なります。
         lstat はリンクに関する情報を返しますが、 stat はリンクが参照
         するファイルについての情報を返します。

## ファイル

         libfui.a

## 関連項目

         stat(2)、 access(3F)、 perror(3F)、 time(3F)
         stat64(3F)、 lstat64(3F)、 fstat64(3F)

## 使用上の留意点

         パス名の長さは、 <sys/param.h> で定義されてい る  MAXPATHLEN
         の値を超えないようにしてください。