All functions which return an array now take a `glibtop_array *array'

1999-12-12  Martin Baulig  <martin@home-of-linux.org>

	All functions which return an array now take a `glibtop_array *array'
	parameter instead of a `glibtop_<feature> *buf' one.

	For compatibility, we typedef the corresponding `glibtop_<feature>'s
	to `glibtop_array' in <glibtop/compat_10.h>.

	This has the advantage that scripting languages like Guile with an
	array implementation which stores the length of an array in the
	array don't need the `glibtop_array' parameter at all any longer.

	We'll also add convenient functions which return GPtrArray's here.

	* include/glibtop/proclist.h (glibtop_proclist): Removed.
	(glibtop_get_proclist_*): This now takes a `glibtop_array' parameter
	instead of a `glibtop_proclist' one.

	* include/glibtop/procmap.h (glibtop_proc_map): Removed.
	(glibtop_get_proc_map_*): This now takes a `glibtop_array' parameter
	instead of a `glibtop_proc_map' one.

	* include/glibtop/mountlist.h (glibtop_mountlist): Removed.
	(glibtop_get_mountlist_*): This now takes a `glibtop_array' parameter
	instead of a `glibtop_mountlist' one.

	* include/glibtop/interfaces.h (glibtop_interface_names): Removed.
	(glibtop_get_interface_names_*): This now takes a `glibtop_array'
	parameter instead of a `glibtop_interface_name' one.

	* include/glibtop/compat_10.h: New file. Contains some typedefs and
	#defines to keep compatibility until the big restructurement is
	completely done.
This commit is contained in:
Martin Baulig
1999-12-12 14:20:17 +00:00
committed by Martin Baulig
parent a33f4df47e
commit 881c2a2086
15 changed files with 186 additions and 173 deletions

View File

@@ -29,6 +29,9 @@
#include <glibtop.h>
#include <glibtop/global.h>
#include <glibtop/compat_10.h>
#include <glibtop/array.h>
BEGIN_LIBGTOP_DECLS
#define GLIBTOP_INTERFACE_IF_FLAGS 0
@@ -43,14 +46,6 @@ BEGIN_LIBGTOP_DECLS
typedef struct _glibtop_interface glibtop_interface;
#define GLIBTOP_INTERFACE_NAMES_NUMBER 0
#define GLIBTOP_INTERFACE_NAMES_SIZE 1
#define GLIBTOP_INTERFACE_NAMES_TOTAL 2
#define GLIBTOP_MAX_INTERFACE_NAMES 3
typedef struct _glibtop_interface_names glibtop_interface_names;
typedef enum _glibtop_interface_type glibtop_interface_type;
typedef enum _glibtop_transport glibtop_transport;
typedef enum _glibtop_protocol glibtop_protocol;
@@ -144,15 +139,7 @@ struct _glibtop_interface
char name [GLIBTOP_INTERFACE_LEN];
};
struct _glibtop_interface_names
{
u_int64_t flags,
number, /* GLIBTOP_INTERFACES_NUMBER */
size, /* GLIBTOP_INTERFACES_SIZE */
total; /* GLIBTOP_INTERFACES_TOTAL */
};
#define glibtop_get_interface_names(buf,interface,number,instance,strategy) glibtop_get_interface_names_l (glibtop_global_server, buf, interface, number, instance, strategy)
#define glibtop_get_interface_names(array,interface,number,instance,strategy) glibtop_get_interface_names_l (glibtop_global_server, array, interface, number, instance, strategy)
#if GLIBTOP_SUID_INTERFACE_NAMES
#define glibtop_get_interface_names_r glibtop_get_interface_names_p
@@ -160,14 +147,14 @@ struct _glibtop_interface_names
#define glibtop_get_interface_names_r glibtop_get_interface_names_s
#endif
glibtop_interface *glibtop_get_interface_names_l (glibtop *server, glibtop_interface_names *buf, u_int64_t interface, u_int64_t number, u_int64_t instance, u_int64_t strategy);
glibtop_interface *glibtop_get_interface_names_l (glibtop *server, glibtop_array *array, u_int64_t interface, u_int64_t number, u_int64_t instance, u_int64_t strategy);
#if GLIBTOP_SUID_INTERFACE_NAMES
int glibtop_init_interface_names_p (glibtop *server);
glibtop_interface *glibtop_get_interface_names_p (glibtop *server, glibtop_interface_names *buf, u_int64_t interface, u_int64_t number, u_int64_t instance, u_int64_t strategy);
glibtop_interface *glibtop_get_interface_names_p (glibtop *server, glibtop_array *array, u_int64_t interface, u_int64_t number, u_int64_t instance, u_int64_t strategy);
#else
int glibtop_init_interface_names_s (glibtop *server);
glibtop_interface *glibtop_get_interface_names_s (glibtop *server, glibtop_interface_names *buf, u_int64_t interface, u_int64_t number, u_int64_t instance, u_int64_t strategy);
glibtop_interface *glibtop_get_interface_names_s (glibtop *server, glibtop_array *array, u_int64_t interface, u_int64_t number, u_int64_t instance, u_int64_t strategy);
#endif
#ifdef GLIBTOP_NAMES