Network 0x63


RARP送信


【機能】

 リバースアドレスリゾリューションプロトコル(RARP)パケットを送信し、指定MACアドレスに対するIPアドレスを取得します。

【関数】

 int RarpSend( unsigned char *mac, unsigned long *ip )
 {
   return trapa_svc( 0x63, pid, mac, ip );
 }

【入力】

 mac 送信先MACアドレス 送信先MACアドレスを格納した領域の先頭アドレス
 ip 取得IPアドレス IPアドレスを格納する領域の先頭アドレス

+0
+1
+2
+3
mac+00
MACアドレス
mac+04
MACアドレス(つづき)
x

【出力】

 リターンコード OK 正常終了
+0
+1
+2
+3
ip+00
取得IPアドレス

ERR_PARAM パラメータエラー
ERR_TIMEOUT タイムアウトエラー
ERR_PID 不正プロセスID
ERR_LANCLOSED LAN未オープン
ERR_MEMOVER メモリ不足
ERR_NODEST 宛先なし

【解説】

 RARP(リバースアドレスリゾリューションプロトコル)パケットを送信し、指定MACアドレスに対するIPアドレスを取得します。

 MACアドレスがFF:FF:FF:FF:FF:FFの場合、またはMACアドレスの格納されている領域のアドレスがNULLの場合、パラメータエラーを返します。

 取得したIPアドレスを格納する領域のアドレスが4バイト境界にない場合、パラメータエラーを返します。
 また、取得したIPアドレスを格納する領域のアドレスがNULLの場合、取得したIPアドレスはセットされません。