Merge branch 'feature/lwip_fstat' into 'master'

lw-ip: Add partial fstat vfs support to set st_mode

Closes IDFGH-5459

See merge request espressif/esp-idf!14854
This commit is contained in:
David Čermák
2021-08-20 13:41:09 +00:00
2 changed files with 50 additions and 1 deletions

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,