12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- {
- This file is part of the Free Pascal run time library.
- Copyright (c) 2020 by Free Pascal development team
- Low level directory functions for the Sinclair QL
- See the file COPYING.FPC, included in this distribution,
- for details about the copyright.
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- **********************************************************************}
- {*****************************************************************************
- Directory Handling
- *****************************************************************************}
- procedure do_mkdir(const s : rawbytestring);
- var
- chanId: tchanid;
- errCode: longint;
- begin
- { The QL needs a open file handle on which to create a
- directory. The file should be opened as a new file as
- errors occur if the file exists when creating a new
- directory when it's already there. }
- chanId := io_open(PAnsiChar(s), Q_OPEN_OVER);
- if chanId < 0 then
- begin
- Error2InOutRes(chanId);
- exit;
- end;
- { Convert the opened file to a directory. }
- errCode := iof_mkdr(chanId);
- { Close the file/directory. No errors occur. }
- io_close(chanId);
- { Check if the mkdir actually worked. }
- if errCode < 0 then
- Error2InOutRes(errCode);
- end;
- procedure do_rmdir(const s : rawbytestring);
- begin
- { Deleting a directory is as simple as deleting
- a file. There must be no files in the directory
- though. However, SMSQ seems to return zero for a file
- or directory name that is not present. It should return
- ERR_NF. (At least on RAM_/FLP_ or WIN_)
- }
- Error2InOutRes(io_delet(PAnsiChar(s)));
- end;
- procedure do_ChDir(const s: rawbytestring);
- begin
- end;
- procedure do_GetDir (DriveNr: byte; var Dir: RawByteString);
- begin
- end;
|