getacct man page on SmartOS

Man page or keyword search:  
man Server   16655 pages
apropos Keyword Search (all sections)
Output format
SmartOS logo
[printable version]

GETACCT(2)							    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,

       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 argu‐
       ment 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 enclos‐
       ing 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 invok‐
       ing process. The putacct() and wracct() functions also cause the kernel
       to write records to the system's extended accounting files.

       The  getacct()  function returns the number of bytes required to repre‐
       sent 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 buf‐
       size is 0, getacct() returns only the number of	bytes required to rep‐
       resent  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  suc‐
       cessfully  written. Otherwise, −1 is returned and errno is set to indi‐
       cate the error.

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

		     The idtype argument was not P_TASKID or P_PID.

		     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  remain‐
		     ing on the file system.

		     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 inac‐

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

		     The id argument does not refer to a presently active sys‐
		     tem task ID or process ID.

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

		 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)

				 Jan 20, 2003			    GETACCT(2)

List of man pages available for SmartOS

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]
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