/* atarisio - A UNIX backend for an Atari SIO2PC lead. Copyright (C) 2004 Ian Cowburn (ianc@noddybox.demon.co.uk) 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ------------------------------------------------------------------------- Command parsing and execution */ #ifndef ATARIOSIO_TOKEN_H #define ATARIOSIO_TOKEN_H "$Id$" #include "util.h" /* ---------------------------------------- TYPES */ /* A command callback (note argv[0] is the command itself) */ typedef void (*TokenHandler)(int argc, char *argv[]); /* A command. min and max args have to include the command itself. */ typedef struct { const char *cmd; int min_args; int max_args; const char *usage; const char *help; TokenHandler func; } Command; /* ---------------------------------------- INTERFACES */ /* Register commands */ void TokenRegister(int no, const Command *cmds); /* Parse a command line. Returns TRUE if command parsed and run. */ int TokenRun(const char *line); #endif /* END OF FILE */