mirror of
https://github.com/bytecodealliance/wasm-micro-runtime.git
synced 2025-07-11 15:03:33 +00:00
Compare commits
2 Commits
38a5af1952
...
1915d4f79d
Author | SHA1 | Date | |
---|---|---|---|
![]() |
1915d4f79d | ||
![]() |
aff6c3fcb1 |
|
@ -610,6 +610,7 @@ get_sol_socket_option(int sockfd, int optname, void *__restrict optval,
|
||||||
uint64_t timeout_us;
|
uint64_t timeout_us;
|
||||||
bool is_linger_enabled;
|
bool is_linger_enabled;
|
||||||
int linger_s;
|
int linger_s;
|
||||||
|
__wasi_fdstat_t sb;
|
||||||
|
|
||||||
switch (optname) {
|
switch (optname) {
|
||||||
case SO_RCVTIMEO:
|
case SO_RCVTIMEO:
|
||||||
|
@ -662,6 +663,22 @@ get_sol_socket_option(int sockfd, int optname, void *__restrict optval,
|
||||||
error = __wasi_sock_get_broadcast(sockfd, (bool *)optval);
|
error = __wasi_sock_get_broadcast(sockfd, (bool *)optval);
|
||||||
HANDLE_ERROR(error);
|
HANDLE_ERROR(error);
|
||||||
return error;
|
return error;
|
||||||
|
case SO_TYPE:
|
||||||
|
assert(*optlen == sizeof(int));
|
||||||
|
error = __wasi_fd_fdstat_get(sockfd, &sb);
|
||||||
|
HANDLE_ERROR(error);
|
||||||
|
switch (sb.fs_filetype) {
|
||||||
|
case __WASI_FILETYPE_SOCKET_DGRAM:
|
||||||
|
*(int *)optval = SOCK_DGRAM;
|
||||||
|
break;
|
||||||
|
case __WASI_FILETYPE_SOCKET_STREAM:
|
||||||
|
*(int *)optval = SOCK_STREAM;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
errno = __WASI_ERRNO_NOTSOCK;
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
default:
|
default:
|
||||||
error = __WASI_ERRNO_NOTSUP;
|
error = __WASI_ERRNO_NOTSUP;
|
||||||
HANDLE_ERROR(error);
|
HANDLE_ERROR(error);
|
||||||
|
|
Loading…
Reference in New Issue
Block a user