Allow defining hints without exact socket type or address family (#2337)
This commit is contained in:
@ -17,6 +17,8 @@ extern "C" {
|
||||
#endif
|
||||
|
||||
typedef enum {
|
||||
/* Used only for sock_addr_resolve hints */
|
||||
SOCKET_ANY = -1,
|
||||
SOCKET_DGRAM = 0,
|
||||
SOCKET_STREAM,
|
||||
} __wasi_sock_type_t;
|
||||
@ -84,7 +86,7 @@ typedef struct __wasi_addr_t {
|
||||
} addr;
|
||||
} __wasi_addr_t;
|
||||
|
||||
typedef enum { INET4 = 0, INET6 } __wasi_address_family_t;
|
||||
typedef enum { INET4 = 0, INET6, INET_UNSPEC } __wasi_address_family_t;
|
||||
|
||||
typedef struct __wasi_addr_info_t {
|
||||
__wasi_addr_t addr;
|
||||
|
||||
@ -430,6 +430,9 @@ addrinfo_hints_to_wasi_hints(const struct addrinfo *hints,
|
||||
case AF_INET6:
|
||||
wasi_hints->family = INET6;
|
||||
break;
|
||||
case AF_UNSPEC:
|
||||
wasi_hints->family = INET_UNSPEC;
|
||||
break;
|
||||
default:
|
||||
return __WASI_ERRNO_AFNOSUPPORT;
|
||||
}
|
||||
@ -440,6 +443,8 @@ addrinfo_hints_to_wasi_hints(const struct addrinfo *hints,
|
||||
case SOCK_DGRAM:
|
||||
wasi_hints->type = SOCKET_DGRAM;
|
||||
break;
|
||||
case 0:
|
||||
wasi_hints->type = SOCKET_ANY;
|
||||
default:
|
||||
return __WASI_ERRNO_NOTSUP;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user