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.
親トピック: SVC99パラメータ