osPfsFreeBlocks osPfsFreeBlocks (function)

Obtains the available number of bytes in a Controller Pak

Syntax

#include <ultra64.h>        /* os.h */
s32 osPfsFreeBlocks(OSPfs *pfs,  s32 *bytes_not_used);

Description

osPfsFreeBlocks finds the available number of bytes in a Controller Pak. The available number of bytes is returned to the location pointed to by bytes_not_used.

OSPfs structure pfs is a file handle which was initialized by a function osPfsInitPak. For how to create this handle, refer to osPfsInitPak.

If this function is called successfully, 0 is returned. If an error occurs, one of the following error codes is returned:

PFS_ERR_NOPACK
Either the Controller Pak is not inserted into the specified Controller or the Controller is not properly connected. To determine which is the case, use osContStartQuery or osContGetQuery.

PFS_ERR_NEW_PACK
A different Controller Pak has been inserted. To use the inserted Controller Pak, initialize it by calling osPfsInitPak.

PFS_ERR_INCONSISTENT
There is a problem in the file system's management area. Usually this error does not occur because osPfsChecker is called internally when you initialize the file system by calling osPfsInitPak. If this error is returned, either the Controller Pak is not connected properly, or the Controller Pak itself is damaged.

PFS_ERR_CONTRFAIL
Data transfer to or from the Controller has failed. If a transfer error occurs, up to three tries will be done internally. Therefore, it is rather rare to see this error. If this error has returned, it is possible that either the Controller is not connected properly, or the Controller Pak or Controller Socket is damaged.

PFS_ERR_INVALID
If this error is returned, an incorrect argument was specified when this function was called, the specified game note does not exist, or the Pfs function has been called without being initialized using osPfsInitPak. Also, if the functions for the Controller were executed after the file handle structure pfs was initialized by other than osPfsInitPak, this error occurs.For instance, if osPfsFreeBlocks is executed after the initialization function for rumble pak osMotorInit is used to initialize OSPfs structure, then this error occurs.

See Also

osContInit, osContStartQuery, osContGetQuery, osPfsAllocateFile, osPfsChecker, osPfsDeleteFile, osPfsFileState, osPfsInitPak, osPfsIsPlug, osPfsNumFiles, and osPfsReadWriteFile

Revision History

1999/02/01 Completely revised
1999/04/30 Changed format