Accounting changes

Rick C. Petty rick-freebsd at kiwi-computer.com
Thu Apr 19 22:27:48 UTC 2007


On Fri, Apr 20, 2007 at 12:45:53AM +0300, Diomidis Spinellis wrote:
> 
> If we follow the route of allowing the records to be read from both 
> ends, we'll have to think of a construct that will portably maintain 
> ac_flags at the same offset from the end as in the old struct acct. 
> Proposals welcomed!

How about rearranging the struct to have the fixed-sized fields first,
followed by the variable-sized fields.  In fact I thought that was the
recommended practice..

i.e.:

> struct nacct {
>     u_int8_t      ac_zero;    /* zero identifies new version */
>     u_int8_t      ac_version; /* record version number */
>     u_int16_t ac_len;         /* record length */
> 
>     char      ac_comm[AC_COMM_LEN];    /* command name */
>     u_int16_t ac_len2;        /* record length */
>     u_int8_t  ac_flag;        /* accounting flags */

>     float      ac_utime;      /* user time */
>     float      ac_stime;      /* system time */
>     float      ac_etime;      /* elapsed time */
>     time_t     ac_btime;      /* starting time */
>     uid_t      ac_uid;        /* user id */
>     gid_t      ac_gid;        /* group id */
>     float      ac_mem;        /* average memory usage */
>     float      ac_io;         /* count of IO blocks */
>     __dev_t   ac_tty;         /* controlling tty */

-- Rick C. Petty


More information about the freebsd-arch mailing list