Bfile OpenFile OS

From WikiPrizm
Revision as of 19:19, 29 July 2014 by Gbl08ma (talk | contribs)
Jump to navigationJump to search


Synopsis

Header: fxcg/file.h
Syscall index: 0x1DA3
Function signature: int Bfile_OpenFile_OS(const unsigned short* filename, int mode)

Opens an existing file in storage memory.

Parameters

  • filename: A 16 bit character array specifying the name of the desired file, most likely generated by Bfile_StrToName_ncpy.
  • mode: The mode of which the file will be opened with. See #Modes.

Returns

A handle to the opened file, or a negative number on failure.

Comments

Unlike the standard library's fopen, this function returns with a file not found error if attempting to open a nonexistent file in write mode. Use Bfile_CreateEntry_OS to create a new file, then open it to write.

Using Bfile functions while user timers are installed can cause SYSTEM ERRORs and other undefined behavior, especially with functions that change data on the file system. Make sure to stop and uninstall all timers before using Bfile functions (and optionally restore them later). See Incompatibility between Bfile Syscalls and Timers for more information.

Modes

The following table enumerates the known modes which may be passed as the second parameter to this function.

Mode Alias Description
0 READ Read-only
1 READ_SHARE Read-only and cannot be modified by other add-ins (?)
2 WRITE Write-only
3 READWRITE Both readable and writable
4 READWRITE_SHARE Both readable and writable and cannot be modified by other add-ins (?)