From bcbbee7399d41d813e78abe63126e2a01edb5848 Mon Sep 17 00:00:00 2001 From: Ryan Dahl Date: Thu, 27 Sep 2018 00:56:39 -0400 Subject: Adds basic File I/O and FD table. Adds deno.stdin, deno.stdout, deno.stderr, deno.open(), deno.write(), deno.read(), deno.Reader, deno.Writer, deno.copy(). Fixes #721. tests/cat.ts works. --- src/msg.fbs | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) (limited to 'src/msg.fbs') diff --git a/src/msg.fbs b/src/msg.fbs index 0d78395ea..7f42cd637 100644 --- a/src/msg.fbs +++ b/src/msg.fbs @@ -27,6 +27,13 @@ union Any { Stat, StatRes, SetEnv, + Open, + OpenRes, + Read, + ReadRes, + Write, + WriteRes, + Close, } enum ErrorKind: byte { @@ -53,6 +60,8 @@ enum ErrorKind: byte { Other, UnexpectedEof, + BadFileDescriptor, + // url errors EmptyHost, @@ -199,6 +208,7 @@ table ReadFileRes { table WriteFile { filename: string; + data: [ubyte]; perm: uint; // perm specified by https://godoc.org/os#FileMode } @@ -237,4 +247,42 @@ table StatRes { has_mode: bool; // false on windows } +table WriteFileSync { + filename: string; + data: [ubyte]; + perm: uint; + // perm specified by https://godoc.org/os#FileMode +} + +table Open { + filename: string; + perm: uint; +} + +table OpenRes { + fd: int; +} + +table Read { + fd: int; + // (ptr, len) is passed as second parameter to libdeno.send(). +} + +table ReadRes { + nread: uint; + eof: bool; +} + +table Write { + fd: int; +} + +table WriteRes { + nbyte: uint; +} + +table Close { + fd: int; +} + root_type Base; -- cgit v1.2.3