sys/acct.h (V3 ではなく V1) に基づいて、acct ファイルを行ごとに解析するパーサーに基づいて、ユーザーの使用統計を収集する必要があります。パーサーは N 秒ごとに実行され、ファイル全体を解析します。最後の実行以降 (N 秒前) に蓄積されたユーザー統計を収集する必要があります。sys/acct.h によって提供される情報に基づいて、それを行うための最も適切な方法が何であるかはわかりません。
多分このようなもの:
if ((ac_btime + ac_etime) < (current_time - N)) { gather; }
また、comp_tは「3ビット、基数8の指数、13ビットの仮数からなる浮動小数点値」と言われていますが、u_int16_tは単なるunsigned short intだと思います。提供された式で長いものに変換する必要がありますか?