X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;ds=sidebyside;f=src%2Fusers.c;h=08fc4fd74d349853be9510ebcc75a689d5623e74;hb=efe2a48f63ed4042c101f770d64e1c543fea70ad;hp=486c7bdf24bfe44339212d726578611ea469e5f7;hpb=ea69d1db995ef08b02fb8d9acb48be59781deb62;p=collectd.git diff --git a/src/users.c b/src/users.c index 486c7bdf..08fc4fd7 100644 --- a/src/users.c +++ b/src/users.c @@ -1,6 +1,6 @@ /** * collectd - src/users.c - * Copyright (C) 2005 Sebastian Harl + * Copyright (C) 2005,2006 Sebastian Harl * * This program is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the @@ -20,9 +20,9 @@ * Sebastian Harl **/ +#include "collectd.h" #include "common.h" #include "plugin.h" -#include "users.h" #if HAVE_UTMPX_H # include @@ -32,31 +32,39 @@ # endif /* HAVE_UTMP_H */ #endif /* HAVE_UTMPX_H */ - - #define MODULE_NAME "users" +#if HAVE_GETUTXENT || HAVE_GETUTENT +# define USERS_HAVE_READ 1 +#else +# define USERS_HAVE_READ 0 +#endif + static char *rrd_file = "users.rrd"; -static char *ds_def[] = { - "DS:users:GAUGE:25:0:65535", +static char *ds_def[] = +{ + "DS:users:GAUGE:"COLLECTD_HEARTBEAT":0:65535", NULL }; static int ds_num = 1; +static void users_init (void) +{ + /* we have nothing to do here :-) */ + return; +} /* static void users_init(void) */ +static void users_write (char *host, char *inst, char *val) +{ + rrd_update_file(host, rrd_file, val, ds_def, ds_num); + return; +} /* static void users_write(char *host, char *inst, char *val) */ -static void users_submit(unsigned int users); -static void users_init(void); -static void users_read(void); -static void users_write(char *host, char *inst, char *val); - - - +#if USERS_HAVE_READ /* I don't like this temporary macro definition - well it's used everywhere else in the collectd-sources, so I will just stick with it... */ #define BUFSIZE 256 -static void -users_submit(unsigned int users) +static void users_submit (unsigned int users) { char buf[BUFSIZE] = ""; @@ -71,17 +79,7 @@ users_submit(unsigned int users) } /* static void users_submit(unsigned int users) */ #undef BUFSIZE - - -static void -users_init(void) -{ - /* we have nothing to do here :-) */ - return; -} /* static void users_init(void) */ - -static void -users_read(void) +static void users_read (void) { #if HAVE_GETUTXENT unsigned int users = 0; @@ -98,9 +96,10 @@ users_read(void) } endutxent(); - users_submit(users); -#else /* !HAVE_GETUTXENT */ -# if HAVE_GETUTENT + users_submit (users); +/* #endif HAVE_GETUTXENT */ + +#elif HAVE_GETUTENT unsigned int users = 0; struct utmp *entry = NULL; @@ -116,25 +115,16 @@ users_read(void) endutent(); users_submit(users); -# endif /* HAVE_GETUTENT */ -#endif /* HAVE_GETUTXENT */ +#endif /* HAVE_GETUTENT */ return; } /* static void users_read(void) */ +#else +# define users_read NULL +#endif /* USERS_HAVE_READ */ -static void -users_write(char *host, char *inst, char *val) +void module_register (void) { - rrd_update_file(host, rrd_file, val, ds_def, ds_num); - return; -} /* static void users_write(char *host, char *inst, char *val) */ - - - -void -module_register(void) -{ - plugin_register(MODULE_NAME, users_init, users_read, users_write); + plugin_register (MODULE_NAME, users_init, users_read, users_write); return; } /* void module_register(void) */ -