/* kern_xxx.c 4.2 83/05/31 */
} *uap
= (struct a
*)u
.u_ap
;
} *uap
= (struct a
*)u
.u_ap
;
if (len
> hostnamelen
+ 1)
u
.u_error
= copyout((caddr_t
)hostname
, (caddr_t
)uap
->hostname
, len
);
} *uap
= (struct a
*)u
.u_ap
;
if (uap
->len
> sizeof (hostname
) - 1) {
u
.u_error
= copyin((caddr_t
)uap
->hostname
, hostname
, uap
->len
);
hostname
[hostnamelen
] = 0;
boot(RB_BOOT
, ((struct a
*)u
.u_ap
)->opt
);
uap
= (struct a
*)u
.u_ap
;
if (u
.u_ruid
== uid
|| u
.u_uid
== uid
|| suser()) {
if (u
.u_quota
->q_uid
!= uid
) {
qstart(getquota(uid
, 0, 0));
uap
= (struct a
*)u
.u_ap
;
if (u
.u_rgid
== gid
|| u
.u_gid
== gid
|| suser()) {
* Pid of zero implies current process.
* Pgrp -1 is getpgrp system call returning
uap
= (struct a
*)u
.u_ap
;
u
.u_r
.r_val1
= p
->p_pgrp
;
if (p
->p_uid
!= u
.u_uid
&& u
.u_uid
&& !inferior(p
)) {
u
.u_r
.r_time
= time
.tv_sec
;
} *uap
= (struct a
*)u
.u_ap
;
uap
= (struct a
*)u
.u_ap
;
tb
.millitm
= time
.tv_usec
/ 1000;
tb
.timezone
= tz
.tz_minuteswest
;
tb
.dstflag
= tz
.tz_dsttime
;
u
.u_error
= copyout((caddr_t
)&tb
, (caddr_t
)uap
->tp
, sizeof (tb
));
} *uap
= (struct a
*)u
.u_ap
;
register struct proc
*p
= u
.u_procp
;
untimeout(realitexpire
, (caddr_t
)p
);
timerclear(&p
->p_realtimer
.it_interval
);
if (timerisset(&p
->p_realtimer
.it_value
) &&
timercmp(&p
->p_realtimer
.it_value
, &time
, >))
u
.u_r
.r_val1
= p
->p_realtimer
.it_value
.tv_sec
- time
.tv_sec
;
timerclear(&p
->p_realtimer
.it_value
);
p
->p_realtimer
.it_value
= time
;
p
->p_realtimer
.it_value
.tv_sec
+= uap
->deltat
;
timeout(realitexpire
, (caddr_t
)p
, hzto(&p
->p_realtimer
.it_value
));
} *uap
= (struct a
*)u
.u_ap
;
register struct proc
*p
= u
.u_procp
;
donice(p
, (p
->p_nice
-NZERO
)+uap
->niceness
);
} *uap
= (struct a
*)u
.u_ap
;
atms
.tms_utime
= scale60(&u
.u_ru
.ru_utime
);
atms
.tms_stime
= scale60(&u
.u_ru
.ru_stime
);
atms
.tms_cutime
= scale60(&u
.u_cru
.ru_utime
);
atms
.tms_cstime
= scale60(&u
.u_cru
.ru_stime
);
u
.u_error
= copyout((caddr_t
)&atms
, (caddr_t
)uap
->tmsb
, sizeof (atms
));
register struct timeval
*tvp
;
return (tvp
->tv_sec
* 60 + tvp
->tv_usec
/ 16667);
} *uap
= (struct a
*)u
.u_ap
;
getvtimes(&u
.u_ru
, &avt
);
u
.u_error
= copyout((caddr_t
)&avt
, (caddr_t
)uap
->par
,
getvtimes(&u
.u_cru
, &avt
);
u
.u_error
= copyout((caddr_t
)&avt
, (caddr_t
)uap
->chi
,
#include "../machine/psl.h"
#include "../machine/reg.h"
if ((u
.u_ar0
[PS
] & PSL_ALLCC
) != PSL_ALLCC
) {
u
.u_error
= wait1(0, (struct rusage
*)0);
vtp
= (struct vtimes
*)u
.u_ar0
[R1
];
u
.u_error
= wait1(u
.u_ar0
[R0
], &ru
);
(void) copyout((caddr_t
)&avt
, (caddr_t
)vtp
, sizeof (struct vtimes
));
register struct rusage
*aru
;
register struct vtimes
*avt
;
avt
->vm_utime
= scale60(&aru
->ru_utime
);
avt
->vm_stime
= scale60(&aru
->ru_stime
);
avt
->vm_idsrss
= ((aru
->ru_idrss
+aru
->ru_isrss
) / hz
) * 60;
avt
->vm_ixrss
= aru
->ru_ixrss
/ hz
* 60;
avt
->vm_maxrss
= aru
->ru_maxrss
;
avt
->vm_majflt
= aru
->ru_majflt
;
avt
->vm_minflt
= aru
->ru_minflt
;
avt
->vm_nswap
= aru
->ru_nswap
;
avt
->vm_inblk
= aru
->ru_inblock
;
avt
->vm_oublk
= aru
->ru_oublock
;
} *uap
= (struct a
*)u
.u_ap
;
u
.u_error
= kill1(uap
->signo
< 0,
uap
->signo
< 0 ? -uap
->signo
: uap
->signo
, uap
->pid
);
register struct proc
*p
= u
.u_procp
;
uap
= (struct a
*)u
.u_ap
;
a
= uap
->signo
& SIGNUMMASK
;
if (a
<=0 || a
>=NSIG
|| a
==SIGKILL
|| a
==SIGSTOP
||
a
==SIGCONT
&& (f
== SIG_IGN
|| f
== SIG_HOLD
)) {
if ((uap
->signo
&~ SIGNUMMASK
) || (f
!= SIG_DFL
&& f
!= SIG_IGN
&&
u
.u_procp
->p_flag
|= SNUSIG
;
* Don't clobber registers if we are to simulate
if ((uap
->signo
&SIGDORTI
) == 0)
u
.u_r
.r_val1
= (int)u
.u_signal
[a
];
* Change setting atomically.
p
->p_sig
&= ~sigmask
; /* never to be seen again */
if (f
!= SIG_DFL
&& f
!= SIG_IGN
&& f
!= SIG_HOLD
)
if (uap
->signo
& SIGDOPAUSE
) {
* Simulate a PDP11 style wait instrution which
* atomically lowers priority, enables interrupts
if (uap
->signo
& SIGDORTI
)