summaryrefslogtreecommitdiffstats
path: root/src/include/ipxe/command.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/include/ipxe/command.h')
-rw-r--r--src/include/ipxe/command.h26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/include/ipxe/command.h b/src/include/ipxe/command.h
new file mode 100644
index 00000000..a7d0ae46
--- /dev/null
+++ b/src/include/ipxe/command.h
@@ -0,0 +1,26 @@
+#ifndef _IPXE_COMMAND_H
+#define _IPXE_COMMAND_H
+
+FILE_LICENCE ( GPL2_OR_LATER );
+
+#include <ipxe/tables.h>
+
+/** A command-line command */
+struct command {
+ /** Name of the command */
+ const char *name;
+ /**
+ * Function implementing the command
+ *
+ * @v argc Argument count
+ * @v argv Argument list
+ * @ret rc Return status code
+ */
+ int ( * exec ) ( int argc, char **argv );
+};
+
+#define COMMANDS __table ( struct command, "commands" )
+
+#define __command __table_entry ( COMMANDS, 01 )
+
+#endif /* _IPXE_COMMAND_H */