Files
player/Project/Src/MY/sys_api.c

499 lines
13 KiB
C
Raw Normal View History

2025-06-27 00:32:57 +08:00
#include "sys_api.h"
#include "char_encode.h"
#include "crc8_16.h"
#include "ctype.h"
2025-06-27 00:32:57 +08:00
#include "date.h"
#include "elf.h"
#include "flash_manager.h"
#include "math.h"
2025-06-27 00:32:57 +08:00
#include "mp3play.h"
#include "mywin_inc.h"
#include "rthw.h"
#include "rtthread.h"
#include "stdio.h"
#include "string.h"
#include "system_file.h"
#include "system_updata.h"
#include "tools.h"
2025-06-27 00:32:57 +08:00
#include "bsp_init.h"
// index=333
#define API_TABLE_PTR (*((void ***)0x20000008))
2025-06-27 00:32:57 +08:00
typedef struct {
int api_num;
void **fun_table;
} api_table_struct;
2025-06-27 00:32:57 +08:00
2025-07-05 19:47:28 +08:00
// api<70><69><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڳ<EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
2025-06-27 00:32:57 +08:00
api_table_struct g_api_table;
static int api_table_init(void) {
extern const unsigned int sys_api_start;
extern const unsigned int sys_api_end;
api_item_struct *start = (api_item_struct *)&sys_api_start;
api_item_struct *end = (api_item_struct *)&sys_api_end;
if (g_api_table.fun_table == 0) {
g_api_table.api_num = end - start;
g_api_table.api_num += 10;
g_api_table.fun_table = malloc(sizeof(void *) * g_api_table.api_num);
// memset(g_api_table.fun_table,0x55,sizeof(void
// *)*g_api_table.api_num);
for (; start < end; start++) {
if (start->index < g_api_table.api_num - 1) {
g_api_table.fun_table[start->index] = start->fun;
} else {
printf("%s:fun init err item->index=%d\r\n", __func__, start->index);
}
2025-06-27 00:32:57 +08:00
}
}
2025-07-06 02:53:08 +08:00
API_TABLE_PTR = g_api_table.fun_table;
2025-07-06 02:53:08 +08:00
return 0;
2025-06-27 00:32:57 +08:00
}
extern_init(sys_api, api_table_init);
2025-06-27 00:32:57 +08:00
2025-07-05 19:47:28 +08:00
// <20><><EFBFBD>п<EFBFBD><D0BF><EFBFBD><EFBFBD>õ<EFBFBD><C3B5><EFBFBD>api<70><69><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><E9A3AC>ֹ<EFBFBD><D6B9><EFBFBD>Ż<EFBFBD><C5BB><EFBFBD>
2025-06-27 00:32:57 +08:00
2025-07-05 19:47:28 +08:00
// <20><><EFBFBD><EFBFBD>ϵͳ<CFB5>ں<EFBFBD><DABA><EFBFBD><EFBFBD><EFBFBD>api
api_item(rt_hw_interrupt_disable, 1);
api_item(rt_hw_interrupt_enable, 2);
api_item(rt_enter_critical, 3);
api_item(rt_exit_critical, 4);
api_item(rt_thread_mdelay, 5);
api_item(rt_thread_create, 6);
api_item(rt_thread_startup, 7);
api_item(rt_thread_delete, 8);
api_item(rt_timer_create, 9);
api_item(rt_timer_delete, 10);
api_item(rt_timer_start, 11);
api_item(rt_timer_stop, 12);
api_item(rt_sem_create, 13);
api_item(rt_sem_delete, 14);
api_item(rt_sem_take, 15);
api_item(rt_sem_release, 16);
api_item(rt_mutex_create, 17);
api_item(rt_mutex_delete, 18);
api_item(rt_mutex_take, 19);
api_item(rt_mutex_release, 20);
api_item(rt_event_create, 21);
api_item(rt_event_delete, 22);
api_item(rt_event_send, 23);
api_item(rt_event_recv, 24);
api_item(rt_mb_create, 25);
api_item(rt_mb_delete, 26);
api_item(rt_mb_send, 27);
api_item(rt_mb_send_wait, 28);
api_item(rt_mb_recv, 29);
api_item(rt_mq_create, 30);
api_item(rt_mq_delete, 31);
api_item(rt_mq_send, 32);
api_item(rt_mq_urgent, 33);
api_item(rt_mq_recv, 34);
2025-06-27 00:32:57 +08:00
2025-07-05 19:47:28 +08:00
// c<><63><EFBFBD>Կ<EFBFBD><D4BF><EFBFBD><EFBFBD><EFBFBD>api
api_item(fputc, 35);
api_item(rand, 36);
api_item(calloc, 37);
api_item(free, 38);
api_item(malloc, 39);
api_item(realloc, 40);
2025-06-27 00:32:57 +08:00
2025-07-05 19:47:28 +08:00
// <20><><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>api
api_item(tools_updata_on, 41);
api_item(tools_updata_off, 42);
2025-06-27 00:32:57 +08:00
2025-07-05 19:47:28 +08:00
// <20><><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>api
2025-06-27 00:32:57 +08:00
2025-07-05 19:47:28 +08:00
// soft<66><74><EFBFBD><EFBFBD>api
api_item(uni2utf8_str, 43);
api_item(utf82uni_str, 44);
api_item(gbk2uni_str, 45);
api_item(uni2gbk_str, 46);
api_item(gbk2utf8_str, 47);
api_item(utf82gbk_str, 48);
api_item(FLASH_ReadData, 49);
api_item(FLASH_WriteData, 50);
api_item(FLASH_EraseOneSector, 51);
api_item(FLASH_EraseAllSector, 52);
api_item(FLASH_GetFlashSize, 53);
api_item(FLASH_CheckErase, 54);
api_item(FLASH_LoopWrite, 55);
api_item(FLASH_AddFile, 56);
api_item(FLASH_ReadFile, 57);
api_item(FLASH_FindFile, 58);
api_item(FLASH_GetUsed, 59);
api_item(FLASH_GetFileNum, 60);
api_item(FLASH_GetFileInfo, 61);
api_item(FLASH_DeleteFile, 62);
api_item(FLASH_SaveFile, 63);
api_item(SysFile_GetFileByName, 64);
api_item(SysFile_Updata, 65);
api_item(SysFile_UpdataByIrq, 66);
api_item(date_is_leap_year, 67);
api_item(date_get_month_day_max, 68);
api_item(date_get_week_by_day, 69);
api_item(date_get_year_max, 70);
api_item(date_get_year_min, 71);
api_item(date_get_next_day, 72);
api_item(date_get_last_day, 73);
api_item(date_get_next_n_day, 74);
api_item(date_get_last_n_day, 75);
api_item(date_rtc_get_date, 76);
api_item(date_rtc_get_time, 77);
api_item(date_rtc_set_date, 78);
api_item(date_rtc_set_time, 79);
api_item(app_run_path, 80);
api_item(app_run, 81);
api_item(appm_find, 82);
api_item(appm_get, 83);
api_item(appm_get_running_num, 84);
api_item(app_exit, 85);
api_item(app_get_name_from_file, 86);
api_item(mp3_get_support, 87);
api_item(mp3_get_support_name, 88);
api_item(mp3_play_song, 89);
api_item(mp3_get_name, 90);
api_item(mp3_get_artist, 91);
api_item(mp3_get_time, 92);
api_item(mp3_stop, 93);
api_item(mp3_play, 94);
api_item(mp3_suspend, 95);
api_item(mp3_set_vol, 96);
api_item(mp3_add_val, 97);
api_item(mp3_sub_val, 98);
api_item(mp3_get_vol, 99);
2025-06-27 00:32:57 +08:00
2025-07-05 19:47:28 +08:00
// GUI<55><49><EFBFBD><EFBFBD>api
2025-07-06 02:53:08 +08:00
/* <20><><EFBFBD>º<EFBFBD><C2BA><EFBFBD><EFBFBD><EFBFBD>ͬһ<CDAC><D2BB><EFBFBD><EFBFBD>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD>ͬһ<CDAC>̵߳<DFB3><CCB5><EFBFBD> */
api_item(QUEUE_Init, 100);
api_item(QUEUE_Delete, 101);
api_item(QUEUE_Out, 102);
api_item(QUEUE_In, 103);
api_item(QUEUE_CheckStart, 104);
api_item(QUEUE_Check, 105);
/* <20><><EFBFBD>º<EFBFBD><C2BA><EFBFBD><EFBFBD>̰߳<DFB3>ȫ */
api_item(POS_RoundPix, 106);
api_item(POS_InRect, 107);
api_item(POS_RectIntersection, 108);
api_item(POS_RectContain, 109);
api_item(POS_RectSub, 110);
api_item(POS_RectEqual, 111);
/* <20><><EFBFBD>º<EFBFBD><C2BA><EFBFBD>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD>ui<75>̵߳<DFB3><CCB5><EFBFBD> */
api_item(WIN_CreatThread, 112);
api_item(WIN_CreatThreadPro, 113);
api_item(WIN_GetExWorkFunStat, 114);
api_item(WIN_ExWorkFunClear, 115);
api_item(WIN_GetWordData, 116);
/* <20><><EFBFBD>º<EFBFBD><C2BA><EFBFBD><EFBFBD>̰߳<DFB3>ȫ */
api_item(WIN_DecodeImg, 117);
/* <20><><EFBFBD>º<EFBFBD><C2BA><EFBFBD><EFBFBD>̰߳<DFB3>ȫ */
api_item(WIN_PlaceExtData, 118);
api_item(WIN_RunInWindow, 119);
/* <20><><EFBFBD>º<EFBFBD><C2BA><EFBFBD>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD>ui<75>̵߳<DFB3><CCB5><EFBFBD> */
api_item(WIN_GetWinStruct, 120);
api_item(WIN_SetRunCallBack, 121);
api_item(WIN_SetBlockWinReturn, 122);
api_item(WIN_GetBlockWinReturn, 123);
api_item(WIN_GetExtData, 124);
api_item(WIN_RunMsgFunction, 125);
api_item(WIN_GetBaseWindow, 126);
api_item(WIN_GetCurrentWindow, 127);
api_item(WIN_CreatWindow, 128);
api_item(WIN_CreatWindowExt, 129);
api_item(WIN_DeleteWindow, 130);
api_item(WIN_SetAsTopWin, 131);
api_item(WIN_ResetAsTopWin, 132);
api_item(WIN_GetWindowStructById, 133);
api_item(WIN_DelFromChidList, 134);
api_item(WIN_AddToChidList, 135);
api_item(WIN_CheckChidWin, 136);
api_item(WIN_FindTopWinByPos, 137);
api_item(WIN_FindTopWin, 138);
api_item(WIN_SetChidWinTop, 139);
api_item(WIN_GetWinPosOnLcd, 140);
api_item(WIN_FindPrent, 141);
api_item(WIN_SetWinInvalidRect, 142);
api_item(WIN_GetWinInvalidRect, 143);
api_item(WIN_SetWinTitle, 144);
api_item(WIN_GetWinByTitle, 145);
api_item(WIN_FindBlock, 146);
api_item(WIN_SetChildWinkeyShield, 147);
api_item(WIN_PaintBackGround, 148);
api_item(WIN_SetBackPic, 149);
api_item(WIN_SetBackPicPath, 150);
api_item(WIN_SetBackFun, 151);
api_item(WIN_SetColor, 152);
api_item(WIN_SetBkColor, 153);
api_item(WIN_ShowWindow, 154);
/* <20><><EFBFBD>º<EFBFBD><C2BA><EFBFBD>ֻ<EFBFBD><D6BB><EFBFBD>ڷ<EFBFBD>ui<75>̵߳<DFB3><CCB5><EFBFBD> */
api_item(WIN_StorTouchStruct, 155);
api_item(WIN_StorKeyStruct, 156);
/* <20><><EFBFBD>º<EFBFBD><C2BA><EFBFBD>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD>ui<75>̵߳<DFB3><CCB5><EFBFBD> */
api_item(WIN_ClearKeyQueue, 157);
api_item(WIN_ClearTouchQueue, 158);
api_item(WIN_KeyShieldOn, 159);
api_item(WIN_KeyShieldOff, 160);
api_item(WIN_DefaultMsgLoop, 161);
api_item(WIN_SetMsgLoopCallBack, 162);
api_item(WIN_RunBlock, 163);
api_item(WIN_SendMsg, 164);
api_item(WIN_SendMsgToPrent, 165);
api_item(WIN_ClearMsgQueue, 166);
api_item(WIN_CheckMsg, 167);
api_item(WIN_SendTouchMsg, 168);
api_item(WIN_SendTouchMove, 169);
api_item(WIN_SendKeyMsg, 170);
api_item(WIN_TouchMsgBroad, 171);
api_item(WIN_SetInvalid, 172);
api_item(WIN_SetInvalidWhenTop, 173);
api_item(WIN_SetInvalidRect, 174);
api_item(WIN_SetInvalidRectWhenTop, 175);
api_item(WIN_Move, 176);
api_item(WIN_SetPos, 177);
api_item(WIN_SetSize, 178);
/* <20><><EFBFBD>º<EFBFBD><C2BA><EFBFBD>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD>ui<75>̵߳<DFB3><CCB5><EFBFBD> */
api_item(WIN_CreatTimer, 179);
api_item(WIN_TimerReload, 180);
api_item(WIN_SetTimerCycle, 181);
api_item(WIN_DeleteTimer, 182);
api_item(WIN_WinDeleteTimer, 183);
/* <20><><EFBFBD>º<EFBFBD><C2BA><EFBFBD><EFBFBD><EFBFBD>ͬһ<CDAC><D2BB><EFBFBD><EFBFBD>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD>ͬһ<CDAC>̵߳<DFB3><CCB5><EFBFBD> */
api_item(WIN_CreatVirtualLcd, 184);
api_item(WIN_DeleteVirtualLcd, 185);
api_item(WIN_LcdSetScreenDis, 186);
api_item(WIN_LcdSetWindow, 187);
api_item(WIN_LcdGetWindowSizeX, 188);
api_item(WIN_LcdGetWindowSizeY, 189);
api_item(WIN_LcdSetLcdColor, 190);
api_item(WIN_LcdSetLcdBkColor, 191);
api_item(WIN_LcdSetLcdColor16, 192);
api_item(WIN_LcdSetLcdBkColor16, 193);
api_item(WIN_LcdGetLcdColor, 194);
api_item(WIN_LcdGetLcdBkColor, 195);
api_item(WIN_LcdGetLcdColor16, 196);
api_item(WIN_LcdGetLcdBkColor16, 197);
api_item(WIN_LcdSetLcdDrawMode, 198);
api_item(WIN_LcdFillRectOff16At, 199);
api_item(WIN_LcdDrawPointSafe, 200);
api_item(WIN_LcdDrawPointSafeColor, 201);
api_item(WIN_LcdDrawPointSafeColorAlpha, 202);
api_item(WIN_LcdFillRectByColor, 203);
api_item(WIN_LcdFillRectByColorAlpha, 204);
api_item(WIN_LcdDrawImag, 205);
api_item(WIN_LcdDrawImagButColor, 206);
api_item(WIN_LcdDrawImagByColor, 207);
api_item(WIN_LcdDrawImagByAlpha, 208);
api_item(WIN_LcdClear, 209);
api_item(WIN_LcdClearRect, 210);
api_item(WIN_LcdGetColors, 211);
/* <20><><EFBFBD>º<EFBFBD><C2BA><EFBFBD>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD>ui<75>̵߳<DFB3><CCB5><EFBFBD> */
api_item(WIN_SetFontSize, 212);
api_item(WIN_SetFontType, 213);
api_item(WIN_GetFontHight, 214);
api_item(WIN_GetFontWidth, 215);
api_item(WIN_SetFontMode, 216);
/* <20><><EFBFBD>º<EFBFBD><C2BA><EFBFBD>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD>ui<75>̵߳<DFB3><CCB5><EFBFBD> */
api_item(WIN_DrawPointSafe, 217);
api_item(WIN_DrawPointNormal, 218);
api_item(WIN_DrawPointColorSafe, 219);
api_item(WIN_DrawPointColorNormal, 220);
api_item(WIN_DrawPointSafeColorAlpha, 221);
api_item(WIN_SetLcdColor, 222);
api_item(WIN_SetLcdBkColor, 223);
api_item(WIN_GetLcdColor16, 224);
api_item(WIN_DrawTxtAt, 225);
api_item(WIN_DrawTxtAtRect, 226);
api_item(WIN_DrawTxtCenterAtRect, 227);
api_item(WIN_DrawTxtHCenterAt, 228);
api_item(WIN_DrawHLine, 229);
api_item(WIN_DrawHLineAlpha, 230);
api_item(WIN_DrawVLine, 231);
api_item(WIN_DrawLine, 232);
api_item(WIN_DrawLines, 233);
api_item(WIN_DrawCircle, 234);
api_item(WIN_DrawRect, 235);
api_item(WIN_DrawPolygon, 236);
api_item(WIN_FillRectByColor, 237);
api_item(WIN_FillRectByColorAlpha, 238);
api_item(WIN_FillTriangle, 239);
api_item(WIN_FillPolygon, 240);
api_item(WIN_CreatPlaneAA, 241);
api_item(WIN_DeletePlaneAA, 242);
api_item(WIN_DrawPointAA, 243);
api_item(WIN_DrawPlaneAA, 244);
api_item(WIN_DrawLineAA, 245);
api_item(WIN_FillRect, 246);
api_item(WIN_FillRectAlpha, 247);
api_item(WIN_DrawImag, 248);
api_item(WIN_DrawImagButColor, 249);
api_item(WIN_DrawImagByColor, 250);
api_item(WIN_DrawImagByAlpha, 251);
api_item(WIN_DrawImagByAlphaAnti, 252);
api_item(WIN_Clear, 253);
api_item(WIN_GetTxtRectSize, 254);
api_item(WIN_GetImageSize, 255);
/* <20><><EFBFBD>º<EFBFBD><C2BA><EFBFBD>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD>ui<75>̵߳<DFB3><CCB5><EFBFBD> */
api_item(WIN_GetPic, 256);
api_item(WIN_GetPicNoAlpha, 257);
api_item(WIN_PicInsidePic, 258);
api_item(WIN_GetPicLive, 259);
api_item(WIN_DrawPic, 260);
/* <20><><EFBFBD>º<EFBFBD><C2BA><EFBFBD>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD>ui<75>̵߳<DFB3><CCB5><EFBFBD> */
api_item(MSGBOX_SetTitle, 261);
api_item(MSGBOX_SetMsg, 262);
api_item(MSGBOX_SetKey, 263);
api_item(MSGBOX_SetKey2, 264);
api_item(MSGBOX_AddItem, 265);
api_item(MSGBOX_Tips, 266);
api_item(MSGBOX_TipsTime, 267);
api_item(MSGBOX_Inquiry, 268);
api_item(MSGBOX_Select, 269);
/* <20><><EFBFBD>º<EFBFBD><C2BA><EFBFBD>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD>ui<75>̵߳<DFB3><CCB5><EFBFBD> */
api_item(WIN_CreatButton, 270);
api_item(BUTTON_SetKeyString, 271);
/* <20><><EFBFBD>º<EFBFBD><C2BA><EFBFBD>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD>ui<75>̵߳<DFB3><CCB5><EFBFBD> */
api_item(WIN_CreatInput, 272);
api_item(INPUT_KeyBoard, 273);
/* <20><><EFBFBD>º<EFBFBD><C2BA><EFBFBD>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD>ui<75>̵߳<DFB3><CCB5><EFBFBD> */
api_item(WIN_CreatList, 274);
api_item(LIST_SetItem, 275);
api_item(LIST_SetItemHeight, 276);
api_item(LIST_SetYOrigin, 277);
api_item(LIST_SetYMove, 278);
/* <20><><EFBFBD>º<EFBFBD><C2BA><EFBFBD>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD>ui<75>̵߳<DFB3><CCB5><EFBFBD> */
api_item(WIN_CreatPage, 279);
api_item(PAGE_SetBackPic, 280);
api_item(PAGE_SetItem, 281);
api_item(PAGE_SetTitleHeight, 282);
api_item(PAGE_SetItemHeight, 283);
api_item(PAGE_SetItemIndent, 284);
api_item(PAGE_IndexAdd, 285);
api_item(PAGE_IndexSub, 286);
/* <20><><EFBFBD>º<EFBFBD><C2BA><EFBFBD>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD>ui<75>̵߳<DFB3><CCB5><EFBFBD> */
api_item(POPUP_SelectItem, 287);
api_item(POPUP_AddItem, 288);
/* <20><><EFBFBD>º<EFBFBD><C2BA><EFBFBD>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD>ui<75>̵߳<DFB3><CCB5><EFBFBD> */
api_item(WORKING_DoWork, 289);
/* <20><><EFBFBD>º<EFBFBD><C2BA><EFBFBD>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD>ui<75>̵߳<DFB3><CCB5><EFBFBD> */
api_item(SCROLLBAR_SelectItem, 290);
api_item(SCROLLBAR_SelectNum, 291);
api_item(SCROLLBAR_AddItem, 292);
/* <20><><EFBFBD>º<EFBFBD><C2BA><EFBFBD>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD>ui<75>̵߳<DFB3><CCB5><EFBFBD> */
api_item(INPUTBOX_InputChars, 293);
api_item(INPUTBOX_Clear, 294);
api_item(INPUTBOX_SetChars, 295);
/* <20><><EFBFBD>º<EFBFBD><C2BA><EFBFBD>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD>ui<75>̵߳<DFB3><CCB5><EFBFBD> */
api_item(RECORD_DrawRecord, 296);
api_item(RECORD_AddMsg, 297);
/* <20><><EFBFBD>º<EFBFBD><C2BA><EFBFBD>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD>ui<75>̵߳<DFB3><CCB5><EFBFBD> */
api_item(WIN_CreatTouch, 298);
api_item(WIN_CreatTouchEx, 299);
api_item(WIN_CreatTouchChild, 300);
api_item(WIN_CreatTouchBase, 301);
api_item(TOUCHWIN_AddChild, 302);
api_item(TOUCHWIN_ClearChild, 303);
api_item(TOUCHWIN_SetOutCon, 304);
2025-06-27 00:32:57 +08:00
2025-07-05 19:47:28 +08:00
// һЩ<D2BB><D0A9><EFBFBD><EFBFBD><E4BAAF>
api_item(myfree, 305);
api_item(mymalloc, 306);
api_item(myrealloc, 307);
api_item(mycalloc, 308);
api_item(mymalloc_fast, 309);
api_item(mymemset, 310);
api_item(mymemcpy, 311);
api_item(mem_perused, 312);
api_item(exmem_perused, 313);
2025-06-27 00:32:57 +08:00
2025-07-05 19:47:28 +08:00
// FATFS<46>ļ<EFBFBD>ϵͳ
api_item(f_open, 314);
api_item(f_close, 315);
api_item(f_read, 316);
api_item(f_write, 317);
api_item(f_lseek, 318);
api_item(f_truncate, 319);
api_item(f_sync, 320);
api_item(f_opendir, 321);
api_item(f_closedir, 322);
api_item(f_readdir, 323);
api_item(f_findfirst, 324);
api_item(f_findnext, 325);
api_item(f_mkdir, 326);
api_item(f_unlink, 327);
api_item(f_rename, 328);
api_item(f_stat, 329);
api_item(f_getfree, 330);
api_item(f_mount, 331);
api_item(f_mkfs, 332);
2025-06-27 00:32:57 +08:00
api_item(strlen, 333);
api_item(sprintf, 334);
api_item(rt_kputs, 335);