⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 syscalls.c

📁 标准c库代码,可以应用于各个系统提供了大量的基本函数
💻 C
字号:
#include <_ansi.h>#include <sys/types.h>#include <sys/stat.h>#include "sys/syscall.h"int errno;int_read (int file,       char *ptr,       int len){  return __trap3 (SYS_read, file, ptr, len);}int_lseek (int file,	int ptr,	int dir){  return __trap3 (SYS_lseek, file, ptr, dir);}staticwritechar (char c){  asm ("mov %0,r0"::"r" (c));  asm ("trapa #1");}int_write (	 int file,	 char *ptr,	 int len){  return __trap3 (SYS_write, file, ptr, len);}int_close (int file){  return __trap3 (SYS_close, file, 0, 0);}register char *stack_ptr asm ("r15");caddr_t_sbrk (int incr){  extern char end;		/* Defined by the linker */  static char *heap_end;  char *prev_heap_end;  if (heap_end == 0)    {      heap_end = &end;    }  prev_heap_end = heap_end;  if (heap_end > stack_ptr)    {      _write (1, "Heap and stack collision\n", 25);      abort ();    }  heap_end += incr;  return (caddr_t) prev_heap_end;}int_fstat (int file,	struct stat *st){  st->st_mode = S_IFCHR;  return 0;}int_open (	const char *path,	int flags){  return __trap3 (SYS_open, path, flags, 0);}int_unlink (){  return -1;}isatty (fd)     int fd;{  return 1;}_exit (n){  return __trap3 (SYS_exit, n, 0, 0);}_kill (n, m){  return __trap3 (SYS_exit, 0xdead, 0, 0);}_getpid (n){  return 1;}_raise (){}int_stat (const char *path, struct stat *st){  return _trap3 (SYS_stat, path, st, 0);}int_chmod (const char *path, short mode){  return _trap3 (SYS_chmod, path, mode);}int_chown (const char *path, short owner, short group){  return _trap3 (SYS_chown, path, owner, group);}int_utime (path, times)     const char *path;     char *times;{  return _trap3 (SYS_utime, path, times);}int_fork (){  return _trap3 (SYS_fork);}int_wait (statusp)     int *statusp;{  return _trap3 (SYS_wait);}int_execve (const char *path, char *const argv[], char *const envp[]){  return _trap3 (SYS_execve, path, argv, envp);}int_execv (const char *path, char *const argv[]){  return _trap3 (SYS_execv, path, argv);}int_pipe (int *fd){  return _trap3 (SYS_pipe, fd);}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -