* header files for symbolic constants and data structures ** find /usr/include -type f -exec grep WTMP_FILE {} \; -print tells us that WTMP_FILE is defined in utmp.h find /usr/include -type f -exec grep _PATH_WTMP {} \; -print tells us what the real value is and where that is defined * struct utmp ** remember, the "string" fields might not actually be strings use strn* to bound to the array length * option handling ** getopt works for -f -e ":f:e" ** iterate over argv ** no need to support -username ** anything after -f is treated as a filename * review details of the algorithm for dealing with records ** we used dumputmp to explore some wtmp files. no notes, just discussion. * buffering strategy and -e option ** need to track the number of getrec calls and number of read calls ** be careful to think through how your choice of where to start the read impacts overall efficiency