summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2012-02-15 15:51:16 -0800
committerMike Frysinger <vapier@gentoo.org>2012-03-12 11:06:01 -0400
commit70db4212fcdb080444a23dccaf673b68a3ffc1fa (patch)
treebbb9a51e44cc6b1a87a583f89673d8e6de040207 /include
parentab4e07eb71ca1913e5291316565c9d073987de85 (diff)
sandbox: add getopt support
This adds simple command-line parsing to sandbox. The idea is that it sets up the state with options provided, and this state can then be queried later, as needed. New flags are declared with the SB_CMDLINE_OPT_SHORT helper macro, pointers are automatically gathered up in a special section, and then the core code takes care of gathering them up and processing at runtime. This way there is no central place where we have to store a list of flags with ifdefs. Signed-off-by: Simon Glass <sjg@chromium.org> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Diffstat (limited to 'include')
-rw-r--r--include/os.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/include/os.h b/include/os.h
index 6b7ee474f0..45729c1e44 100644
--- a/include/os.h
+++ b/include/os.h
@@ -27,6 +27,8 @@
#ifndef __OS_H__
#define __OS_H__
+struct sandbox_state;
+
/**
* Access to the OS read() system call
*
@@ -122,4 +124,16 @@ void os_usleep(unsigned long usec);
*/
u64 os_get_nsec(void);
+/**
+ * Parse arguments and update sandbox state.
+ *
+ * @param state Sandbox state to update
+ * @param argc Argument count
+ * @param argv Argument vector
+ * @return 0 if ok, and program should continue;
+ * 1 if ok, but program should stop;
+ * -1 on error: program should terminate.
+ */
+int os_parse_args(struct sandbox_state *state, int argc, char *argv[]);
+
#endif