機能説明
トラップ受信サービス、またはトラップデーモンから、SNMPトラップデータをPDU形式で受信します。
呼び出し形式
int NWsnmpTrapdReceive(NWSNMP_FD socket_id, char **pdu, int *len, NWsnmpErrinfo *infoErr)
パラメタ
入力パラメタ
NWsnmpTrapdOpen()関数で獲得したソケットIDを指定します。
出力パラメタ
受信TRAP-PDUを指定します(領域は関数内で確保されます)。
受信TRAP-PDU長を指定します。
エラー情報設定構造体を指定します。
復帰値
正常終了。
異常終了。
備考
エラー時には、以下のコードが、NWsnmpErrinfo構造体のNWErrorCodeに設定されます。
不当なソケットIDが指定されました。
TRAP-PDUの受信に失敗しました。
領域の獲得に失敗しました。
トラップ受信サービス、またはトラップデーモンが停止しました。
注意事項
TRAP-PDU領域は関数内で取得されます。
領域の返却は、NWsnmpFree()関数で行ってください。
TRAP-PDUを受信するまで復帰しません。
使用例
NWSNMP_FD *socket_id; /* NWsnmpTrapdOpen関数で取得したソケットID */ char *pdu; /* TRAP-PDUの格納ポインタ */ int len; /* PDU長 */ NWsnmpErrinfo infoErr; /* エラー通知構造体 */ -中略- if (!NWsnmpTrapdReceive(socket_id, &pdu, &len, &infoErr)) { /* エラー処理 */ }