lwip: Add partial fstat vfs support to set st_mode

Closes https://github.com/espressif/esp-idf/issues/7198
This commit is contained in:
David Cermak 2021-08-18 16:57:09 +02:00
parent f5a12f4900
commit d55ed5c11b

View File

@ -70,13 +70,25 @@ static int lwip_ioctl_r_wrapper(int fd, int cmd, va_list args)
return lwip_ioctl(fd, cmd, va_arg(args, void *));
}
static int lwip_fstat(int fd, struct stat * st)
{
if (st == NULL || fd < LWIP_SOCKET_OFFSET || fd > (MAX_FDS - 1)) {
errno = EBADF;
return -1;
}
memset(st, 0, sizeof(*st));
/* set the stat mode to socket type */
st->st_mode = S_IFSOCK;
return 0;
}
void esp_vfs_lwip_sockets_register(void)
{
esp_vfs_t vfs = {
.flags = ESP_VFS_FLAG_DEFAULT,
.write = &lwip_write,
.open = NULL,
.fstat = NULL,
.fstat = &lwip_fstat,
.close = &lwip_close,
.read = &lwip_read,
.fcntl = &lwip_fcntl_r_wrapper,