1 #include <systypes/base.h> /* offset_t */ 2 3 /* An interface providing a flush operation for files and pipes. */ 4 5 interface Flush 6 { 7 /* Flush data and update the size, if appropriate. When writing, the position 8 indicates the populated size of the object; when reading, the position 9 indicates the point from which data is being consumed by a client. */ 10 11 [opcode(5)] void flush(in offset_t position, out offset_t size); 12 13 /* Refresh any recorded position information, also obtaining the span 14 of the mapped region used to access the file or pipe, along with updated 15 size information. To support the acquisition of files or pipes, the 16 object flags describing the object are returned. */ 17 18 [opcode(16)] void refresh(out offset_t position, out offset_t start_pos, 19 out offset_t end_pos, out offset_t size, 20 out object_flags_t object_flags); 21 };