Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 9 Next »

When an application needs to access a file, it must first open it using fs_fopen() or FSFile_Open(). For most applications, the former with its familiar interface suffices. In some cases, the flexibility of the latter is demanded (see ).

The return value of FSFile_Open() should always be verified as non-NULL before the application proceeds to access the file. The second argument to this function is a logical OR of mode flags:

FS_FILE_ACCESS_MODE_RD

File opened for reads.

FS_FILE_ACCESS_MODE_WR

File opened for writes.

FS_FILE_ACCESS_MODE_CREATE

File will be created, if necessary.

FS_FILE_ACCESS_MODE_TRUNC

File length will be truncated to 0.

FS_FILE_ACCESS_MODE_APPEND

All writes will be performed at EOF.

FS_FILE_ACCESS_MODE_EXCL

File will be opened if and only if it does not already exist.

FS_FILE_ACCESS_MODE_CACHED

File data will be cached.

For example, if you wanted to create a file to write to if and only if it does not exist, you would use the flags

FS_FILE_ACCESS_MODE_WR | FS_FILE_ACCESS_MODE_CREATE | FS_FILE_ACCESS_MODE_EXCL

It is impossible to do this in a single, atomic operation using fs_fopen().

The table below lists the mode flag equivalents of the fs_fopen() mode strings.

  • No labels