]> git.ipfire.org Git - thirdparty/xfsprogs-dev.git/blame - io/command.h
fix obj_to_handle on 64bit, Big Endian Systems
[thirdparty/xfsprogs-dev.git] / io / command.h
CommitLineData
e246ba5f 1/*
f72d20ad 2 * Copyright (c) 2000-2004 Silicon Graphics, Inc. All Rights Reserved.
dfc130f3 3 *
e246ba5f
NS
4 * This program is free software; you can redistribute it and/or modify it
5 * under the terms of version 2 of the GNU General Public License as
6 * published by the Free Software Foundation.
dfc130f3 7 *
e246ba5f
NS
8 * This program is distributed in the hope that it would be useful, but
9 * WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
dfc130f3 11 *
e246ba5f
NS
12 * Further, this software is distributed without any warranty that it is
13 * free of the rightful claim of any third person regarding infringement
14 * or the like. Any license provided herein, whether implied or
15 * otherwise, applies only to this software file. Patent licenses, if
16 * any, provided herein do not apply to combinations of this program with
17 * other software, or any other product whatsoever.
dfc130f3 18 *
e246ba5f
NS
19 * You should have received a copy of the GNU General Public License along
20 * with this program; if not, write the Free Software Foundation, Inc., 59
21 * Temple Place - Suite 330, Boston MA 02111-1307, USA.
dfc130f3 22 *
e246ba5f
NS
23 * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
24 * Mountain View, CA 94043, or:
dfc130f3
RC
25 *
26 * http://www.sgi.com
27 *
28 * For further information regarding this notice, see:
29 *
e246ba5f
NS
30 * http://oss.sgi.com/projects/GenInfo/SGIGPLNoticeExplan/
31 */
32
33#define min(a,b) (((a)<(b))?(a):(b))
34
35typedef int (*cfunc_t)(int argc, char **argv);
36typedef void (*helpfunc_t)(void);
37
48c46ee3
NS
38#define CMD_NOFILE_OK (1<<0) /* command doesn't need an open file */
39#define CMD_NOMAP_OK (1<<1) /* command doesn't need a mapped region */
40#define CMD_FOREIGN_OK (1<<2) /* command not restricted to XFS files */
41
e246ba5f
NS
42typedef struct cmdinfo {
43 const char *name;
44 const char *altname;
45 cfunc_t cfunc;
46 int argmin;
47 int argmax;
48 int canpush;
48c46ee3 49 int flags;
e246ba5f
NS
50 const char *args;
51 const char *oneline;
52 helpfunc_t help;
53} cmdinfo_t;
54
55extern cmdinfo_t *cmdtab;
56extern int ncmds;
57
58extern void add_command(const cmdinfo_t *ci);
48c46ee3 59extern int command_usage(const cmdinfo_t *ci);
e246ba5f
NS
60extern int command(int argc, char **argv);
61extern const cmdinfo_t *find_command(const char *cmd);
e246ba5f 62