kos_fake_func.c
来自「DC的SEGA_GG模拟器源代码」· C语言 代码 · 共 76 行
C
76 行
#include <stdio.h>
#include <kallisti/abi/fs.h>
extern abi_fs_t *fs;
typedef unsigned int FILE;
FILE * fopen(const char *path, const char *mode)
{
if (mode[0] == 'r')
return (FILE *)fs->open(path, O_RDONLY);
if (mode[0] == 'w')
return (FILE *)fs->open(path, O_WRONLY);
}
int fprintf(FILE *stream, const char *fmt, ...)
{
va_list args;
int i;
char buf[1024];
if (stream <= 2) {
va_start(args, fmt);
i = vsprintf(buf, fmt, args);
va_end(args);
printf("%s", buf);
return i;
} else
return -1;
}
int fclose(FILE *stream)
{
fs->close((unsigned int)stream);
return 0;
}
unsigned int fread(void *ptr, unsigned int size, unsigned int nmemb, FILE *stream)
{
return fs->read((unsigned int)stream, ptr, size*nmemb)/size;
}
unsigned int ftell (FILE *stream) {
return fs->tell((unsigned int)stream);
}
unsigned int fwrite(void *ptr, unsigned int size, unsigned int nmemb, FILE *stream)
{
return fs->write((unsigned int)stream, ptr, size*nmemb)/size;
}
int fseek(FILE *stream, long offset, int whence)
{
return fs->seek((unsigned int)stream, offset, whence);
}
/*int sprintf(char *buf, const char *fmt, ...)
{
va_list args;
int i;
va_start(args, fmt);
i = vsprintf(buf, fmt, args);
va_end(args);
return i;
}*/
void exit(int status)
{
printf("fake exit() called - you must reset now\n");
while(1);
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?