(*arms_app_event_cb_t)()

関数

typedef int (*arms_app_event_cb_t)(void *udata)

呼び出し方向

libarms->アプリケーション

目的

アプリケーションからライブラリに対してイベント発生を通知する。 コールバックテーブルへの登録は任意。

説明

libarms は arms_event_loop() 実行中、一定間隔で本関数を呼び出す。 arms_set_app_event_interval() により呼び出し間隔を設定できる。 設定しない場合は60 秒間隔となる。 アプリケーションはlibarms に通知すべき外部環境の変更、たとえば PPPoE のアドレス変更といったイベントが発生したことを調査し、 SMF 上のアクションを必要とする場合に返り値として通知することができる。

引数

void *udata
arms_pull() で指定したポインタ

返り値

0
イベントなし
非0
イベントあり
ARMS_EPUSH

Push 待ち受けの再処理が必要なイベントの通知。

この値が通知されるとlibarms は、 arms_event_loop() 呼び出し直後と同様にPush の待ち受け開始を再度RS に通知する。 これにより、アドレス変更への追従が可能となる。

ARMS_EPULL
この値が通知されるとlibarms は、ただちに arms_event_loop() の終了処理に移り、速やかに ARMS_EPULL をリターン値と して arms_event_loop が終了する。 アプリケーションからのPush 待ち受けを明示的に終了させる場合に用いる。

ヒストリ

このAPIはVer2.20で追加された。

目次

前のトピックへ

(*arms_log_cb_t)()

次のトピックへ

(*arms_hb_store_statistics_cb_t)()

リンク