address' and subnet' are now arrays of GLIBTOP_IFADDR_LEN u_int8_t

2000-01-24  Martin Baulig  <martin@home-of-linux.org>

	* include/glibtop/netinfo.h (glibtop_netinfo): `address' and
	`subnet' are now arrays of GLIBTOP_IFADDR_LEN u_int8_t values.
	(glibtop_get_netinfo): `transport' is now `u_int64_t' and not
	`unsigned' to make it work with `GLIBTOP_TRANSPORT_ALL'.

	* include/glibtop/limits.h (GLIBTOP_IFADDR_LEN): New constant.
	This is the length of a network interface address in bytes.
This commit is contained in:
Martin Baulig
2000-01-24 23:27:50 +00:00
committed by Martin Baulig
parent 8b1dd440ee
commit 5f02295a63
4 changed files with 89 additions and 27 deletions

View File

@@ -44,7 +44,16 @@ BEGIN_LIBGTOP_DECLS
#define GLIBTOP_MAX_INTERFACE 7
#define GLIBTOP_IFADDR_TRANSPORT 0
#define GLIBTOP_IFADDR_ADDR_LEN 1
#define GLIBTOP_IFADDR_ADDRESS 2
#define GLIBTOP_IFADDR_SUBNET 3
#define GLIBTOP_IFADDR_SCOPE 4
#define GLIBTOP_MAX_IFADDR 5
typedef struct _glibtop_interface glibtop_interface;
typedef struct _glibtop_ifaddr glibtop_ifaddr;
typedef enum _glibtop_interface_type glibtop_interface_type;
typedef enum _glibtop_transport glibtop_transport;
@@ -127,6 +136,16 @@ enum _glibtop_interface_flags {
GLIBTOP_IF_FLAGS_MULTICAST
};
struct _glibtop_ifaddr
{
u_int64_t flags,
transport; /* GLIBTOP_IFADDR_TRANSPORT */
u_int8_t addr_len, /* GLIBTOP_IFADDR_ADDR_LEN */
address [GLIBTOP_IFADDR_LEN]; /* GLIBTOP_IFADDR_ADDRESS */
u_int64_t subnet, /* GLIBTOP_IFADDR_SUBNET */
scope; /* GLIBTOP_IFADDR_SCOPE */
};
struct _glibtop_interface
{
u_int64_t flags,

View File

@@ -49,8 +49,6 @@ struct _glibtop_netinfo
if_flags, /* GLIBTOP_NETINFO_IF_FLAGS */
transport, /* GLIBTOP_NETINFO_TRANSPORT */
mtu; /* GLIBTOP_NETINFO_MTU */
u_int8_t subnet [GLIBTOP_IFADDR_LEN],/* GLIBTOP_NETINFO_SUBNET */
address [GLIBTOP_IFADDR_LEN]; /* GLIBTOP_NETINFO_ADDRESS */
};
#define glibtop_get_netinfo(netinfo,interface,transport) glibtop_get_netinfo_l(glibtop_global_server, netinfo, interface, transport)
@@ -61,14 +59,14 @@ struct _glibtop_netinfo
#define glibtop_get_netinfo_r glibtop_get_netinfo_s
#endif
int glibtop_get_netinfo_l (glibtop *server, glibtop_netinfo *buf, const char *interface, u_int64_t transport);
glibtop_ifaddr *glibtop_get_netinfo_l (glibtop *server, glibtop_array *array, glibtop_netinfo *buf, const char *interface, u_int64_t transport);
#if GLIBTOP_SUID_NETINFO
int glibtop_init_netinfo_p (glibtop *server);
int glibtop_get_netinfo_p (glibtop *server, glibtop_netinfo *buf, const char *interface, u_int64_t transport);
glibtop_ifaddr *glibtop_get_netinfo_p (glibtop *server, glibtop_array *array, glibtop_netinfo *buf, const char *interface, u_int64_t transport);
#else
int glibtop_init_netinfo_s (glibtop *server);
int glibtop_get_netinfo_s (glibtop *server, glibtop_netinfo *buf, const char *interface, u_int64_t transport);
glibtop_ifaddr *glibtop_get_netinfo_s (glibtop *server, glibtop_array *array, glibtop_netinfo *buf, const char *interface, u_int64_t transport);
#endif
#ifdef GLIBTOP_NAMES