Blame include/glibtop/netload.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_NETLOAD_H__
Packit d37888
#define __GLIBTOP_NETLOAD_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_NETLOAD_IF_FLAGS	0
Packit d37888
#define GLIBTOP_NETLOAD_MTU		1
Packit d37888
#define GLIBTOP_NETLOAD_SUBNET		2
Packit d37888
#define GLIBTOP_NETLOAD_ADDRESS		3
Packit d37888
#define GLIBTOP_NETLOAD_PACKETS_IN	4
Packit d37888
#define GLIBTOP_NETLOAD_PACKETS_OUT	5
Packit d37888
#define GLIBTOP_NETLOAD_PACKETS_TOTAL	6
Packit d37888
#define GLIBTOP_NETLOAD_BYTES_IN	7
Packit d37888
#define GLIBTOP_NETLOAD_BYTES_OUT	8
Packit d37888
#define GLIBTOP_NETLOAD_BYTES_TOTAL	9
Packit d37888
#define GLIBTOP_NETLOAD_ERRORS_IN	10
Packit d37888
#define GLIBTOP_NETLOAD_ERRORS_OUT	11
Packit d37888
#define GLIBTOP_NETLOAD_ERRORS_TOTAL	12
Packit d37888
#define GLIBTOP_NETLOAD_COLLISIONS	13
Packit d37888
#define GLIBTOP_NETLOAD_ADDRESS6	14
Packit d37888
#define GLIBTOP_NETLOAD_PREFIX6		15
Packit d37888
#define GLIBTOP_NETLOAD_SCOPE6		16
Packit d37888
#define GLIBTOP_NETLOAD_HWADDRESS	17
Packit d37888
Packit d37888
#define GLIBTOP_MAX_NETLOAD		18
Packit d37888
Packit d37888
typedef struct _glibtop_netload	glibtop_netload;
Packit d37888
Packit d37888
enum {
Packit d37888
	GLIBTOP_IF_FLAGS_UP = 1,
Packit d37888
	GLIBTOP_IF_FLAGS_BROADCAST,
Packit d37888
	GLIBTOP_IF_FLAGS_DEBUG,
Packit d37888
	GLIBTOP_IF_FLAGS_LOOPBACK,
Packit d37888
	GLIBTOP_IF_FLAGS_POINTOPOINT,
Packit d37888
	GLIBTOP_IF_FLAGS_RUNNING,
Packit d37888
	GLIBTOP_IF_FLAGS_NOARP,
Packit d37888
	GLIBTOP_IF_FLAGS_PROMISC,
Packit d37888
	GLIBTOP_IF_FLAGS_ALLMULTI,
Packit d37888
	GLIBTOP_IF_FLAGS_OACTIVE,
Packit d37888
	GLIBTOP_IF_FLAGS_SIMPLEX,
Packit d37888
	GLIBTOP_IF_FLAGS_LINK0,
Packit d37888
	GLIBTOP_IF_FLAGS_LINK1,
Packit d37888
	GLIBTOP_IF_FLAGS_LINK2,
Packit d37888
	GLIBTOP_IF_FLAGS_ALTPHYS,
Packit d37888
	GLIBTOP_IF_FLAGS_MULTICAST,
Packit d37888
	GLIBTOP_IF_FLAGS_WIRELESS
Packit d37888
};
Packit d37888
Packit d37888
enum GLIBTOP_IF_IN6_SCOPE
Packit d37888
{
Packit d37888
	GLIBTOP_IF_IN6_SCOPE_UNKNOWN = 0,
Packit d37888
	GLIBTOP_IF_IN6_SCOPE_LINK    = 1,
Packit d37888
	GLIBTOP_IF_IN6_SCOPE_SITE    = 2,
Packit d37888
	GLIBTOP_IF_IN6_SCOPE_GLOBAL  = 4,
Packit d37888
	GLIBTOP_IF_IN6_SCOPE_HOST    = 8
Packit d37888
};
Packit d37888
Packit d37888
struct _glibtop_netload
Packit d37888
{
Packit d37888
	guint64	flags;
Packit d37888
	guint64 if_flags;		/* GLIBTOP_NETLOAD_IF_FLAGS	*/
Packit d37888
Packit d37888
	guint32	mtu;			/* GLIBTOP_NETLOAD_MTU		*/
Packit d37888
	guint32 subnet;			/* GLIBTOP_NETLOAD_SUBNET	*/
Packit d37888
	guint32 address;		/* GLIBTOP_NETLOAD_ADDRESS	*/
Packit d37888
Packit d37888
	guint64	packets_in;		/* GLIBTOP_NETLOAD_PACKETS_IN	*/
Packit d37888
	guint64 packets_out;		/* GLIBTOP_NETLOAD_PACKETS_OUT	*/
Packit d37888
	guint64 packets_total;		/* GLIBTOP_NETLOAD_PACKETS_TOTAL*/
Packit d37888
	guint64 bytes_in;		/* GLIBTOP_NETLOAD_BYTES_IN	*/
Packit d37888
	guint64 bytes_out;		/* GLIBTOP_NETLOAD_BYTES_OUT	*/
Packit d37888
	guint64 bytes_total;		/* GLIBTOP_NETLOAD_BYTES_TOTAL	*/
Packit d37888
	guint64 errors_in;		/* GLIBTOP_NETLOAD_ERRORS_IN	*/
Packit d37888
	guint64 errors_out;		/* GLIBTOP_NETLOAD_ERRORS_OUT	*/
Packit d37888
	guint64 errors_total;		/* GLIBTOP_NETLOAD_ERRORS_TOTAL	*/
Packit d37888
	guint64 collisions;		/* GLIBTOP_NETLOAD_COLLISIONS	*/
Packit d37888
Packit d37888
	guint8 address6[16];		/* GLIBTOP_NETLOAD_ADDRESS6     */
Packit d37888
	guint8 prefix6[16];		/* GLIBTOP_NETLOAD_PREXIF6      */
Packit d37888
	guint8 scope6;			/* GLIBTOP_NETLOAD_SCOPE6       */
Packit d37888
Packit d37888
	guint8 hwaddress[8];		/* GLIBTOP_NETLOAD_HWADDRESS    */
Packit d37888
};
Packit d37888
Packit d37888
void glibtop_get_netload(glibtop_netload *buf, const char *interface);
Packit d37888
Packit d37888
#if GLIBTOP_SUID_NETLOAD
Packit d37888
#define glibtop_get_netload_r	glibtop_get_netload_p
Packit d37888
#else
Packit d37888
#define glibtop_get_netload_r	glibtop_get_netload_s
Packit d37888
#endif
Packit d37888
Packit d37888
void glibtop_get_netload_l (glibtop *server, glibtop_netload *buf, const char *interface);
Packit d37888
Packit d37888
#if GLIBTOP_SUID_NETLOAD
Packit d37888
void _glibtop_init_netload_p (glibtop *server);
Packit d37888
void glibtop_get_netload_p (glibtop *server, glibtop_netload *buf, const char *interface);
Packit d37888
#else
Packit d37888
void _glibtop_init_netload_s (glibtop *server);
Packit d37888
void glibtop_get_netload_s (glibtop *server, glibtop_netload *buf, const char *interface);
Packit d37888
#endif
Packit d37888
Packit d37888
Packit d37888
G_END_DECLS
Packit d37888
Packit d37888
#endif