3 * (C) Copyright Dec 20 1998, Edmond J. Breen.
5 * This code may be copied for personal, non-profit use only.
9 /* This file is broken into 2 parts
10 * the first part defines the interface routines
11 * and the 2nd part adds the interface routine
12 * to EiC's look up tables.
22 #include "stdliblocal.h"
30 v.ival = access(arg(0,getargs(),ptr_t).p,
31 arg(1,getargs(),int ));
39 v.uival = sleep(arg(0,getargs(),unsigned ));
46 v.ival = pipe(arg(0,getargs(),ptr_t).p);
49 val_t eic_getpid(void)
58 v.ival = dup(arg(0,getargs(),int ));
64 v.ival = dup2(arg(0,getargs(),int),
65 arg(1,getargs(),int));
77 val_t eic_unlink(void)
80 v.ival = unlink(arg(0,getargs(),ptr_t).p);
87 v.ival = link(arg(0,getargs(),ptr_t).p,
88 arg(1,getargs(),ptr_t).p);
96 arg_list ap = getargs();
97 v.ival = close(arg(0,ap,int));
104 arg_list ap = getargs();
105 v.sszval = read(arg(0,ap,int),
110 val_t eic_write(void)
113 arg_list ap = getargs();
114 v.sszval = write(arg(0,ap,int),
120 val_t eic_lseek(void)
123 arg_list ap = getargs();
124 v.offval = lseek(arg(0,ap,int),
130 val_t eic_pause(void)
137 val_t eic_rmdir(void)
140 v.ival = rmdir(arg(0,getargs(),ptr_t).p);
144 val_t eic_chdir(void)
147 v.ival = chdir(arg(0,getargs(),ptr_t).p);
151 val_t eic_alarm(void)
154 v.uival = alarm(arg(0,getargs(),unsigned int));
158 static val_t eic_tcsetpgrp(void)
162 v.ival = tcsetpgrp(arg(0,getargs(),int),
163 arg(1,getargs(),int));
168 static val_t eic_tcgetpgrp(void)
172 v.ival = tcgetpgrp(arg(0,getargs(),int));
177 static val_t eic_getcwd(void)
180 v.p = arg(0,getargs(),ptr_t);
182 v.p.p = getcwd(v.p.p, arg(1,getargs(),size_t));
192 /***********************************************************************/
194 void module_unistd(void)
200 EiC_add_builtinfunc("alarm", eic_alarm);
201 EiC_add_builtinfunc("access", eic_access);
202 EiC_add_builtinfunc("close", eic_close);
203 EiC_add_builtinfunc("dup",eic_dup);
204 EiC_add_builtinfunc("dup2",eic_dup2);
205 EiC_add_builtinfunc("fork",eic_fork);
206 EiC_add_builtinfunc("getpid",eic_getpid);
207 EiC_add_builtinfunc("link", eic_link);
208 EiC_add_builtinfunc("remove", eic_unlink);
209 EiC_add_builtinfunc("lseek", eic_lseek);
210 EiC_add_builtinfunc("pipe",eic_pipe);
211 EiC_add_builtinfunc("read", eic_read);
212 EiC_add_builtinfunc("rmdir",eic_rmdir);
213 EiC_add_builtinfunc("chdir",eic_chdir);
214 EiC_add_builtinfunc("sleep",eic_sleep);
215 EiC_add_builtinfunc("unlink", eic_unlink);
216 EiC_add_builtinfunc("write", eic_write);
217 EiC_add_builtinfunc("pause", eic_pause);
219 EiC_add_builtinfunc("tcsetpgrp",eic_tcsetpgrp);
220 EiC_add_builtinfunc("tcgetpgrp",eic_tcgetpgrp);
222 EiC_add_builtinfunc("getcwd",eic_getcwd);