API を使用した操作の実行
統合ファイル・システム・オブジェクトに対する操作を実行する多くのアプリケーション・プログラミング・インターフェース (API) は、C 言語の関数形式になっています。
選択できる関数の種類には以下の 2 種類あり、どちらの関数も Integrated Language Environment® (ILE) C を使用して作成されたプログラム内で使用できます。
- IBM® i オペレーティング・システムに組み込まれている統合ファイル・システム C 関数。
- ILE C ライセンス・プログラムで提供される C 関数。
統合ファイル・システムがサポートする出口プログラムについての詳細は、表 2を参照してください。
統合ファイル・システム機能が作動するのは、統合ファイル・システム・ストリーム入出力サポートを介した場合のみです。 以下の API がサポートされています。
| 関数 | 説明 |
|---|---|
| access() | ファイルのアクセス可能性を判別する |
| accessx() | ユーザーのクラスのファイルのアクセス可能性を判別する |
| chdir() | 現行ディレクトリーの変更 |
| chmod() | ファイル権限を変更する |
| chown() | ファイルの所有者とグループを変更する |
| close() | ファイル記述子をクローズする |
| closedir() | ディレクトリーをクローズする |
| creat() | 新しいファイルを作成する、または既存のファイルに上書きする |
| creat64() | 新しいファイルを作成する、または既存のファイルに上書きする (大容量ファイル対応) |
| DosSetFileLocks() | ファイルのバイト範囲をロックおよびアンロックする |
| DosSetFileLocks64() | ファイルのバイト範囲をロックおよびアンロックする (大容量ファイル対応) |
| DosSetRelMaxFH() | ファイル記述子の最大数を変更する |
| dup() | オープン・ファイル記述子を複写する |
| dup2() | オープン・ファイル記述子を別の記述子に複写する |
| faccessx() | 記述子でユーザーのクラスのファイルのアクセス可能性を判別する |
| fchdir() | 記述子で現行ディレクトリーを変更する |
| fchmod() | 記述子でファイル権限を変更する |
| fchown() | 記述子でファイルの所有者とグループを変更する |
| fclear() | ファイルをクリアする |
| fclear64() | ファイルをクリアする (ラージ・ファイル使用可能) |
| fcntl() | ファイル制御処置を実行する |
| fpathconf() | 構成可能なパス名変数を記述子によって入手する |
| fstat() | 記述子によってファイル情報を入手する |
| fstat64() | 記述子によってファイル情報を入手する (ラージ・ファイル使用可能) |
| fstat64_time64() | 記述子によってファイル情報を入手する (ラージ・ファイルおよび time64_t 使用可能) |
| fstatvfs() | 記述子から情報を入手する |
| fstatvfs64() | 記述子から情報を入手する (64 ビット使用可能) |
| fsync() | ファイルへの変更を同期化する |
| ftruncate() | ファイルを切り捨てる |
| ftruncate64() | ファイルを切り捨てる (ラージ・ファイル使用可能) |
| getcwd() | 現行ディレクトリーのパス名を入手する |
| getegid() | 有効なグループ ID を入手する |
| geteuid() | 有効なユーザー ID を入手する |
| getgid() | 実際のグループ ID を入手する |
| getgrgid() | グループ ID を使用してグループ情報を入手する |
| getgrgid_r() | グループ ID を使用してグループ情報を入手する (スレッド・セーフ) |
| getgrgid_r_ts64() | グループ ID を使用してグループ情報を入手する (8 バイト・ポインターによるスレッド・セーフ) |
| getgrnam() | グループ名を使用してグループ情報を入手する |
| getgrnam_r() | グループ名を使用してグループ情報を入手する (スレッド・セーフ) |
| getgrnam_r_ts64() | グループ名を使用してグループ情報を入手する (8 バイト・ポインターによるスレッド・セーフ) |
| getgroups() | グループ ID を入手する |
| getpwnam() | ユーザー名のユーザー情報を入手する |
| getpwnam_r() | ユーザー名のユーザー情報を入手する (スレッド・セーフ) |
| getpwnam_r_ts64() | ユーザー名のユーザー情報を入手する (8 バイト・ポインターによるスレッド・セーフ) |
| getpwuid() | ユーザー ID のユーザー情報を入手する |
| getpwuid_r() | ユーザー ID のユーザー情報を入手する (スレッド・セーフ) |
| getpwuid_r_ts64() | ユーザー ID のユーザー情報を入手する (8 バイト・ポインターによるスレッド・セーフ) |
| getuid() | 実際のユーザー ID を入手する |
| givedescriptor() | 別のジョブにファイル・アクセス権を与える |
| ioctl() | ファイル入出力制御処置を行う |
| lchown | ファイルまたはシンボリック・リンクの所有者とグループを変更する |
| link() | ファイルへのリンクを設定する |
| lseek() | ファイルの読み取り/書き込みオフセットを設定する |
| lseek64() | ファイルの読み取り/書き込みオフセットを設定する (ラージ・ファイル使用可能) |
| lstat() | ファイル情報またはリンク情報を入手する |
| lstat64() | ファイル情報またはリンク情報を入手する (ラージ・ファイル使用可能) |
| lstat64_time64() | ファイル情報またはリンク情報を入手する (ラージ・ファイルおよび time64_t 使用可能) |
| mkdir() | ディレクトリーを作成する |
| mkfifo() | FIFO 特殊ファイルを作成する |
| mmap() | メモリー・マップを作成する |
| mmap64() | メモリー・マップを作成する (ラージ・ファイル使用可能) |
| mprotect() | メモリー・マップ保護を変更する |
| msync() | メモリー・マップを同期化する |
| munmap() | メモリー・マップを除去する |
| open() | ファイルをオープンする |
| open64() | ファイルをオープンする (ラージ・ファイル使用可能) |
| opendir() | ディレクトリーをオープンする |
| pathconf() | 構成可能なパス名変数を入手する |
| pipe() | プロセス間チャネルを作成する |
| pread() | オフセットを指定して記述子から読み取る |
| pread64() | オフセットを指定して記述子から読み取る (ラージ・ファイル使用可能) |
| pwrite() | オフセットを指定して記述子に書き込む |
| pwrite64() | オフセットを指定して記述子に書き込む (ラージ・ファイル使用可能) |
| QjoEndJournal() | ジャーナル処理の終了 |
| QjoRetrieveJournal Information() | ジャーナル情報を検索する |
| QjoRetrieveJournalEntries() | ジャーナル項目の検索 |
| QJORJIDI() | ジャーナル ID 情報を検索する |
| QJOSJRNE() | ジャーナル項目を送信する |
| QjoStartJournal() | ジャーナル処理の開始 |
| QlgAccess() | ファイルのアクセス可能性を判別する (NLS 化パス名を使用) |
| QlgAccessx() | ユーザーのクラスのファイルのアクセス可能性を判別する (NLS 化パス名を使用) |
| QlgChangeAuthority() | 権限を変更する (NLS 化パス名を使用) |
| QlgChdir() | 現行ディレクトリーを変更する (NLS 化パス名を使用) |
| QlgChmod() | ファイル許可を変更する (NLS 化パス名を使用) |
| QlgChown() | ファイルの所有者およびグループを変更する (NLS 化パス名を使用) |
| QlgCreat() | 新規ファイルを作成するか、既存のファイルに上書きする (NLS 化パス名を使用) |
| QlgCreat64() | 新規ファイルを作成するか、既存のファイルに上書きする (ラージ・ファイル使用可能、NLS 化パス名を使用) |
| QlgCvtPathToQSYSObjName() | 統合ファイル・システムのパス名を QSYS オブジェクト名に解決する (NLS 化パス名を使用) |
| QlgGetAttr() | オブジェクトのシステム属性を入手する (NLS 化パス名を使用) |
| QlgGetcwd() | 現行ディレクトリーのパス名を入手する (NLS 化パス名を使用) |
| QlgGetPathFromFileID() | オブジェクトのパス名をファイル ID から入手する (NLS 化パス名を使用) |
| QlgGetpwnam() | ユーザー名についてのユーザー情報を入手する (NLS 化パス名を使用) |
| QlgGetpwnam_r() | ユーザー名についてのユーザー情報を入手する (NLS 化パス名を使用) |
| QlgGetpwuid() | ユーザー ID についてのユーザー情報を入手する (NLS 化パス名を使用) |
| QlgGetpwuid_r() | ユーザー ID についてのユーザー情報を入手する (NLS 化パス名を使用) |
| QlgLchown() | シンボリック・リンクの所有者およびグループを変更する (NLS 化パス名を使用) |
| QlgLink() | ファイルへのリンクを作成する (NLS 化パス名を使用) |
| QlgLstat() | ファイル情報またはリンク情報を入手する (NLS 化パス名を使用) |
| QlgLstat64() | ファイル情報またはリンク情報を入手する (ラージ・ファイル使用可能、NLS 化パス名を使用) |
| QlgLstat64_time64() | ファイル情報またはリンク情報を入手する (ラージ・ファイルおよび time64_t 使用可能、NLS 化パス名を使用) |
| QlgMkdir() | ディレクトリーを作成する (NLS 化パス名を使用) |
| QlgMkfifo() | FIFO 特殊ファイルを作成する (NLS 化パス名を使用) |
| QlgOpen() | ファイルをオープンする (NLS 化パス名を使用) |
| QlgOpen64() | ファイルをオープンする (ラージ・ファイル使用可能、NLS 化パス名を使用) |
| QlgOpendir() | ディレクトリーをオープンする (NLS 化パス名を使用) |
| QlgPathconf() | 構成可能なパス名変数を入手する (NLS 化パス名を使用) |
| QlgProcessSubtree() | ディレクトリー・ツリー内のディレクトリーまたはオブジェクトを処理する (NLS 化パス名を使用) |
| QlgReaddir() | ディレクトリー項目を読み取る (NLS 化パス名を使用) |
| QlgReaddir_r() | ディレクトリー項目を読み取る (スレッド・セーフ、NLS 化パス名を使用) |
| QlgReadlink() | シンボリック・リンクの値を読み取る (NLS 化パス名を使用) |
| QlgRenameKeep() | ファイルまたはディレクトリーの名前を変更する。 名前がすでに存在していれば、新規のもの を保持する (NLS 化パス名を使用) |
| QlgRenameUnlink() | ファイルまたはディレクトリーの名前を変更する。 名前がすでに存在していれば、新規のもの をリンク解除する (NLS 化パス名を使用) |
| QlgRmdir() | ディレクトリーを除去する (NLS 化パス名を使用) |
| QlgSaveStgFree() | オブジェクト・データを保管してその記憶域を解放する (NLS 化パス名を使用) |
| QlgSetAttr() | オブジェクトのシステム属性を設定する (NLS 化パス名を使用) |
| QlgStat() | ファイル情報を入手する (NLS 化パス名を使用) |
| QlgStat64() | ファイル情報を入手する (ラージ・ファイル使用可能、NLS 化パス名を使用) |
| QlgStat64_time64() | ファイル情報を入手する (ラージ・ファイルおよび time64_t 使用可能、NLS 化パス名を使用) |
| QlgStatvfs() | ファイル・システム情報を入手する (NLS 化パス名を使用) |
| QlgStatvfs64() | ファイル・システム情報を入手する (ラージ・ファイル使用可能、NLS 化パス名を使用) |
| QlgSymlink() | シンボリック・リンクを作成する (NLS 化パス名を使用) |
| QlgUnlink() | ファイルをリンク解除する (NLS 化パス名を使用) |
| QlgUtime() | ファイルのアクセス回数および変更回数を設定する (NLS 化パス名を使用) |
| QlgUtime_time64() | ファイルのアクセス回数および変更回数を設定する (time64_t 使用可能、NLS 化パス名を使用) Qp0lReaddir() ディレクトリー項目を拡張子と一緒に読み取る |
| QP0FPTOS() | 各種ファイル・システム機能を実行する |
| QP0LCHSG() | スキャン・シグニチャーを変更する |
| Qp0lCvtPathToSYSObjName() | 統合ファイル・システムのパス名を QSYS オブジェクト名に解決する |
| QP0LFLOP() | オブジェクトに各種操作を実行する |
| Qp0lGetAttr() | オブジェクトのシステム属性を入手する |
| Qp0lGetPathFromFileID() | オブジェクトのパス名をファイル ID から入手する |
| Qp0lOpen() | パス名が NLS 化されたファイルをオープンする |
| Qp0lProcessSubtree() | ディレクトリー・ツリー内のディレクトリーまたはオブジェクトを処理する |
| Qp0lReaddir() | ディレクトリー項目を拡張子と一緒に読み取る |
| Qp0lRenameKeep() | ファイルまたはディレクトリーの名前を変更する。 名前がすでに存在していれば、新規のもの を保持する |
| Qp0lRenameUnlink() | ファイルまたはディレクトリーの名前を変更する。 名前がすでに存在していれば、新規のもの をリンク解除する |
| QP0LROR() | オブジェクト参照子を検索する |
| QP0LRRO() | 参照されるオブジェクトを検索する |
| QP0LRTSG() | スキャン・シグニチャーを検索する |
| Qp0lSaveStgFree() | オブジェクト・データを保管しその記憶域を解放する |
| Qp0lSetAttr() | オブジェクトのシステム属性を設定する |
| Qp0lUnlink() | パス名が NLS 化されたファイルをリンク解除する |
| Qp0zPipe() | ソケットを使ったプロセス間チャネルを作成する |
| qsysetegid() | 有効なグループ ID を設定する |
| qsysetgroups() | 補足グループ ID を設定する |
| qsyseteuid() | 有効なユーザー ID を設定する |
| qsysetgid() | グループ ID を設定する |
| qsysetregid() | 実際の、有効なグループ ID を設定する |
| qsysetreuid() | 実際の、有効なユーザー ID を設定する |
| qsysetuid() | ユーザー ID を設定する |
| QZipUnzip() | ファイルとディレクトリーを圧縮解除する |
| QzipZip() | ファイルとディレクトリーを圧縮する |
| QZNFNFSO() | NFS オプションを実行する |
| QZNFRTVE() | NFS エクスポート情報を検索する |
| read() | ファイルから読み取る |
| readdir() | ディレクトリー項目を読み取る |
| readdir_r() | ディレクトリー項目 (スレッド・セーフ) を読み取る |
| readdir_r_ts64() | ディレクトリー項目を読み取る (8 バイト・ポインターによるスレッド・セーフ) |
| readlink() | シンボリック・リンクの値を読み取る |
| readv() | ファイル (ベクトル) から読み取る |
| rename() | ファイルまたはディレクトリーの名前を変更する。 Qp0lRenameKeep() または Qp0lRenameUnlink() のセマンティクスを持つように定義することができる |
| rewinddir() | ディレクトリー・ストリームをリセットする |
| rmdir() | ディレクトリーを削除する |
| select() | 複数のファイル記述子の入出力状況を調べる |
| stat() | ファイル情報を入手する |
| stat64() | ファイル情報を入手する (ラージ・ファイル使用可能) |
| stat64_time64() | ファイル情報を入手する (ラージ・ファイルおよび time64_t 使用可能) |
| statvfs() | ファイル・システム情報を入手する |
| statvfs64() | ファイル・システム情報を入手する (ラージ・ファイル使用可能) |
| symlink() | シンボリック・リンクを設定する |
| sysconf() | システム構成変数を入手する |
| takedescriptor() | 別のジョブからファイル・アクセス権を受け取る |
| umask() | ジョブに権限マスクを設定する |
| unlink() | ファイルへのリンクを除去する |
| utime() | ファイル・アクセスおよび修正回数を設定する |
| utime_time64() | ファイルのアクセス回数および変更回数を設定する (time64_t 使用可能) |
| write() | ファイルに書き込む |
| writev() | ファイル (ベクトル) に書き込む |
| 関数 | 説明 |
|---|---|
| クローズ時の統合ファイル・システム・スキャン出口プログラム | close() API などを使用したクローズ処理の間に呼び出されます。 この出口プログラムは、ユーザーが提供する必要があります。 |
| オープン時の統合ファイル・システム・スキャン出口プログラム | open() API などを使用したオープン処理の間に呼び出されます。 この出口プログラムは、ユーザーが提供する必要があります。 |
| パス名の処理 | API の検索の中で、 呼び出し側の選択基準に一致する各オブジェクトに対する Qp0lProcessSubtree() API によって呼び出されます。この出口プログラムは、ユーザーが提供する必要があります。 |
| 記憶域の空きの保管 | *STMF オブジェクト・タイプを保管 するために、Qp0lSaveStgFree() API によって呼び出されます。 この出口プログラムは、ユーザーが提供する必要があります。 |