mirror of
https://gitee.com/anod/open_agb_firm.git
synced 2025-05-06 13:54:09 +08:00

type.h: 针对c++使用了c++23的using语法定义typedef memory.h/memory.c 提供了不对齐拷贝32位值的实现 其他大部分头文件,只是提供了c++的头文件支持
80 lines
3.0 KiB
C
80 lines
3.0 KiB
C
#pragma once
|
|
|
|
/*
|
|
* This file is part of open_agb_firm
|
|
* Copyright (C) 2021 derrek, profi200
|
|
*
|
|
* This program is free software: you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License as published by
|
|
* the Free Software Foundation, either version 3 of the License, or
|
|
* (at your option) any later version.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public License
|
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
*/
|
|
|
|
#include "types.h"
|
|
|
|
|
|
#ifdef __cplusplus
|
|
extern "C"
|
|
{
|
|
#endif
|
|
|
|
#define CUSTOM_ERR_OFFSET (200u)
|
|
|
|
typedef u32 Result;
|
|
|
|
// Keep errors in the range of 0-CUSTOM_ERR_OFFSET - 1.
|
|
enum
|
|
{
|
|
// Common errors.
|
|
RES_OK = 0u,
|
|
RES_SD_CARD_REMOVED = 1u,
|
|
RES_DISK_FULL = 2u,
|
|
RES_INVALID_ARG = 3u,
|
|
RES_OUT_OF_MEM = 4u,
|
|
RES_OUT_OF_RANGE = 5u,
|
|
RES_NOT_FOUND = 6u,
|
|
RES_PATH_TOO_LONG = 7u,
|
|
|
|
// fatfs errors.
|
|
// Caution: Update fres2Res() in fs.c on ARM9 if this changes!
|
|
RES_FR_DISK_ERR = 8u, /* (1) A hard error occurred in the low level disk I/O layer */
|
|
RES_FR_INT_ERR = 9u, /* (2) Assertion failed */
|
|
RES_FR_NOT_READY = 10u, /* (3) The physical drive cannot work */
|
|
RES_FR_NO_FILE = 11u, /* (4) Could not find the file */
|
|
RES_FR_NO_PATH = 12u, /* (5) Could not find the path */
|
|
RES_FR_INVALID_NAME = 13u, /* (6) The path name format is invalid */
|
|
RES_FR_DENIED = 14u, /* (7) Access denied due to prohibited access or directory full */
|
|
RES_FR_EXIST = 15u, /* (8) Access denied due to prohibited access */
|
|
RES_FR_INVALID_OBJECT = 16u, /* (9) The file/directory object is invalid */
|
|
RES_FR_WRITE_PROTECTED = 17u, /* (10) The physical drive is write protected */
|
|
RES_FR_INVALID_DRIVE = 18u, /* (11) The logical drive number is invalid */
|
|
RES_FR_NOT_ENABLED = 19u, /* (12) The volume has no work area */
|
|
RES_FR_NO_FILESYSTEM = 20u, /* (13) There is no valid FAT volume */
|
|
RES_FR_MKFS_ABORTED = 21u, /* (14) The f_mkfs() aborted due to any problem */
|
|
RES_FR_TIMEOUT = 22u, /* (15) Could not get a grant to access the volume within defined period */
|
|
RES_FR_LOCKED = 23u, /* (16) The operation is rejected according to the file sharing policy */
|
|
RES_FR_NOT_ENOUGH_CORE = 24u, /* (17) LFN working buffer could not be allocated */
|
|
RES_FR_TOO_MANY_OPEN_FILES = 25u, /* (18) Number of open files > FF_FS_LOCK */
|
|
RES_FR_INVALID_PARAMETER = 26u, /* (19) Given parameter is invalid */
|
|
|
|
// Lgy errors.
|
|
RES_GBA_RTC_ERR = 27u,
|
|
|
|
MAX_LIBN3DS_RES_VALUE = RES_GBA_RTC_ERR
|
|
};
|
|
|
|
|
|
|
|
const char* result2String(Result res);
|
|
|
|
#ifdef __cplusplus
|
|
} // extern "C"
|
|
#endif |