I$Create
From NitrOS-9
Create File | Creates and opens a disk file |
OS9 I$Create 103F 83 |
Entry Conditions
A access mode (write or update)
B file attributes
X address of the pathlist
Exit Conditions
A path number
X address of the last byte of the pathlist + 1; skips any trailing blanks
Error Output
CC carry set on error
B error code, if any
Additional Information
- NitrOS-9 parses the pathlist and enters the new filename in the specified directory. If you do not specify a directory, NitrOS-9 enters the new filename in the working directory.
- NitrOS-9 gives the file the attributes passed in Register B, which has bits defined as follows:
Bit | Definition |
0 | Read |
1 | Write |
2 | Execute |
3 | Public read |
4 | Public write |
5 | Public execute |
6 | Shareable file |
- These access mode parameters passed in Register A must have the write bit set if any data is to be written. These access codes are defined as follows: 2 = write, 3 = update. The mode affects the file only until the file is closed.
- You can reopen the file in any access mode allowed by the file attributes. (See the Open system call.)
- Files opened for write can allow faster data transfer than those opened for update because update sometimes needs to pre-read sectors.
- If the execute bit (Bit 2) is set, the file is created in the working execution directory instead of the working data directory.
- Create File causes an implicit I$Attach call. If the device has not previously been attached, the device’s initialization routine is called.
- Later I/O calls use the path number to identify the file, until the file is closed.
- NitrOS-9 does not allocate data storage for a file at creation. Instead, it allocates the storage either automatically when you first issue a write or explicitly by the SetStat subroutine.
- If the filename already exists in the directory, an error occurs. If the call specifies a non-multiple file device (such as a printer or terminal), Create behaves the same as Open.
- You cannot use Create to make directories. (See the Make Directory system call for instructions on how to make directories.)
- Before the Create File call:
/ | D | 0 | / | W | O | R | K | $0D |
?X |
- After the Create File call:
/ | D | 0 | / | W | O | R | K | $0D |
?X |