付録D 旧製品からの移行に関する注意事項

<この節の構成>
(1) ソースファイルの互換性
(2) 適用OSによる差異

(1) ソースファイルの互換性

バージョン6以前からバージョン7へ移行する場合の各種ソースファイルの互換性について説明します。

バージョン6以前からバージョン7へ移行する場合,バージョン6以前で使用していたソースファイルをそのまま使用できないことがあります。ソースファイルの互換性は,次の表に示すとおりです。

表D-1 バージョン6以前で使用していたソースファイルの互換性

ソースファイルを作成した言語互換性
C言語(32ビット)UAPおよびUOCのソースファイルを変更しないで使用できます。
COBOL言語UAPのソースファイルおよびMCF通信構成定義(プロトコル固有の定義)の定義ソースファイルを変更しないで使用できます。

(2) 適用OSによる差異

バージョン6以前のHI-UX/WE2版のTP1/NET/X25から,バージョン7のAIX版のTP1/NET/X25に移行する場合,次に示す内容に差異があるため,注意してください。

(a) UAPのインタフェース

UAPのインタフェースで,mcftalccnコマンドの-oオプションのctlheaderオペランドにuseを指定して,送受信データに制御ヘッダを付加する場合,制御ヘッダ内のエントリへの設定および参照方法に差異があります。

PVCを使用する場合
制御ヘッダの形式を定義している<dcmx25c.h>が異なります。
次の図に示すとおり,HI-UX/WE2版ではビットフィールド構造体ですが,AIX版ではchar型で表します。
[図データ]
各ビットへのアクセスは,ビット単位からバイト単位に変更となります。したがって,制御ヘッダ内への設定および参照は,ビット演算で設定および参照するようにします。
データパケットのQビット設定例(HI-UX/WE2)

dcmx25_ctlbit.q_bit = 1 ;

データパケットのQビット設定例(AIX)

dcmx25_ctlbit |= 0x80 ;

VCを使用する場合
制御ヘッダの形式を定義している<dcmx2m.h>が異なります。
次の図に示すとおり,HI-UX/WE2版ではビットフィールド構造体ですが,AIX版ではchar型で表します。
[図データ]
各ビットへのアクセスは,ビット単位からバイト単位に変更となります。したがって,制御ヘッダ内への設定および参照は,ビット演算で設定および参照するようにします。
データパケットのQビット設定例(HI-UX/WE2)

dcmx2m_ctlbit.q_bit = 1 ;

データパケットのQビット設定例(AIX)

dcmx2m_ctlbit |= 0x80 ;

(b) UAPのオブジェクトファイルを作成するコマンド

TP1/NET/X25上のMCFメイン関数,UOC,およびUAPで,<dcmx25c.h>または,<dcmx2m.h>を使用する場合,UAP作成時のコンパイルオプションに,-DDCMCFAIXを追加する必要があります。

UAPのオブジェクトファイルを作成するときのコマンド入力例を次に示します。

コマンド入力例

cc -c -qchars=signed -DDCMCFAIX UAPのソースファイル名 -I$DCDIR/include