]> git.saurik.com Git - apple/libc.git/blobdiff - gen/NetBSD/endutxent.3.patch
Libc-498.tar.gz
[apple/libc.git] / gen / NetBSD / endutxent.3.patch
index c1dbb27912a88be2f2da3b3cb669da0c2dbca725..81978c91f1a7ffa2235a36a0bf2f9b377616d2b9 100644 (file)
@@ -1,15 +1,38 @@
---- endutxent.3.orig   2004-07-13 09:02:01.000000000 -0700
-+++ endutxent.3        2004-08-05 15:41:50.000000000 -0700
+--- endutxent.3.orig   2007-04-08 18:49:40.000000000 -0700
++++ endutxent.3        2007-04-08 19:03:43.000000000 -0700
 @@ -34,7 +34,7 @@
  .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
  .\" POSSIBILITY OF SUCH DAMAGE.
  .\"
 -.Dd September 26, 2002
-+.Dd July 13, 2004
++.Dd June 29, 2006
  .Dt ENDUTXENT 3
  .Os
  .Sh NAME
-@@ -105,20 +105,14 @@
+@@ -54,11 +54,11 @@
+ .Ft struct utmpx *
+ .Fn getutxent void
+ .Ft struct utmpx *
+-.Fn getutxid "const struct utmpx *"
++.Fn getutxid "const struct utmpx *id"
+ .Ft struct utmpx *
+-.Fn getutxline "const struct utmpx *"
++.Fn getutxline "const struct utmpx *line"
+ .Ft struct utmpx *
+-.Fn pututxline "const struct utmpx *"
++.Fn pututxline "const struct utmpx *utx"
+ .Ft void
+ .Fn setutxent void
+ .Sh DESCRIPTION
+@@ -98,6 +98,7 @@
+ .Xr utmpx 5
+ entry line to the accounting database, replacing a previous entry for
+ the same user if it exists.
++Only the superuser may write to the accounting database.
+ .Ss The utmpx structure
+ The
+ .Nm utmpx
+@@ -105,27 +106,21 @@
  .Pp
  .Bd -literal
  struct utmpx {
  };
  .Ed
  .Pp
-@@ -143,8 +137,7 @@
+ Valid entries for
+ .Fa ut_type
+ are:
+-.Bl -tag -width LOGIN_PROCESSXX -compact -offset indent
++.Bl -tag -width ".Dv LOGIN_PROCESSXX" -compact -offset indent
+ .It Dv BOOT_TIME
+ Time of a system boot.
+ .It Dv DEAD_PROCESS
+@@ -143,11 +138,115 @@
  Time before system clock change.
  .It Dv RUN_LVL
  Run level.
 +Provided for compatibility, not used.
  .It Dv USER_PROCESS
  A user process.
++.It Dv SHUTDOWN_TIME
++Time of system shutdown (extension to the standards).
  .El
-@@ -163,7 +156,6 @@
++.Pp
++For each value of
++.Fa ut_type ,
++the other fields with meaningful values are as follows:
++.Bl -tag -width ".Dv LOGIN_PROCESSXX" -compact -offset indent
++.It Dv BOOT_TIME
++.Fa ut_tv
++.It Dv DEAD_PROCESS
++.Fa ut_id ,
++.Fa ut_pid ,
++.Fa ut_tv
++.It Dv EMPTY
++(no others)
++.It Dv INIT_PROCESS
++.Fa ut_id ,
++.Fa ut_pid ,
++.Fa ut_tv
++.It Dv LOGIN_PROCESS
++.Fa ut_id ,
++.Fa ut_user
++(implementation-defined name of the login process),
++.Fa ut_pid ,
++.Fa ut_tv
++.It Dv NEW_TIME
++.Fa ut_tv
++.It Dv OLD_TIME
++.Fa ut_tv
++.It Dv RUN_LVL
++(no used)
++.It Dv USER_PROCESS
++.Fa ut_id ,
++.Fa ut_user
++(login name of the user),
++.Fa ut_line ,
++.Fa ut_pid ,
++.Fa ut_host
++(hostname of remote user)
++.Fa ut_tv
++.It Dv SHUTDOWN_TIME
++.Fa ut_tv
++.El
++.Ss Other extensions to the standards
++The
++.Fa ut_tv
++value may also be OR-ed with the following masks:
++.Bl -tag -width XXXX -compact -offset indent
++.It Dv UTMPX_AUTOFILL_MASK
++Depending on the
++.Fa ut_type
++value, other fields are automatically filled in (as specified in the
++meaningful fields table above).
++In particular, the
++.Fa ut_id
++field will be set using the convention of the last four characters of the
++.Fa ut_line
++field (itself filled in automatically from the tty name of the device connected
++to the standard input, output or error, whichever is available).
++Note that it is more efficient to fill in as many values as are already
++available beforehand, rather than have then automatically filled in.
++.It Dv UTMPX_DEAD_IF_CORRESPONDING_MASK
++When
++.Fa ut_type
++value is
++.Dv DEAD_PROCESS, a call to
++.Fn pututxline
++will succeed only if a corresponding entry already exists with a
++.Fa ut_type
++value of
++.Dv USER_PROCESS .
++.El
++.Pp
++Note that the above mask values do not show up in any file format, or in
++any subsequent reads of the data.
++.Pp
++To support
++.Pa wtmpx
++and
++.Pa lastlogx
++equivalent capability,
++.Fn pututxline
++automatically writes to the appropriate files.
++Additional APIs to read these files is available in
++.Xr endutxent_wtmp 3
++and
++.Xr getlastlogx 3 .
++.Ss Backward compatibility
++Successful calls to
++.Fn pututxline
++will automatically write equivalent entries into the
++.Pa utmp ,
++.Pa wtmp
++and
++.Pa lastlog
++files.
++Programs that read these old files should work as expected.
++However, directly writing to these files does not make corresponding
++entries in
++.Pa utmpx
++and the
++.Pa wtmpx
++and
++.Pa lastlogx
++equivalent files, so such write-access is deprecated.
+ .Sh RETURN VALUES
+ .Fn getutxent
+ returns the next entry, or
+@@ -159,11 +258,45 @@
+ return the matching structure on success, or
+ .Dv NULL
+ if no match was found.
++.Pp
+ .Fn pututxline
  returns the structure that was successfully written, or
- .Dv NULL .
+-.Dv NULL .
++.Dv NULL
++is returned and the global variable
++.Va errno
++is set to indicate the error.
++.Sh ERRORS
++No errors are defined for the 
++.Fn endutxent ,
++.Fn getutxent ,
++.Fn getutxid ,
++.Fn getutxline ,
++and
++.Fn setutxent
++functions.
++.Pp
++The
++.Fn pututxline
++function may fail if:
++.Bl -tag -width Er
++.It Bq Er EPERM
++The process does not have appropriate privileges.
++.It Bq Er EINVAL
++The
++.Dv UTMPX_DEAD_IF_CORRESPONDING_MASK
++flags was specified along with
++.Dv DEAD_PROCESS ,
++but no corresponding entry with
++.Dv USER_PROCESS
++was found.
++.El
++.Pp
++Other errors may be returned if
++.Dv UTMPX_AUTOFILL_MASK
++was specified, and a field could not be auto-filled.
  .Sh SEE ALSO
 -.Xr logwtmpx 3 ,
++.Xr endutxent_wtmp 3 ,
++.Xr getlastlogx 3 ,
  .Xr utmpx 5
  .Sh STANDARDS
  The