00001
00002
00003
00004
00005
00006 #include<linux/linkage.h>
00007 #include<linux/sched.h>
00008 #include<prvdef.h>
00009 #include<ssdef.h>
00010
00011 asmlinkage int exe_cmkrnl(int (*routin)(__unknown_params), unsigned long *arglst) {
00012 struct _pcb * p = ctl_gl_pcb;
00013
00014 if ((p->pcb_l_priv&PRV$M_CMKRNL)==0)
00015 return SS__NOPRIV;
00016 return routin(arglst[1],arglst[2],arglst[3],arglst[4],arglst[5],arglst[6],arglst[7],arglst[8],arglst[9],arglst[10],arglst[11],arglst[12],arglst[13],arglst[14],arglst[15]);
00017 }
00018
00019 asmlinkage int exe_cmexec(int (*routin)(__unknown_params), unsigned long *arglst) {
00020 struct _pcb * p = ctl_gl_pcb;
00021
00022 if ((p->pcb_l_priv&PRV$M_CMEXEC)==0)
00023 return SS__NOPRIV;
00024 return routin(arglst[1],arglst[2],arglst[3],arglst[4],arglst[5],arglst[6],arglst[7],arglst[8],arglst[9],arglst[10],arglst[11],arglst[12],arglst[13],arglst[14],arglst[15]);
00025 }
00026
00027