]> git.ozlabs.org Git - ccan/blobdiff - ccan/opt/opt.h
opt: add new parse_early_args_incomplete.
[ccan] / ccan / opt / opt.h
index 0d508cf6fd173d1578bf26d1a703c3b12bbf3643..c642ec6fafc85d1b87377458d69fa9e3d909101c 100644 (file)
@@ -286,6 +286,30 @@ bool opt_parse(int *argc, char *argv[], void (*errlog)(const char *fmt, ...));
 bool opt_early_parse(int argc, char *argv[],
                     void (*errlog)(const char *fmt, ...));
 
 bool opt_early_parse(int argc, char *argv[],
                     void (*errlog)(const char *fmt, ...));
 
+/**
+ * opt_early_parse_incomplete - parse early arguments, ignoring unknown ones.
+ * @argc: argc
+ * @argv: argv array.
+ * @errlog: the function to print errors
+ *
+ * If you have plugins, you might need to do early parsing (eg. to find the
+ * plugin directory) but you don't know what options the plugins will want.
+ *
+ * Thus, this function is just like opt_early_parse, but ignores unknown options.
+ *
+ * Example:
+ *     if (!opt_early_parse_incomplete(argc, argv, opt_log_stderr)) {
+ *             printf("You screwed up, aborting!\n");
+ *             exit(1);
+ *     }
+ *
+ * See Also:
+ *     opt_early_parse()
+ */
+bool opt_early_parse_incomplete(int argc, char *argv[],
+                               void (*errlog)(const char *fmt, ...));
+
+
 /**
  * opt_free_table - reset the opt library.
  *
 /**
  * opt_free_table - reset the opt library.
  *