pututxline man page on DigitalUNIX

Printed from http://www.polarhome.com/service/man/?qf=pututxline&af=0&tf=2&of=DigitalUNIX

getutxent(3)							  getutxent(3)

NAME
       endutxent,  getutxent,  getutxid,  getutxline,  pututxline, setutxent -
       Access user accounting database functions

SYNOPSIS
       #include <utmpx.h>

       void endutxent(
	       void ); struct utmpx *getutxent(
	       void ); struct utmpx *getutxid(
	       const struct utmpx *id ); struct utmpx *getutxline(
	       const struct utmpx *line ); struct utmpx *pututxline(
	       const struct utmpx *utmpx ); void setutxent(
	       void );

LIBRARY
       Standard C Library (libc)

STANDARDS
       Interfaces documented on this reference page conform to industry	 stan‐
       dards as follows:

       endutxent(),   getutxent(),   getutxid(),  getutxline(),	 pututxline(),
       setutxent():  XPG4-UNIX

       Refer to the standards(5) reference page	 for  more  information	 about
       industry standards and associated tags.

PARAMETERS
       Specifies  one  of  the	BOOT_TIME,  OLD_TIME,  NEW_TIME, INIT_PROCESS,
       LOGIN_PROCESS, USER_PROCESS, or DEAD_PROCESS entries.  Matches a	 utmpx
       entry  of  the type LOGIN_PROCESS or USER_PROCESS such that the ut_line
       member matches line->ut_line.  Points to a utmpx structure to be placed
       into the user accounting database.

DESCRIPTION
       These functions provide access to the user accounting database.

       The  getutxent() function reads the next entry from the user accounting
       database. If the database is not already open, getutxent() opens it. If
       the end of the database is reached, getutxent fails.

       The  getutxid() function searches forward from the current point in the
       database. If the ut_type value of the utmpx structure pointed to by the
       id  parameter is BOOT_TIME, OLD_TIME, or NEW_TIME, the getutxid() func‐
       tion stops when an entry with a matching ut_type value is found.

       If the ut_type value is INIT_PROCESS, LOGIN_PROCESS,  USER_PROCESS,  or
       DEAD_PROCESS,  the  getutxid()  function returns a pointer to the first
       entry whose type is one of these four and  whose	 ut_id	field  matches
       id->ut_id.  If  the end of the database is reached without a match, the
       getutxid() function fails.

       The getutxline() function searches forward from the  current  point  in
       the  database  until  it	 finds	an  entry of the type LOGIN_PROCESS or
       USER_PROCESS which also has a ut_line value that matches the  value  in
       the  utmpx  structure  pointed to by the line parameter.	 If the end of
       the database is reached without	a  match,  the	getutxline()  function
       fails.

       If  the	process	 has appropriate privileges, the pututxline() function
       writes out the  structure  into	the  user  accounting  database.   The
       pututxline() function calls getutxid() to search for a record that sat‐
       isfies the request. If this search succeeds,  the  entry	 is  replaced.
       Otherwise,  a new entry is made at the end of the user accounting data‐
       base.

       The setutxent() function resets the input stream to  the	 beginning  of
       the database. This should be done before each search for a new entry if
       you want to examine the entire database.

       The endutxent() function closes the user accounting database.

NOTES
       The most current entry is saved in a thread-specific  structure,	 which
       is  overwritten	by  a subsequent call to getutxid() or getutxline() by
       the same thread. To make multiple accesses, you must copy  or  use  the
       structure  between  each	 access. The getutxid() and getutxline() func‐
       tions examine the thread-specific structure first. If the  contents  of
       this  structure match what they are searching for, they do not read the
       database. Therefore, you must fill the thread-specific  structure  with
       zeros after each use if you want to use these subroutines to search for
       multiple occurrences.

       If the pututxline() function finds that it is not already at  the  cor‐
       rect  place  in the user accounting database, the implicit read it per‐
       forms does not overwrite the contents of the thread-specific  structure
       returned	 by  the  getutxent(),	getutxid(), or getutxline() functions.
       This allows you to get an entry with one of these  subroutines,	modify
       the  structure,	and pass the pointer back to the pututxline() function
       for writing.

       These functions use buffered standard I/O for input,  but  the  pututx‐
       line()  function	 uses  an  unbuffered  write  to avoid race conditions
       between processes trying to modify the utmpx and wtmpx files.

RETURN VALUES
       Upon successful completion, the getutxent(),  getutxid(),  and  getutx‐
       line() functions return pointers to a utmpx structure containing a copy
       of the requested entry in the user accounting  database.	 Otherwise,  a
       null pointer is returned.

       Upon successful completion, the pututxline() function returns a pointer
       to a utmpx structure containing a copy of the entry added to  the  user
       accounting database. Otherwise, a null pointer is returned.

ERRORS
       The  pututxline()  function may fail and set errno to the corresponding
       value if the following condition occurs: The process does not have  the
       appropriate privileges.

FILES
       Accounting  header  file that defines the format for the login database
       file.  The active login/logoff database files.

SEE ALSO
       Standards: standards(5)

								  getutxent(3)
[top]

List of man pages available for DigitalUNIX

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net