Unix/Linux Go Back    

OpenSolaris 2009.06 - man page for getacct (opensolaris section 2)

Linux & Unix Commands - Search Man Pages
Man Page or Keyword Search:   man
Select Man Page Set:       apropos Keyword Search (sections above)

getacct(2)				   System Calls 			       getacct(2)

       getacct, putacct, wracct - get, put, or write extended accounting data

       #include <sys/exacct.h>

       size_t getacct(idtype_t idtype, id_t id, void *buf, size_t bufsize);

       int putacct(idtype_t idtype, id_t id, void *buf, size_t bufsize, int flags);

       int wracct(idtype_t idtype, id_t id, int flags);

       These functions provide access to the extended accounting facility.

       The  getacct()  function returns extended accounting buffers from the kernel for currently
       executing tasks and processes. The resulting data buffer is a packed  exacct  object  that
       can  be	unpacked  using ea_unpack_object() (see ea_pack_object(3EXACCT)) and subsequently
       manipulated using the functions of the extended accounting library, libexacct(3LIB).

       The putacct() function provides privileged processes the ability to tag accounting records
       with  additional  data  specific to that process.  For instance, a queueing facility might
       want to record to which queue a given task or process was submitted prior to running.  The
       flags  argument	determines  whether  the  contents  of	buf should be treated as raw data
       (EP_RAW)  or  as  an  embedded  exacct  structure  (EP_EXACCT_OBJECT).  In  the	case   of
       EP_EXACCT_OBJECT,    buf    must    be	a   packed   exacct   object   as   returned   by
       ea_pack_object(3EXACCT). The use of an inappropriate flag  or  the  inclusion  of  corrupt
       exacct data will likely corrupt the enclosing exacct file.

       The  wracct()  function requests the kernel to write, given its internal state of resource
       usage, the appropriate data for the specified task or process. The flags field  determines
       whether a partial (EW_PARTIAL) or interval record (EW_INTERVAL) is written.

       These  functions  require  root	privilege, as they allow inquiry or reporting relevant to
       system tasks and processes other than the invoking process.  The  putacct()  and  wracct()
       functions  also	cause  the  kernel  to	write records to the system's extended accounting

       The getacct() function returns the number of bytes  required  to  represent  the  extended
       accounting  record  for	the  requested	system	task  or process.  If bufsize exceeds the
       returned size, buf will contain a valid accounting record buffer. If bufsize is less  than
       the return value, buf will contain the first bufsize bytes of the record. If bufsize is 0,
       getacct() returns only the number of  bytes required to represent the extended  accounting
       record. In the event of failure, -1 is returned and errno is set to indicate the error.

       The putacct() and wracct() functions return 0 if the record was successfully written. Oth-
       erwise, -1 is returned and errno is set to indicate the error.

       The getacct(), putacct(), and wracct() functions will fail if:

       EINVAL	     The idtype argument was not P_TASKID or P_PID.

       ENOSPC	     The file system containing  the  extended	accounting  file  is  full.   The
		     wracct() or putacct() function will fail if the record size would exceed the
		     amount of space remaining on the file system.

       ENOTACTIVE    The extended accounting facility for the requested idtype_t is  not  active.
		     Either  putacct()	attempted to write a task record when the task accounting
		     file was unset, or getacct() attempted to retrieve  accounting  data  for	a
		     process when extended process accounting was inactive.

       EPERM	     The  {PRIV_SYS_ACCT}  privilege  is not asserted in the effective set of the
		     calling process.

       ERSCH	     The id argument does not refer to a  presently  active  system  task  ID  or
		     process ID.

       The putacct() and wracct() functions will fail if:

       EINVAL	 The flags argument is neither EW_PARTIAL nor EW_INTERVAL.

       See attributes(5) for descriptions of the following attributes:

       |MT-Level		     |Async-Signal-Safe 	   |

       ea_pack_object(3EXACCT), libexacct(3LIB)attributes(5)

SunOS 5.11				   20 Jan 2003				       getacct(2)
Unix & Linux Commands & Man Pages : ©2000 - 2018 Unix and Linux Forums

All times are GMT -4. The time now is 03:27 AM.