lwip: Add partial fstat vfs support to set st_mode
Closes
@@ -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,
