Files
MeshCore/test/fixtures/esp32_file_buffer

Pinned, byte-exact source fixtures for the build-local ESP File buffer check.

vfs_api.cpp and esp_arduino_version.h:
Arduino-ESP32 2.0.17, revision dcc1105b0cf1322a437b354c336f2abf72b7e512.
https://github.com/espressif/arduino-esp32/blob/2.0.17/libraries/FS/src/vfs_api.cpp
https://github.com/espressif/arduino-esp32/blob/2.0.17/cores/esp32/esp_arduino_version.h
Both retain their complete upstream copyright/Apache-2.0 notice.
vfs_api.cpp SHA256 db3eb3fef8e59c0bafd01416ea18e2d5f36f38a9b180cd415ff3563a59fcfb65
version header SHA256 b63e57731a24289b06eb96ded9e481ea719f4cde2ce7c41bd83c7646e0a6fe51

newlib_sys_reent.h and _newlib_version.h:
Unmodified installed Xtensa ESP32-S3 8.4.0+2021r2-patch5 toolchain headers,
newlib 3.3.0, as shipped with the pinned Arduino-ESP32 framework toolchain.
https://github.com/espressif/newlib-esp32/blob/esp-2021r2-patch5/newlib/libc/include/sys/reent.h
https://github.com/espressif/newlib-esp32/blob/esp-2021r2-patch5/COPYING.NEWLIB
All original header bytes/comments remain intact; _newlib_version.h is generated.
reent SHA256 33391d61a83ebbfb122e80514fbf7ed4d770556d8e8d46e029addbbf6077cd79
version SHA256 93a397574a25b9c143cee7fcb86d8fc9a0c9ba418e4710a30d2d19ba1e4120db

The actual ELF map resolves setvbuf/__sfvwrite_r/__srefill_r from the pinned
toolchain's no-rtti/libc.a. Its setvbuf allocation-fallback path may return zero
with a filesystem-sized buffer after the requested allocation failed. The
copied VFS method checks FILE::_bf._size before the caller's first read/write.
Compile-time newlib version/type/32-bit-prefix assertions fail closed when the
reviewed internal ABI changes. Native tests extract this exact FILE prefix and
model 32-bit pointer widths rather than borrowing the host libc's FILE layout.

Backend buffer admission is not a wall-clock guarantee: SPIFFS metadata,
garbage collection, flush, close and publication still require hardware tests.