1.5.3.2.5 __S99TXTPP

__S99TXTPP要素は、テキスト・ユニット・ポインタの配列を含む、アドレス指定可能な記憶域をポイントします。次の図は、テキスト・ユニット・ポインタ・リストとテキスト・ユニットのフォーマットを示しています。

図1-1 テキスト・ユニット・ポインタ・リストとテキスト・ユニット

テキスト・ユニット・ポインタ・リストとテキスト・ユニットの図

ノート:

メインフレームでは、高位ビットが指定されたテキスト・ユニット・ポインタ・リストの最後のエントリが1に設定されます。ただし、Linuxではこの設定は機能しません。そのため、テキスト・ユニット・ポインタ・リストの最後のエントリには値0xffffffffffffffffが指定されます。

表1‑14 テキスト・ユニット

オフセット 長さ 説明
+0 2 テキスト・ユニット・キー。このキーは、テキスト・ユニットに含まれている情報のタイプを識別します。
+2 2 数値。数値フィールドには、後続の長さとデータのペアの数が含まれています。ほとんどのテキスト・ユニットには、1つの長さフィールドと1つのデータ・フィールドのみがあります。
+4 2 長さ。多数ある可能性のある長さフィールドの最初の1つです。長さ値には、その直後にあるデータ・フィールドの長さのみが含まれます。
+6 n データ。多数ある可能性のあるデータ・フィールドの最初の1つ。データ・フィールドには、渡されるパラメータ情報が含まれます。
+(8+n)   数値フィールドが複数のエントリの存在を示している場合の2番目の長さとデータのエントリ。

Cプログラムでのデータ型定義は、次のとおりです。

Cプログラムでのデータ型定義のリスト

struct S99TU {                   /* Array of text units                           */
 unsigned short key;             /* Key for type of parameter                     */
 unsigned short number;          /* Number of len/parm pairs to follow            */
 struct {
 unsigned short len;             /* Length of the following parm                  */
 char parm[MAXTULEN];            /* Parameter value                               */
 } ent;
};

COBOLプログラムでのデータ型定義は、次のとおりです。

COBOLプログラムでのデータ型定義のリスト

01 tu-ptr-list.
       03 tu-ptr-xxx    pointer.
       ……
       03               pic x(8) value x'ffffffffffffffff'.

* Text Unit for allocate DSN - Data Set Name
01 ws-aldsn-TU-xxx.
       03 ws-aldsn-TU-xxx-key       pic 9(4) comp-5.
       03 ws-aldsn-TU-xxx-num       pic 9(4) comp-5.
       03 ws-aldsn-TU-xxx-ent-len   pic 9(4) comp-5.
       03 ws-aldsn-TU-xxx-ent-txt   pic x(80).
 
……
set tu-ptr-xxx               to address of ws-aldsn-TU-xxx.
set s99rb-s99tu-array-ptr    to address of tu-ptr-list.