The toyproblem folder contains a Pascal file toyproblem.p that invokes external functions for input and output.
program ToyProblem(output);
{ Opening files. }
function tp_open_in(name_of_file : CString) : integer;
external name 'tp_open_in';
function tp_open_out(name_of_file : CString) : integer;
external name 'tp_open_out';
{ Closing files. }
procedure tp_close_in(file_descriptor : integer);
external name 'tp_close_in';
procedure tp_close_out(file_descriptor : integer);
external name 'tp_close_out';
{ Reading and writing. }
function tp_read(file_descriptor : integer; buffer : pchar; n : integer) : integer;
external name 'tp_read';
function tp_write(file_descriptor : integer; buffer : pchar; n : integer) : integer;
external name 'tp_write';
var file_descriptor : Integer;
begin
file_descriptor := tp_open_out('wibble.dat');
end.