Network 0x94


ホスト名解決


【機能】

 DNS、WINSによりホスト名をIPアドレスに変換します。

【関数】

 int Gethostbyname( int *adinf, char *host, int *ip )
 {
   return trapa_svc( 0x94, pid, adinf, host, ip );
 }

【入力】

 adinf アドレス情報 アドレス情報を格納した領域の先頭アドレス
 host ホスト名 ホスト名を格納した領域の先頭アドレス
 ip IPアドレス 取得したIPアドレスを格納する領域アドレス

+0
+1
+2
+3
adinf+00
ブロック(0:非ブロック 1:ブロック)
adinf+04
ドメインネームサーバアドレス1
adinf+08
ドメインネームサーバアドレス2
adinf+0C
WINSサーバアドレス1
adinf+10
WINSサーバアドレス2
adinf+14
リトライ数(1〜10)
adinf+18
タイムアウト値(ms) (10ms〜10000ms)

+0
+1
+2
+3
host+00
ホスト名
:

+0
+1
+2
+3
ip+00
取得したIPアドレス格納用

【出力】

 リターンコード OK 正常終了
ERR_PARAM パラメータエラー
ERR_LANCLOSED LAN未オープン
ERR_DNSRUN DNS実行中
ERR_DNSRTYOUT リトライアウト

【解説】

 アドレス情報でブロック(1)を指定した場合、サーバアクセス処理はブロック処理となり一連の送受信動作が終了するまで制御は戻りません。
 アドレス情報で非ブロック(0)を指定した場合、直ぐに制御を戻します。処理結果は「ホスト名解決結果取得」ファンクションで取得して下さい。
 結果を取得しないと次回エラーを返します

 入力アドレスがNULL場合パラメータエラーを返します。

 サーバのIPアドレスが0の場合、そのサーバは処理対象外として処理を行います。
 リトライ数はトータル数で指定して下さい。
 リトライ数、タイムアウト値が範囲外の場合はリトライ3回、タイムアウト1秒で動作します。

【関連項目】

 ホスト名解決結果取得