diff --git a/components/vfs/component.mk b/components/vfs/component.mk new file mode 100755 index 00000000..2341ae7b --- /dev/null +++ b/components/vfs/component.mk @@ -0,0 +1,7 @@ +# +# Component Makefile +# + +COMPONENT_ADD_INCLUDEDIRS := include + +COMPONENT_SRCDIRS := src diff --git a/components/vfs/include/sys/ioctl.h b/components/vfs/include/sys/ioctl.h new file mode 100644 index 00000000..4b8e4390 --- /dev/null +++ b/components/vfs/include/sys/ioctl.h @@ -0,0 +1,29 @@ +// Copyright 2015-2017 Espressif Systems (Shanghai) PTE LTD +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#pragma once + +#ifdef __cplusplus +extern "C" { +#endif + +#include + +#undef ioctl + +int ioctl(int fd, int request, ...); + +#ifdef __cplusplus +} +#endif diff --git a/components/vfs/src/ioctl.c b/components/vfs/src/ioctl.c new file mode 100644 index 00000000..5d0c9050 --- /dev/null +++ b/components/vfs/src/ioctl.c @@ -0,0 +1,32 @@ +// Copyright 2018-2019 Espressif Systems (Shanghai) PTE LTD +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#include +#include + +int ioctl(int fd, int request, ...) +{ + int val, ret; + va_list va; + + va_start(va, request); + + val = va_arg(va, int); + ret = lwip_fcntl(fd, request, val); + + va_end(va); + + return ret; +} +