diff --git a/interface/CMakeLists.txt b/interface/CMakeLists.txt index 6aa9c45..611c2ba 100644 --- a/interface/CMakeLists.txt +++ b/interface/CMakeLists.txt @@ -1,4 +1,4 @@ -file(GLOB if_files *.if) +file(GLOB if_files *.xpc) foreach (file ${if_files}) get_filename_component(name ${file} NAME_WLE) diff --git a/interface/fs.if b/interface/fs.if index 1e01493..5279de6 100644 --- a/interface/fs.if +++ b/interface/fs.if @@ -1,3 +1,4 @@ interface fs { msg open(string path, int flags) -> (int err); + msg read(size count) -> (int err, bytebuf data); } diff --git a/interface/fs.xpc b/interface/fs.xpc new file mode 100644 index 0000000..16d273b --- /dev/null +++ b/interface/fs.xpc @@ -0,0 +1,9 @@ +interface fs 6400; + +func open[0](path: string, flags: int) -> (err: int); +func close[1]() -> (err: int); + +func read[2](count: size) -> (err: int, nr_read: size, data: buffer); +func write[3](data: buffer) -> (err: int, nr_written: size); + +func map[4](prot: int, flags: int) -> (vmo: handle);