バッファー要素の形式 (SNADIS)

このトピックでは、バッファー要素の先頭で常に発生する共通フィールドを示します。 Dataruフィールドには、特定のメッセージに固有の情報が含まれています。 個々のメッセージ形式の詳細については、「 Snadis メッセージ形式」を参照してください。

フィールド Type 説明
PTRBFELT hdreptr – > elteptr チェーン内の次のバッファー要素へのポインター。 この要素がチェーン内の最後の要素または唯一の要素である場合は NULL。
INTEGER hdreptr – > startd この要素の有効なデータの先頭。 有効なデータの最初のバイトの dataru へのインデックス。
INTEGER hdreptr – > endd この要素の有効なデータの末尾。 有効なデータの最後のバイトの dataru へのインデックス。
CHAR hdreptr – > trpad 埋め込みバイト (予約済み)。
CHAR [SNANBEDA] hdreptr – > dataru この要素のデータを格納している文字配列。 有効なデータが要素全体を占有していない可能性があることに注意してください。 Startdフィールドとenddフィールドは、有効なデータの先頭と末尾の配列にインデックスを提供します。 定数 SNANBEDA は SNA_DLC 268 として定義されています。

次の情報は、メッセージの形式を解釈するのに役立ちます。

  • 2バイトを占有するフィールドは、ソフトウェアが実行されるプロセッサによって使用される通常の向きに関係なく、最下位バイトアドレスの最上位バイトの arithmetically で表されます。 つまり、2バイト値0x1234 には、最下位バイトアドレスのバイト0x12 があります。 これに対する例外は、要素の startd フィールドと endd フィールドです。このフィールドは常に、低バイトの高バイト方向 (Intel プロセッサの通常の向き) に格納されます。

  • Startdおよびenddフィールドによって示されるオフセットは、dataru の最初のバイトをオフセット1として表現されます。有効なデータの最初のバイトは、 dataru (startd-1)にあります。 たとえば、 startd が11で endd が18の場合、 dataru は有効なデータではなく10バイトで始まり、その後に有効なデータが8バイト続きます。

    「メッセージ形式の概要」に示されているメッセージ形式の例では、各要素は13のstartdを持ち、有効なデータの先頭の前に12バイトの埋め込みが示されています。 これにより、256バイトのデータの空き領域が残るため、要素データ (この例では300バイト) には2つの要素が必要です。