Skip to content
DnsResolve_4_one

DnsResolve_4_one

Description

Spec-based overload (single-addr form). Same parse path as the vec form, but only the first matching SocketAddr is written back – the “getaddrinfo + pick first” idiom in one call so callers needing exactly one address (typical for SocketConnect / ListenerOpen) don’t have to manage a throwaway Vec.

Success

Returns true; out populated.

Failure

Returns false; out untouched.

Usage example (Cross-references)

Usage examples (Cross-references)
    }
    
    bool DnsResolve_4_one(DnsResolver *self, const char *spec, SocketKind kind, SocketAddr *out) {
        if (!self || !spec || !out) {
            return false;
    #define DnsResolve(...) MISRA_OVERLOAD(DnsResolve, __VA_ARGS__)
    #define DnsResolve_4(self, spec, kind, out)                                                                            \
        _Generic((out), DnsAddrs *: DnsResolve_4_vec, SocketAddr *: DnsResolve_4_one)((self), (spec), (kind), (out))
    
    #ifdef __cplusplus
Last updated on