nAG Fortran コンパイラ 7.2 マニュアル

 
ナビゲーション:前へ   上へ   次へ

7.2 f90_unix_dir

このモジュールは ISO/IEC 9945-1:1990 Portable Operating System Interface (POSIX) - Part 1: System Application Program Interface (API) [C Language] で詳細に規定される機能に対するFortran APIの一部を提供するものです。

このモジュール中の手続きはセクション 5.2 ワーキングディレクトリ、 5.3.3 ファイル作成マスクの設定、 5.3.4 ファイルへのリンク、 5.4 特殊ファイルの作成、 5.5 ファイルの削除 に由来するものです。

エラー処理についてはF90_UNIX_ERRNOに記述されています。 省略可能なERRNO引数を用いた手続きに対し、エラーが生じERRNO が存在しなかった場合には、プログラムは終了させられる点に注意してください。

このモジュール中のすべての手続きは総称的であると同時に個別的でもあります。

7.2.1 パラメータ

  INTEGER,PARAMETER :: MODE_KIND
ファイルアクセス権限(ISO/IEC 9945-1参照)を表すのに使用される整数種別。 個別のアクセス権限に対応したパラメータはF90_UNIX_FILEに含まれています。

7.2.2 手続き

  SUBROUTINE CHDIR(PATH,ERRNO)
  CHARACTER(*),INTENT(IN) :: PATH
  INTEGER(error_kind),OPTIONAL,INTENT(OUT) :: ERRNO
現行のワーキングディレクトリをPATHにセットします。 PATH中の末尾の空白は意味を持つ場合があるので注意してください。 ERRNOが存在する場合にはエラーステータスを受け取ることができます。

起りうるエラー条件にはEACCES, ENAMETOOLONG, ENOTDIR, ENOENTがあります(F90_UNIX_ERRNO参照)。

  SUBROUTINE GETCWD(PATH,LENPATH,ERRNO)
  CHARACTER(*),OPTIONAL,INTENT(OUT) :: PATH
  INTEGER(int32),OPTIONAL,INTENT(OUT) :: LENPATH
  INTEGER(error_kind),OPTIONAL,INTENT(OUT) :: ERRNO
現行のワーキングディレクトリ情報にアクセスします。 PATHが存在する場合には現行ワーキングディレクトリの名称を受け取る ことができます。その際、現行ワーキングディレクトリ名称の長さがPATH の長さと異なった場合には、空白の追加、あるいは切取りが適宜行われます。 LENPATHが存在する場合には現行ワーキングディレクトリ名称の長さを 受け取ることができます。 ERRNOが存在する場合にはエラーステータスを受け取ることができます。

PATH, LENPATHが共に存在しなかった場合にはエラーEINVAL が発生します。現行ワーキングディレクトリへのパスがサーチできなかった場合 にはエラーEACCESが発生します。PATHが存在するものの LENPATHが存在しなかった場合で、かつPATHが現行ワーキングディ レクトリ名称よりも短かった場合には、エラーERANGEが発生します。 (F90_UNIX_ERRNO参照)

  SUBROUTINE LINK(EXISTING,NEW,ERRNO)
  CHARACTER(*),INTENT(IN) :: EXISTING,NEW
  INTEGER(error_kind),OPTIONAL,INTENT(OUT) :: ERRNO
既存のファイル(EXISTINGで名称指定されたもの)に対し新たなリンク (その名称はNEWで与えられる)を作成します。

起りうるエラーにはEACCES, EEXIST, EMLINK, ENAMETOOLONG, ENOENT, ENOSPC, ENOTDIR, EPERM, EROFS, EXDEVがあります (F90_UNIX_ERRNO参照)。

  SUBROUTINE MKDIR(PATH,MODE,ERRNO)
  CHARACTER(*),INTENT(IN) :: PATH
  INTEGER(mode_kind),INTENT(IN) :: MODE
  INTEGER(error_kind),OPTIONAL,INTENT(OUT) :: ERRNO
PATHで指定された名称を持ち、モード(F90_UNIX_FILE参照)が MODEの新たなディレクトリを作成します。 PATH中の末尾の空白は意味を持つ場合があるので注意してください。

起りうるエラーにはEACCES, EEXIST, EMLINK, ENAMETOOLONG, ENOENT, ENOSPC, ENOTDIR, EROFSがあります(F90_UNIX_ERRNO参照)。

  SUBROUTINE MKFIFO(PATH,MODE,ERRNO)
  CHARACTER(*),INTENT(IN) :: PATH
  INTEGER(mode_kind),INTENT(IN) :: MODE
  INTEGER(error_kind),OPTIONAL,INTENT(OUT) :: ERRNO
PATHで指定された名称を持ち、モードがMODEの新たなFIFO特殊 ファイルを作成します。 PATH中の末尾の空白は意味を持つ場合があるので注意してください。

起りうるエラーにはEACCES, EEXIST, ENAMETOOLONG, ENOENT, ENOSPC, ENOTDIR, EROFSがあります (F90_UNIX_ERRNO参照)。

  SUBROUTINE RENAME(OLD,NEW,ERRNO)
  CHARACTER(*),INTENT(IN) :: OLD
  CHARACTER(*),INTENT(IN) :: NEW
  INTEGER(error_kind),OPTIONAL,INTENT(OUT) :: ERRNO
ファイル名称をOLDからNEWに変更します。 ファイルNEWが存在した場合には、それは最初に削除されます。 OLDまたはNEW中の末尾の空白は意味を持つ場合があるので注意 してください。

起りうるエラーにはEACCES, EBUSY, EEXIST, ENOTEMPTY, EINVAL, EISDIR, ENAMETOOLONG, EMLINK, ENOENT, ENOSPC, ENOTDIR, EROFS , EXDEVがあります(F90_UNIX_ERRNO参照)。

  SUBROUTINE RMDIR(PATH,ERRNO)
  CHARACTER(*),INTENT(IN) :: PATH
  INTEGER(error_kind),OPTIONAL,INTENT(OUT) :: ERRNO
ディレクトリPATHを削除します。 PATH中の末尾の空白は意味を持つ場合があるので注意してください。

起りうるエラーにはEACCES, EBUSY, EEXIST, ENOTEMPTY, ENAMETOOLONG, ENOENT, ENOTDIR, EROFSがあります(F90_UNIX_ERRNO参照)。

  SUBROUTINE UMASK(CMASK,PMASK)
  INTEGER(mode_kind),INTENT(IN) :: CMASK
  INTEGER(mode_kind),OPTIONAL,INTENT(OUT) :: PMASK
呼出し元プロセスのファイルモード作成マスクをCMASKにセットします。 PMASKが存在した場合には、該当マスクのそれまでの値を受け取ること ができます。

  SUBROUTINE UNLINK(PATH,ERRNO)
  CHARACTER(*),INTENT(IN) :: PATH
  INTEGER(error_kind),OPTIONAL,INTENT(OUT) :: ERRNO
ファイルPATHを削除します。 PATH中の末尾の空白は意味を持つ場合があるので注意してください。

起りうるエラーにはEACCES, EBUSY, ENAMETOOLONG, ENOENT, ENOTDIR, EPERM, EROFSがあります (F90_UNIX_ERRNO参照)。

Privacy Policy  /  Trademarks