|
ÍÀÇÂÀÍÈÅ
utmp - ô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
ÑÌ. ÒÀÊÆÅ
getut(2), login(1), who(1), write(1)
|