X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Fserial.c;h=1c5d5a5594389a140d3de387e5d4e83237f5b5d2;hb=6ddbe0026dea748db40ccc494b4f5048817b346a;hp=0cfa382309b0ba8655638f74f3cd5daeaee3fb7e;hpb=838af4cdc6c8674ed3e14a95fea172118c707a85;p=collectd.git diff --git a/src/serial.c b/src/serial.c index 0cfa3823..1c5d5a55 100644 --- a/src/serial.c +++ b/src/serial.c @@ -25,24 +25,10 @@ #include "common.h" #include "plugin.h" -#if defined(KERNEL_LINUX) -# define SERIAL_HAVE_READ 1 -#else -# define SERIAL_HAVE_READ 0 +#if !KERNEL_LINUX +# error "No applicable input method." #endif -static data_source_t octets_dsrc[2] = -{ - {"rx", DS_TYPE_COUNTER, 0, 4294967295.0}, - {"tx", DS_TYPE_COUNTER, 0, 4294967295.0} -}; - -static data_set_t octets_ds = -{ - "serial_octets", 2, octets_dsrc -}; - -#if SERIAL_HAVE_READ static void serial_submit (const char *type_instance, counter_t rx, counter_t tx) { @@ -57,15 +43,15 @@ static void serial_submit (const char *type_instance, vl.time = time (NULL); strcpy (vl.host, hostname_g); strcpy (vl.plugin, "serial"); - strncpy (vl.type_instance, type_instance, + strcpy (vl.type, "serial_octets"); + sstrncpy (vl.type_instance, type_instance, sizeof (vl.type_instance)); - plugin_dispatch_values ("serial_octets", &vl); + plugin_dispatch_values (&vl); } static int serial_read (void) { -#ifdef KERNEL_LINUX FILE *fh; char buffer[1024]; @@ -80,7 +66,9 @@ static int serial_read (void) if ((fh = fopen ("/proc/tty/driver/serial", "r")) == NULL && (fh = fopen ("/proc/tty/driver/ttyS", "r")) == NULL) { - WARNING ("serial: fopen: %s", strerror (errno)); + char errbuf[1024]; + WARNING ("serial: fopen: %s", + sstrerror (errno, errbuf, sizeof (errbuf))); return (-1); } @@ -130,15 +118,9 @@ static int serial_read (void) fclose (fh); return (0); -#endif /* KERNEL_LINUX */ } /* int serial_read */ -#endif /* SERIAL_HAVE_READ */ void module_register (void) { - plugin_register_data_set (&octets_ds); - -#if SERIAL_HAVE_READ plugin_register_read ("serial", serial_read); -#endif /* SERIAL_HAVE_READ */ -} +} /* void module_register */