Values that represent specific causes of failure.
Defined in <physfs.h>
typedef enum PHYSFS_ErrorCode
{
PHYSFS_ERR_OK, /**< Success; no error. */
PHYSFS_ERR_OTHER_ERROR, /**< Error not otherwise covered here. */
PHYSFS_ERR_OUT_OF_MEMORY, /**< Memory allocation failed. */
PHYSFS_ERR_NOT_INITIALIZED, /**< PhysicsFS is not initialized. */
PHYSFS_ERR_IS_INITIALIZED, /**< PhysicsFS is already initialized. */
PHYSFS_ERR_ARGV0_IS_NULL, /**< Needed argv[0], but it is NULL. */
PHYSFS_ERR_UNSUPPORTED, /**< Operation or feature unsupported. */
PHYSFS_ERR_PAST_EOF, /**< Attempted to access past end of file. */
PHYSFS_ERR_FILES_STILL_OPEN, /**< Files still open. */
PHYSFS_ERR_INVALID_ARGUMENT, /**< Bad parameter passed to an function. */
PHYSFS_ERR_NOT_MOUNTED, /**< Requested archive/dir not mounted. */
PHYSFS_ERR_NOT_FOUND, /**< File (or whatever) not found. */
PHYSFS_ERR_SYMLINK_FORBIDDEN,/**< Symlink seen when not permitted. */
PHYSFS_ERR_NO_WRITE_DIR, /**< No write dir has been specified. */
PHYSFS_ERR_OPEN_FOR_READING, /**< Wrote to a file opened for reading. */
PHYSFS_ERR_OPEN_FOR_WRITING, /**< Read from a file opened for writing. */
PHYSFS_ERR_NOT_A_FILE, /**< Needed a file, got a directory (etc). */
PHYSFS_ERR_READ_ONLY, /**< Wrote to a read-only filesystem. */
PHYSFS_ERR_CORRUPT, /**< Corrupted data encountered. */
PHYSFS_ERR_SYMLINK_LOOP, /**< Infinite symbolic link loop. */
PHYSFS_ERR_IO, /**< i/o error (hardware failure, etc). */
PHYSFS_ERR_PERMISSION, /**< Permission denied. */
PHYSFS_ERR_NO_SPACE, /**< No space (disk full, over quota, etc) */
PHYSFS_ERR_BAD_FILENAME, /**< Filename is bogus/insecure. */
PHYSFS_ERR_BUSY, /**< Tried to modify a file the OS needs. */
PHYSFS_ERR_DIR_NOT_EMPTY, /**< Tried to delete dir with files in it. */
PHYSFS_ERR_OS_ERROR, /**< Unspecified OS-level error. */
PHYSFS_ERR_DUPLICATE, /**< Duplicate entry. */
PHYSFS_ERR_BAD_PASSWORD, /**< Bad password. */
PHYSFS_ERR_APP_CALLBACK /**< Application callback reported error. */
} PHYSFS_ErrorCode;Most of the time, you should only concern yourself with whether a given operation failed or not, but there may be occasions where you plan to handle a specific failure case gracefully, so we provide specific error codes.
Most of these errors are a little vague, and most aren't things you can fix...if there's a permission error, for example, all you can really do is pass that information on to the user and let them figure out how to handle it. In most these cases, your program should only care that it failed to accomplish its goals, and not care specifically why.
This enum is available since PhysicsFS 2.1.0.