From df9c31d13d161866af5b950061c7470627d99fb0 Mon Sep 17 00:00:00 2001 From: crunchy Date: Thu, 12 Sep 2002 15:51:27 +0000 Subject: renamed directory mpio_tool to mpiosh --- mpio_tool/Makefile.am | 8 - mpio_tool/Makefile.in | 360 -------------------- mpio_tool/mpiosh.c | 923 -------------------------------------------------- mpio_tool/mpiosh.h | 97 ------ 4 files changed, 1388 deletions(-) delete mode 100644 mpio_tool/Makefile.am delete mode 100644 mpio_tool/Makefile.in delete mode 100644 mpio_tool/mpiosh.c delete mode 100644 mpio_tool/mpiosh.h (limited to 'mpio_tool') diff --git a/mpio_tool/Makefile.am b/mpio_tool/Makefile.am deleted file mode 100644 index 79b7707..0000000 --- a/mpio_tool/Makefile.am +++ /dev/null @@ -1,8 +0,0 @@ -INCLUDES=-I.. - -bin_PROGRAMS=mpiosh - -mpiosh_SOURCES=mpiosh.c -mpiosh_LDADD=../libmpio/libmpio.la -lreadline -lncurses - -noinst_HEADERS=mpiosh.h \ No newline at end of file diff --git a/mpio_tool/Makefile.in b/mpio_tool/Makefile.in deleted file mode 100644 index b303041..0000000 --- a/mpio_tool/Makefile.in +++ /dev/null @@ -1,360 +0,0 @@ -# Makefile.in generated automatically by automake 1.4-p5 from Makefile.am - -# Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc. -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - - -SHELL = @SHELL@ - -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ -VPATH = @srcdir@ -prefix = @prefix@ -exec_prefix = @exec_prefix@ - -bindir = @bindir@ -sbindir = @sbindir@ -libexecdir = @libexecdir@ -datadir = @datadir@ -sysconfdir = @sysconfdir@ -sharedstatedir = @sharedstatedir@ -localstatedir = @localstatedir@ -libdir = @libdir@ -infodir = @infodir@ -mandir = @mandir@ -includedir = @includedir@ -oldincludedir = /usr/include - -DESTDIR = - -pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ - -top_builddir = .. - -ACLOCAL = @ACLOCAL@ -AUTOCONF = @AUTOCONF@ -AUTOMAKE = @AUTOMAKE@ -AUTOHEADER = @AUTOHEADER@ - -INSTALL = @INSTALL@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS) -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -transform = @program_transform_name@ - -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_alias = @build_alias@ -build_triplet = @build@ -host_alias = @host_alias@ -host_triplet = @host@ -target_alias = @target_alias@ -target_triplet = @target@ -AS = @AS@ -CC = @CC@ -DLLTOOL = @DLLTOOL@ -ECHO = @ECHO@ -EXEEXT = @EXEEXT@ -HAVE_GETOPT_H = @HAVE_GETOPT_H@ -LIBTOOL = @LIBTOOL@ -LN_S = @LN_S@ -MAKEINFO = @MAKEINFO@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -PACKAGE = @PACKAGE@ -RANLIB = @RANLIB@ -STRIP = @STRIP@ -VERSION = @VERSION@ - -INCLUDES = -I.. - -bin_PROGRAMS = mpiosh - -mpiosh_SOURCES = mpiosh.c -mpiosh_LDADD = ../libmpio/libmpio.la -lreadline -lncurses - -noinst_HEADERS = mpiosh.h -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -CONFIG_CLEAN_FILES = -bin_PROGRAMS = mpiosh$(EXEEXT) -PROGRAMS = $(bin_PROGRAMS) - - -DEFS = @DEFS@ -I. -I$(srcdir) -CPPFLAGS = @CPPFLAGS@ -LDFLAGS = @LDFLAGS@ -LIBS = @LIBS@ -mpiosh_OBJECTS = mpiosh.$(OBJEXT) -mpiosh_DEPENDENCIES = ../libmpio/libmpio.la -mpiosh_LDFLAGS = -CFLAGS = @CFLAGS@ -COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -CCLD = $(CC) -LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ -HEADERS = $(noinst_HEADERS) - -DIST_COMMON = Makefile.am Makefile.in - - -DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) - -TAR = gtar -GZIP_ENV = --best -DEP_FILES = .deps/mpiosh.P -SOURCES = $(mpiosh_SOURCES) -OBJECTS = $(mpiosh_OBJECTS) - -all: all-redirect -.SUFFIXES: -.SUFFIXES: .S .c .lo .o .obj .s -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) - cd $(top_srcdir) && $(AUTOMAKE) --gnu mpio_tool/Makefile - -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(BUILT_SOURCES) - cd $(top_builddir) \ - && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status - - -mostlyclean-binPROGRAMS: - -clean-binPROGRAMS: - -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS) - -distclean-binPROGRAMS: - -maintainer-clean-binPROGRAMS: - -install-binPROGRAMS: $(bin_PROGRAMS) - @$(NORMAL_INSTALL) - $(mkinstalldirs) $(DESTDIR)$(bindir) - @list='$(bin_PROGRAMS)'; for p in $$list; do \ - if test -f $$p; then \ - echo " $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`"; \ - $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \ - else :; fi; \ - done - -uninstall-binPROGRAMS: - @$(NORMAL_UNINSTALL) - list='$(bin_PROGRAMS)'; for p in $$list; do \ - rm -f $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \ - done - -# FIXME: We should only use cygpath when building on Windows, -# and only if it is available. -.c.obj: - $(COMPILE) -c `cygpath -w $<` - -.s.o: - $(COMPILE) -c $< - -.S.o: - $(COMPILE) -c $< - -mostlyclean-compile: - -rm -f *.o core *.core - -rm -f *.$(OBJEXT) - -clean-compile: - -distclean-compile: - -rm -f *.tab.c - -maintainer-clean-compile: - -.s.lo: - $(LIBTOOL) --mode=compile $(COMPILE) -c $< - -.S.lo: - $(LIBTOOL) --mode=compile $(COMPILE) -c $< - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -distclean-libtool: - -maintainer-clean-libtool: - -mpiosh$(EXEEXT): $(mpiosh_OBJECTS) $(mpiosh_DEPENDENCIES) - @rm -f mpiosh$(EXEEXT) - $(LINK) $(mpiosh_LDFLAGS) $(mpiosh_OBJECTS) $(mpiosh_LDADD) $(LIBS) - -tags: TAGS - -ID: $(HEADERS) $(SOURCES) $(LISP) - list='$(SOURCES) $(HEADERS)'; \ - unique=`for i in $$list; do echo $$i; done | \ - awk ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - here=`pwd` && cd $(srcdir) \ - && mkid -f$$here/ID $$unique $(LISP) - -TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP) - tags=; \ - here=`pwd`; \ - list='$(SOURCES) $(HEADERS)'; \ - unique=`for i in $$list; do echo $$i; done | \ - awk ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \ - || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS) - -mostlyclean-tags: - -clean-tags: - -distclean-tags: - -rm -f TAGS ID - -maintainer-clean-tags: - -distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir) - -subdir = mpio_tool - -distdir: $(DISTFILES) - here=`cd $(top_builddir) && pwd`; \ - top_distdir=`cd $(top_distdir) && pwd`; \ - distdir=`cd $(distdir) && pwd`; \ - cd $(top_srcdir) \ - && $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --gnu mpio_tool/Makefile - @for file in $(DISTFILES); do \ - d=$(srcdir); \ - if test -d $$d/$$file; then \ - cp -pr $$d/$$file $(distdir)/$$file; \ - else \ - test -f $(distdir)/$$file \ - || ln $$d/$$file $(distdir)/$$file 2> /dev/null \ - || cp -p $$d/$$file $(distdir)/$$file || :; \ - fi; \ - done - -DEPS_MAGIC := $(shell mkdir .deps > /dev/null 2>&1 || :) - --include $(DEP_FILES) - -mostlyclean-depend: - -clean-depend: - -distclean-depend: - -rm -rf .deps - -maintainer-clean-depend: - -%.o: %.c - @echo '$(COMPILE) -c $<'; \ - $(COMPILE) -Wp,-MD,.deps/$(*F).pp -c $< - @-cp .deps/$(*F).pp .deps/$(*F).P; \ - tr ' ' '\012' < .deps/$(*F).pp \ - | sed -e 's/^\\$$//' -e '/^$$/ d' -e '/:$$/ d' -e 's/$$/ :/' \ - >> .deps/$(*F).P; \ - rm .deps/$(*F).pp - -%.lo: %.c - @echo '$(LTCOMPILE) -c $<'; \ - $(LTCOMPILE) -Wp,-MD,.deps/$(*F).pp -c $< - @-sed -e 's/^\([^:]*\)\.o[ ]*:/\1.lo \1.o :/' \ - < .deps/$(*F).pp > .deps/$(*F).P; \ - tr ' ' '\012' < .deps/$(*F).pp \ - | sed -e 's/^\\$$//' -e '/^$$/ d' -e '/:$$/ d' -e 's/$$/ :/' \ - >> .deps/$(*F).P; \ - rm -f .deps/$(*F).pp -info-am: -info: info-am -dvi-am: -dvi: dvi-am -check-am: all-am -check: check-am -installcheck-am: -installcheck: installcheck-am -install-exec-am: install-binPROGRAMS -install-exec: install-exec-am - -install-data-am: -install-data: install-data-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am -install: install-am -uninstall-am: uninstall-binPROGRAMS -uninstall: uninstall-am -all-am: Makefile $(PROGRAMS) $(HEADERS) -all-redirect: all-am -install-strip: - $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install -installdirs: - $(mkinstalldirs) $(DESTDIR)$(bindir) - - -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -rm -f Makefile $(CONFIG_CLEAN_FILES) - -rm -f config.cache config.log stamp-h stamp-h[0-9]* - -maintainer-clean-generic: -mostlyclean-am: mostlyclean-binPROGRAMS mostlyclean-compile \ - mostlyclean-libtool mostlyclean-tags mostlyclean-depend \ - mostlyclean-generic - -mostlyclean: mostlyclean-am - -clean-am: clean-binPROGRAMS clean-compile clean-libtool clean-tags \ - clean-depend clean-generic mostlyclean-am - -clean: clean-am - -distclean-am: distclean-binPROGRAMS distclean-compile distclean-libtool \ - distclean-tags distclean-depend distclean-generic \ - clean-am - -rm -f libtool - -distclean: distclean-am - -maintainer-clean-am: maintainer-clean-binPROGRAMS \ - maintainer-clean-compile maintainer-clean-libtool \ - maintainer-clean-tags maintainer-clean-depend \ - maintainer-clean-generic distclean-am - @echo "This command is intended for maintainers to use;" - @echo "it deletes files that may require special tools to rebuild." - -maintainer-clean: maintainer-clean-am - -.PHONY: mostlyclean-binPROGRAMS distclean-binPROGRAMS clean-binPROGRAMS \ -maintainer-clean-binPROGRAMS uninstall-binPROGRAMS install-binPROGRAMS \ -mostlyclean-compile distclean-compile clean-compile \ -maintainer-clean-compile mostlyclean-libtool distclean-libtool \ -clean-libtool maintainer-clean-libtool tags mostlyclean-tags \ -distclean-tags clean-tags maintainer-clean-tags distdir \ -mostlyclean-depend distclean-depend clean-depend \ -maintainer-clean-depend info-am info dvi-am dvi check check-am \ -installcheck-am installcheck install-exec-am install-exec \ -install-data-am install-data install-am install uninstall-am uninstall \ -all-redirect all-am all installdirs mostlyclean-generic \ -distclean-generic clean-generic maintainer-clean-generic clean \ -mostlyclean distclean maintainer-clean - - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/mpio_tool/mpiosh.c b/mpio_tool/mpiosh.c deleted file mode 100644 index a364422..0000000 --- a/mpio_tool/mpiosh.c +++ /dev/null @@ -1,923 +0,0 @@ -/* -*- linux-c -*- */ - -/* - * - * $Id: mpiosh.c,v 1.8 2002/09/11 13:59:21 germeier Exp $ - * - * Author: Andreas Büsching - * - * mpiosh - user interface of the mpio library, providing access to - * some model of the MPIO mp3 players. - * - * 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 the Free Software Foundation; either version 2 of the - * License, or (at your option) any later version. - * - * This program 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. - * - * */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include - -#include "libmpio/debug.h" -#include "libmpio/mpio.h" - -#include "mpiosh.h" - -static mpiosh_t mpiosh; - -static mpiosh_cmd_t commands[] = { - { "debug", mpiosh_cmd_debug, YES }, - { "ver", mpiosh_cmd_version, NO }, - { "help", mpiosh_cmd_help, NO }, - { "dir", mpiosh_cmd_dir, NO }, - { "info", mpiosh_cmd_info, NO }, - { "mem", mpiosh_cmd_mem, YES }, - { "open", mpiosh_cmd_open, NO }, - { "close", mpiosh_cmd_close, NO }, - { "quit", mpiosh_cmd_quit, NO }, - { "exit", mpiosh_cmd_quit, NO }, - { "get", mpiosh_cmd_get, YES }, - { "mget", mpiosh_cmd_mget, YES }, - { "put", mpiosh_cmd_put, YES }, - { "mput", mpiosh_cmd_mput, YES }, - { "del", mpiosh_cmd_del, YES }, - { "mdel", mpiosh_cmd_mdel, YES }, - { "dump", mpiosh_cmd_dump, NO }, - { "free", mpiosh_cmd_free, NO }, - { "format", mpiosh_cmd_format, NO }, - { "switch", mpiosh_cmd_switch, YES }, - { "ldir", mpiosh_cmd_ldir, YES }, - { "lcd", mpiosh_cmd_lcd, YES }, - { "lmkdir", mpiosh_cmd_lmkdir, YES }, - { NULL, NULL, NO } -}; - -/* readline extensaions */ -void -mpiosh_readline_init(void) -{ - rl_readline_name = "mpio"; - rl_attempted_completion_function = mpiosh_readline_completion; -} - -char * -mpiosh_readline_comp_cmd(const char *text, int state) -{ - static mpiosh_cmd_t *cmd = NULL; - char *cmd_text = NULL; - - if (state == 0) { - cmd = commands; - } - - while (cmd->cmd) { - if ((*text == '\0') || (strstr(cmd->cmd, text) == cmd->cmd)) { - cmd_text = strdup(cmd->cmd); - cmd++; - break; - } - cmd++; - } - - return cmd_text; -} - -char ** -mpiosh_readline_completion(const char *text, int start, int end) -{ - char **matches = (char**)NULL; - - UNUSED(end); - - if (start == 0) - matches = rl_completion_matches(text, mpiosh_readline_comp_cmd); - else { - - } - - return matches; -} - -/* helper functions */ -void -mpiosh_init(void) -{ - mpiosh.dev = NULL; - mpiosh.card = MPIO_INTERNAL_MEM; - mpiosh.prompt = PROMPT_INT; -} - - -mpiosh_cmd_t * -mpiosh_command_find(char *line) -{ - mpiosh_cmd_t *cmd = commands; - - while (cmd->cmd) { - if (strstr(line, cmd->cmd) == line) { - if (line[strlen(cmd->cmd)] == ' ' || - line[strlen(cmd->cmd)] == '\0') - return cmd; - } - cmd++; - } - - return NULL; -} - -char ** -mpiosh_command_get_args(char *line) -{ - char **args; - char *arg_start, *copy, *help, *prev; - int count = 0, i = 0, go = 1, in_quote = 0; - - copy = strdup(line); - arg_start = strchr(copy, ' '); - - if (arg_start == NULL) { - args = malloc(sizeof(char *)); - args[0] = NULL; - return args; - } - - while (*arg_start == ' ') arg_start++; - - help = arg_start; - while (help <= (copy + strlen(copy))) { - if (*help == '"') { - help++;count++; - - while (*help != '\0' && *help != '"') - help++; - help++; - while (*help == ' ') help++; - if (*help == '\0') break; - in_quote = 1; - } else if (((help > arg_start) && (*help == '\0')) || - (*help == ' ' && (*(help + 1) != '\0') && (*(help + 1) != ' '))) { - count++; - in_quote = 0; - help++; - } else - help++; - } - - args = malloc(sizeof(char *) * (count + 1)); - - help = prev = arg_start; - in_quote = 0; - while (go) { - if (*help == '"') in_quote = !in_quote, help++; - if (((*help == ' ') && !in_quote) || (in_quote && *help == '"') || - (*help == '\0')) { - if (*help == '\0') { - go = 0; - if (*prev == '\0') break; - } - - if (*prev == '"') { - if (*(help - 1) == '"') - *(help - 1) = '\0'; - else - *help = '\0'; - - args[i++] = strdup(prev + 1); - } else { - *help = '\0'; - args[i++] = strdup(prev); - } - - if (go) { - help++; - if (in_quote) { - while (*help != '"') help++; - help++; - in_quote = 0; - } else - while (*help == ' ') help++; - prev = help; - } - } else - help++; - } - args[i] = NULL; - - free(copy); - - return args; -} - -void -mpiosh_command_free_args(char **args) -{ - char **arg = args; - - while (*arg) free(*arg++); - - free(args); -} - -/* commands */ -void -mpiosh_cmd_debug(char *args[]) -{ - if (args[0] != NULL) { - if (!strcmp(args[0], "level")) { - debug_level(strtol(args[1], NULL, 0)); - } else if (!strcmp(args[0], "file")) { - debug_file(args[1]); - } else if (!strcmp(args[0], "on")) { - if (debug_level_get() == -1) - debug_level(1); - else - fprintf(stderr, "debug already activated for level %d\n", - debug_level_get()); - } else if (!strcmp(args[0], "off")) { - if (debug_level_get() == -1) - fprintf(stderr, "debug already deactivated\n"); - else - debug_level(-1); - } else { - fprintf(stderr, "unknown debug command\n"); - printf("debug [level|file|on|off] \n"); - } - } else { - fprintf(stderr, "error: no arguments given\n"); - printf("debug [level|file|on|off] \n"); - } -} - -void -mpiosh_cmd_version(char *args[]) -{ - UNUSED(args); - - printf("MPIO shell %s\n\n", VERSION); -} - -void -mpiosh_cmd_help(char *args[]) -{ - UNUSED(args); - - printf("debug[level|file|on|off] \n" - " modify debugging options\n"); - printf("ver\n" - " version of mpio package\n"); - printf("help\n" - " show known commands\n"); - printf("info\n" - " show information about MPIO player\n"); - printf("open\n" - " open connect to MPIO player\n"); - printf("close\n" - " close connect to MPIO player\n"); - printf("mem [i|e]\n" - " set current memory card. 'i' selects the internal and 'e'\n" - " selects the external memory card (smart media card)\n"); - printf("dir\n" - " list content of current memory card\n"); - printf("format\n" - " format current memory card\n"); - printf("dump\n" - " get all files of current memory card\n"); - printf("free\n" - " display amount of available bytes of current memory card\n"); - printf("put \n" - " write to memory card\n"); - printf("mput \n" - " write all local files matching the regular expression\n" - " to the selected memory card\n"); - printf("get \n" - " read from memory card\n"); - printf("mget \n" - " read all files matching the regular expression\n" - " from the selected memory card\n"); - printf("del \n" - " deletes from memory card\n"); - printf("mdel \n" - " deletes all files matching the regular expression\n" - " from the selected memory card\n"); - printf("exit, quit\n" - " exit mpiosh and close the device\n"); - printf("lcd\n" - " change the current working directory\n"); - printf("ldir\n" - " list local directory\n"); - printf("lmkdir\n" - " create a local directory\n"); -} - -void -mpiosh_cmd_dir(char *args[]) -{ - BYTE *p; - BYTE month, day, hour, minute; - BYTE fname[100]; - WORD year; - DWORD fsize; - - UNUSED(args); - - if (mpiosh.dev == NULL) { - printf("open connection first!\n"); - return; - } - - p = mpio_directory_open(mpiosh.dev, mpiosh.card); - while (p != NULL) { - memset(fname, '\0', 100); - - mpio_dentry_get(mpiosh.dev, p, - fname, 100, - &year, &month, &day, - &hour, &minute, &fsize); - - printf ("%02d.%02d.%04d %02d:%02d %9d - %s\n", - day, month, year, hour, minute, fsize, fname); - - p = mpio_dentry_next(mpiosh.dev, p); - } -} - -void -mpiosh_cmd_info(char *args[]) -{ - mpio_info_t info; - - UNUSED(args); - - if (mpiosh.dev == NULL) { - printf("open connection first!\n"); - return; - } - - mpio_get_info(mpiosh.dev, &info); - - printf("firmware %s\n", info.firmware_id); - printf(" version : %s\n", info.firmware_version); - printf(" date : %s\n", info.firmware_date); - printf("memory\n"); - printf(" internal: %s\n", info.firmware_mem_internal); - printf(" external: %s\n", info.firmware_mem_external); -} - -void -mpiosh_cmd_mem(char *args[]) -{ - if (mpiosh.dev == NULL) { - printf("open connection first!\n"); - return; - } - - if (args[0] == NULL) { - printf("error: no argument given.\n"); - return; - } - - if (!strcmp(args[0], "e")) { - mpiosh.card = MPIO_EXTERNAL_MEM; - mpiosh.prompt = PROMPT_EXT; - printf("external memory card is selected\n"); - } else if (!strcmp(args[0], "i")) { - mpiosh.card = MPIO_INTERNAL_MEM; - mpiosh.prompt = PROMPT_INT; - printf("internal memory card is selected\n"); - } else { - printf("can not select memory card '%s'\n", args[0]); - } -} - -void -mpiosh_cmd_open(char *args[]) -{ - if (mpiosh.dev) { - printf("connection to MPIO player already opened\n"); - return; - } - - UNUSED(args); - - mpiosh.dev = mpio_init(); - - if (mpiosh.dev == NULL) - printf("error: could not open connection MPIO player\n"); - else - printf("connection to MPIO player is opened\n"); -} - -void -mpiosh_cmd_close(char *args[]) -{ - if (mpiosh.dev == NULL) { - printf("connection to MPIO player already closed\n"); - return; - } - - UNUSED(args); - - mpio_close(mpiosh.dev); - mpiosh.dev = NULL; - - printf("connection to MPIO player is closed\n"); -} - -void -mpiosh_cmd_quit(char *args[]) -{ - if (mpiosh.dev) { - printf("\nclosing connection to MPIO player\nHave a nice day\n"); - mpio_close(mpiosh.dev); - } - - UNUSED(args); - - exit(0); -} - -BYTE -mpiosh_callback_get(int read, int total) -{ - printf("\rretrieved %.2f %%", ((double) read / total) * 100.0 ); - fflush(stdout); - return 0; // continue -} - -void -mpiosh_cmd_get(char *args[]) -{ - int size; - - if (mpiosh.dev == NULL) { - printf("connection to MPIO player already closed\n"); - return; - } - - if (args[0] == NULL) { - printf("error: no argument given\n"); - return; - } - - size = mpio_file_get(mpiosh.dev, mpiosh.card, args[0], mpiosh_callback_get); - - printf("\n"); -} - -void -mpiosh_cmd_mget(char *args[]) -{ - BYTE * p; - int size, i = 0; - int error; - regex_t regex; - BYTE fname[100]; - BYTE errortext[100]; - BYTE month, day, hour, minute; - WORD year; - DWORD fsize; - - if (mpiosh.dev == NULL) { - printf("connection to MPIO player already closed\n"); - return; - } - - if (args[0] == NULL) { - printf("error: no argument given\n"); - return; - } - - while (args[i] != NULL) { - if (error = regcomp(®ex, args[i], REG_NOSUB)) { - regerror(error, ®ex, errortext, 100); - debugn (2, "error in regular expression: %s (%s)\n", args[i], errortext); - } else { - p = mpio_directory_open(mpiosh.dev, mpiosh.card); - while (p != NULL) { - memset(fname, '\0', 100); - mpio_dentry_get(mpiosh.dev, p, fname, 100, - &year, &month, &day, &hour, &minute, &fsize); - - if (!(error = regexec(®ex, fname, 0, NULL, 0))) { - printf("getting '%s' ... \n", fname); - size = mpio_file_get(mpiosh.dev, mpiosh.card, - fname, mpiosh_callback_put); - printf("\n"); - } else { - regerror(error, ®ex, errortext, 100); - debugn (2, "file does not match: %s (%s)\n", fname, errortext); - } - - p = mpio_dentry_next(mpiosh.dev, p); - } - } - i++; - } -} - -BYTE -mpiosh_callback_put(int read, int total) -{ - printf("\rwrote %.2f %%", ((double) read / total) * 100.0 ); - fflush(stdout); - return 0; // continue -} - -void -mpiosh_cmd_put(char *args[]) -{ - int size; - - if (mpiosh.dev == NULL) { - printf("connection to MPIO player already closed\n"); - return; - } - - if (args[0] == NULL) { - printf("error: no argument given\n"); - return; - } - - size = mpio_file_put(mpiosh.dev, mpiosh.card, args[0], mpiosh_callback_put); - - printf("\n"); -} - -void -mpiosh_cmd_mput(char *args[]) -{ - char dir_buf[NAME_MAX]; - int size, j, i = 0; - struct dirent ** dentry, **run; - regex_t regex; - int error; - BYTE errortext[100]; - int fsize; - - if (mpiosh.dev == NULL) { - printf("connection to MPIO player already closed\n"); - return; - } - - if (args[0] == NULL) { - printf("error: no argument given\n"); - return; - } - - getcwd(dir_buf, NAME_MAX); - while (args[i] != NULL) { - if (error = regcomp(®ex, args[i], REG_NOSUB)) { - regerror(error, ®ex, errortext, 100); - debugn (2, "error in regular expression: %s (%s)\n", args[i], errortext); - } else { - if ((size = scandir(dir_buf, &dentry, NULL, alphasort)) != -1) { - run = dentry; - for (j = 0; j < size; j++, run++) { - if (!(error = regexec(®ex, (*run)->d_name, 0, NULL, 0))) { - printf("putting '%s' ... \n", (*run)->d_name); - fsize = mpio_file_put(mpiosh.dev, mpiosh.card, - (*run)->d_name, mpiosh_callback_put); - printf("\n"); - } else { - regerror(error, ®ex, errortext, 100); - debugn (2, "file does not match: %s (%s)\n", - (*run)->d_name, errortext); - } - free(*run); - } - free(dentry); - } - } - i++; - } -} - -BYTE -mpiosh_callback_del(int read, int total) -{ - printf("\rdeleted %.2f %%", ((double) read / total) * 100.0 ); - fflush(stdout); - return 0; // continue -} - -void -mpiosh_cmd_del(char *args[]) -{ - int size; - - if (mpiosh.dev == NULL) { - printf("connection to MPIO player already closed\n"); - return; - } - - if (args[0] == NULL) { - printf("error: no argument given\n"); - return; - } - - size = mpio_file_del(mpiosh.dev, mpiosh.card, args[0], mpiosh_callback_del); - - printf("\n"); -} - -void -mpiosh_cmd_mdel(char *args[]) -{ - BYTE * p; - int size, i = 0; - int error; - regex_t regex; - BYTE fname[100]; - BYTE errortext[100]; - BYTE month, day, hour, minute; - WORD year; - DWORD fsize; - - if (mpiosh.dev == NULL) { - printf("connection to MPIO player already closed\n"); - return; - } - - if (args[0] == NULL) { - printf("error: no argument given\n"); - return; - } - - while (args[i] != NULL) { - if (error = regcomp(®ex, args[i], REG_NOSUB)) { - regerror(error, ®ex, errortext, 100); - debugn (2, "error in regular expression: %s (%s)\n", args[i], errortext); - } else { - p = mpio_directory_open(mpiosh.dev, mpiosh.card); - while (p != NULL) { - memset(fname, '\0', 100); - mpio_dentry_get(mpiosh.dev, p, fname, 100, - &year, &month, &day, &hour, &minute, &fsize); - - if (!(error = regexec(®ex, fname, 0, NULL, 0))) { - printf("deleting '%s' ... \n", fname); - size = mpio_file_del(mpiosh.dev, mpiosh.card, - fname, mpiosh_callback_del); - printf("\n"); - /* if we delete a file, start again from the beginning, - because the directory has changed !! */ - p = mpio_directory_open(mpiosh.dev, mpiosh.card); - } else { - regerror(error, ®ex, errortext, 100); - debugn (2, "file does not match: %s (%s)\n", fname, errortext); - p = mpio_dentry_next(mpiosh.dev, p); - } - - } - } - i++; - } -} - - -void -mpiosh_cmd_dump(char *args[]) -{ - BYTE *p; - BYTE month, day, hour, minute; - BYTE fname[256]; - char *arg[2]; - WORD year; - DWORD fsize; - - if (mpiosh.dev == NULL) { - printf("open connection first!\n"); - return; - } - - UNUSED(args); - - arg[0] = fname; - arg[1] = NULL; - - p = mpio_directory_open(mpiosh.dev, mpiosh.card); - while (p != NULL) { - memset(fname, '\0', 256); - - mpio_dentry_get(mpiosh.dev, p, - fname, 256, - &year, &month, &day, - &hour, &minute, &fsize); - - - printf("getting '%s' ... \n", arg[0]); - mpiosh_cmd_get(arg); - - p = mpio_dentry_next(mpiosh.dev, p); - } -} - -void -mpiosh_cmd_free(char *args[]) -{ - int free, kbytes; - - if (mpiosh.dev == NULL) { - printf("open connection first!\n"); - return; - } - - UNUSED(args); - - kbytes = mpio_memory_free(mpiosh.dev, mpiosh.card, &free); - - printf("%d KB of %d KB are available\n", free, kbytes); -} - -BYTE -mpiosh_callback_format(int read, int total) -{ - printf("\rformatted %.2f %%", ((double) read / total) * 100.0 ); - fflush(stdout); - return 0; // continue -} - -void -mpiosh_cmd_format(char *args[]) -{ - char answer[512]; - - if (mpiosh.dev == NULL) { - printf("open connection first!\n"); - return; - } - - UNUSED(args); - - printf("This will destroy all tracks saved on the memory card. " - "Are you sure (y/n)? "); - - fgets(answer, 511, stdin); - - if (answer[0] == 'y' || answer[0] == 'Y') { - if (mpio_memory_format(mpiosh.dev, mpiosh.card, - mpiosh_callback_format) == -1) - printf("\nfailed\n"); - else - printf("\n"); - } -} - -void -mpiosh_cmd_switch(char *args[]) -{ - if (mpiosh.dev == NULL) { - printf("open connection first!\n"); - return; - } - - UNUSED(args); -} - -void -mpiosh_cmd_ldir(char *args[]) -{ - char dir_buf[NAME_MAX]; - struct dirent ** dentry, **run; - int count; - - getcwd(dir_buf, NAME_MAX); - if (dir_buf != '\0') { - if ((count = scandir(dir_buf, &dentry, NULL, alphasort)) != -1) { - int j, i; - struct stat st; - struct passwd * pwd; - struct group * grp; - char time[12]; - char rights[11]; - - run = dentry; - rights[10] = '\0'; - for (i = 0; i < count; i++, run++) { - stat((*run)->d_name, &st); - - rights[0] = *("?pc?dnb?-?l?s???" + (st.st_mode >> 12 & 0xf)); - for (j = 0; j < 9; j++) { - if (st.st_mode & 1 << (8 - j)) - rights[j + 1] = "rwxrwxrwx"[j]; - else - rights[j + 1] = '-'; - } - - pwd = getpwuid(st.st_uid); - grp = getgrgid(st.st_gid); - strftime(time, 12, "%b %2d", localtime(&(st.st_mtime))); - printf("%s %8s %8s %8d %10s %s\n", - rights, pwd->pw_name, grp->gr_name, (int)st.st_size, - time, - (*run)->d_name); - free(*run); - } - free(dentry); - } - } -} - -void -mpiosh_cmd_lcd(char *args[]) -{ - if (args[0] == NULL) { - fprintf(stderr, "error: no argument given\n"); - return; - } - - if (chdir(args[0])) { - perror ("error"); - } -} - -void -mpiosh_cmd_lmkdir(char *args[]) -{ - if (args[0] == NULL) { - fprintf(stderr, "error: no argument given\n"); - return; - } - - if (mkdir(args[0], 0777)) { - perror("error"); - } -} - - -int -main(int argc, char *argv[]) { - char * line; - mpiosh_cmd_t *cmd; - - UNUSED(argc); - UNUSED(argv); - - setenv("mpio_debug", "", 0); - setenv("mpio_color", "", 0); - - /* no unwanted interruption anymore */ - signal(SIGINT, SIG_IGN); - - /* init readline and history */ - rl_readline_name = "mpio"; - using_history(); - - debug_init(); - mpiosh_readline_init(); - - mpiosh_init(); - mpiosh.dev = mpio_init(); - - if (!mpiosh.dev) { - printf("could not find MPIO player.\n"); - } - - if (mpiosh.card == MPIO_INTERNAL_MEM) - mpiosh.prompt = PROMPT_INT; - else - mpiosh.prompt = PROMPT_EXT; - - while ((line = readline(mpiosh.prompt))) { - if (*line == '\0') continue; - - cmd = mpiosh_command_find(line); - - if (cmd) { - char ** help, **args = mpiosh_command_get_args(line); - help = args; - - cmd->func(args); - mpiosh_command_free_args(args); - } else - printf("unknown command: %s\n", line); - - add_history(line); - } - - mpiosh_cmd_quit(NULL); - - return 0; -} - - diff --git a/mpio_tool/mpiosh.h b/mpio_tool/mpiosh.h deleted file mode 100644 index 6e5f8de..0000000 --- a/mpio_tool/mpiosh.h +++ /dev/null @@ -1,97 +0,0 @@ -/* mpiosh.h - * - * Author: Andreas Büsching - * - * $Id: mpiosh.h,v 1.5 2002/09/11 13:59:21 germeier Exp $ - * - * Copyright (C) 2002 Andreas Büsching - * - * 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 - * the Free Software Foundation; either version 2, or (at your option) - * any later version. - * - * This program 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - */ - -#ifndef _MPIOSH_H_ -#define _MPIOSH_H_ - -#if !defined TRUE -# define TRUE 1 -#endif - -#if !defined FALSE -# define FALSE 1 -#endif - -typedef void(*cmd_callback)(char *args[]); -typedef enum { NO, YES } bool; - -typedef struct { - mpio_t * dev; - mpio_mem_t card; - const char * prompt; -} mpiosh_t; - -typedef struct { - char * cmd; - cmd_callback func; - bool args; -} mpiosh_cmd_t; - -const char* PROMPT_INT = "\033[;1mmpio \033[m "; -const char* PROMPT_EXT = "\033[;1mmpio \033[m "; - -/* readline extensions */ -void mpiosh_readline_init(void); -char **mpiosh_readline_completion(const char *text, int start, int end); -char *mpiosh_readline_comp_cmd(const char *text, int state); - -/* helper functions */ -void mpiosh_init(void); -mpiosh_cmd_t *mpiosh_command_find(char *line); -char **mpiosh_command_get_args(char *line); -void mpiosh_command_free_args(char **args); - -/* command callbacks */ -void mpiosh_cmd_debug(char *args[]); -void mpiosh_cmd_version(char *args[]); -void mpiosh_cmd_help(char *args[]); -void mpiosh_cmd_dir(char *args[]); -void mpiosh_cmd_info(char *args[]); -void mpiosh_cmd_mem(char *args[]); -void mpiosh_cmd_open(char *args[]); -void mpiosh_cmd_close(char *args[]); -void mpiosh_cmd_quit(char *args[]); -void mpiosh_cmd_get(char *args[]); -void mpiosh_cmd_mget(char *args[]); -void mpiosh_cmd_put(char *args[]); -void mpiosh_cmd_mput(char *args[]); -void mpiosh_cmd_del(char *args[]); -void mpiosh_cmd_mdel(char *args[]); -void mpiosh_cmd_dump(char *args[]); -void mpiosh_cmd_free(char *args[]); -void mpiosh_cmd_format(char *args[]); -void mpiosh_cmd_switch(char *args[]); - -void mpiosh_cmd_ldir(char *args[]); -void mpiosh_cmd_lcd(char *args[]); -void mpiosh_cmd_lmkdir(char *args[]); - -/* progress callbacks */ -BYTE mpiosh_callback_get(int read, int total); -BYTE mpiosh_callback_put(int read, int total); -BYTE mpiosh_callback_del(int read, int total); -BYTE mpiosh_callback_format(int read, int total); - -#endif // _MPIOSH_H_ - -/* end of mpiosh.h */ -- cgit v1.2.3