1: #line 302 "./lpsrc/flx_faio_tools.pak"
2:
3:
4: include "flx_faio";
5: include "flx_stream";
6:
7: open Faio;
8: open Flx_stream;
9: open TerminalIByteStream[fd_t];
10: open TerminalOByteStream[fd_t];
11:
12: val fnin,fnout = System::argv 1, System::argv 2;
13:
14: gen openi(s:string):fd_t = {
15: var f: fd_t;
16: f = Faio_posix::ropen(s);
17: if Faio_posix::invalid f do
18: print$ "Can't open input file " + s + "\n";
19: System::exit 1;
20: done;
21: return f;
22: }
23:
24: typedef posix_permissions = Faio_posix::posix_permissions;
25:
26: gen openo(s:string, perm:posix_permissions):fd_t = {
27: var f: fd_t;
28: f = Faio_posix::aio_creat(s,perm);
29: if Faio_posix::invalid f do
30: print$ "Can't open output file " + s + "\n";
31: System::exit 1;
32: done;
33: return f;
34: }
35:
36: var fin = openi(fnin);
37: var fout = openo(fnout,Faio_posix::access fin);
38: cat (fin,fout);
39: iclose(fin);
40: oclose(fout);
41: