Handle streams separately in tree_add_track()
[cmus.git] / command_mode.h
blob8d692801797528dfac6608dfaca020ac7ffea920
1 /*
2 * Copyright 2004-2006 Timo Hirvonen
3 *
4 * This program is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU General Public License as
6 * published by the Free Software Foundation; either version 2 of the
7 * License, or (at your option) any later version.
9 * This program is distributed in the hope that it will be useful, but
10 * WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * General Public License for more details.
14 * You should have received a copy of the GNU General Public License
15 * along with this program; if not, write to the Free Software
16 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
17 * 02111-1307, USA.
20 #ifndef _COMMAND_MODE_H
21 #define _COMMAND_MODE_H
23 #include "uchar.h"
25 /* executing command is disabled over net */
26 #define CMD_UNSAFE 0x01
28 struct command {
29 const char *name;
30 void (*func)(char *arg);
32 /* min/max number of arguments */
33 int min_args;
34 int max_args;
36 void (*expand)(const char *str);
38 /* bind count (0 means: unbound) */
39 int bc;
41 /* CMD_* */
42 unsigned int flags;
45 extern struct command commands[];
46 extern int run_only_safe_commands;
48 void command_mode_ch(uchar ch);
49 void command_mode_key(int key);
50 void commands_init(void);
51 void commands_exit(void);
52 int parse_command(const char *buf, char **cmdp, char **argp);
53 void run_parsed_command(char *cmd, char *arg);
54 void run_command(const char *buf);
56 struct command *get_command(const char *str);
58 void view_clear(int view);
59 void view_add(int view, char *arg, int prepend);
60 void view_load(int view, char *arg);
61 void view_save(int view, char *arg);
63 #endif