9.1 通信記述部の形式

通信記述部は,通信管理とアプリケーションプログラムとの間のインタフェース情報を受け渡しするための領域の定義であり,あらかじめ型枠を決めた構造体です。

この構造体は,ヘッダファイル<xnfw/xnf.h>に定義されています。

struct cd_s{                  /* 通信記述項目 */
  struct cd_part1 O_vpart1;  /* 共通部の構造体メンバ */
  struct cd_part2 O_vpart2;  /* 個別部の構造体メンバ */
  struct cd_part3 O_vpart3;  /* 個別部の構造体メンバ */
};

struct cd_part1{              /* 共通部の構造体 */
  O_ulng_t     O_ascid;      /* アソシエーション端点識別子 */
  O_ulng_t     O_status;     /* 詳細エラーコード */
  O_ulng_t     O_fncode;     /* 非同期要求に対する完了通知 */
                             /* O_SENABL:ENABLE完了 */
                             /* O_SSEND :SEND完了 */
                             /* O_SRECIV:RECEIVE完了 */
                             /* O_SDISAB:DISABLE完了 */
  O_ulng_t     O_mode;       /* 動作モード */
                             /* O_SYN   :同期型要求 */
                             /* O_ASYN  :非同期型要求 */
};

struct cd_part2{              /* 個別部の構造体 */
  O_vidp_t     O_apid;       /* AP識別子 */
  O_ulng_t     O_for;        /* サービス種別 */
                             /* O_OSASSV:OSASサービス */
                             /* O_PLSV  :PLサービス */
  O_ulng_t     O_versn;      /* バージョン番号 */
                             /* O_VERSN1:バージョン1 */
                             /* O_VERSN2:バージョン2 */
                             /* O_VERSN3:バージョン1またはバージョン2 */
  O_ulng_t     O_reqid;      /* 要求種別 */
/* ENABLEの場合  */
/*  O_ACTR  :確立要求(AP識別子)*/ /* O_PASI:受け入れ指示(AP識別子)*/
/*  O_EXACTR:確立要求(自局PSAP)*/ /* O_EXPASI:受け入れ指示(自局PSAP)*/
/*  O_PASR  :受け入れ応答 */
/* DISABLEの場合 */
/*  O_RLSR  :正常解放要求 */ /* O_RLS_CF:正常解放確認 */
/*  O_ABR_ID:ユーザ強制解放受信 */ /* O_PAR_ID:OSI通信機能強制解放通知 */
/*  O_RLSRN :正常解放応答 */ /* O_ABORT :強制解放要求 */
/*  O_ASCRN :確立拒否応答 */
/* SENDの場合    */
/*  O_RIVRQ :RO-INVOKE要求 */ /* O_RRSRQ :RO-RESULT要求 */
/*  O_RERRQ :RO-ERROR要求 */ /* O_RRJURQ:RO-REJECT-U要求 */
/*  O_PDTRQ :P-DATA要求 */ /* O_PSMNRQ:P-SYNC-MINOR要求 */
/*  O_PSMNRS:P-SYNC-MINOR応答 */ /* O_PRSRQ :P-RESYNCHRONIZE要求 */
/*  O_PRSRS :P-RESYNCHRONIZE応答 */ /* O_PGTRQ :P-TOKEN-GIVE要求 */
/*  O_PPTRQ :P-TOKEN-PLEASE要求 */ /* O_PSMJRQ:P-SYNC-MAJOR要求 */
/*  O_PSMJRS:P-SYNC-MAJOR応答 */ /* O_PTDTRQ:P-TYPED-DATA要求 */
/* RECEIVEの場合 */
/*  O_ASC_CF:確立確認/拒否 */ /* O_RLS_ID:正常解放指示 */
/*  O_ABR_ID:強制解放通知 */ /* O_PAR_ID:OSI通信機能強制解放通知 */
/*  O_RIVID :RO-INVOKE指示 */ /* O_RRSID :RO-RESULT指示 */
/*  O_RERID :RO-ERROR指示 */ /* O_RRJUID:RO-REJECT-U指示 */
/*  O_RRJPID:RO-REJECT-P指示 */ /* O_PDTID :P-DATA指示 */
/*  O_PSMNID:P-SYNC-MINOR指示 */ /* O_PSMNCF:P-SYNC-MINOR確認 */
/*  O_PRSID :P-RESYNCHRONIZE指示 */ /* O_PRSCF :P-RESYNCHRONIZE確認 */
/*  O_PGTID :P-TOKEN-GIVE指示 */ /* O_PPTID :P-TOKEN-PLEASE指示 */
/*  O_PSMJID:P-SYNC-MAJOR指示 */ /* O_PSMJCF:P-SYNC-MAJOR確認 */
/*  O_PTDTID:P-TYPED-DATA指示 */

  O_ulng_t     O_datid;      /* データ識別 */
                             /* O_ACSE:ACSEデータ */
                             /* O_ROS :ROSEデータ */
                             /* O_PL  :PLデータ */
  O_vidp_t     O_psap;       /* 相手PSAPアドレス格納領域アドレス */
  O_ulng_t     O_apflg;      /* AP名称指定オプションフラグ */
  O_vidp_t     O_mapti;      /* 発呼側APタイトル格納領域アドレス */
  O_vidp_t     O_maequ;      /* 発呼側AE修飾子格納領域アドレス */
  O_vidp_t     O_mapid;      /* 発呼側APインボケーションID格納領域アドレス */
  O_vidp_t     O_maeid;      /* 発呼側AEインボケーションID格納領域アドレス */
  O_vidp_t     O_yapti;      /* 着呼側APタイトル格納領域アドレス */
  O_vidp_t     O_yaequ;      /* 着呼側AE修飾子格納領域アドレス */
  O_vidp_t     O_yapid;      /* 着呼側APインボケーションID格納領域アドレス */
  O_vidp_t     O_yaeid;      /* 着呼側AEインボケーションID格納領域アドレス */
  O_vidp_t     O_rapti;      /* 応答側APタイトル格納領域アドレス */
  O_vidp_t     O_raequ;      /* 応答側AE修飾子格納領域アドレス */
  O_vidp_t     O_rapid;      /* 応答側APインボケーションID格納領域アドレス */
  O_vidp_t     O_raeid;      /* 応答側AEインボケーションID格納領域アドレス */
  O_vidp_t     O_apctx;      /* 応用コンテキスト名格納領域アドレス */
  O_ulng_t     O_prqcd;      /* 将来の拡張フィールド */
  O_ulng_t     O_propf;      /* プレゼンテーションオプションフラグ */
  O_vidp_t     O_pctxd;      /* コンテキスト定義リスト格納領域アドレス */
  O_vidp_t     O_pctxr;      /* コンテキスト定義結果リスト格納領域アドレス */
  O_vidp_t     O_ctxlt;      /* コンテキスト識別子リスト格納領域アドレス */
  O_ulng_t     O_srqcd;      /* セション要求機能 */
  O_ulng_t     O_sropf;      /* セションオプションフラグ */
  O_vidp_t     O_isqno;      /* セションパラメタ部アドレス */
  O_ulng_t     O_token;      /* トークン項目 */
  O_ulng_t     O_tkset;      /* トークン設定項目 */
  O_ulng_t     O_asref;      /* 予備 */
  O_vidp_t     O_with;       /* 送信ユーザバッファアドレス */
  O_ulng_t     O_sdtlen;     /* 送信ユーザデータ長 */
  O_vidp_t     O_into;       /* 受信ユーザバッファアドレス */
  O_ulng_t     O_bflen;      /* 受信ユーザバッファ長 */
  O_ulng_t     O_rdtlen;     /* 受信ユーザデータ長 */
  O_ulng_t     O_efcd;       /* アソシエーション確立結果 */
  O_ulng_t     O_recod;      /* アソシエーション確立理由診断 */
  O_ulng_t     O_intrp;      /* 中断元 */
  O_ulng-t     O_abcod;      /* 切断理由コード */
  O_vidp_t     O_usrid;      /* 将来の拡張フィールド */
  O_vidp_t     O_pswrd;      /* 将来の拡張フィールド */
};

struct cd_part3{              /* 個別部の構造体 */
  O_vidp_t     O_spsap;      /* 自局PSAPアドレス格納領域アドレス */
  O_vidp_t     O_mninf;      /* マルチネットワーク情報格納領域アドレス */
  O_vidp_t     O_msel;       /* 将来の拡張フィールド */
  O_vidp_t     O_sorce;      /* アソシエーション確立結果発行元パラメタ */
  O_vidp_t     O_qos;        /* 将来の拡張フィールド */
  O_vidp_t     O_exptr1;     /* 将来の拡張フィールド */
  O_vidp_t     O_exptr2;     /* 将来の拡張フィールド */
  O_vidp_t     O_exptr3;     /* 将来の拡張フィールド */
};

属性の説明
  • O_ulng_t:マシンに依存しないロング型の符号なし整数
  • O_vidp_t:マシンに依存しないポインタ