V4/nsys/ken/sys4.c

Compare this file to the similar file:
Show the results in this format:

#include "/sys/nsys/param.h"
#include "/sys/nsys/user.h"
#include "/sys/nsys/reg.h"
#include "/sys/nsys/proc.h"

quit()
{
	if(u.u_arg[0]==0 || u.u_arg[0]==1)
		u.u_arg[0]--;
	u.u_signal[SIGQIT] = u.u_arg[0];
}

intr()
{
	if(u.u_arg[0]==0 || u.u_arg[0]==1)
		u.u_arg[0]--;
	u.u_signal[SIGINT] = u.u_arg[0];
}

cemt()
{
	u.u_signal[SIGEMT] = u.u_arg[0];
}

ilgins()
{
	u.u_signal[SIGINS] = u.u_arg[0];
}

fpe()
{
	u.u_signal[SIGFPT] = u.u_arg[0];
}

ssig()
{
	if(u.u_arg[0]<=0 || u.u_arg[0]>=NSIG) {
		u.u_error = EINVAL;
		return;
	}
	u.u_ar0[R0] = u.u_signal[u.u_arg[0]];
	u.u_signal[9] = 0;		/* kill not allowed */
	u.u_signal[u.u_arg[0]] = u.u_arg[1];
	if(u.u_procp->p_sig == u.u_arg[0])
		u.u_procp->p_sig = 0;
}

kill()
{
	int i;
	struct proc *p;

	p = &proc[0];
	for(i=0; i<NPROC; i++) {
		if(p->p_pid == u.u_ar0[R0])
			goto found;
		p++;
	}
	u.u_error = ESRCH;
	return;

found:
	if(p->p_ttyp != u.u_procp->p_ttyp)
		if(!suser())
			return;
		psignal(p, SIGKIL);
}

times()
{
	int i, *p;

	p = &u.u_utime;
	for(i=0; i<6; i++) {
		suword(u.u_arg[0], *p);
		p++;
		u.u_arg[0] =+ 2;
	}
}