FILE_MANAGER: PROCEDURE; DECLARE 1 FILE_IOCB BASED (IOCB_PTR), . . . OPEN: ENTRY (IOCB_PTR, FILE_PTR, OPEN_MODE); . . . RETURN; CLOSE: ENTRY(IOCB_PTR); . . . RETURN; READ_RECORD: ENTRY (IOCB_PTR, BUFFER_PTR, READ_COUNT); . . . END;
FILE_MANAGER は、次の 3 種類の呼び出しを処理するように設計された単一のプロシージャです。
呼び出しの種類ごとに個別のエントリが作成され、それぞれに独自のパラメーターがあります。
説明
ENTRY 文が外部プロシージャに含まれている場合、name の範囲は外部になります。ENTRY 文が内部プロシージャに含まれている場合、name の範囲は内部になります。
RETURNS オプションは、関数参照によって呼び出されるエントリ ポイントに必要であり、返される関数値のデータ型属性を指定します。RETURNS オプションは、CALL 文によって呼び出されるエントリ ポイント プロシージャでは無効になります。
COBOL NOMAP [map-list] オプション
FORTRAN NOMAPIN [map-list] オプション
TASK NOMAPOUT [map-list] オプション
NOEXECOPS オプション
OPTION(BYTEADDR) オプションは、ビット境界上に割り当てられた項目についてもバイト アドレスが確実に渡されるようにするために使用できます。このオプションが指定されていない場合、Open PL/I では、非整列ビット文字列のビット アドレスを渡します。このオプションが指定されている場合、Open PL/I では、非整列ビット文字列の先頭バイトのアドレスだけを渡します。
EXTERNAL または INTERNAL は、一方しか指定できず、トップレベルのプロシージャ、つまり、他のプロシージャの範囲内に含まれていないプロシージャで指定する必要があります。EXTERNAL が指定されている場合、そのプロシージャは、コンパイルされている現在のファイルの外部となり、他の個別にコンパイルされたプロシージャから呼び出すことができます。これはデフォルトの設定です。INTERNAL が指定されている場合、そのプロシージャは、現在のコンパイル内にある他のプロシージャからのみ呼び出すことができます。その名前はこのファイル外では使用できません。
詳細については、「データ型」の章の「エントリ データ」セクションおよび「宣言と属性」の章の「ENTRY」セクションを参照してください。