DNSユーティリティー関数¶
libuvは、getaddrinfoとgetnameinfoの非同期版を提供します。
データ型¶
-
type uv_getaddrinfo_t¶
getaddrinfoリクエストの型です。
-
typedef void (*uv_getaddrinfo_cb)(uv_getaddrinfo_t *req, int status, struct addrinfo *res)¶
getaddrinfoリクエストが完了すると、その結果とともに呼び出されるコールバックです。キャンセルされた場合、statusの値は
UV_ECANCELEDになります。
-
type uv_getnameinfo_t¶
getnameinfoリクエストの型です。
-
typedef void (*uv_getnameinfo_cb)(uv_getnameinfo_t *req, int status, const char *hostname, const char *service)¶
getnameinfoリクエストが完了すると、その結果とともに呼び出されるコールバックです。キャンセルされた場合、statusの値は
UV_ECANCELEDになります。
公開メンバー¶
-
uv_loop_t *uv_getaddrinfo_t.loop¶
このgetaddrinfoリクエストを開始したループであり、完了の報告先です。読み取り専用です。
-
struct addrinfo *uv_getaddrinfo_t.addrinfo¶
結果を含むstruct addrinfoへのポインターです。ユーザーが
uv_freeaddrinfo()で解放する必要があります。バージョン1.3.0での変更: このフィールドを公開メンバーとして宣言しました。
-
uv_loop_t *uv_getnameinfo_t.loop¶
このgetnameinfoリクエストを開始したループであり、完了の報告先です。読み取り専用です。
- char[NI_MAXHOST] uv_getnameinfo_t.host
結果のホストを含む文字配列です。ヌル終端します。
バージョン1.3.0での変更: このフィールドを公開メンバーとして宣言しました。
- char[NI_MAXSERV] uv_getnameinfo_t.service
結果のサービスを含む文字配列です。ヌル終端します。
バージョン1.3.0での変更: このフィールドを公開メンバーとして宣言しました。
関連項目
次の型のuv_req_tメンバーも適用されます。
API¶
-
int uv_getaddrinfo(uv_loop_t *loop, uv_getaddrinfo_t *req, uv_getaddrinfo_cb getaddrinfo_cb, const char *node, const char *service, const struct addrinfo *hints)¶
次の関数の非同期版です: getaddrinfo(3)。
nodeとserviceのどちらか一方はNULLでも構いませんが、両方をNULLにはできません。
hintsは、アドレスの型に追加の制約を指定するstruct addrinfoへのポインター、またはNULLです。詳しくは、man -s 3 getaddrinfoを参照してください。
成功時は0、失敗時は0未満のエラーコードを返します。成功した場合、後でコールバックを呼び出し、次のいずれかの検索結果を渡します。
status == 0の場合、res引数は有効なstruct addrinfoを指します。
status < 0の場合、res引数はNULLです。UV_EAI_*定数を参照してください。
addrinfo構造体を解放するには、
uv_freeaddrinfo()を呼び出してください。バージョン1.3.0での変更: コールバックパラメーターにNULLを指定できるようになりました。その場合、リクエストは同期的に実行します。
-
void uv_freeaddrinfo(struct addrinfo *ai)¶
struct addrinfoを解放します。NULLを渡しても構いません。その場合は何もしません。
-
int uv_getnameinfo(uv_loop_t *loop, uv_getnameinfo_t *req, uv_getnameinfo_cb getnameinfo_cb, const struct sockaddr *addr, int flags)¶
次の関数の非同期版です: getnameinfo(3)。
成功時は0、失敗時は0未満のエラーコードを返します。成功した場合、後でコールバックを呼び出し、検索結果を渡します。詳しくは、man -s 3 getnameinfoを参照してください。
バージョン1.3.0での変更: コールバックパラメーターにNULLを指定できるようになりました。その場合、リクエストは同期的に実行します。
関連項目
次の型のuv_req_tAPI関数も適用されます。