Thank you to Miguel, I did receive the current api in email a few weeks ago. I thought I'd better post as someone else asked if I had received it yet.
I should be ready to try something with esxdos in the coming week or two. We've had a change in the assembler used in z88dk and I am now going through the code making changes to accommodate the new features. I'm looking at stdio again at the same time.
From what I understand from Miguel, the current version does not have "smart" buffering of sectors. In C a lot of code is written as character i/o on multiple files. You may read a few bytes from one file, process it and write a few bytes to another file. This means you need to keep the two sectors being worked on in RAM so that the program does not have to go to disk for each few bytes read/written.
Likewise for files opened in "a+" mode there are actually two file pointers -- one you read with and one you write with (positioned at EOF). A file opened in "a+" mode needs to keep two sectors in RAM to prevent thrashing to disk.
We do have code to do this sort of buffering in z88dk so what I think will happen is we will only be using the read sector / write sector api calls to read/write entire sectors and then let the z88dk code manage the buffering.
I'm also hoping we can steal some RAM someplace to hold these buffers managed by stdio but I'll come back to ask the questions when I get there