osPfsRepairId osPfsRepairId (function)

Repairs the Controller Pak file system

Syntax

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

Description

It checks the Controller Pak ID area, assigns a new ID if this area is damaged, and repairs the Controller Pak file system.

This function can be used if a PFS_ERR_ID_FATAL error code is returned by the osPfsInitPak function. For information, see osPfsInitPak.

The OSPfs structure pfs is a file handle initialized by the function osPfsInitPak. For information on creating this handle, see osPfsInitPak

If the function call is successful, a 0 is returned as the return value. If an error occurs, one of 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; internally specified controller pak is recognized by comparing ID each Controller pak has. To use the inserted Controller Pak, initialize it by calling osPfsInitPak.

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_ID_FATAL
Recovery failed. Possible causes are an abnormality in the controller Joyport or Controller Pak.

PFS_ERR_DEVICE
A peripheral device other than a Controller Pak (eg, Rumble Pak, 64GB Pak) has been inserted in the controller. Whether a Controller Pak has been inserted is determined by whether the device has RAM. This error is issued if there is no RAM present.

PFS_ERR_INVALID
The Pfs function was called without initialization by osPfsInitPak. This error also can be issued if the file handle structure pfs is initialized by a function other than the Controller Pak initialization function osPfsInitPak and a Controller Pak function is then executed. An example would be if the Rumble Pak initialization function osMotorInit were used to initialize the structure pfs and osPfsRepairId were then executed. Game program processing should be modified if this error is returned.

See Also

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

Revision History

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