ÍÀÇÂÀÍÈÅ
wtmp - ôopìaòû utmp è wtmp.
ÑÈÍÒÀÊÑÈÑ
#include <sys/types.h> #include <utmp.h>
ÎÏÈÑÀÍÈÅ
Ôaéëû, êoòopûe coäepæaò èíôopìaöèþ oâëaäeëüöe, òeêyùaÿ
èíôopìaöèÿ äëÿ òaêèx êoìaíä, êaê who(1), write(1) è
login(1), ècïoëüçyþò còpyêòypy, oïècaííyþ â utmp.h:
#define UTMP_FILE "/etc/utmp" #define WTMP_FILE "/etc/wtmp" #define ut_name ut_user struct utmp{ char ut_user[8]; /* èìÿ ïoëüçoâaòeëÿ*/ char ut_id[4]; /* oáû÷ío còpoêa #*/ char ut_line[12]; /* yìÿ ycòpoécòâa (êoícoëü, ïpèíòep lnxx*/ short ut_pid; /* íoìep ïpoöecca*/ short ut_type; /* òèï âxoäa*/ struct exit_status{ short e_termination; /* còaòyc çaâepøeíèÿ ïpoöecca*/ short e_exit; /* còaòyc çaâepøeíèÿ ïpoöecca*/ } time_t ut_time; /* âpeìÿ âxoäa*/ }; #define EMPTY 0 #define RUN_LVL 1 #define BOOT_TIME 2 #define OLD_TIME 3 #define NEW_TIME 4 #define INIT_PROCESS 5 /* ïpoöecc ïopoæäeí ïpoöeäypoé "init"*/ #define LOGIN_PROCESS 6 /* ïpoöecc "getty" oæèäaeò èìÿ */ #define USER_PROCESS 7 /* ïoëüçoâaòeëücêèé ïpoöecc*/ #define DEAD_PROCESS 8 #define ACCOUNING 9 #define UTMAXTYPE ACCOUNTING /* íaèáoëüøaÿ âoçìoæíaÿ âeëè÷èía ut_type*/ /* Cïeöèaëüíûe còpoêè ôopìaòoâ, ècïoëüçyeìûe â ïoëe "ut_line", */ /* êoãäa òeêyùèì ÿâëÿeòcÿ íeêoòopûé äpyãoé ïpoöecc. */ /* Còpoêa äëÿ ïoëÿ "ut_line" íe ìoæeò áûòü áoëee 11 cèìâoëoâ */ /* + íyëeâoé cèìâoë êaê ïpèçíaê êoíöa ôaéëa */
ÔÀÉËÛ
/usr/include/utmp.h /etc/utmp /etc/wtmp