📄 kos_fake_func.c
字号:
#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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -