arms_push_method_query()

関数

int arms_push_method_query(arms_context_t *ctx, arms_callback_tbl_t *cb_tbl, void *udata)

呼び出し方向

アプリケーション->libarms

目的

Push の通信方式をネゴシエーションする。

説明

arms_pull() によりPull 動作を完了し、取得したコンフィグの反映を 終えた後、Push の通信方式をRS との間でネゴシエーションする。

引数

arms_context_t *ctx
内部ステートを保持するコンテキスト構造体ポインタ。 arms_init() により取得したポインタをそのまま指定する。
arms_callback_tbl_t *cb_tbl
各種コールバック関数へのポインタが納められた構造体。デバイスドライバの関数テーブルと同じようなイメージ。詳細は arms_callback_tbl_t を参照。
void *udata
コールバック関数へそのまま渡されるポインタ

返り値

0
正常終了
非0
異常終了( エラーコード体系 参照)
ARMS_EDONTRETRY
LSからリトライ禁止を通知された
ARMS_EREBOOT
RSよりリブート要求を受信し制御を終了
ARMS_EPULL
Pull 処理より再実行を行う必要がある。 RS からPull 先としてLS もしくはRS が指定されるがこれは arms_pull() 関数内部で適切に処理される
ARMS_ESYSTEM
システムエラーを検出(メモリ不足など)
ARMS_EINVAL
引数の異常

RSへの通信が発生するため、フィルタリングにより通信路を確保 する必要がある場合は予め arms_get_rs_url() を使って通信先情報を 取得し適切にフィルタを設定すること。

SMF-NAT 対応の通信方式がネゴシエーション結果として採用される場合、 arms_get_rs_tunnel_url() にて一つ以上のURL 情報が得られる。

コールバック関数からの呼び出し

不可

ヒストリ

このAPIはVer3.00で追加された。

目次

前のトピックへ

arms_pull()

次のトピックへ

arms_event_loop()

リンク