X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Fserial.c;h=cfa26bbd120b268cefea5d90669bd58917d3bb82;hb=8eb9e6285f394569d7fe6ad43a0f4e5f9bca454f;hp=6ca752c6bc5e2141810c6d8aa6378daf03486035;hpb=6360474f4aa35dd1a587b6148ff88a23e6155132;p=collectd.git diff --git a/src/serial.c b/src/serial.c index 6ca752c6..cfa26bbd 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) { @@ -54,18 +40,17 @@ static void serial_submit (const char *type_instance, vl.values = values; vl.values_len = 2; - vl.time = time (NULL); - strcpy (vl.host, hostname); - strcpy (vl.plugin, "serial"); - strncpy (vl.type_instance, type_instance, + sstrncpy (vl.host, hostname_g, sizeof (vl.host)); + sstrncpy (vl.plugin, "serial", sizeof (vl.plugin)); + sstrncpy (vl.type, "serial_octets", sizeof (vl.type)); + 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 +65,9 @@ static int serial_read (void) if ((fh = fopen ("/proc/tty/driver/serial", "r")) == NULL && (fh = fopen ("/proc/tty/driver/ttyS", "r")) == NULL) { - syslog (LOG_WARNING, "serial: fopen: %s", strerror (errno)); + char errbuf[1024]; + WARNING ("serial: fopen: %s", + sstrerror (errno, errbuf, sizeof (errbuf))); return (-1); } @@ -130,15 +117,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 */