open.c
来自「Jazmyn is a 32-bit, protected mode, mult」· C语言 代码 · 共 68 行
C
68 行
#include <sys\types.h>
#include <callnr.h>
#include <jazmyn.h>
int open(const char* __path,int __access,mode_t __perm)
{
int __res;
__asm__ __volatile__("int $0x28"
:"=a" (__res)
:"a" (__OPEN_NR),"b" (__path),"c" (__access),"d" (__perm));
return __res;
}
int creat(const char* __path,mode_t __perm)
{
return open(__path,O_WRONLY|O_CREAT|O_TRUNC,__perm);
}
off_t lseek(int __fd,off_t __pos,int __whence)
{
int __res;
__asm__ __volatile__("int $0x28"
:"=a" (__res)
:"a" (__LSEEK_NR),"b" (__fd),"c" (__pos),"d" (__whence));
return __res;
}
ssize_t read(int __fd,void *__buf,size_t __size)
{
ssize_t __res;
__asm__ __volatile__("int $0x28"
:"=a" (__res)
:"a" (__READ_NR),"b" (__fd),"c" (__buf),"d" (__size));
return __res;
}
ssize_t write(int __fd,const void *__buf,size_t __size)
{
ssize_t __res;
__asm__ __volatile__("int $0x28"
:"=a" (__res)
:"a" (__WRITE_NR),"b" (__fd),"c" (__buf),"d" (__size));
return __res;
}
int close(int __fd)
{
int __res;
__asm__ __volatile__("int $0x28":"=a" (__res):"a" (__CLOSE_NR),"b" (__fd));
return __res;
}
int unlink(const char *__link)
{
int __res;
__asm__ __volatile__("int $0x28":"=a" (__res):"a" (__UNLINK_NR),"b" (__link));
return __res;
}
int fstat(int __fd,stat *__statv)
{
int __res;
__asm__ __volatile__("int $0x28":"=a" (__res):"a" (__FSTAT_NR),"b" (__fd),"c" (__statv));
return __res;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?