]> git.webhop.me Git - lcd4linux.git/commitdiff
[lcd4linux @ 2004-01-06 22:33:13 by reinelt]
authorreinelt <reinelt@3ae390bd-cb1e-0410-b409-cd5a39f66f1f>
Tue, 6 Jan 2004 22:33:14 +0000 (22:33 +0000)
committerreinelt <reinelt@3ae390bd-cb1e-0410-b409-cd5a39f66f1f>
Tue, 6 Jan 2004 22:33:14 +0000 (22:33 +0000)
Copyright statements cleaned up

git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@293 3ae390bd-cb1e-0410-b409-cd5a39f66f1f

14 files changed:
AUTHORS
HD44780.c
MilfordInstruments.c
USBLCD.c
XWindow.c
battery.c
battery.h
debian/copyright
imon.c
imon.h
plugin_xmms.c
seti.c
wifi.c
wifi.h

diff --git a/AUTHORS b/AUTHORS
index 228750e47997d3159147b353fb780a48f8d1a916..082b5eb0c5b126732e9f4919f5fe7ce4281499d5 100644 (file)
--- a/AUTHORS
+++ b/AUTHORS
@@ -1,5 +1,18 @@
 LCD4Linux development team:
 
 Michael Reinelt <reinelt@eunet.at>
-Herbert Rosmanith <herp@wildsau.idv-edu.uni-linz.ac.at>
-Leo Tötsch <lt@toetsch.at>
+Herbert Rosmanith <herp@wildsau.idv.uni-linz.ac.at>
+Leopold Tötsch <lt@toetsch.at>
+Axel Ehnert <axel@ehnert.net>
+Andrew Ip <aip@cwlinux.com>
+Robin Adams, Adams IT Services <info@usblcd.de>
+Xavier Vello <xavier66@free.fr>
+Martin Hejl (martin@hejl.de)
+Jesse Brook Kovach <jkovach@wam.umd.edu>
+Nico Wallmeier <nico.wallmeier@post.rwth-aachen.de>
+Luis F. Correia <luis.f.correia@seg-social.pt>
+Patrick Schemitz <schemitz@ekp.physik.uni-karlsruhe.de>
+Andy Baxter <andy@earthsong.free-online.co.uk>
+Thomas Siedentopf <thom-s@gmx.net>
+Markus Keil <markus_keil@t-online.de>
+Samuel Mimram <samuel.mimram@ens-lyon.fr>
index 23b8c9bc244063d499c92238284b9f312736c056..09c3086832a1b59f1c5f0c845d22cad55dd3f511 100644 (file)
--- a/HD44780.c
+++ b/HD44780.c
@@ -1,17 +1,16 @@
-/* $Id: HD44780.c,v 1.47 2003/11/12 05:42:35 reinelt Exp $
+/* $Id: HD44780.c,v 1.48 2004/01/06 22:33:13 reinelt Exp $
  *
  * driver for display modules based on the HD44780 chip
  *
- * Copyright 1999, 2000 Michael Reinelt <reinelt@eunet.at>
- *
- * This file is part of LCD4Linux.
+ * Copyright 1999-2004 Michael Reinelt <reinelt@eunet.at>
  *
  * Modification for 4-Bit mode
- * 2003 Martin Hejl (martin@hejl.de)
+ * Copyright 2003 Martin Hejl (martin@hejl.de)
  *
  * Modification for 2nd controller support
- * 2003 Jesse Brook Kovach <jkovach@wam.umd.edu>
+ * Copyright 2003 Jesse Brook Kovach <jkovach@wam.umd.edu>
  *
+ * This file is part of LCD4Linux.
  *
  * LCD4Linux is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -29,6 +28,9 @@
  *
  *
  * $Log: HD44780.c,v $
+ * Revision 1.48  2004/01/06 22:33:13  reinelt
+ * Copyright statements cleaned up
+ *
  * Revision 1.47  2003/11/12 05:42:35  reinelt
  * small changes to the 16x4 handling
  *
index 2818e26895469fe20333ed4e4ef35d10d4f07e26..6ef5558f0626a8cc06368d4c52545693b1e66f7e 100644 (file)
@@ -1,11 +1,12 @@
-/* $Id: MilfordInstruments.c,v 1.3 2003/10/08 13:39:53 andy-b Exp $
+/* $Id: MilfordInstruments.c,v 1.4 2004/01/06 22:33:13 reinelt Exp $
  *
  * driver for Milford Instruments 'BPK' piggy-back serial interface board
  * for standard Hitachi 44780 compatible lcd modules.
  *
- * Written 2003 by Andy Baxter <andy@earthsong.free-online.co.uk>
+ * Copyright 2003 Andy Baxter <andy@earthsong.free-online.co.uk>
  *
- * based on the MatrixOrbital driver by M. Reinelt 
+ * based on the MatrixOrbital driver which is
+ * Copyright 1999, 2000 Michael Reinelt <reinelt@eunet.at>
  *
  * 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
@@ -23,6 +24,9 @@
  *
  *
  * $Log: MilfordInstruments.c,v $
+ * Revision 1.4  2004/01/06 22:33:13  reinelt
+ * Copyright statements cleaned up
+ *
  * Revision 1.3  2003/10/08 13:39:53  andy-b
  * Cleaned up code in MilfordInstruments.c, and added descriptions for other display sizes (untested)
  *
index 9d4e598897083aaaf472c507fff455a65abb3240..56b22b2603b74245aafc7c3aabfcf156280df9f4 100644 (file)
--- a/USBLCD.c
+++ b/USBLCD.c
@@ -1,11 +1,11 @@
-/* $Id: USBLCD.c,v 1.18 2003/10/05 17:58:50 reinelt Exp $
+/* $Id: USBLCD.c,v 1.19 2004/01/06 22:33:14 reinelt Exp $
  *
  * Driver for USBLCD (see http://www.usblcd.de)
  *
  * Copyright 2002 Robin Adams, Adams IT Services <info@usblcd.de>
  *
  * This driver is based on HD44780.c, which is
- * Copyright 1999, 2000 by Michael Reinelt <reinelt@eunet.at>
+ * Copyright 1999, 2000 Michael Reinelt <reinelt@eunet.at>
  *
  * This file is part of LCD4Linux.
  *
@@ -25,6 +25,9 @@
  *
  *
  * $Log: USBLCD.c,v $
+ * Revision 1.19  2004/01/06 22:33:14  reinelt
+ * Copyright statements cleaned up
+ *
  * Revision 1.18  2003/10/05 17:58:50  reinelt
  * libtool junk; copyright messages cleaned up
  *
index d186964b7671fa9ea44f57c99ded80c58406dd93..fdcaf892e3cec7350f5384cfd7f3f604626b94bb 100644 (file)
--- a/XWindow.c
+++ b/XWindow.c
@@ -1,8 +1,8 @@
-/* $Id: XWindow.c,v 1.36 2003/10/22 04:32:25 reinelt Exp $
+/* $Id: XWindow.c,v 1.37 2004/01/06 22:33:14 reinelt Exp $
  *
  * X11 Driver for LCD4Linux 
  *
- * Copyright 2000 Herbert Rosmanith <herp@widsau.idv.uni-linz.ac.at>
+ * Copyright 2000 Herbert Rosmanith <herp@wildsau.idv.uni-linz.ac.at>
  *
  * This file is part of LCD4Linux.
  *
@@ -22,6 +22,9 @@
  *
  *
  * $Log: XWindow.c,v $
+ * Revision 1.37  2004/01/06 22:33:14  reinelt
+ * Copyright statements cleaned up
+ *
  * Revision 1.36  2003/10/22 04:32:25  reinelt
  * fixed icon bug found by Rob van Nieuwkerk
  *
index 93975be6957d06a77475a5e75b038c93c2df7cab..6688b5eb19bb669e7e626c16fd7cbd474dda7992 100644 (file)
--- a/battery.c
+++ b/battery.c
@@ -1,8 +1,8 @@
-/* $Id: battery.c,v 1.4 2003/10/05 17:58:50 reinelt Exp $
+/* $Id: battery.c,v 1.5 2004/01/06 22:33:14 reinelt Exp $
  *
  * APM and ACPI specific functions
  *
- * Copyright 2001 Leo Tötsch <lt@toetsch.at>
+ * Copyright 2001 Leopold Tötsch <lt@toetsch.at>
  *
  * This file is part of LCD4Linux.
  *
@@ -22,6 +22,9 @@
  *
  *
  * $Log: battery.c,v $
+ * Revision 1.5  2004/01/06 22:33:14  reinelt
+ * Copyright statements cleaned up
+ *
  * Revision 1.4  2003/10/05 17:58:50  reinelt
  * libtool junk; copyright messages cleaned up
  *
index 53148d1038d70b82d08f9146c68847a67f52633a..6b2e0555874dbb84428fc3ea1c7dfad6fd537e05 100644 (file)
--- a/battery.h
+++ b/battery.h
@@ -1,8 +1,8 @@
-/* $Id: battery.h,v 1.3 2003/10/05 17:58:50 reinelt Exp $
+/* $Id: battery.h,v 1.4 2004/01/06 22:33:14 reinelt Exp $
  *
  * APM and ACPI specific functions
  *
- * Copyright 2001 Leo Tötsch <lt@toetsch.at>
+ * Copyright 2001 Leopold Tötsch <lt@toetsch.at>
  *
  * This file is part of LCD4Linux.
  *
@@ -22,6 +22,9 @@
  *
  *
  * $Log: battery.h,v $
+ * Revision 1.4  2004/01/06 22:33:14  reinelt
+ * Copyright statements cleaned up
+ *
  * Revision 1.3  2003/10/05 17:58:50  reinelt
  * libtool junk; copyright messages cleaned up
  *
index c72315716e5ebf35485cbaf6616cdfd40e922128..93dca9eba6eef0ae4d8a0dfbc1903f6bf69fb49d 100644 (file)
@@ -6,7 +6,24 @@ It was downloaded from http://lcd4linux.sourceforge.net/
 Upstream Author: Michael Reinelt <reinelt@eunet.at>
 
 Copyright: 1999-2004
+The LCD4Linux Development Team <lcd4linux-devel@lists.sourceforge.net>
 Michael Reinelt <reinelt@eunet.at>
+Herbert Rosmanith <herp@wildsau.idv.uni-linz.ac.at>
+Leopold Tötsch <lt@toetsch.at>
+Axel Ehnert <axel@ehnert.net>
+Andrew Ip <aip@cwlinux.com>
+Robin Adams, Adams IT Services <info@usblcd.de>
+Xavier Vello <xavier66@free.fr>
+Martin Hejl (martin@hejl.de)
+Jesse Brook Kovach <jkovach@wam.umd.edu>
+Nico Wallmeier <nico.wallmeier@post.rwth-aachen.de>
+Luis F. Correia <luis.f.correia@seg-social.pt>
+Patrick Schemitz <schemitz@ekp.physik.uni-karlsruhe.de>
+Andy Baxter <andy@earthsong.free-online.co.uk>
+Thomas Siedentopf <thom-s@gmx.net>
+Markus Keil <markus_keil@t-online.de>
+Samuel Mimram <samuel.mimram@ens-lyon.fr>
+
 
 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
diff --git a/imon.c b/imon.c
index 4f70ac0f5dcbddde85e2cd4a1b551281c6d577de..1f34766ec8baf24aa2ad4a72c641a3bcd535ca26 100755 (executable)
--- a/imon.c
+++ b/imon.c
@@ -1,7 +1,9 @@
-/* $Id: imon.c,v 1.1 2003/10/12 06:08:28 nicowallmeier Exp $
+/* $Id: imon.c,v 1.2 2004/01/06 22:33:14 reinelt Exp $
  *
  * imond/telmond data processing
  *
+ * Copyright 2003 Nico Wallmeier <nico.wallmeier@post.rwth-aachen.de>
+ *
  * This file is part of LCD4Linux.
  *
  * LCD4Linux is free software; you can redistribute it and/or modify
  *
  *
  * $Log: imon.c,v $
+ * Revision 1.2  2004/01/06 22:33:14  reinelt
+ * Copyright statements cleaned up
+ *
  * Revision 1.1  2003/10/12 06:08:28  nicowallmeier
  * imond/telmond support
  *
  */
-\r
-#include <stdio.h>\r
-#include <string.h>\r
-#include <unistd.h>\r
-#include <stdlib.h>\r
-#include <sys/types.h>\r
-#include <sys/fcntl.h>\r
-#include <sys/ioctl.h>\r
-#include <sys/time.h>\r
-#include <linux/errno.h>\r
-#include <sys/stat.h>\r
-#include <string.h>\r
-#include <time.h>\r
-\r
-#include <netdb.h>\r
-#include <netinet/in.h>\r
-#include <netinet/tcp.h>\r
-#include <arpa/inet.h>                          /* decl of inet_addr()      */\r
-#include <sys/socket.h>\r
-\r
-#include "cfg.h"\r
-#include "debug.h"\r
-#include "parser.h"\r
-#include "imon.h"\r
-\r
-#define TRUE                        1\r
-#define FALSE                       0\r
-\r
-static int      fd;\r
-\r
- /*----------------------------------------------------------------------------\r
- *  service_connect (host_name, port)       - connect to tcp-service\r
- *----------------------------------------------------------------------------\r
- */\r
-static int\r
-service_connect (char * host_name, int port)\r
-{\r
-    struct sockaddr_in  addr;\r
-    struct hostent *    host_p;\r
-    int                 fd;\r
-    int                 opt = 1;\r
-\r
-    (void) memset ((char *) &addr, 0, sizeof (addr));\r
-\r
-    if ((addr.sin_addr.s_addr = inet_addr ((char *) host_name)) == INADDR_NONE)\r
-    {\r
-        host_p = gethostbyname (host_name);\r
-\r
-        if (! host_p)\r
-        {\r
-            error ("%s: host not found\n", host_name);\r
-            return (-1);\r
-        }\r
-\r
-        (void) memcpy ((char *) (&addr.sin_addr), host_p->h_addr,\r
-                        host_p->h_length);\r
-    }\r
-\r
-    addr.sin_family  = AF_INET;\r
-    addr.sin_port    = htons ((unsigned short) port);\r
-\r
-    if ((fd = socket (AF_INET, SOCK_STREAM, 0)) < 0)\r
-    {                                           /* open socket              */\r
-        perror ("socket");\r
-        return (-1);\r
-    }\r
-    \r
-    (void) setsockopt (fd, IPPROTO_TCP, TCP_NODELAY,\r
-                       (char *) &opt, sizeof (opt));\r
-\r
-    if (connect (fd, (struct sockaddr *) &addr, sizeof (addr)) != 0)\r
-    {\r
-        (void) close (fd);\r
-        perror (host_name);\r
-        return (-1);\r
-    }\r
-\r
-    return (fd);\r
-} /* service_connect (char * host_name, int port) */\r
-\r
-\r
-/*----------------------------------------------------------------------------\r
- *  send_command (int fd, char * str)       - send command to imond\r
- *----------------------------------------------------------------------------\r
- */\r
-static void\r
-send_command (int fd, char * str)\r
-{\r
-    char    buf[256];\r
-    int     len = strlen (str);\r
-\r
-    sprintf (buf, "%s\r\n", str);\r
-    write (fd, buf, len + 2);\r
-\r
-    return;\r
-} /* send_command (int fd, char * str) */\r
-\r
-\r
-/*----------------------------------------------------------------------------\r
- *  get_answer (int fd)                     - get answer from imond\r
- *----------------------------------------------------------------------------\r
- */\r
-static char *\r
-get_answer (int fd)\r
-{\r
-    static char buf[8192];\r
-    int         len;\r
-\r
-    len = read (fd, buf, 8192);\r
-\r
-    if (len <= 0)\r
-    {\r
-        return ((char *) NULL);\r
-    }\r
-\r
-    while (len > 1 && (buf[len - 1] == '\n' || buf[len - 1] == '\r'))\r
-    {\r
-        buf[len - 1] = '\0';\r
-        len--;\r
-    }\r
-\r
-    if (! strncmp (buf, "OK ", 3))                      /* OK xxxx          */\r
-    {\r
-        return (buf + 3);\r
-    }\r
-    else if (len > 2 && ! strcmp (buf + len - 2, "OK"))\r
-    {\r
-        *(buf + len - 2) = '\0';\r
-        return (buf);\r
-    }\r
-    else if (len == 2 && ! strcmp (buf + len - 2, "OK"))\r
-    {\r
-        return (buf);\r
-    }\r
-\r
-    return ((char *) NULL);                             /* ERR xxxx         */\r
-} /* get_answer (int fd) */\r
-\r
-\r
-/*----------------------------------------------------------------------------\r
- *  get_numerical_value (char * cmd)   - send cmd, get numval\r
- *----------------------------------------------------------------------------\r
- */\r
-static int\r
-get_numerical_value (char * cmd)\r
-{\r
-    char *  answer;\r
-    int     rtc;\r
-\r
-    send_command (fd, cmd);\r
-\r
-    answer = get_answer (fd);\r
-\r
-    if (answer)\r
-    {\r
-        rtc = atoi (answer);\r
-    }\r
-    else\r
-    {\r
-        rtc = -1;\r
-    }\r
-    return (rtc);\r
-} /* get_numerical_value (char * cmd, int arg) */\r
-\r
-\r
-/*----------------------------------------------------------------------------\r
- *  get_value (char * cmd)         - send command, get value\r
- *----------------------------------------------------------------------------\r
- */\r
-static char *\r
-get_value (char * cmd)\r
-{\r
-    char *  answer;\r
-\r
-    send_command (fd, cmd);\r
-\r
-    answer = get_answer (fd);\r
-\r
-    if (answer)\r
-    {\r
-        return (answer);\r
-    }\r
-\r
-    return ("");\r
-} /* get_value (char * cmd, int arg) */\r
-\r
-\r
-int init(){\r
- char *s, *host;\r
- int port;\r
- int connect;\r
-\r
- host=cfg_get ("Imon_Host","127.0.0.1");\r
- if (*host=='\0') {\r
-  error ("Imon: no 'Imon_Host' entry in %s", cfg_source());\r
-  return -1;\r
- } \r
-\r
- if (cfg_number("Imon_Port",5000,1,65536,&port)<0){\r
-   return -1;  \r
- }\r
\r
- connect=service_connect(host,port);\r
-\r
- s=cfg_get ("Imon_Pass",NULL);\r
- if ((s!=NULL) && (*s!='\0')) { // Passwort senden\r
-   char buf[40];\r
-   sprintf(buf,"pass %s",s);\r
-   send_command(connect,buf);\r
-   s=get_answer(connect); \r
- }\r
\r
- return connect;       \r
-}\r
\r
-int ImonCh(int index, struct imonchannel *ch, int token_usage[]) {\r
- static int err[CHANNELS+1];\r
- char *s;\r
- char buf[40];\r
- int result=0;\r
\r
- if (err[index]) return -1;\r
- if ((fd==0) && ((fd=init())<0)) return -1;\r
-        \r
- if ((*ch).max_in == 0){ // not initializied\r
-  sprintf(buf, "Imon_%d_Dev", index);\r
-  s=cfg_get(buf,NULL);\r
-  if (s==NULL) {\r
-   error ("Imon: no 'Imon_%i_Dev' entry in %s", index, cfg_source());\r
-   err[index]=1;\r
-   return -1;\r
-  } \r
-  strcpy((*ch).dev,s);\r
-  \r
-  sprintf(buf, "Imon_%d_MaxIn", index);\r
-  cfg_number(buf,768,1,65536,&(*ch).max_in);\r
-\r
-  sprintf(buf, "Imon_%d_MaxOut", index);\r
-  cfg_number(buf,128,1,65536,&(*ch).max_out);\r
- }\r
-\r
- sprintf(buf, "status %s", (*ch).dev);\r
- s=get_value(buf);\r
- strcpy((*ch).status,s);\r
\r
- if ((1<<index) & token_usage[T_IMON_CHARGE]) {\r
-   sprintf(buf, "charge %s", (*ch).dev);\r
-   s=get_value(buf);\r
-   strcpy((*ch).charge,s);\r
- }\r
-    \r
\r
- if (strcmp("Online",(*ch).status)==0){\r
-   if ((1<<index) & token_usage[T_IMON_PHONE]) {\r
-     sprintf(buf, "phone %s", (*ch).dev);\r
-     s=get_value(buf);\r
-     strcpy((*ch).phone,s);\r
-   }\r
-\r
-   if (((1<<index) & token_usage[T_IMON_RIN]) ||\r
-       ((1<<index) & token_usage[T_IMON_ROUT])) {\r
-     sprintf(buf, "rate %s", (*ch).dev);\r
-     s=get_value(buf);\r
-     if (sscanf(s,"%d %d",&((*ch).rate_in), &((*ch).rate_out))!=2) result--;\r
-   }\r
-   \r
-   if ((1<<index) & token_usage[T_IMON_IP]) {\r
-     sprintf(buf, "ip %s", (*ch).dev);\r
-     s=get_value(buf);\r
-     strcpy((*ch).ip,s);\r
-   }\r
-   \r
-   if ((1<<index) & token_usage[T_IMON_OTIME]) {\r
-        sprintf(buf, "online-time %s", (*ch).dev);\r
-     s=get_value(buf);\r
-     strcpy((*ch).otime,s);\r
-   }\r
- } else {\r
-   if (strcmp("Dialing",(*ch).status)==0){\r
-     if ((1<<index) & token_usage[T_IMON_PHONE]) {\r
-       sprintf(buf, "phone %s", (*ch).dev);\r
-       s=get_value(buf);\r
-       strcpy((*ch).phone,s);\r
-     }\r
-   } else {\r
-     if ((1<<index) & token_usage[T_IMON_PHONE]) (*ch).phone[0]='\0';\r
-   }\r
-   if ((1<<index) & token_usage[T_IMON_IP]) (*ch).ip[0]='\0';  \r
-   if ((1<<index) & token_usage[T_IMON_OTIME]) (*ch).otime[0]='\0';\r
-   if (((1<<index) & token_usage[T_IMON_RIN]) ||\r
-       ((1<<index) & token_usage[T_IMON_ROUT])) {\r
-        (*ch).rate_in=0;\r
-     (*ch).rate_out=0; \r
-   }\r
- }\r
- return result;\r
-} \r
\r
\r
-int Imon(struct imon *i, int cpu, int datetime){\r
- static int hb;\r
- static int tick;\r
- char *s;\r
- char day[4];\r
- char d[13];\r
\r
- if (tick++ % 5 != 0) return 0;\r
\r
- if ((fd==0) && ((fd=init())<0)) return -1;\r
\r
- if (cpu) (*i).cpu = get_numerical_value("cpu");\r
-\r
- if (datetime){ \r
-   s = get_value ("date");\r
-   sscanf (s, "%s %s %s", day, d, (*i).time);\r
-   strncpy ((*i).date, d, 6);\r
-   strcpy ((*i).date + 6, d + 8);\r
-   (*i).date[2]='.';\r
-   (*i).date[5]='.';\r
-   if (hb) (*i).time[5] =' ';\r
-   hb=!hb;\r
- }\r
- return 0;\r
-}\r
-\r
-char* ImonVer(){\r
-  static char buffer[32]="";\r
-\r
-  if (*buffer=='\0') {\r
-   char *s;\r
-   if ((fd==0) && ((fd=init())<0)) return "";\r
-   s=get_value("version");\r
-   for (;;){ // interne Versionsnummer killen\r
-       if (s[0]==' '){\r
-     s=s+1;\r
-     break;\r
-    }\r
-    s=s+1;             \r
-   }\r
-   strcpy(buffer,s);  \r
-  }\r
-  return buffer;\r
-}\r
-\r
-void phonebook(char *number){\r
-  FILE *  fp;\r
-  char line[256];\r
-  \r
-  fp = fopen (cfg_get ("Telmon_Phonebook","/etc/phonebook"), "r");\r
-  \r
-  if (! fp) return;\r
-  \r
-  while (fgets (line, 128, fp)){\r
-       if (*line == '#') continue;\r
-       if (!strncmp(line,number,strlen(number))){\r
-         char *komma=strchr(line,',');\r
-         char *beginn=strchr(line,'=');\r
-         if (!beginn) return;\r
-         while (strrchr(line,'\r')) strrchr(line,'\r')[0]='\0';\r
-         while (strrchr(line,'\n')) strrchr(line,'\n')[0]='\0';\r
-         if (komma) komma[0]='\0';\r
-         strcpy(number,beginn+1);\r
-         break;\r
-       }       \r
-  }\r
-  \r
-  fclose(fp);\r
-}\r
-\r
-int Telmon(struct telmon *t){\r
- static int tick;\r
- static int telmond_fd=-2;\r
- static char oldanswer[128];\r
- static char host[256];\r
- static int port;\r
\r
- if (tick++ % 50 != 0) return 0;\r
-\r
- if (telmond_fd == -2){ //not initializied\r
-  char *s=cfg_get ("Telmon_Host","127.0.0.1");\r
-  if (*s=='\0') {\r
-   error ("Telmon: no 'Telmon_Host' entry in %s", cfg_source());\r
-   telmond_fd=-1;\r
-   return -1;\r
-  } \r
-  strcpy(host,s);\r
-  \r
-  if (cfg_number("Telmon_Port",5000,1,65536,&port)<0){\r
-   telmond_fd=-1;\r
-   return -1;  \r
-  }\r
- }\r
\r
- if (telmond_fd != -1){\r
-  char    telbuf[128];\r
-\r
-  telmond_fd = service_connect (host, port);\r
-  if (telmond_fd >= 0){\r
-   int l = read (telmond_fd, telbuf, 127);\r
-   if ((l > 0) && (strcmp(telbuf,oldanswer))){\r
-       char date[11]; \r
-       sscanf(telbuf,"%s %s %s %s",date,(*t).time,(*t).number,(*t).msn);\r
-       date[4]='\0';\r
-       date[7]='\0';\r
-       sprintf((*t).date,"%s.%s.%s",date+8,date+5,date);\r
-       phonebook((*t).number);\r
-       phonebook((*t).msn);\r
-   }\r
-   close (telmond_fd);\r
-   strcpy(oldanswer,telbuf);\r
-  }\r
- }\r
- return 0;\r
-}\r
\r
-\r
+
+#include <stdio.h>
+#include <string.h>
+#include <unistd.h>
+#include <stdlib.h>
+#include <sys/types.h>
+#include <sys/fcntl.h>
+#include <sys/ioctl.h>
+#include <sys/time.h>
+#include <linux/errno.h>
+#include <sys/stat.h>
+#include <string.h>
+#include <time.h>
+
+#include <netdb.h>
+#include <netinet/in.h>
+#include <netinet/tcp.h>
+#include <arpa/inet.h>                          /* decl of inet_addr()      */
+#include <sys/socket.h>
+
+#include "cfg.h"
+#include "debug.h"
+#include "parser.h"
+#include "imon.h"
+
+#define TRUE                        1
+#define FALSE                       0
+
+static int      fd;
+
+ /*----------------------------------------------------------------------------
+ *  service_connect (host_name, port)       - connect to tcp-service
+ *----------------------------------------------------------------------------
+ */
+static int
+service_connect (char * host_name, int port)
+{
+    struct sockaddr_in  addr;
+    struct hostent *    host_p;
+    int                 fd;
+    int                 opt = 1;
+
+    (void) memset ((char *) &addr, 0, sizeof (addr));
+
+    if ((addr.sin_addr.s_addr = inet_addr ((char *) host_name)) == INADDR_NONE)
+    {
+        host_p = gethostbyname (host_name);
+
+        if (! host_p)
+        {
+            error ("%s: host not found\n", host_name);
+            return (-1);
+        }
+
+        (void) memcpy ((char *) (&addr.sin_addr), host_p->h_addr,
+                        host_p->h_length);
+    }
+
+    addr.sin_family  = AF_INET;
+    addr.sin_port    = htons ((unsigned short) port);
+
+    if ((fd = socket (AF_INET, SOCK_STREAM, 0)) < 0)
+    {                                           /* open socket              */
+        perror ("socket");
+        return (-1);
+    }
+    
+    (void) setsockopt (fd, IPPROTO_TCP, TCP_NODELAY,
+                       (char *) &opt, sizeof (opt));
+
+    if (connect (fd, (struct sockaddr *) &addr, sizeof (addr)) != 0)
+    {
+        (void) close (fd);
+        perror (host_name);
+        return (-1);
+    }
+
+    return (fd);
+} /* service_connect (char * host_name, int port) */
+
+
+/*----------------------------------------------------------------------------
+ *  send_command (int fd, char * str)       - send command to imond
+ *----------------------------------------------------------------------------
+ */
+static void
+send_command (int fd, char * str)
+{
+    char    buf[256];
+    int     len = strlen (str);
+
+    sprintf (buf, "%s\r\n", str);
+    write (fd, buf, len + 2);
+
+    return;
+} /* send_command (int fd, char * str) */
+
+
+/*----------------------------------------------------------------------------
+ *  get_answer (int fd)                     - get answer from imond
+ *----------------------------------------------------------------------------
+ */
+static char *
+get_answer (int fd)
+{
+    static char buf[8192];
+    int         len;
+
+    len = read (fd, buf, 8192);
+
+    if (len <= 0)
+    {
+        return ((char *) NULL);
+    }
+
+    while (len > 1 && (buf[len - 1] == '\n' || buf[len - 1] == '\r'))
+    {
+        buf[len - 1] = '\0';
+        len--;
+    }
+
+    if (! strncmp (buf, "OK ", 3))                      /* OK xxxx          */
+    {
+        return (buf + 3);
+    }
+    else if (len > 2 && ! strcmp (buf + len - 2, "OK"))
+    {
+        *(buf + len - 2) = '\0';
+        return (buf);
+    }
+    else if (len == 2 && ! strcmp (buf + len - 2, "OK"))
+    {
+        return (buf);
+    }
+
+    return ((char *) NULL);                             /* ERR xxxx         */
+} /* get_answer (int fd) */
+
+
+/*----------------------------------------------------------------------------
+ *  get_numerical_value (char * cmd)   - send cmd, get numval
+ *----------------------------------------------------------------------------
+ */
+static int
+get_numerical_value (char * cmd)
+{
+    char *  answer;
+    int     rtc;
+
+    send_command (fd, cmd);
+
+    answer = get_answer (fd);
+
+    if (answer)
+    {
+        rtc = atoi (answer);
+    }
+    else
+    {
+        rtc = -1;
+    }
+    return (rtc);
+} /* get_numerical_value (char * cmd, int arg) */
+
+
+/*----------------------------------------------------------------------------
+ *  get_value (char * cmd)         - send command, get value
+ *----------------------------------------------------------------------------
+ */
+static char *
+get_value (char * cmd)
+{
+    char *  answer;
+
+    send_command (fd, cmd);
+
+    answer = get_answer (fd);
+
+    if (answer)
+    {
+        return (answer);
+    }
+
+    return ("");
+} /* get_value (char * cmd, int arg) */
+
+
+int init(){
+ char *s, *host;
+ int port;
+ int connect;
+
+ host=cfg_get ("Imon_Host","127.0.0.1");
+ if (*host=='\0') {
+  error ("Imon: no 'Imon_Host' entry in %s", cfg_source());
+  return -1;
+ } 
+
+ if (cfg_number("Imon_Port",5000,1,65536,&port)<0){
+   return -1;  
+ }
+ connect=service_connect(host,port);
+
+ s=cfg_get ("Imon_Pass",NULL);
+ if ((s!=NULL) && (*s!='\0')) { // Passwort senden
+   char buf[40];
+   sprintf(buf,"pass %s",s);
+   send_command(connect,buf);
+   s=get_answer(connect); 
+ }
+ return connect;       
+}
+int ImonCh(int index, struct imonchannel *ch, int token_usage[]) {
+ static int err[CHANNELS+1];
+ char *s;
+ char buf[40];
+ int result=0;
+ if (err[index]) return -1;
+ if ((fd==0) && ((fd=init())<0)) return -1;
+        
+ if ((*ch).max_in == 0){ // not initializied
+  sprintf(buf, "Imon_%d_Dev", index);
+  s=cfg_get(buf,NULL);
+  if (s==NULL) {
+   error ("Imon: no 'Imon_%i_Dev' entry in %s", index, cfg_source());
+   err[index]=1;
+   return -1;
+  } 
+  strcpy((*ch).dev,s);
+  
+  sprintf(buf, "Imon_%d_MaxIn", index);
+  cfg_number(buf,768,1,65536,&(*ch).max_in);
+
+  sprintf(buf, "Imon_%d_MaxOut", index);
+  cfg_number(buf,128,1,65536,&(*ch).max_out);
+ }
+
+ sprintf(buf, "status %s", (*ch).dev);
+ s=get_value(buf);
+ strcpy((*ch).status,s);
+ if ((1<<index) & token_usage[T_IMON_CHARGE]) {
+   sprintf(buf, "charge %s", (*ch).dev);
+   s=get_value(buf);
+   strcpy((*ch).charge,s);
+ }
+    
+ if (strcmp("Online",(*ch).status)==0){
+   if ((1<<index) & token_usage[T_IMON_PHONE]) {
+     sprintf(buf, "phone %s", (*ch).dev);
+     s=get_value(buf);
+     strcpy((*ch).phone,s);
+   }
+
+   if (((1<<index) & token_usage[T_IMON_RIN]) ||
+       ((1<<index) & token_usage[T_IMON_ROUT])) {
+     sprintf(buf, "rate %s", (*ch).dev);
+     s=get_value(buf);
+     if (sscanf(s,"%d %d",&((*ch).rate_in), &((*ch).rate_out))!=2) result--;
+   }
+   
+   if ((1<<index) & token_usage[T_IMON_IP]) {
+     sprintf(buf, "ip %s", (*ch).dev);
+     s=get_value(buf);
+     strcpy((*ch).ip,s);
+   }
+   
+   if ((1<<index) & token_usage[T_IMON_OTIME]) {
+        sprintf(buf, "online-time %s", (*ch).dev);
+     s=get_value(buf);
+     strcpy((*ch).otime,s);
+   }
+ } else {
+   if (strcmp("Dialing",(*ch).status)==0){
+     if ((1<<index) & token_usage[T_IMON_PHONE]) {
+       sprintf(buf, "phone %s", (*ch).dev);
+       s=get_value(buf);
+       strcpy((*ch).phone,s);
+     }
+   } else {
+     if ((1<<index) & token_usage[T_IMON_PHONE]) (*ch).phone[0]='\0';
+   }
+   if ((1<<index) & token_usage[T_IMON_IP]) (*ch).ip[0]='\0';  
+   if ((1<<index) & token_usage[T_IMON_OTIME]) (*ch).otime[0]='\0';
+   if (((1<<index) & token_usage[T_IMON_RIN]) ||
+       ((1<<index) & token_usage[T_IMON_ROUT])) {
+        (*ch).rate_in=0;
+     (*ch).rate_out=0; 
+   }
+ }
+ return result;
+} 
+int Imon(struct imon *i, int cpu, int datetime){
+ static int hb;
+ static int tick;
+ char *s;
+ char day[4];
+ char d[13];
+ if (tick++ % 5 != 0) return 0;
+ if ((fd==0) && ((fd=init())<0)) return -1;
+ if (cpu) (*i).cpu = get_numerical_value("cpu");
+
+ if (datetime){ 
+   s = get_value ("date");
+   sscanf (s, "%s %s %s", day, d, (*i).time);
+   strncpy ((*i).date, d, 6);
+   strcpy ((*i).date + 6, d + 8);
+   (*i).date[2]='.';
+   (*i).date[5]='.';
+   if (hb) (*i).time[5] =' ';
+   hb=!hb;
+ }
+ return 0;
+}
+
+char* ImonVer(){
+  static char buffer[32]="";
+
+  if (*buffer=='\0') {
+   char *s;
+   if ((fd==0) && ((fd=init())<0)) return "";
+   s=get_value("version");
+   for (;;){ // interne Versionsnummer killen
+       if (s[0]==' '){
+     s=s+1;
+     break;
+    }
+    s=s+1;             
+   }
+   strcpy(buffer,s);  
+  }
+  return buffer;
+}
+
+void phonebook(char *number){
+  FILE *  fp;
+  char line[256];
+  
+  fp = fopen (cfg_get ("Telmon_Phonebook","/etc/phonebook"), "r");
+  
+  if (! fp) return;
+  
+  while (fgets (line, 128, fp)){
+       if (*line == '#') continue;
+       if (!strncmp(line,number,strlen(number))){
+         char *komma=strchr(line,',');
+         char *beginn=strchr(line,'=');
+         if (!beginn) return;
+         while (strrchr(line,'\r')) strrchr(line,'\r')[0]='\0';
+         while (strrchr(line,'\n')) strrchr(line,'\n')[0]='\0';
+         if (komma) komma[0]='\0';
+         strcpy(number,beginn+1);
+         break;
+       }       
+  }
+  
+  fclose(fp);
+}
+
+int Telmon(struct telmon *t){
+ static int tick;
+ static int telmond_fd=-2;
+ static char oldanswer[128];
+ static char host[256];
+ static int port;
+ if (tick++ % 50 != 0) return 0;
+
+ if (telmond_fd == -2){ //not initializied
+  char *s=cfg_get ("Telmon_Host","127.0.0.1");
+  if (*s=='\0') {
+   error ("Telmon: no 'Telmon_Host' entry in %s", cfg_source());
+   telmond_fd=-1;
+   return -1;
+  } 
+  strcpy(host,s);
+  
+  if (cfg_number("Telmon_Port",5000,1,65536,&port)<0){
+   telmond_fd=-1;
+   return -1;  
+  }
+ }
+ if (telmond_fd != -1){
+  char    telbuf[128];
+
+  telmond_fd = service_connect (host, port);
+  if (telmond_fd >= 0){
+   int l = read (telmond_fd, telbuf, 127);
+   if ((l > 0) && (strcmp(telbuf,oldanswer))){
+       char date[11]; 
+       sscanf(telbuf,"%s %s %s %s",date,(*t).time,(*t).number,(*t).msn);
+       date[4]='\0';
+       date[7]='\0';
+       sprintf((*t).date,"%s.%s.%s",date+8,date+5,date);
+       phonebook((*t).number);
+       phonebook((*t).msn);
+   }
+   close (telmond_fd);
+   strcpy(oldanswer,telbuf);
+  }
+ }
+ return 0;
+}
+
diff --git a/imon.h b/imon.h
index 1252e9d4015c130a988c20f14ddeea13e029d855..8e63ca0e68b745d208ce07e0f2c71b4f59777b2a 100755 (executable)
--- a/imon.h
+++ b/imon.h
@@ -1,7 +1,9 @@
-/* $Id: imon.h,v 1.1 2003/10/12 06:08:28 nicowallmeier Exp $
+/* $Id: imon.h,v 1.2 2004/01/06 22:33:14 reinelt Exp $
  *
  * imond/telmond data processing
  *
+ * Copyright 2003 Nico Wallmeier <nico.wallmeier@post.rwth-aachen.de>
+ *
  * This file is part of LCD4Linux.
  *
  * LCD4Linux is free software; you can redistribute it and/or modify
  *
  *
  * $Log: imon.h,v $
+ * Revision 1.2  2004/01/06 22:33:14  reinelt
+ * Copyright statements cleaned up
+ *
  * Revision 1.1  2003/10/12 06:08:28  nicowallmeier
  * imond/telmond support
  *
  */
-\r
-#ifndef _IMON_H_\r
-#define _IMON_H_\r
-\r
-#define CHANNELS 9\r
-\r
-struct imonchannel {\r
-  int rate_in, rate_out, max_in, max_out; \r
-  char status[8], phone[17], ip[16], otime[11], charge[10], dev[6];\r
-};\r
-\r
-struct imon { \r
-  int cpu; \r
-  char date[11], time[9];\r
-};\r
-\r
-struct telmon { \r
-  char number[256], msn[256], time[9], date[11];\r
-};\r
-\r
-int Imon(struct imon *i, int cpu, int datetime);\r
-int ImonCh(int index, struct imonchannel *ch, int token_usage[]);\r
-char* ImonVer();\r
-\r
-int Telmon(struct telmon *t);\r
-\r
-#endif\r
+
+#ifndef _IMON_H_
+#define _IMON_H_
+
+#define CHANNELS 9
+
+struct imonchannel {
+  int rate_in, rate_out, max_in, max_out; 
+  char status[8], phone[17], ip[16], otime[11], charge[10], dev[6];
+};
+
+struct imon { 
+  int cpu; 
+  char date[11], time[9];
+};
+
+struct telmon { 
+  char number[256], msn[256], time[9], date[11];
+};
+
+int Imon(struct imon *i, int cpu, int datetime);
+int ImonCh(int index, struct imonchannel *ch, int token_usage[]);
+char* ImonVer();
+
+int Telmon(struct telmon *t);
+
+#endif
index 72d2438a2cae4bf7c24c432ed67ef95f9fd42265..c01081a368e4a890c2638c5adf9b80fd775ebee5 100644 (file)
@@ -1,7 +1,7 @@
-/* $Id: plugin_xmms.c,v 1.1 2003/12/19 06:27:33 reinelt Exp $
+/* $Id: plugin_xmms.c,v 1.2 2004/01/06 22:33:14 reinelt Exp $
  *
  * XMMS-Plugin for LCD4Linux
- * written by Markus Keil <markus_keil@t-online.de>
+ * Copyright 2003 Markus Keil <markus_keil@t-online.de>
  *
  * This file is part of LCD4Linux.
  *
@@ -21,6 +21,9 @@
  *
  *
  * $Log: plugin_xmms.c,v $
+ * Revision 1.2  2004/01/06 22:33:14  reinelt
+ * Copyright statements cleaned up
+ *
  * Revision 1.1  2003/12/19 06:27:33  reinelt
  * added XMMS plugin from Markus Keil
  *
diff --git a/seti.c b/seti.c
index 938e796e94c90da795ccf133e5f7262764a1f0f2..c387a525a3e66db06cd66822bfec3dd7d7a70311 100644 (file)
--- a/seti.c
+++ b/seti.c
@@ -1,8 +1,8 @@
-/* $Id: seti.c,v 1.10 2003/10/05 17:58:50 reinelt Exp $
+/* $Id: seti.c,v 1.11 2004/01/06 22:33:14 reinelt Exp $
  *
  * seti@home specific functions
  *
- * Copyright 2001 Axel Ehnert <Axel@Ehnert.net>
+ * Copyright 2001 Axel Ehnert <axel@ehnert.net>
  *
  * This file is part of LCD4Linux.
  *
@@ -22,6 +22,9 @@
  *
  *
  * $Log: seti.c,v $
+ * Revision 1.11  2004/01/06 22:33:14  reinelt
+ * Copyright statements cleaned up
+ *
  * Revision 1.10  2003/10/05 17:58:50  reinelt
  * libtool junk; copyright messages cleaned up
  *
diff --git a/wifi.c b/wifi.c
index 1d1116eb1432e724a576d5aa4c857ddab4d139eb..5984504b2e54cdda62b3066dd9fda004e5a79e68 100644 (file)
--- a/wifi.c
+++ b/wifi.c
@@ -1,11 +1,11 @@
-/* $Id: wifi.c,v 1.3 2003/12/01 07:08:51 reinelt Exp $
+/* $Id: wifi.c,v 1.4 2004/01/06 22:33:14 reinelt Exp $
  *
  * WIFI specific functions
  *
  * Copyright 2003 Xavier Vello <xavier66@free.fr>
  * 
  * based on lcd4linux/isdn.c which is
- * Copyright 1999, 2000 by Michael Reinelt (reinelt@eunet.at)
+ * Copyright 1999, 2000 Michael Reinelt <reinelt@eunet.at>
  *
  * This file is part of LCD4Linux.
  *
@@ -25,6 +25,9 @@
  *
  *
  * $Log: wifi.c,v $
+ * Revision 1.4  2004/01/06 22:33:14  reinelt
+ * Copyright statements cleaned up
+ *
  * Revision 1.3  2003/12/01 07:08:51  reinelt
  *
  * Patches from Xavier:
diff --git a/wifi.h b/wifi.h
index 871a44b6cedc722b981b4f428132684927a1718c..a1b4a1fd7186b2d96cbca0d23adc3f37d3ceba1a 100644 (file)
--- a/wifi.h
+++ b/wifi.h
@@ -1,11 +1,11 @@
-/* $Id: wifi.h,v 1.1 2003/11/14 05:59:37 reinelt Exp $
+/* $Id: wifi.h,v 1.2 2004/01/06 22:33:14 reinelt Exp $
  *
  * WIFI specific functions
  *
  * Copyright 2003 Xavier Vello <xavier66@free.fr>
  * 
  * based on lcd4linux/isdn.c which is
- * Copyright 1999, 2000 by Michael Reinelt <reinelt@eunet.at>
+ * Copyright 1999, 2000 Michael Reinelt <reinelt@eunet.at>
  *
  * This file is part of LCD4Linux.
  *
@@ -25,6 +25,9 @@
  *
  *
  * $Log: wifi.h,v $
+ * Revision 1.2  2004/01/06 22:33:14  reinelt
+ * Copyright statements cleaned up
+ *
  * Revision 1.1  2003/11/14 05:59:37  reinelt
  * added wifi.c wifi.h which have been forgotten at the last checkin
  *