mirror of
https://github.com/espressif/esp-idf.git
synced 2025-08-10 08:04:33 +02:00
lwip: Add partial fstat vfs support to set st_mode
Closes https://github.com/espressif/esp-idf/issues/7198
This commit is contained in:
@@ -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 *));
|
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)
|
void esp_vfs_lwip_sockets_register(void)
|
||||||
{
|
{
|
||||||
esp_vfs_t vfs = {
|
esp_vfs_t vfs = {
|
||||||
.flags = ESP_VFS_FLAG_DEFAULT,
|
.flags = ESP_VFS_FLAG_DEFAULT,
|
||||||
.write = &lwip_write,
|
.write = &lwip_write,
|
||||||
.open = NULL,
|
.open = NULL,
|
||||||
.fstat = NULL,
|
.fstat = &lwip_fstat,
|
||||||
.close = &lwip_close,
|
.close = &lwip_close,
|
||||||
.read = &lwip_read,
|
.read = &lwip_read,
|
||||||
.fcntl = &lwip_fcntl_r_wrapper,
|
.fcntl = &lwip_fcntl_r_wrapper,
|
||||||
|
Reference in New Issue
Block a user