/* kern_resource.c 4.5 81/11/08 */
* Perform process accounting functions.
register struct inode
*ip
;
uap
= (struct a
*)u
.u_ap
;
if((ip
->i_mode
& IFMT
) != IFREG
) {
* On exit, write a record on the accounting file.
register struct inode
*ip
;
register struct acct
*ap
= &acctbuf
;
for (i
=0; i
<sizeof(ap
->ac_comm
); i
++)
ap
->ac_comm
[i
] = u
.u_comm
[i
];
ap
->ac_utime
= compress((long)u
.u_vm
.vm_utime
);
ap
->ac_stime
= compress((long)u
.u_vm
.vm_stime
);
ap
->ac_etime
= compress((long)(time
- u
.u_start
));
ap
->ac_btime
= u
.u_start
;
if (i
= u
.u_vm
.vm_utime
+ u
.u_vm
.vm_stime
)
ap
->ac_mem
= (u
.u_vm
.vm_ixrss
+ u
.u_vm
.vm_idsrss
) / i
;
ap
->ac_io
= compress((long)(u
.u_vm
.vm_inblk
+ u
.u_vm
.vm_oublk
));
ap
->ac_flag
= u
.u_acflag
;
u
.u_count
= sizeof(acctbuf
);
* Produce a pseudo-floating point representation
* with 3 bits base-8 exponent, 13 bits fraction.
register exp
= 0, round
= 0;