From b3262820c505b2070d9b0cf977f11febef4f0e50 Mon Sep 17 00:00:00 2001 From: Martin Baulig Date: Mon, 2 Nov 1998 21:19:56 +0000 Subject: [PATCH] Added `GLIBTOP_PARAM_REQUIRED'. 1998-11-02 Martin Baulig * include/glibtop/parameter.h: Added `GLIBTOP_PARAM_REQUIRED'. * lib/parameter.c (glibtop_set_parameter_l): It's no longer allowed to set GLIBTOP_PARAM_FEATURES. (glibtop_get_parameter_l): You can use `GLIBTOP_PARAM_REQUIRED' to read server->required and ... (glibtop_set_parameter_l): ... set it here. --- ChangeLog | 10 ++++++++++ include/glibtop/parameter.h | 1 + lib/parameter.c | 19 ++++++++++++++----- 3 files changed, 25 insertions(+), 5 deletions(-) diff --git a/ChangeLog b/ChangeLog index 1432026b..7c07713e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,13 @@ +1998-11-02 Martin Baulig + + * include/glibtop/parameter.h: Added `GLIBTOP_PARAM_REQUIRED'. + + * lib/parameter.c (glibtop_set_parameter_l): It's no longer + allowed to set GLIBTOP_PARAM_FEATURES. + (glibtop_get_parameter_l): You can use `GLIBTOP_PARAM_REQUIRED' + to read server->required and ... + (glibtop_set_parameter_l): ... set it here. + 1998-10-26 Martin Baulig Added `Network Load' feature (netload). diff --git a/include/glibtop/parameter.h b/include/glibtop/parameter.h index 013deaf9..199d4f3a 100644 --- a/include/glibtop/parameter.h +++ b/include/glibtop/parameter.h @@ -31,6 +31,7 @@ __BEGIN_DECLS #define GLIBTOP_PARAM_HOST 4 #define GLIBTOP_PARAM_PORT 5 #define GLIBTOP_PARAM_ERROR_METHOD 6 +#define GLIBTOP_PARAM_REQUIRED 7 #define glibtop_get_parameter(p1,p2,p3) glibtop_get_parameter_l(glibtop_global_server,p1,p2,p3) #define glibtop_set_parameter(p1,p2,p3) glibtop_set_parameter_l(glibtop_global_server,p1,p2,p3) diff --git a/lib/parameter.c b/lib/parameter.c index 9b96e415..b1f4282a 100644 --- a/lib/parameter.c +++ b/lib/parameter.c @@ -30,9 +30,9 @@ #define _check_data(size) \ if ((data_ptr == NULL) || (data_size != size)) { \ - glibtop_error_r (server, "glibtop_set_parameter (%d): " \ - "Expected %lu bytes but got %lu.", \ - parameter, size, data_size); \ + glibtop_warn_r (server, "glibtop_set_parameter (%d): " \ + "Expected %lu bytes but got %lu.", \ + parameter, size, data_size); \ return; \ } @@ -61,6 +61,9 @@ glibtop_get_parameter_l (glibtop *server, const unsigned parameter, case GLIBTOP_PARAM_ERROR_METHOD: _write_data (&server->error_method, sizeof (server->error_method)); + case GLIBTOP_PARAM_REQUIRED: + _write_data (&server->required, + sizeof (server->required)); } return 0; @@ -76,12 +79,18 @@ glibtop_set_parameter_l (glibtop *server, const unsigned parameter, memcpy (&server->method, data_ptr, data_size); break; case GLIBTOP_PARAM_FEATURES: - _check_data (sizeof (server->features)); - memcpy (&server->features, data_ptr, data_size); + /* You should not be allowed to set this field. */ + glibtop_warn_r (server, "glibtop_set_parameter (%d): " \ + "Cannot modify read-only value.", + parameter); break; case GLIBTOP_PARAM_ERROR_METHOD: _check_data (sizeof (server->error_method)); memcpy (&server->error_method, data_ptr, data_size); break; + case GLIBTOP_PARAM_REQUIRED: + _check_data (sizeof (server->required)); + memcpy (&server->required, data_ptr, data_size); + break; } }