PATH # <directory names>
INCL # <file names>
EOVC szUnknown
GEND 0
PATH と INCL はデータ ブロック(チャンク)であるため、メモリ境界の整合情報をグループから継承します。
EOVC と GEND は fifo ファイル(パイプなど)で使用されます。fifo でサイズを指定せずにグループやチャンクを作成すると、次のようになります。
FORM sz_Fifo TYPE ; start of form
BLCK sz_Fifo data ; block 1
EOVC sz_Unknown ; end of block 1
.... ;
BLCK sz_Fifo data ; block 2
EOVC sz_Unknown ; end of block 2
GEND 0 ; no more block in this FORM
EOVC は単に可変長チャンクの終わりを表すマーカーですが、GEND は現在のグループを閉じるリクエストと解釈されるため、1 つ上のレベルに移動します。
シーク可能なファイルを書き込むときにブロックのサイズを指定しない場合は、fifo と同様のファイル構造が作成されますが、EOVC は書き込まれません。こうすると、グループのヘッダー情報にランダム アクセスしなくてもグループの終わりを検出できるため、作成途中のファイルを解析するときなどに非常に便利です。ほかの標準的な IFF パーサーからエラーが報告されないように、GEND のサイズ フィールドはゼロに設定されます。EOVC のサイズ フィールドの値を標準的な IFF パーサーで読み取ると、fifo 拡張機能が実装されていない場合は、エラーが発生します。
サイズが指定されていないブロックをスキップする確実な方法はないため、fifo ファイルの書き込み側プロセスと読み取り側プロセスの間でファイルの内容を十分に確認するようなロジックを組み込むことを強くお勧めします。
最新の IFF パーサーにはファイル内の EVOC を検出する機能が備わっています。ただし、ブロックのスキップ操作は大量の読み取り処理と比較処理を伴うため、性能が著しく低下することに注意してください。また、スキップ操作は 100% 信頼できるものではないことにも注意してください。