📄 unistd.c
字号:
/* unistd.c * * (C) Copyright Dec 20 1998, Edmond J. Breen. * ALL RIGHTS RESERVED. * This code may be copied for personal, non-profit use only. * *//* This file is broken into 2 parts * the first part defines the interface routines * and the 2nd part adds the interface routine * to EiC's look up tables. */#ifndef NO_UNISTD#include <unistd.h>#include <stdlib.h>#include "eic.h"#include "stdliblocal.h"/* UNISTD.H STUFF */val_t eic_access(){ val_t v; v.ival = access(arg(0,getargs(),ptr_t).p, arg(1,getargs(),int )); return v;}val_t eic_sleep(void){ val_t v; v.uival = sleep(arg(0,getargs(),unsigned )); return v;}val_t eic_pipe(void){ val_t v; v.ival = pipe(arg(0,getargs(),ptr_t).p); return v;}val_t eic_getpid(void){ val_t v; v.ival = getpid(); return v;}val_t eic_dup(void){ val_t v; v.ival = dup(arg(0,getargs(),int )); return v;}val_t eic_dup2(void){ val_t v; v.ival = dup2(arg(0,getargs(),int), arg(1,getargs(),int)); return v; }val_t eic_fork(void){ val_t v; v.pid = fork(); return v;}val_t eic_unlink(void){ val_t v; v.ival = unlink(arg(0,getargs(),ptr_t).p); return v;}val_t eic_link(void){ val_t v; v.ival = link(arg(0,getargs(),ptr_t).p, arg(1,getargs(),ptr_t).p); return v;}val_t eic_close(void){ val_t v; arg_list ap = getargs(); v.ival = close(arg(0,ap,int)); return v;}val_t eic_read(void){ val_t v; arg_list ap = getargs(); v.sszval = read(arg(0,ap,int), arg(1,ap,ptr_t).p, arg(2,ap,unsigned)); return v;}val_t eic_write(void){ val_t v; arg_list ap = getargs(); v.sszval = write(arg(0,ap,int), arg(1,ap,ptr_t).p, arg(2,ap,unsigned)); return v;}val_t eic_lseek(void){ val_t v; arg_list ap = getargs(); v.offval = lseek(arg(0,ap,int), arg(1,ap,long), arg(2,ap,int)); return v;}val_t eic_pause(void){ val_t v; v.ival = pause(); return v;}val_t eic_rmdir(void){ val_t v; v.ival = rmdir(arg(0,getargs(),ptr_t).p); return v;}val_t eic_chdir(void){ val_t v; v.ival = chdir(arg(0,getargs(),ptr_t).p); return v;}val_t eic_alarm(void){ val_t v; v.uival = alarm(arg(0,getargs(),unsigned int)); return v;}static val_t eic_tcsetpgrp(void){ val_t v; v.ival = tcsetpgrp(arg(0,getargs(),int), arg(1,getargs(),int)); return v;}static val_t eic_tcgetpgrp(void){ val_t v; v.ival = tcgetpgrp(arg(0,getargs(),int)); return v;}static val_t eic_getcwd(void){ val_t v; v.p = arg(0,getargs(),ptr_t); v.p.p = getcwd(v.p.p, arg(1,getargs(),size_t)); return v;} #endif/***********************************************************************/void module_unistd(void){#ifndef NO_UNISTD /* UNISTD.H STUFF */ EiC_add_builtinfunc("alarm", eic_alarm); EiC_add_builtinfunc("access", eic_access); EiC_add_builtinfunc("close", eic_close); EiC_add_builtinfunc("dup",eic_dup); EiC_add_builtinfunc("dup2",eic_dup2); EiC_add_builtinfunc("fork",eic_fork); EiC_add_builtinfunc("getpid",eic_getpid); EiC_add_builtinfunc("link", eic_link); EiC_add_builtinfunc("remove", eic_unlink); EiC_add_builtinfunc("lseek", eic_lseek); EiC_add_builtinfunc("pipe",eic_pipe); EiC_add_builtinfunc("read", eic_read); EiC_add_builtinfunc("rmdir",eic_rmdir); EiC_add_builtinfunc("chdir",eic_chdir); EiC_add_builtinfunc("sleep",eic_sleep); EiC_add_builtinfunc("unlink", eic_unlink); EiC_add_builtinfunc("write", eic_write); EiC_add_builtinfunc("pause", eic_pause); EiC_add_builtinfunc("tcsetpgrp",eic_tcsetpgrp); EiC_add_builtinfunc("tcgetpgrp",eic_tcgetpgrp); EiC_add_builtinfunc("getcwd",eic_getcwd);#endif}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -