Blame include/glibtop/cpu.h

Packit d37888
/* Copyright (C) 1998-99 Martin Baulig
Packit d37888
   This file is part of LibGTop 1.0.
Packit d37888
Packit d37888
   Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
Packit d37888
Packit d37888
   LibGTop is free software; you can redistribute it and/or modify it
Packit d37888
   under the terms of the GNU General Public License as published by
Packit d37888
   the Free Software Foundation; either version 2 of the License,
Packit d37888
   or (at your option) any later version.
Packit d37888
Packit d37888
   LibGTop is distributed in the hope that it will be useful, but WITHOUT
Packit d37888
   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
Packit d37888
   FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
Packit d37888
   for more details.
Packit d37888
Packit d37888
   You should have received a copy of the GNU General Public License
Packit d37888
   along with LibGTop; see the file COPYING. If not, write to the
Packit d37888
   Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Packit d37888
   Boston, MA 02110-1301, USA.
Packit d37888
*/
Packit d37888
Packit d37888
#ifndef __GLIBTOP_CPU_H__
Packit d37888
#define __GLIBTOP_CPU_H__
Packit d37888
Packit d37888
#include <glibtop.h>
Packit d37888
#include <glibtop/global.h>
Packit d37888
Packit d37888
G_BEGIN_DECLS
Packit d37888
Packit d37888
#define GLIBTOP_CPU_TOTAL	0
Packit d37888
#define GLIBTOP_CPU_USER	1
Packit d37888
#define GLIBTOP_CPU_NICE	2
Packit d37888
#define GLIBTOP_CPU_SYS		3
Packit d37888
#define GLIBTOP_CPU_IDLE	4
Packit d37888
#define GLIBTOP_CPU_FREQUENCY	5
Packit d37888
Packit d37888
#define GLIBTOP_XCPU_TOTAL	6
Packit d37888
#define GLIBTOP_XCPU_USER	7
Packit d37888
#define GLIBTOP_XCPU_NICE	8
Packit d37888
#define GLIBTOP_XCPU_SYS	9
Packit d37888
#define GLIBTOP_XCPU_IDLE	10
Packit d37888
#define GLIBTOP_XCPU_FLAGS	11
Packit d37888
Packit d37888
#define GLIBTOP_CPU_IOWAIT	12
Packit d37888
#define GLIBTOP_CPU_IRQ		13
Packit d37888
#define GLIBTOP_CPU_SOFTIRQ	14
Packit d37888
#define GLIBTOP_XCPU_IOWAIT	15
Packit d37888
#define GLIBTOP_XCPU_IRQ	16
Packit d37888
#define GLIBTOP_XCPU_SOFTIRQ	17
Packit d37888
Packit d37888
#define GLIBTOP_MAX_CPU		18
Packit d37888
Packit d37888
/* Nobody should really be using more than 4 processors.
Packit d37888
   Yes we are :)
Packit d37888
   Nobody should really be using more than 32 processors.
Packit d37888
*/
Packit d37888
#define GLIBTOP_NCPU		1024
Packit d37888
Packit d37888
typedef struct _glibtop_cpu	glibtop_cpu;
Packit d37888
Packit d37888
struct _glibtop_cpu
Packit d37888
{
Packit d37888
	guint64	flags;
Packit d37888
	guint64 total;				/* GLIBTOP_CPU_TOTAL		*/
Packit d37888
	guint64 user;				/* GLIBTOP_CPU_USER		*/
Packit d37888
	guint64 nice;				/* GLIBTOP_CPU_NICE		*/
Packit d37888
	guint64 sys;				/* GLIBTOP_CPU_SYS		*/
Packit d37888
	guint64 idle;				/* GLIBTOP_CPU_IDLE		*/
Packit d37888
	guint64 iowait;				/* GLIBTOP_CPU_IOWAIT		*/
Packit d37888
	guint64 irq;				/* GLIBTOP_CPU_IRQ		*/
Packit d37888
	guint64 softirq;			/* GLIBTOP_CPU_SOFTIRQ		*/
Packit d37888
	guint64 frequency;			/* GLIBTOP_CPU_FREQUENCY	*/
Packit d37888
	guint64 xcpu_total [GLIBTOP_NCPU];	/* GLIBTOP_XCPU_TOTAL		*/
Packit d37888
	guint64 xcpu_user [GLIBTOP_NCPU];	/* GLIBTOP_XCPU_USER		*/
Packit d37888
	guint64 xcpu_nice [GLIBTOP_NCPU];	/* GLIBTOP_XCPU_NICE		*/
Packit d37888
	guint64 xcpu_sys  [GLIBTOP_NCPU];	/* GLIBTOP_XCPU_SYS		*/
Packit d37888
	guint64 xcpu_idle [GLIBTOP_NCPU];	/* GLIBTOP_XCPU_IDLE		*/
Packit d37888
	guint64 xcpu_iowait [GLIBTOP_NCPU];	/* GLIBTOP_XCPU_IOWAIT		*/
Packit d37888
	guint64 xcpu_irq [GLIBTOP_NCPU];	/* GLIBTOP_XCPU_IRQ		*/
Packit d37888
	guint64 xcpu_softirq  [GLIBTOP_NCPU];	/* GLIBTOP_XCPU_SOFTIRQ		*/
Packit d37888
	guint64 xcpu_flags;	                /* GLIBTOP_XCPU_IDLE		*/
Packit d37888
};
Packit d37888
Packit d37888
void glibtop_get_cpu(glibtop_cpu *buf);
Packit d37888
Packit d37888
#if GLIBTOP_SUID_CPU
Packit d37888
#define glibtop_get_cpu_r	glibtop_get_cpu_p
Packit d37888
#else
Packit d37888
#define glibtop_get_cpu_r	glibtop_get_cpu_s
Packit d37888
#endif
Packit d37888
Packit d37888
void glibtop_get_cpu_l (glibtop *server, glibtop_cpu *buf);
Packit d37888
Packit d37888
#if GLIBTOP_SUID_CPU
Packit d37888
void _glibtop_init_cpu_p (glibtop *server);
Packit d37888
void glibtop_get_cpu_p (glibtop *server, glibtop_cpu *buf);
Packit d37888
#else
Packit d37888
void _glibtop_init_cpu_s (glibtop *server);
Packit d37888
void glibtop_get_cpu_s (glibtop *server, glibtop_cpu *buf);
Packit d37888
#endif
Packit d37888
Packit d37888
Packit d37888
G_END_DECLS
Packit d37888
Packit d37888
#endif