Files
libgtop/include/glibtop/proctime.h
Benoît Dejean be7dabf75d Added a lot of new functions to replace dirty macros. Every macro
* configure.in:
	* glibtop.h:
	* include/glibtop/close.h:
	* include/glibtop/cpu.h:
	* include/glibtop/fsusage.h:
	* include/glibtop/loadavg.h:
	* include/glibtop/mem.h:
	* include/glibtop/mountlist.h:
	* include/glibtop/msg_limits.h:
	* include/glibtop/netlist.h:
	* include/glibtop/netload.h:
	* include/glibtop/ppp.h:
	* include/glibtop/procargs.h:
	* include/glibtop/prockernel.h:
	* include/glibtop/proclist.h:
	* include/glibtop/procmap.h:
	* include/glibtop/procmem.h:
	* include/glibtop/procopenfiles.h:
	* include/glibtop/procsegment.h:
	* include/glibtop/procsignal.h:
	* include/glibtop/procstate.h:
	* include/glibtop/proctime.h:
	* include/glibtop/procuid.h:
	* include/glibtop/sem_limits.h:
	* include/glibtop/shm_limits.h:
	* include/glibtop/swap.h:
	* include/glibtop/sysdeps.h:
	* include/glibtop/sysinfo.h:
	* include/glibtop/uptime.h:
	* sysdeps/common/Makefile.am:
	* sysdeps/common/default.c: (glibtop_close), (glibtop_init),
	(glibtop_get_cpu), (glibtop_get_fsusage), (glibtop_get_uptime),
	(glibtop_get_sysinfo), (glibtop_get_swap), (glibtop_get_proc_uid),
	(glibtop_get_proc_time), (glibtop_get_proc_state),
	(glibtop_get_proc_signal), (glibtop_get_proc_segment),
	(glibtop_get_proc_open_files), (glibtop_get_proc_mem),
	(glibtop_get_proc_map), (glibtop_get_proc_args),
	(glibtop_get_proc_argv), (glibtop_get_proclist),
	(glibtop_get_proc_kernel), (glibtop_get_ppp),
	(glibtop_get_netlist), (glibtop_get_netload),
	(glibtop_get_mountlist), (glibtop_get_mem), (glibtop_get_loadavg),
	(glibtop_get_msg_limits), (glibtop_get_sem_limits),
	(glibtop_get_shm_limits), (glibtop_get_sysdeps):

	Added a lot of new functions to replace dirty macros.
	Every macro glibtop_get_*(buf[, args]) has been turned to a function.
2005-06-07 09:54:44 +00:00

96 lines
2.9 KiB
C

/* $Id$ */
/* Copyright (C) 1998-99 Martin Baulig
This file is part of LibGTop 1.0.
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
LibGTop is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License,
or (at your option) any later version.
LibGTop is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#ifndef __GLIBTOP_PROCTIME_H__
#define __GLIBTOP_PROCTIME_H__
#include <glibtop.h>
#include <glibtop/cpu.h>
#include <glibtop/global.h>
G_BEGIN_DECLS
#define GLIBTOP_PROC_TIME_START_TIME 0
#define GLIBTOP_PROC_TIME_RTIME 1
#define GLIBTOP_PROC_TIME_UTIME 2
#define GLIBTOP_PROC_TIME_STIME 3
#define GLIBTOP_PROC_TIME_CUTIME 4
#define GLIBTOP_PROC_TIME_CSTIME 5
#define GLIBTOP_PROC_TIME_TIMEOUT 6
#define GLIBTOP_PROC_TIME_IT_REAL_VALUE 7
#define GLIBTOP_PROC_TIME_FREQUENCY 8
#define GLIBTOP_PROC_TIME_XCPU_UTIME 9
#define GLIBTOP_PROC_TIME_XCPU_STIME 10
#define GLIBTOP_MAX_PROC_TIME 11
typedef struct _glibtop_proc_time glibtop_proc_time;
/* Time section */
struct _glibtop_proc_time
{
guint64 flags,
start_time, /* start time of process --
* seconds since 1-1-70 */
rtime, /* real time accumulated by process */
utime, /* user-mode CPU time accumulated by process */
stime, /* kernel-mode CPU time accumulated by process */
cutime, /* cumulative utime of process and
* reaped children */
cstime, /* cumulative stime of process and
* reaped children */
timeout, /* The time (in jiffies) of the process's
* next timeout */
it_real_value, /* The time (in jiffies) before the
* next SIGALRM is sent to the process
* due to an interval timer. */
frequency, /* Tick frequency. */
xcpu_utime [GLIBTOP_NCPU], /* utime and stime for all CPUs on */
xcpu_stime [GLIBTOP_NCPU]; /* SMP machines. */
};
void glibtop_get_proc_time(glibtop_proc_time *buf, pid_t pid);
#if GLIBTOP_SUID_PROC_TIME
#define glibtop_get_proc_time_r glibtop_get_proc_time_p
#else
#define glibtop_get_proc_time_r glibtop_get_proc_time_s
#endif
void glibtop_get_proc_time_l (glibtop *server, glibtop_proc_time *buf, pid_t pid);
#if GLIBTOP_SUID_PROC_TIME
void glibtop_init_proc_time_p (glibtop *server);
void glibtop_get_proc_time_p (glibtop *server, glibtop_proc_time *buf, pid_t pid);
#else
void glibtop_init_proc_time_s (glibtop *server);
void glibtop_get_proc_time_s (glibtop *server, glibtop_proc_time *buf, pid_t pid);
#endif
G_END_DECLS
#endif