# SOME DESCRIPTIVE TITLE # Copyright (C) YEAR Free Software Foundation, Inc. # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "POT-Creation-Date: 2013-03-22 01:07+0900\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #. type: TH #: build/C/man3/getutent.3:31 #, no-wrap msgid "GETUTENT" msgstr "" #. type: TH #: build/C/man3/getutent.3:31 #, no-wrap msgid "2008-06-29" msgstr "" #. type: TH #: build/C/man3/getutent.3:31 build/C/man3/getutmp.3:26 build/C/man3/login.3:25 build/C/man3/updwtmp.3:29 build/C/man5/utmp.5:30 #, no-wrap msgid "Linux Programmer's Manual" msgstr "" #. type: SH #: build/C/man3/getutent.3:32 build/C/man3/getutmp.3:27 build/C/man3/login.3:26 build/C/man3/updwtmp.3:30 build/C/man5/utmp.5:31 #, no-wrap msgid "NAME" msgstr "" #. type: Plain text #: build/C/man3/getutent.3:35 msgid "" "getutent, getutid, getutline, pututline, setutent, endutent, utmpname - " "access utmp file entries" msgstr "" #. type: SH #: build/C/man3/getutent.3:35 build/C/man3/getutmp.3:29 build/C/man3/login.3:28 build/C/man3/updwtmp.3:32 build/C/man5/utmp.5:33 #, no-wrap msgid "SYNOPSIS" msgstr "" #. type: Plain text #: build/C/man3/getutent.3:37 build/C/man3/login.3:30 build/C/man5/utmp.5:35 msgid "B<#include Eutmp.hE>" msgstr "" #. type: Plain text #: build/C/man3/getutent.3:39 msgid "B" msgstr "" #. type: Plain text #: build/C/man3/getutent.3:41 msgid "BIB<);>" msgstr "" #. type: Plain text #: build/C/man3/getutent.3:43 msgid "BIB<);>" msgstr "" #. type: Plain text #: build/C/man3/getutent.3:45 msgid "BIB<);>" msgstr "" #. type: Plain text #: build/C/man3/getutent.3:47 msgid "B" msgstr "" #. type: Plain text #: build/C/man3/getutent.3:49 msgid "B" msgstr "" #. type: Plain text #: build/C/man3/getutent.3:51 msgid "BIB<);>" msgstr "" #. type: SH #: build/C/man3/getutent.3:51 build/C/man3/getutmp.3:37 build/C/man3/login.3:36 build/C/man3/updwtmp.3:41 build/C/man5/utmp.5:35 #, no-wrap msgid "DESCRIPTION" msgstr "" #. type: Plain text #: build/C/man3/getutent.3:54 msgid "" "New applications should use the POSIX.1-specified \"utmpx\" versions of " "these functions; see CONFORMING TO." msgstr "" #. type: Plain text #: build/C/man3/getutent.3:63 msgid "" "B() sets the name of the utmp-format file for the other utmp " "functions to access. If B() is not used to set the filename " "before the other functions are used, they assume B<_PATH_UTMP>, as defined " "in Ipaths.hE>." msgstr "" #. type: Plain text #: build/C/man3/getutent.3:68 msgid "" "B() rewinds the file pointer to the beginning of the utmp file. " "It is generally a good idea to call it before any of the other functions." msgstr "" #. type: Plain text #: build/C/man3/getutent.3:73 msgid "" "B() closes the utmp file. It should be called when the user code " "is done accessing the file with the other functions." msgstr "" #. type: Plain text #: build/C/man3/getutent.3:80 msgid "" "B() reads a line from the current file position in the utmp " "file. It returns a pointer to a structure containing the fields of the " "line. The definition of this structure is shown in B(5)." msgstr "" #. type: Plain text #: build/C/man3/getutent.3:96 msgid "" "B() searches forward from the current file position in the utmp " "file based upon I. If Iut_type> is one of B, " "B, B, or B, B() will find the first " "entry whose I field matches Iut_type>. If " "Iut_type> is one of B, B, " "B, or B, B() will find the first entry " "whose I field matches Iut_id>." msgstr "" #. type: Plain text #: build/C/man3/getutent.3:106 msgid "" "B() searches forward from the current file position in the utmp " "file. It scans entries whose I is B or " "B and returns the first one whose I field matches " "Iut_line>." msgstr "" #. type: Plain text #: build/C/man3/getutent.3:118 msgid "" "B() writes the I structure I into the utmp file. It " "uses B() to search for the proper place in the file to insert the " "new entry. If it cannot find an appropriate slot for I, B() " "will append the new entry to the end of the file." msgstr "" #. type: SH #: build/C/man3/getutent.3:118 build/C/man3/getutmp.3:51 build/C/man3/login.3:88 #, no-wrap msgid "RETURN VALUE" msgstr "" #. type: Plain text #: build/C/man3/getutent.3:127 msgid "" "B(), B(), and B() return a pointer to a " "I on success, and NULL on failure (which includes the \"record " "not found\" case). This I is allocated in static storage, and " "may be overwritten by subsequent calls." msgstr "" #. type: Plain text #: build/C/man3/getutent.3:133 msgid "On success B() returns I; on failure, it returns NULL." msgstr "" #. type: Plain text #: build/C/man3/getutent.3:136 msgid "" "B() returns 0 if the new name was successfully stored, or -1 on " "failure." msgstr "" #. type: SH #: build/C/man3/getutent.3:136 #, no-wrap msgid "ERRORS" msgstr "" #. type: TP #: build/C/man3/getutent.3:137 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man3/getutent.3:140 msgid "Out of memory." msgstr "" #. type: TP #: build/C/man3/getutent.3:140 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man3/getutent.3:143 msgid "Record not found." msgstr "" #. type: Plain text #: build/C/man3/getutent.3:150 msgid "" "B(), B(), and the B functions can also fail " "for the reasons described in B(2)." msgstr "" #. type: SH #: build/C/man3/getutent.3:150 build/C/man3/login.3:93 build/C/man3/updwtmp.3:54 build/C/man5/utmp.5:224 #, no-wrap msgid "FILES" msgstr "" #. type: Plain text #: build/C/man3/getutent.3:152 msgid "/var/run/utmp\tdatabase of currently logged-in users" msgstr "" #. type: Plain text #: build/C/man3/getutent.3:154 msgid "/var/log/wtmp\tdatabase of past user logins" msgstr "" #. type: SH #: build/C/man3/getutent.3:154 build/C/man3/getutmp.3:55 build/C/man3/login.3:106 build/C/man3/updwtmp.3:58 build/C/man5/utmp.5:228 #, no-wrap msgid "CONFORMING TO" msgstr "" #. type: Plain text #: build/C/man3/getutent.3:156 msgid "XPG2, SVr4." msgstr "" #. type: Plain text #: build/C/man3/getutent.3:166 msgid "" "In XPG2 and SVID 2 the function B() is documented to return " "void, and that is what it does on many systems (AIX, HP-UX, Linux libc5). " "HP-UX introduces a new function B<_pututline>() with the prototype given " "above for B() (also found in Linux libc5)." msgstr "" #. type: Plain text #: build/C/man3/getutent.3:170 msgid "" "All these functions are obsolete now on non-Linux systems. POSIX.1-2001, " "following SUSv1, does not have any of these functions, but instead uses" msgstr "" #. type: Plain text #: build/C/man3/getutent.3:172 msgid "B<#include Eutmpx.hE>" msgstr "" #. type: Plain text #: build/C/man3/getutent.3:174 msgid "B" msgstr "" #. type: Plain text #: build/C/man3/getutent.3:176 msgid "B" msgstr "" #. type: Plain text #: build/C/man3/getutent.3:178 msgid "B" msgstr "" #. type: Plain text #: build/C/man3/getutent.3:180 msgid "B" msgstr "" #. type: Plain text #: build/C/man3/getutent.3:182 msgid "B" msgstr "" #. type: Plain text #: build/C/man3/getutent.3:184 msgid "B" msgstr "" #. type: Plain text #: build/C/man3/getutent.3:193 msgid "" "These functions are provided by glibc, and perform the same task as their " "equivalents without the \"x\", but use I, defined on Linux to " "be the same as I. For completeness, glibc also provides " "B(), although this function is not specified by POSIX.1." msgstr "" #. type: Plain text #: build/C/man3/getutent.3:201 msgid "" "On some other systems, the I structure is a superset of the I " "structure, with additional fields, and larger versions of the existing " "fields, and parallel files are maintained, often I and " "I." msgstr "" #. type: Plain text #: build/C/man3/getutent.3:209 msgid "" "Linux glibc on the other hand does not use a parallel I file since " "its I structure is already large enough. The \"x\" functions listed " "above are just aliases for their counterparts without the \"x\" (e.g., " "B() is an alias for B())." msgstr "" #. type: SH #: build/C/man3/getutent.3:209 build/C/man3/getutmp.3:58 build/C/man3/login.3:109 build/C/man3/updwtmp.3:71 build/C/man5/utmp.5:280 #, no-wrap msgid "NOTES" msgstr "" #. type: SS #: build/C/man3/getutent.3:210 #, no-wrap msgid "Glibc notes" msgstr "" #. type: Plain text #: build/C/man3/getutent.3:213 msgid "The above functions are not thread-safe. Glibc adds reentrant versions" msgstr "" #. type: Plain text #: build/C/man3/getutent.3:218 #, no-wrap msgid "" "B<#define _GNU_SOURCE> /* or _SVID_SOURCE or _BSD_SOURCE;\n" "\\& see B(7) */\n" "B<#include Eutmp.hE>\n" msgstr "" #. type: Plain text #: build/C/man3/getutent.3:220 #, no-wrap msgid "BIB<, struct utmp **>IB<);>\n" msgstr "" #. type: Plain text #: build/C/man3/getutent.3:223 #, no-wrap msgid "" "BIB<,>\n" "B< struct utmp *>IB<, struct utmp **>IB<);>\n" msgstr "" #. type: Plain text #: build/C/man3/getutent.3:226 #, no-wrap msgid "" "BIB<,>\n" "B< struct utmp *>IB<, struct utmp **>IB<);>\n" msgstr "" #. type: Plain text #: build/C/man3/getutent.3:238 msgid "" "These functions are GNU extensions, analogs of the functions of the same " "name without the _r suffix. The I argument gives these functions a " "place to store their result. On success they return 0, and a pointer to the " "result is written in I<*ubufp>. On error these functions return -1. There " "are no utmpx equivalents of the above functions. (POSIX.1 does not specify " "such functions.)" msgstr "" #. type: SH #: build/C/man3/getutent.3:238 #, no-wrap msgid "EXAMPLE" msgstr "" #. type: Plain text #: build/C/man3/getutent.3:246 msgid "" "The following example adds and removes a utmp record, assuming it is run " "from within a pseudo terminal. For usage in a real application, you should " "check the return values of B(3) and B(3)." msgstr "" #. type: Plain text #: build/C/man3/getutent.3:253 #, no-wrap msgid "" "#include Estring.hE\n" "#include Estdlib.hE\n" "#include Epwd.hE\n" "#include Eunistd.hE\n" "#include Eutmp.hE\n" msgstr "" #. type: Plain text #: build/C/man3/getutent.3:258 #, no-wrap msgid "" "int\n" "main(int argc, char *argv[])\n" "{\n" " struct utmp entry;\n" msgstr "" #. type: Plain text #: build/C/man3/getutent.3:260 #, no-wrap msgid " system(\"echo before adding entry:;who\");\n" msgstr "" #. type: Plain text #: build/C/man3/getutent.3:272 #, no-wrap msgid "" " entry.ut_type = USER_PROCESS;\n" " entry.ut_pid = getpid();\n" " strcpy(entry.ut_line, ttyname(STDIN_FILENO) + strlen(\"/dev/\"));\n" " /* only correct for ptys named /dev/tty[pqr][0-9a-z] */\n" " strcpy(entry.ut_id, ttyname(STDIN_FILENO) + strlen(\"/dev/tty\"));\n" " time(&entry.ut_time);\n" " strcpy(entry.ut_user, getpwuid(getuid())-Epw_name);\n" " memset(entry.ut_host, 0, UT_HOSTSIZE);\n" " entry.ut_addr = 0;\n" " setutent();\n" " pututline(&entry);\n" msgstr "" #. type: Plain text #: build/C/man3/getutent.3:274 #, no-wrap msgid " system(\"echo after adding entry:;who\");\n" msgstr "" #. type: Plain text #: build/C/man3/getutent.3:281 #, no-wrap msgid "" " entry.ut_type = DEAD_PROCESS;\n" " memset(entry.ut_line, 0, UT_LINESIZE);\n" " entry.ut_time = 0;\n" " memset(entry.ut_user, 0, UT_NAMESIZE);\n" " setutent();\n" " pututline(&entry);\n" msgstr "" #. type: Plain text #: build/C/man3/getutent.3:283 #, no-wrap msgid " system(\"echo after removing entry:;who\");\n" msgstr "" #. type: Plain text #: build/C/man3/getutent.3:287 #, no-wrap msgid "" " endutent();\n" " exit(EXIT_SUCCESS);\n" "}\n" msgstr "" #. type: SH #: build/C/man3/getutent.3:288 build/C/man3/getutmp.3:69 build/C/man3/login.3:124 build/C/man3/updwtmp.3:87 build/C/man5/utmp.5:338 #, no-wrap msgid "SEE ALSO" msgstr "" #. type: Plain text #: build/C/man3/getutent.3:291 msgid "B(3), B(5)" msgstr "" #. type: SH #: build/C/man3/getutent.3:291 build/C/man3/getutmp.3:72 build/C/man3/login.3:127 build/C/man3/updwtmp.3:90 build/C/man5/utmp.5:352 #, no-wrap msgid "COLOPHON" msgstr "" #. type: Plain text #: build/C/man3/getutent.3:298 build/C/man3/getutmp.3:79 build/C/man3/login.3:134 build/C/man3/updwtmp.3:97 build/C/man5/utmp.5:359 msgid "" "This page is part of release 3.50 of the Linux I project. A " "description of the project, and information about reporting bugs, can be " "found at http://www.kernel.org/doc/man-pages/." msgstr "" #. type: TH #: build/C/man3/getutmp.3:26 #, no-wrap msgid "GETUTMP" msgstr "" #. type: TH #: build/C/man3/getutmp.3:26 #, no-wrap msgid "2010-09-10" msgstr "" #. type: TH #: build/C/man3/getutmp.3:26 build/C/man5/utmp.5:30 #, no-wrap msgid "Linux" msgstr "" #. type: Plain text #: build/C/man3/getutmp.3:29 msgid "getutmp, getutmpx - copy utmp structure to utmpx, and vice versa" msgstr "" #. type: Plain text #: build/C/man3/getutmp.3:33 #, no-wrap msgid "" "B<#define _GNU_SOURCE> /* See feature_test_macros(7) */\n" "B<#include Eutmpx.hE>\n" msgstr "" #. type: Plain text #: build/C/man3/getutmp.3:36 #, no-wrap msgid "" "B< void getutmp(const struct utmpx *>IB<, struct utmp *>IB<);>\n" "B< void getutmpx(const struct utmp *>IB<, struct utmpx *>IB<);>\n" msgstr "" #. type: Plain text #: build/C/man3/getutmp.3:51 msgid "" "The B() function copies the fields of the I structure " "pointed to by I to the corresponding fields of the I structure " "pointed to by I. The B() function performs the converse " "operation." msgstr "" #. type: Plain text #: build/C/man3/getutmp.3:53 msgid "These functions do not return a value." msgstr "" #. type: SH #: build/C/man3/getutmp.3:53 #, no-wrap msgid "VERSIONS" msgstr "" #. type: Plain text #: build/C/man3/getutmp.3:55 msgid "These functions first appeared in glibc in version 2.1.1." msgstr "" #. type: Plain text #: build/C/man3/getutmp.3:58 msgid "" "These functions are nonstandard, but appear on a few other systems, such as " "Solaris and NetBSD." msgstr "" #. e.g., on Solaris, the utmpx structure is rather larger than utmp. #. type: Plain text #: build/C/man3/getutmp.3:69 msgid "" "These functions exist primarily for compatibility with other systems where " "the I and I structures contain different fields, or the size of " "corresponding fields differs. On Linux, the two structures contain the same " "fields, and the fields have the same sizes." msgstr "" #. type: Plain text #: build/C/man3/getutmp.3:72 build/C/man3/login.3:127 msgid "B(3), B(5)" msgstr "" #. type: TH #: build/C/man3/login.3:25 #, no-wrap msgid "LOGIN" msgstr "" #. type: TH #: build/C/man3/login.3:25 #, no-wrap msgid "2004-05-06" msgstr "" #. type: TH #: build/C/man3/login.3:25 build/C/man3/updwtmp.3:29 #, no-wrap msgid "GNU" msgstr "" #. type: Plain text #: build/C/man3/login.3:28 msgid "login, logout - write utmp and wtmp entries" msgstr "" #. type: Plain text #: build/C/man3/login.3:32 msgid "BIB<);>" msgstr "" #. type: Plain text #: build/C/man3/login.3:34 msgid "BIB<);>" msgstr "" #. type: Plain text #: build/C/man3/login.3:36 msgid "Link with I<-lutil>." msgstr "" #. type: Plain text #: build/C/man3/login.3:41 msgid "" "The utmp file records who is currently using the system. The wtmp file " "records all logins and logouts. See B(5)." msgstr "" #. type: Plain text #: build/C/man3/login.3:47 msgid "" "The function B() takes the supplied I, I, and " "writes it to both the utmp and the wtmp file." msgstr "" #. type: Plain text #: build/C/man3/login.3:51 msgid "The function B() clears the entry in the utmp file again." msgstr "" #. type: SS #: build/C/man3/login.3:51 #, no-wrap msgid "GNU details" msgstr "" #. type: Plain text #: build/C/man3/login.3:72 msgid "" "More precisely, B() takes the argument I struct, fills the field " "Iut_type> (if there is such a field) with the value " "B, and fills the field Iut_pid> (if there is such a " "field) with the process ID of the calling process. Then it tries to fill " "the field Iut_line>. It takes the first of I, I, " "I that is a terminal, and stores the corresponding pathname minus a " "possible leading I into this field, and then writes the struct to the " "utmp file. On the other hand, if no terminal name was found, this field is " "filled with \"???\" and the struct is not written to the utmp file. After " "this, the struct is written to the wtmp file." msgstr "" #. type: Plain text #: build/C/man3/login.3:88 msgid "" "The B() function searches the utmp file for an entry matching the " "I argument. If a record is found, it is updated by zeroing out the " "I and I fields, updating the I timestamp field and " "setting I (if there is such a field) to B." msgstr "" #. type: Plain text #: build/C/man3/login.3:93 msgid "" "The B() function returns 1 if the entry was successfully written to " "the database, or 0 if an error occurred." msgstr "" #. type: TP #: build/C/man3/login.3:94 #, no-wrap msgid "I" msgstr "" #. type: Plain text #: build/C/man3/login.3:100 msgid "" "user accounting database, configured through B<_PATH_UTMP> in " "Ipaths.hE>" msgstr "" #. type: TP #: build/C/man3/login.3:100 build/C/man3/updwtmp.3:55 #, no-wrap msgid "I" msgstr "" #. type: Plain text #: build/C/man3/login.3:106 msgid "" "user accounting log file, configured through B<_PATH_WTMP> in " "Ipaths.hE>" msgstr "" #. type: Plain text #: build/C/man3/login.3:109 msgid "Not in POSIX.1-2001. Present on the BSDs." msgstr "" #. type: Plain text #: build/C/man3/login.3:124 msgid "" "Note that the member I of I is called I in " "BSD. Therefore, I is defined as an alias for I in " "Iutmp.hE>." msgstr "" #. type: TH #: build/C/man3/updwtmp.3:29 #, no-wrap msgid "UPDWTMP" msgstr "" #. type: TH #: build/C/man3/updwtmp.3:29 #, no-wrap msgid "2008-07-02" msgstr "" #. type: Plain text #: build/C/man3/updwtmp.3:32 msgid "updwtmp, logwtmp - append an entry to the wtmp file" msgstr "" #. type: Plain text #: build/C/man3/updwtmp.3:35 #, no-wrap msgid "B<#include Eutmp.hE>\n" msgstr "" #. type: Plain text #: build/C/man3/updwtmp.3:37 #, no-wrap msgid "BIB<, const struct utmp *>IB<);>\n" msgstr "" #. type: Plain text #: build/C/man3/updwtmp.3:40 #, no-wrap msgid "" "BIB<, const char *>IB<, const char " "*>IB<);>\n" msgstr "" #. type: Plain text #: build/C/man3/updwtmp.3:46 msgid "B() appends the utmp structure I to the wtmp file." msgstr "" #. type: Plain text #: build/C/man3/updwtmp.3:54 msgid "" "B() constructs a utmp structure using I, I, I, " "current time and current process ID. Then it calls B() to append " "the structure to the wtmp file." msgstr "" #. type: Plain text #: build/C/man3/updwtmp.3:58 msgid "database of past user logins" msgstr "" #. type: Plain text #: build/C/man3/updwtmp.3:61 msgid "Not in POSIX.1-2001. Present on Solaris, NetBSD, and perhaps other systems." msgstr "" #. type: SH #: build/C/man3/updwtmp.3:61 #, no-wrap msgid "AVAILABILITY" msgstr "" #. type: Plain text #: build/C/man3/updwtmp.3:71 msgid "" "Both functions are available under glibc2, but not under libc5. However, " "B() used to occur in the old libbsd. These days, the B() " "function is included in libutil. (Hence you'll need to add I<-lutil> to " "your compiler command line to get it.)" msgstr "" #. type: Plain text #: build/C/man3/updwtmp.3:75 msgid "" "For consistency with the other \"utmpx\" functions (see B(3)), " "glibc provides (since version 2.1):" msgstr "" #. type: Plain text #: build/C/man3/updwtmp.3:78 #, no-wrap msgid "B<#include Eutmpx.hE>\n" msgstr "" #. type: Plain text #: build/C/man3/updwtmp.3:80 #, no-wrap msgid "" "BIB<, const struct utmpx " "*>IB<);>\n" msgstr "" #. type: Plain text #: build/C/man3/updwtmp.3:87 msgid "" "This function performs the same task as B(), but differs in that it " "takes a I structure as its last argument." msgstr "" #. type: Plain text #: build/C/man3/updwtmp.3:90 msgid "B(3), B(5)" msgstr "" #. type: TH #: build/C/man5/utmp.5:30 #, no-wrap msgid "UTMP" msgstr "" #. type: TH #: build/C/man5/utmp.5:30 #, no-wrap msgid "2013-02-11" msgstr "" #. type: Plain text #: build/C/man5/utmp.5:33 msgid "utmp, wtmp - login records" msgstr "" #. type: Plain text #: build/C/man5/utmp.5:42 msgid "" "The I file allows one to discover information about who is currently " "using the system. There may be more users currently using the system, " "because not all programs use utmp logging." msgstr "" #. type: Plain text #: build/C/man5/utmp.5:52 msgid "" "B I must not be writable by the user class \"other\", " "because many system programs (foolishly) depend on its integrity. You risk " "faked system logfiles and modifications of system files if you leave I " "writable to any user other than the owner and group owner of the file." msgstr "" #. type: Plain text #: build/C/man5/utmp.5:60 msgid "" "The file is a sequence of I structures, declared as follows in " "Iutmp.hE> (note that this is only one of several definitions " "around; details depend on the version of libc):" msgstr "" #. type: Plain text #: build/C/man5/utmp.5:64 #, no-wrap msgid "/* Values for ut_type field, below */\n" msgstr "" #. type: Plain text #: build/C/man5/utmp.5:79 #, no-wrap msgid "" "#define EMPTY 0 /* Record does not contain valid info\n" " (formerly known as UT_UNKNOWN on Linux) */\n" "#define RUN_LVL 1 /* Change in system run-level (see\n" " B(8)) */\n" "#define BOOT_TIME 2 /* Time of system boot (in I) */\n" "#define NEW_TIME 3 /* Time after system clock change\n" " (in I) */\n" "#define OLD_TIME 4 /* Time before system clock change\n" " (in I) */\n" "#define INIT_PROCESS 5 /* Process spawned by B(8) */\n" "#define LOGIN_PROCESS 6 /* Session leader process for user login */\n" "#define USER_PROCESS 7 /* Normal process */\n" "#define DEAD_PROCESS 8 /* Terminated process */\n" "#define ACCOUNTING 9 /* Not implemented */\n" msgstr "" #. type: Plain text #: build/C/man5/utmp.5:83 #, no-wrap msgid "" "#define UT_LINESIZE 32\n" "#define UT_NAMESIZE 32\n" "#define UT_HOSTSIZE 256\n" msgstr "" #. type: Plain text #: build/C/man5/utmp.5:88 #, no-wrap msgid "" "struct exit_status { /* Type for ut_exit, below */\n" " short int e_termination; /* Process termination status */\n" " short int e_exit; /* Process exit status */\n" "};\n" msgstr "" #. type: Plain text #: build/C/man5/utmp.5:116 #, no-wrap msgid "" "struct utmp {\n" " short ut_type; /* Type of record */\n" " pid_t ut_pid; /* PID of login process */\n" " char ut_line[UT_LINESIZE]; /* Device name of tty - \"/dev/\" */\n" " char ut_id[4]; /* Terminal name suffix,\n" " or inittab(5) ID */\n" " char ut_user[UT_NAMESIZE]; /* Username */\n" " char ut_host[UT_HOSTSIZE]; /* Hostname for remote login, or\n" " kernel version for run-level\n" " messages */\n" " struct exit_status ut_exit; /* Exit status of a process\n" " marked as DEAD_PROCESS; not\n" " used by Linux init(8) */\n" " /* The ut_session and ut_tv fields must be the same size when\n" " compiled 32- and 64-bit. This allows data files and shared\n" " memory to be shared between 32- and 64-bit applications. */\n" "#if __WORDSIZE == 64 && defined __WORDSIZE_COMPAT32\n" " int32_t ut_session; /* Session ID (B(2)),\n" " used for windowing */\n" " struct {\n" " int32_t tv_sec; /* Seconds */\n" " int32_t tv_usec; /* Microseconds */\n" " } ut_tv; /* Time entry was made */\n" "#else\n" " long ut_session; /* Session ID */\n" " struct timeval ut_tv; /* Time entry was made */\n" "#endif\n" msgstr "" #. type: Plain text #: build/C/man5/utmp.5:122 #, no-wrap msgid "" " int32_t ut_addr_v6[4]; /* Internet address of remote\n" " host; IPv4 address uses\n" " just ut_addr_v6[0] */\n" " char __unused[20]; /* Reserved for future use */\n" "};\n" msgstr "" #. type: Plain text #: build/C/man5/utmp.5:130 #, no-wrap msgid "" "/* Backward compatibility hacks */\n" "#define ut_name ut_user\n" "#ifndef _NO_UT_TIME\n" "#define ut_time ut_tv.tv_sec\n" "#endif\n" "#define ut_xtime ut_tv.tv_sec\n" "#define ut_addr ut_addr_v6[0]\n" msgstr "" #. type: Plain text #: build/C/man5/utmp.5:140 msgid "" "This structure gives the name of the special file associated with the user's " "terminal, the user's login name, and the time of login in the form of " "B