    MODULE GPTextFiles;

    IMPORT
        GPFiles;

    TYPE

      FILE* = POINTER TO RECORD (GPFiles.FILE)
              END;

    PROCEDURE WriteEOL*(p0 : FILE);

    PROCEDURE WriteChar*(p0 : FILE;
                         p1 : CHAR);

    PROCEDURE readNChars*(    p0 : FILE;
                          OUT p1 : ARRAY OF CHAR;
                              p2 : INTEGER) : INTEGER;

    PROCEDURE getFullPathName*(p0 : FILE) : GPFiles.FileNameArray;

    PROCEDURE readChar*(p0 : FILE) : CHAR;

    PROCEDURE findOnPath*(IN  p0 : ARRAY OF CHAR;
                          IN  p1 : ARRAY OF CHAR) : FILE;

    PROCEDURE openFile*(IN  p0 : ARRAY OF CHAR) : FILE;

    PROCEDURE createFile*(IN  p0 : ARRAY OF CHAR) : FILE;

    PROCEDURE findLocal*(IN  p0 : ARRAY OF CHAR) : FILE;

    PROCEDURE createPath*(IN  p0 : ARRAY OF CHAR) : FILE;

    PROCEDURE CloseFile*(p0 : FILE);

    PROCEDURE WriteNChars*(    p0 : FILE;
                           IN  p1 : ARRAY OF CHAR;
                               p2 : INTEGER);

    END GPTextFiles.