cmd: Reorder cmd_AddParmAtOffset arguments
[openafs.git] / src / cmd / cmd.p.h
index fc143ff..3193d56 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Copyright 2000, International Business Machines Corporation and others.
  * All Rights Reserved.
- * 
+ *
  * This software has been released under the terms of the IBM Public
  * License.  For details, see the LICENSE file in the top-level source
  * directory or online at http://www.openafs.org/dl/license10.html
@@ -14,6 +14,7 @@
 #define        CMD_FLAG        1       /* no parms */
 #define        CMD_SINGLE      2       /* one parm */
 #define        CMD_LIST        3       /* two parms */
+#define CMD_SINGLE_OR_FLAG 4   /* one parm or flag */
 
 /* syndesc flags */
 #define        CMD_ALIAS       1       /* this is an alias */
@@ -35,6 +36,7 @@ struct cmd_parmdesc {
     struct cmd_item *items;    /* list of cmd items */
     afs_int32 flags;           /* flags */
     char *help;                        /* optional help descr */
+    struct cmd_item *aliases;   /* optional aliases */
 };
 
 /* cmd_parmdesc flags */
@@ -72,12 +74,26 @@ extern int cmd_CreateAlias(struct cmd_syndesc *as, char *aname);
 extern int cmd_Seek(struct cmd_syndesc *as, int apos);
 extern int cmd_AddParm(struct cmd_syndesc *as, char *aname, int atype,
                       afs_int32 aflags, char *ahelp);
+extern int cmd_AddParmAtOffset(struct cmd_syndesc *as, int ref, char *name,
+                              int atype, afs_int32 aflags, char *ahelp);
+extern int cmd_AddParmAlias(struct cmd_syndesc *as, int pos, char *alias);
 extern int cmd_Dispatch(int argc, char **argv);
 extern int cmd_FreeArgv(char **argv);
 extern int cmd_ParseLine(char *aline, char **argv, afs_int32 * an,
                         afs_int32 amaxn);
-extern int cmd_IsAdministratorCommand(register struct cmd_syndesc *as);
-extern void PrintSyntax(register struct cmd_syndesc *as);
-extern void PrintFlagHelp(register struct cmd_syndesc *as);
+extern int cmd_IsAdministratorCommand(struct cmd_syndesc *as);
+extern void cmd_DisablePositionalCommands(void);
+extern void cmd_DisableAbbreviations(void);
+extern void PrintSyntax(struct cmd_syndesc *as);
+extern void PrintFlagHelp(struct cmd_syndesc *as);
+
+extern int cmd_Parse(int argc, char **argv, struct cmd_syndesc **outsyntax);
+extern void cmd_FreeOptions(struct cmd_syndesc **ts);
+extern int cmd_OptionAsInt(struct cmd_syndesc *syn, int pos, int *value);
+extern int cmd_OptionAsUint(struct cmd_syndesc *, int, unsigned int *);
+extern int cmd_OptionAsString(struct cmd_syndesc *syn, int pos, char **value);
+extern int cmd_OptionAsList(struct cmd_syndesc *syn, int pos, struct cmd_item **);
+extern int cmd_OptionAsFlag(struct cmd_syndesc *syn, int pos, int *value);
+extern int cmd_OptionPresent(struct cmd_syndesc *syn, int pos);
 
 #endif /* __CMD_INCL__ */