From 3d88eddb833d75b8d7a2c57fcc407530a5f8a57e Mon Sep 17 00:00:00 2001 From: Dave Chapman Date: Wed, 26 Mar 2008 20:19:39 +0000 Subject: Move checkwps to its own subdir in preparation for compiling target-specific versions. Also remove a DEBUGF that should not have been left in. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16827 a1c6a512-1295-4272-9138-f99709370657 --- tools/checkwps.c | 184 ---------------------------------------------- tools/checkwps/Makefile | 18 +++++ tools/checkwps/checkwps.c | 184 ++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 202 insertions(+), 184 deletions(-) delete mode 100644 tools/checkwps.c create mode 100644 tools/checkwps/Makefile create mode 100644 tools/checkwps/checkwps.c (limited to 'tools') diff --git a/tools/checkwps.c b/tools/checkwps.c deleted file mode 100644 index ddaaf49b73..0000000000 --- a/tools/checkwps.c +++ /dev/null @@ -1,184 +0,0 @@ -#include -#include -#include "gwps.h" - -#define MIN(x,y) ((x) > (y) ? (y) : (x)) - -bool debug_wps = true; -int wps_verbose_level = 0; - -int errno; - -/* static endianness conversion */ -#define SWAP_16(x) ((typeof(x))(unsigned short)(((unsigned short)(x) >> 8) | \ - ((unsigned short)(x) << 8))) - -#define SWAP_32(x) ((typeof(x))(unsigned long)( ((unsigned long)(x) >> 24) | \ - (((unsigned long)(x) & 0xff0000ul) >> 8) | \ - (((unsigned long)(x) & 0xff00ul) << 8) | \ - ((unsigned long)(x) << 24))) -unsigned short letoh16(unsigned short x) -{ - unsigned short n = 0x1234; - unsigned char* ch = &n; - - if (*ch == 0x34) - { - /* Little-endian */ - return x; - } else { - return SWAP_16(x); - } -} - -unsigned int htole32(unsigned int x) -{ - unsigned short n = 0x1234; - unsigned char* ch = &n; - - if (*ch == 0x34) - { - /* Little-endian */ - return x; - } else { - return SWAP_32(x); - } -} - -int read_line(int fd, char* buffer, int buffer_size) -{ - int count = 0; - int num_read = 0; - - errno = 0; - - while (count < buffer_size) - { - unsigned char c; - - if (1 != read(fd, &c, 1)) - break; - - num_read++; - - if ( c == '\n' ) - break; - - if ( c == '\r' ) - continue; - - buffer[count++] = c; - } - - buffer[MIN(count, buffer_size - 1)] = 0; - - return errno ? -1 : num_read; -} - -bool load_wps_backdrop(char* filename) -{ - return true; -} - -static char pluginbuf[PLUGIN_BUFFER_SIZE]; - -static int dummy_func1(void) -{ - return 0; -} - -static unsigned dummy_func2(void) -{ - return 0; -} - -void* plugin_get_buffer(size_t *buffer_size) -{ - *buffer_size = PLUGIN_BUFFER_SIZE; - return pluginbuf; -} - -struct screen screens[NB_SCREENS] = -{ - { - .screen_type=SCREEN_MAIN, - .width=LCD_WIDTH, - .height=LCD_HEIGHT, - .depth=LCD_DEPTH, - .is_color=true, - .has_disk_led=false, - .getxmargin=dummy_func1, - .getymargin=dummy_func1, - .get_foreground=dummy_func2, - .get_background=dummy_func2, - }, -#ifdef HAVE_REMOTE_LCD - { - .screen_type=SCREEN_REMOTE, - .width=LCD_REMOTE_WIDTH, - .height=LCD_REMOTE_HEIGHT, - .depth=LCD_REMOTE_DEPTH, - .is_color=false,/* No color remotes yet */ - .getxmargin=dummy_func, - .getymargin=dummy_func, - .get_foreground=dummy_func, - .get_background=dummy_func, - } -#endif -}; - -#ifdef HAVE_LCD_BITMAP -void screen_clear_area(struct screen * display, int xstart, int ystart, - int width, int height) -{ - display->set_drawmode(DRMODE_SOLID|DRMODE_INVERSEVID); - display->fillrect(xstart, ystart, width, height); - display->set_drawmode(DRMODE_SOLID); -} -#endif - - -int main(int argc, char **argv) -{ - int res; - int fd; - int filearg = 1; - - struct wps_data wps; - - if (argc < 2) { - printf("Usage: checkwps [OPTIONS] filename.wps\n"); - printf("\nOPTIONS:\n"); - printf("\t-v\tverbose\n"); - printf("\t-vv\tmore verbose\n"); - printf("\t-vvv\tvery verbose\n"); - return 1; - } - - if (argv[1][0] == '-') { - filearg++; - int i = 1; - while (argv[1][i] && argv[1][i] == 'v') { - i++; - wps_verbose_level++; - } - } - - fd = open(argv[filearg], O_RDONLY); - if (fd < 0) { - printf("Failed to open %s\n",argv[1]); - return 2; - } - close(fd); - - res = wps_data_load(&wps, &screens[0], argv[filearg], true); - - if (!res) { - printf("WPS parsing failure\n"); - return 3; - } - - printf("WPS parsed OK\n"); - return 0; -} - diff --git a/tools/checkwps/Makefile b/tools/checkwps/Makefile new file mode 100644 index 0000000000..a64196d456 --- /dev/null +++ b/tools/checkwps/Makefile @@ -0,0 +1,18 @@ +# __________ __ ___. +# Open \______ \ ____ ____ | | _\_ |__ _______ ___ +# Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / +# Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < +# Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ +# \/ \/ \/ \/ \/ +# $Id: Makefile 16822 2008-03-26 18:18:22Z dave $ +# + +all: checkwps + +checkwps: checkwps.c ../../apps/gui/wps_parser.c ../../apps/gui/wps_debug.c ../../firmware/common/ctype.c ../../apps/misc.c ../../apps/recorder/bmp.c + $(SILENT)$(CC) -g -I ../../apps/gui -I../../firmware/export \ +-D__PCTOOL__ -DDEBUG -DROCKBOX_HAS_LOGF -DIPOD_COLOR -D ROCKBOX_DIR_LEN -D WPS_DIR=\".\" \ +-I../../apps -I../../firmware/target/arm/ipod -I../../firmware/include $+ -o $@ + +clean: + rm -f cleanwps diff --git a/tools/checkwps/checkwps.c b/tools/checkwps/checkwps.c new file mode 100644 index 0000000000..ddaaf49b73 --- /dev/null +++ b/tools/checkwps/checkwps.c @@ -0,0 +1,184 @@ +#include +#include +#include "gwps.h" + +#define MIN(x,y) ((x) > (y) ? (y) : (x)) + +bool debug_wps = true; +int wps_verbose_level = 0; + +int errno; + +/* static endianness conversion */ +#define SWAP_16(x) ((typeof(x))(unsigned short)(((unsigned short)(x) >> 8) | \ + ((unsigned short)(x) << 8))) + +#define SWAP_32(x) ((typeof(x))(unsigned long)( ((unsigned long)(x) >> 24) | \ + (((unsigned long)(x) & 0xff0000ul) >> 8) | \ + (((unsigned long)(x) & 0xff00ul) << 8) | \ + ((unsigned long)(x) << 24))) +unsigned short letoh16(unsigned short x) +{ + unsigned short n = 0x1234; + unsigned char* ch = &n; + + if (*ch == 0x34) + { + /* Little-endian */ + return x; + } else { + return SWAP_16(x); + } +} + +unsigned int htole32(unsigned int x) +{ + unsigned short n = 0x1234; + unsigned char* ch = &n; + + if (*ch == 0x34) + { + /* Little-endian */ + return x; + } else { + return SWAP_32(x); + } +} + +int read_line(int fd, char* buffer, int buffer_size) +{ + int count = 0; + int num_read = 0; + + errno = 0; + + while (count < buffer_size) + { + unsigned char c; + + if (1 != read(fd, &c, 1)) + break; + + num_read++; + + if ( c == '\n' ) + break; + + if ( c == '\r' ) + continue; + + buffer[count++] = c; + } + + buffer[MIN(count, buffer_size - 1)] = 0; + + return errno ? -1 : num_read; +} + +bool load_wps_backdrop(char* filename) +{ + return true; +} + +static char pluginbuf[PLUGIN_BUFFER_SIZE]; + +static int dummy_func1(void) +{ + return 0; +} + +static unsigned dummy_func2(void) +{ + return 0; +} + +void* plugin_get_buffer(size_t *buffer_size) +{ + *buffer_size = PLUGIN_BUFFER_SIZE; + return pluginbuf; +} + +struct screen screens[NB_SCREENS] = +{ + { + .screen_type=SCREEN_MAIN, + .width=LCD_WIDTH, + .height=LCD_HEIGHT, + .depth=LCD_DEPTH, + .is_color=true, + .has_disk_led=false, + .getxmargin=dummy_func1, + .getymargin=dummy_func1, + .get_foreground=dummy_func2, + .get_background=dummy_func2, + }, +#ifdef HAVE_REMOTE_LCD + { + .screen_type=SCREEN_REMOTE, + .width=LCD_REMOTE_WIDTH, + .height=LCD_REMOTE_HEIGHT, + .depth=LCD_REMOTE_DEPTH, + .is_color=false,/* No color remotes yet */ + .getxmargin=dummy_func, + .getymargin=dummy_func, + .get_foreground=dummy_func, + .get_background=dummy_func, + } +#endif +}; + +#ifdef HAVE_LCD_BITMAP +void screen_clear_area(struct screen * display, int xstart, int ystart, + int width, int height) +{ + display->set_drawmode(DRMODE_SOLID|DRMODE_INVERSEVID); + display->fillrect(xstart, ystart, width, height); + display->set_drawmode(DRMODE_SOLID); +} +#endif + + +int main(int argc, char **argv) +{ + int res; + int fd; + int filearg = 1; + + struct wps_data wps; + + if (argc < 2) { + printf("Usage: checkwps [OPTIONS] filename.wps\n"); + printf("\nOPTIONS:\n"); + printf("\t-v\tverbose\n"); + printf("\t-vv\tmore verbose\n"); + printf("\t-vvv\tvery verbose\n"); + return 1; + } + + if (argv[1][0] == '-') { + filearg++; + int i = 1; + while (argv[1][i] && argv[1][i] == 'v') { + i++; + wps_verbose_level++; + } + } + + fd = open(argv[filearg], O_RDONLY); + if (fd < 0) { + printf("Failed to open %s\n",argv[1]); + return 2; + } + close(fd); + + res = wps_data_load(&wps, &screens[0], argv[filearg], true); + + if (!res) { + printf("WPS parsing failure\n"); + return 3; + } + + printf("WPS parsed OK\n"); + return 0; +} + -- cgit v1.2.3