FSTAT

可搬用関数:外部装置番号で指定されたファイルの詳細情報を返します。

モジュールUSE DFPORT

形式

result = FSTAT (lunit, statb)

lunit
(入力) INTEGER(4)。検証するファイルの外部装置番号。

statb
(出力) INTEGER(4)12 の大きさを持つ 1 次元配列。以下の表は,配列の要素を示しています。

statb 要素 返し値
statb(1) ファイルがある装置 (常に 0)
statb(2) Inode 番号 (常に 0)
statb(3) ファイル・タイプ,属性,参照制御情報 (以下の表を参照)
statb(4) リンク数 (常に 1)
statb(5) 所有者のユーザー ID (常に 1)
statb(6) 所有者のグループ ID (常に 1)
statb(7) ファイルがあるロー装置 (常に 1)
statb(8) ファイルの大きさ (バイト)
statb(9) 最後に参照した時刻 (非 FAT ファイル・システムのみ。FAT システムでは statb(10) と同じ。)
statb(10) 最後に修正した時刻
statb(11) 最後に状態が変更された時刻 (statb(10) と同じ)
statb(12) ブロック・サイズ (常に 1)

結果

結果の型は INTEGER(4) です。成功した場合,ゼロが返され,そうでなければ,以下のようなエラー・コードが返されます。

モードは,以下の定数 (モジュール DFPORT がシンボル名を持つパラメタを提供) の IOR で構成されるビットマップです。

シンボル名 定数 説明 注意
S_IFMT O'0170000' ファイル・タイプ  
S_IFDIR O'0040000' ディレクトリ  
S_IFCHR O'0020000' 特殊文字 決して設定されません
S_IFBLK O'0060000' 特殊ブロック 決して設定されません
S_IFREG O'0100000' 一般  
S_IFLNK O'0120000' シンボル・リンク 決して設定されません
S_IFSOCK O'0140000' ソケット 決して設定されません
S_ISUID O'0004000' 実行時のユーザー ID を設定 決して設定されません
S_ISGID O'0002000' 実行時のグループ ID を設定 決して設定されません
S_ISVTX O'0001000' スワップしたテキストを保存 決して設定されません
S_IRWXU O'0000700' 所有者のファイル保護  
S_IRUSR, S_IREAD O'0000400' 所有者の読み取り保護 常に真
S_IWUSR, S_IWRITE O'0000200' 所有者の書き込み保護  
S_IXUSR, S_IEXEC O'0000100' 所有者の実行保護 S_IREAD が設定されていれば設定
S_IRWXG O'0000070' グループのファイル保護 S_IRWXU と同じ
S_IRGRP O'0000040' グループの読み取り保護 S_IRUSR と同じ
S_IWGRP O'0000020' グループの書込み保護 S_IWUSR と同じ
S_IXGRP O'0000010' グループの実行保護 S_IXUSR と同じ
S_IRWXO O'0000007' 他のファイル保護 S_IRWXU と同じ
S_IROTH O'0000004' 他の読み取り保護 S_IRUSR と同じ
S_IWOTH O'0000002' 他の書き込み保護 S_IWUSRと同じ
S_IXOTH O'0000001' 他の実行保護 S_IXUSR と同じ

時刻値は,グリニッジ平均時 1970 年 1 月 1 日 0:00:00 からの秒数として返されます。

互換性

CONSOLE STANDARD GRAPHICS QUICKWIN GRAPHICS WINDOWS DLL LIB

関連情報

INQUIRE

	USE DFPORT
	integer(4) statarray(12), istat
	OPEN (unit=1,file='datfile.dat')
	ISTAT = FSTAT (1, statarray)
	if (.NOT. istat) then
	    print *, statarray
	end if