/* $Id: drv.c,v 1.42 2006/08/05 21:08:01 harbaum Exp $ * * new framework for display drivers * * Copyright (C) 2003 Michael Reinelt * Copyright (C) 2004 The LCD4Linux Team * * 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 * the Free Software Foundation; either version 2, or (at your option) * any later version. * * LCD4Linux is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * * * $Log: drv.c,v $ * Revision 1.42 2006/08/05 21:08:01 harbaum * New LEDMATRIX driver (see http://www.harbaum.org/till/ledmatrix) * * Revision 1.41 2006/07/31 03:48:09 reinelt * preparations for scrolling * * Revision 1.40 2006/04/14 20:59:38 harbaum * Disable inclusion of Image driver in drv.c if no gd was found. * * Revision 1.39 2006/01/26 19:26:27 harbaum * Added LCD2USB support * * Revision 1.38 2006/01/21 13:26:44 reinelt * Logitech G-15 keyboard LCD driver from Dave Ingram * * Revision 1.37 2006/01/03 13:20:06 reinelt * LUIse driver added * * Revision 1.36 2005/11/05 06:26:51 reinelt * littly typo corrected * * Revision 1.35 2005/11/04 14:10:38 reinelt * drv_Sample and drv_LPH7508 * * Revision 1.34 2005/11/04 04:44:52 reinelt * LPH7508 driver (not yet finished) * * Revision 1.33 2005/08/22 05:44:43 reinelt * new driver 'WincorNixdorf' * some fixes to the bar code * * Revision 1.32 2005/05/10 13:20:14 reinelt * added serdisplib driver * * Revision 1.31 2005/05/08 04:32:43 reinelt * CodingStyle added and applied * * Revision 1.30 2005/05/04 05:42:38 reinelt * Noritake driver added * * Revision 1.29 2005/04/24 04:33:46 reinelt * driver for TREFON USB LCD's added * * Revision 1.28 2005/02/24 07:06:48 reinelt * SimpleLCD driver added * * Revision 1.27 2005/01/30 06:43:22 reinelt * driver for LCD-Linux finished * * Revision 1.26 2005/01/22 22:57:57 reinelt * LCD-Linux driver added * * Revision 1.25 2005/01/18 06:30:22 reinelt * added (C) to all copyright statements * * Revision 1.24 2005/01/15 13:10:15 reinelt * LCDTerm driver added * * Revision 1.23 2004/09/24 21:41:00 reinelt * new driver for the BWCT USB LCD interface board. * * Revision 1.22 2004/08/29 13:03:41 reinelt * * added RouterBoard driver * * Revision 1.21 2004/06/26 12:04:59 reinelt * * uh-oh... the last CVS log message messed up things a lot... * * Revision 1.20 2004/06/26 09:27:20 reinelt * * added '-W' to CFLAGS * changed all C++ comments to C ones * cleaned up a lot of signed/unsigned mistakes * * Revision 1.19 2004/06/20 10:09:54 reinelt * * 'const'ified the whole source * * Revision 1.18 2004/06/06 06:51:59 reinelt * * do not display end splash screen if quiet=1 * * Revision 1.17 2004/06/02 10:09:22 reinelt * * splash screen for HD44780 * * Revision 1.16 2004/06/02 09:41:19 reinelt * * prepared support for startup splash screen * * Revision 1.15 2004/05/31 16:39:06 reinelt * * added NULL display driver (for debugging/profiling purposes) * added backlight/contrast initialisation for matrixOrbital * added Backlight initialisation for Cwlinux * * Revision 1.14 2004/05/28 13:51:42 reinelt * * ported driver for Beckmann+Egle Mini-Terminals * added 'flags' parameter to serial_init() * * Revision 1.13 2004/05/26 11:37:36 reinelt * * Curses driver ported. * * Revision 1.12 2004/05/26 05:03:27 reinelt * * MilfordInstruments driver ported * * Revision 1.11 2004/05/25 19:54:15 reinelt * * 'make distcheck' bugs fixed * release number changed to 0.10.0-RC1 * * Revision 1.10 2004/05/25 14:26:29 reinelt * * added "Image" driver (was: Raster.c) for PPM and PNG creation * fixed some glitches in the X11 driver * * Revision 1.9 2004/02/24 05:55:04 reinelt * * X11 driver ported * * Revision 1.8 2004/02/15 21:43:43 reinelt * T6963 driver nearly finished * framework for graphic displays done * i2c_sensors patch from Xavier * some more old generation files removed * * Revision 1.7 2004/02/15 08:22:47 reinelt * ported USBLCD driver to NextGeneration * added drv_M50530.c (I forgot yesterday, sorry) * removed old drivers M50530.c and USBLCD.c * * Revision 1.6 2004/02/14 11:56:17 reinelt * M50530 driver ported * changed lots of 'char' to 'unsigned char' * * Revision 1.5 2004/01/27 06:34:14 reinelt * Cwlinux driver portet to NextGeneration (compiles, but not tested!) * * Revision 1.4 2004/01/21 12:36:19 reinelt * Crystalfontz NextGeneration driver added * * Revision 1.3 2004/01/20 15:32:49 reinelt * first version of Next Generation HD44780 (untested! but it compiles...) * some cleanup in the other drivers * * Revision 1.2 2004/01/10 10:20:22 reinelt * new MatrixOrbital changes * * Revision 1.1 2004/01/09 17:03:07 reinelt * initiated transfer to new driver architecture * new file 'drv.c' will someday replace 'display.c' * new file 'drv_MatrixOrbital.c' will replace 'MatrixOrbital.c' * due to this 'soft' transfer lcd4linux should stay usable during the switch * (at least I hope so) * */ /* * exported functions: * * drv_list (void) * lists all available drivers to stdout * * drv_init (char *driver) * initializes the named dr
/* $Id: plugin_time.c,v 1.5 2005/05/08 04:32:45 reinelt Exp $
 *
 * time plugin
 *
 * Copyright (C) 2003, 2004 Michael Reinelt <reinelt@eunet.at>
 * Copyright (C) 2004 The LCD4Linux Team <lcd4linux-devel@users.sourceforge.net>
 *
 * 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
 * the Free Software Foundation; either version 2, or (at your option)
 * any later version.
 *
 * LCD4Linux is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 *
 *
 * $Log: plugin_time.c,v $
 * Revision 1.5  2005/05/08 04:32:45  reinelt
 * CodingStyle added and applied
 *
 * Revision 1.4  2005/01/18 06:30:23  reinelt
 * added (C) to all copyright statements
 *
 * Revision 1.3  2004/06/26 12:05:00  reinelt
 *
 * uh-oh... the last CVS log message messed up things a lot...
 *
 * Revision 1.2  2004/06/26 09:27:21  reinelt
 *
 * added '-W' to CFLAGS
 * changed all C++ comments to C ones
 * cleaned up a lot of signed/unsigned mistakes
 *
 * Revision 1.1  2004/05/20 07:47:51  reinelt
 * added plugin_time
 *
 */

/* 
 * exported functions:
 *
 * int plugin_init_time (void)
 *  adds some handy time functions
 *
 */


#include "config.h"

#include <time.h>

#include "debug.h"
#include "plugin.h"


static void my_time(RESULT * result)
{
    double value = time(NULL);
    SetResult(&result, R_NUMBER, &value);
}


static void my_strftime(RESULT * result, RESULT * arg1, RESULT * arg2)
{
    char value[256];
    time_t t = R2N(arg2);

    value[0] = '\0';
    strftime(value, sizeof(value), R2S(arg1), localtime(&t));

    SetResult(&result, R_STRING, value);
}


int plugin_init_time(void)
{

    /* register some basic time functions */
    AddFunction("time", 0, my_time);
    AddFunction("strftime", 2, my_strftime);

    return 0;
}

void plugin_exit_time(void)
{
    /* empty */
}