/* kern_xxx.c 6.1 83/07/29 */
} *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
;
register struct sigvec
*sv
= &vec
;
struct proc
*p
= u
.u_procp
;
sv
->sv_handler
= uap
->fun
;
* Kill processes trying to use job control facilities
* (this'll help us find any vestiges of the old stuff).
(sv
->sv_handler
!= SIG_DFL
&& sv
->sv_handler
!= SIG_IGN
&&
((int)sv
->sv_handler
) & 1)) {
if (a
<= 0 || a
>= NSIG
|| a
== SIGKILL
|| a
== SIGSTOP
||
a
== SIGCONT
&& sv
->sv_handler
== SIG_IGN
) {
u
.u_r
.r_val1
= (int)u
.u_signal
[a
];
p
->p_flag
|= SOUSIG
; /* mark as simulating old stuff */