paul@181 | 1 | #include <systypes/base.h> /* offset_t */ |
paul@181 | 2 | |
paul@181 | 3 | /* An interface providing a flush operation for files and pipes. */ |
paul@181 | 4 | |
paul@181 | 5 | interface Flush |
paul@181 | 6 | { |
paul@665 | 7 | /* Flush data and update the size, if appropriate. When writing, the position |
paul@665 | 8 | indicates the populated size of the object; when reading, the position |
paul@665 | 9 | indicates the point from which data is being consumed by a client. */ |
paul@181 | 10 | |
paul@665 | 11 | [opcode(5)] void flush(in offset_t position, out offset_t size); |
paul@672 | 12 | |
paul@672 | 13 | /* Refresh any recorded position and size information, also obtaining the span |
paul@672 | 14 | of the mapped region used to access the file or pipe. */ |
paul@672 | 15 | |
paul@672 | 16 | [opcode(16)] void refresh(out offset_t position, out offset_t size, |
paul@672 | 17 | out offset_t region_size); |
paul@181 | 18 | }; |