Import Upstream version 20180207
[hcoop/debian/mlton.git] / basis-library / io / bin-io.sig
CommitLineData
7f918cf1
CE
1signature BIN_IO =
2 sig
3 structure StreamIO: BIN_STREAM_IO
4
5 type elem = StreamIO.elem
6 type instream
7 type outstream
8 type vector = StreamIO.vector
9
10 val canInput: instream * int -> int option
11 val closeIn: instream -> unit
12 val closeOut: outstream -> unit
13 val endOfStream: instream -> bool
14 val flushOut: outstream -> unit
15 val getInstream: instream -> StreamIO.instream
16 val getOutstream: outstream -> StreamIO.outstream
17 val getPosOut: outstream -> StreamIO.out_pos
18 val input1: instream -> elem option
19 val input: instream -> vector
20 val inputAll: instream -> vector
21 val inputN: instream * int -> vector
22 val lookahead: instream -> elem option
23 val mkInstream: StreamIO.instream -> instream
24 val mkOutstream: StreamIO.outstream -> outstream
25 val openAppend: string -> outstream
26 val openIn: string -> instream
27 val openOut: string -> outstream
28 val output1: outstream * elem -> unit
29 val output: outstream * vector -> unit
30 val setInstream: (instream * StreamIO.instream) -> unit
31 val setOutstream: outstream * StreamIO.outstream -> unit
32 val setPosOut: outstream * StreamIO.out_pos -> unit
33 end
34
35signature BIN_IO_EXTRA =
36 sig
37 include BIN_IO
38
39 val equalsIn: instream * instream -> bool
40 val inFd: instream -> Posix.IO.file_desc
41 val newIn: Posix.IO.file_desc * string -> instream
42 val newOut: Posix.IO.file_desc * string -> outstream
43 val outFd: outstream -> Posix.IO.file_desc
44 val stdErr: outstream
45 val stdIn: instream
46 val stdOut: outstream
47 end