Simplify the console structure and reduce the size of codes and parameters.
The "extra" parameter seems a bit overkill, remove it and help keep this project more along the lines of the idea of "Featureless".
Rewrite and document fl_process_parameters().
Implementing functions were only functionally updated.
Additional changes are likely necessary for the logic, such as supporting multiple calls like "program -h +n +l", which by order of operation the final "+l" should override the "+n".
#define f_colors_format_initialize_xterminal { "\033[", "m", ";" }
#endif // _di_f_colors_format_
+/**
+ * A structure containing all supported color codes.
+ *
+ * Different system will support a different set.
+ *
+ * Custom initializers are provided for common defaults:
+ * - f_colors_initialize_linux: ideal for linux console.
+ * - f_colors_initialize_xterminal: ideal for linux x-terminal.
+ */
#ifndef _di_f_colors_
typedef struct {
const char *reset;
#define f_colors_initialize_xterminal { "0", "1", "4", "5", "7", "8", "30", "31", "32", "33", "34", "35", "36", "37", "40", "41", "42", "43", "44", "45", "46", "47", "90", "91", "92", "93", "94", "95", "96", "97", "100", "101", "102", "103", "104", "105", "106", "107" }
#endif // _di_f_colors_
+/**
+ * Provide global default global instances of f_colors structures.
+ *
+ * Supported instances:
+ * - f_colors_format_linux: ideal for linux console.
+ * - f_colors_format_xterminal: ideal for linux x-terminal.
+ */
#ifndef _di_f_default_colors_
static const f_colors_format f_colors_format_linux = f_colors_format_initialize_linux;
static const f_colors_format f_colors_format_xterminal = f_colors_format_initialize_xterminal;
if (result == 0) return f_status_set_error(f_invalid_parameter);
#endif // _di_level_0_parameter_checking_
- const f_string_length length = strnlen(input, 4);
+ const f_string_length length = strnlen(input, 3);
if (length == 0) {
*result = f_console_none;
- return f_none;
+ return f_no_data;
}
if (input[0] == f_console_symbol_enable) {
if (length > 1) {
if (input[1] == f_console_symbol_enable) {
if (length > 2) {
- if (input[2] == f_console_symbol_enable) {
- if (length > 3) *result = f_console_extra_enable;
- else *result = f_console_empty_extra_enable;
- }
- else *result = f_console_long_enable;
+ *result = f_console_long_enable;
}
else *result = f_console_empty_long_enable;
}
if (length > 1) {
if (input[1] == f_console_symbol_disable) {
if (length > 2) {
- if (input[2] == f_console_symbol_disable) {
- if (length > 3) *result = f_console_extra_disable;
- else *result = f_console_empty_extra_disable;
- }
- else *result = f_console_long_disable;
+ *result = f_console_long_disable;
}
else *result = f_console_empty_long_disable;
}
#endif
/**
- * result values that represent the type of command found.
+ * Result values that represent the type of command found.
*/
#ifndef _di_f_console_ids_
enum {
f_console_short_disable,
f_console_long_enable,
f_console_long_disable,
- f_console_extra_enable,
- f_console_extra_disable,
f_console_empty_short_enable,
f_console_empty_short_disable,
f_console_empty_long_enable,
f_console_empty_long_disable,
- f_console_empty_extra_enable,
- f_console_empty_extra_disable,
};
#endif // _di_f_console_ids_
/**
- * the symbols passed to the program for option handling.
+ * The symbols passed to the program for option handling.
*
* The following will be processed as an integer and therefore must not be string.
* - f_console_symbol_enable
#define f_console_symbol_long_enable "--"
#define f_console_symbol_long_disable "++"
-
- #define f_console_symbol_extra_enable "---"
- #define f_console_symbol_extra_disable "+++"
#endif // _di_f_console_symbols_
-// create some standard command line parameter options required by the kevux/fss/fll specifications.
+/**
+ * Create some standard command line parameter options required by the kevux/fss/fll specifications.
+ */
#ifndef _di_f_standard_console_parameters_
#define f_console_standard_short_debug "d"
#define f_console_standard_short_help "h"
#define f_console_standard_long_version "version"
#endif // _di_f_standard_console_parameters_
-// the maximum size for a single parameter (this should be hellishly more than enough)
+/**
+ * The maximum size for a single parameter.
+ */
#ifndef _di_f_console_max_size_
#define f_console_max_size f_string_max_size
#endif // _di_f_console_max_size_
+/**
+ * Provide a default allocation step.
+ *
+ * For a UTF-8 friendly allocation step, set to at least 4.
+ */
#ifndef _di_f_console_default_allocation_step_
- // provide a UTF-8 friendly allocation step.
#define f_console_default_allocation_step 4
#endif // _di_f_console_default_allocation_step_
+
+/**
+ * Provide console type enumerations:
+ *
+ * - none: parameter not found.
+ * - found: parameter found.
+ * - additional: parameter found, extra data exists (such as '-f filename', 'filename' would be the extra data).
+ *
+ * - normal: parameters using minus sign, such as '--help'.
+ * - inverse: parameters using plus sign, such as '++version'.
+ * - other: parameters using neither minus nor plus sign, such as 'build'.
+ */
#ifndef _di_f_console_types_
typedef f_min_u_short f_console_id;
- /**
- * none: parameter not found.
- * found: parameter found.
- * additional: parameter found, extra data exists (such as '-f filename', 'filename' would be the extra data).
- */
enum {
f_console_result_none,
f_console_result_found,
f_console_result_additional,
};
- /**
- * normal: parameters using minus sign, such as '--help'.
- * inverse: parameters using plus sign, such as '++version'.
- * other: parameters using neither minus nor plus sign, such as 'build'.
- */
enum {
f_console_type_normal,
f_console_type_inverse,
};
#endif // _di_f_console_types_
+/**
+ * Provide a structure for describing console parameters for the console processing functions to use.
+ *
+ * The short parameters are will be prepended with either '-' or '+'.
+ * The long parameters are will be prepended with either '--' or '++'.
+ * The other parameters are for any other parameter that has no prepended characters.
+ *
+ * - symbol_short: The single character string, such as 'h' in '-h'.
+ * - symbol_long: The multi-character string, such as 'help' in '--help'.
+ * - symbol_other: The special meaning parameter, such as 'all' in 'make all'.
+ *
+ * - has_additional: Designates that a parameter will have a given number of additional arguments, such as 'blue' in '--color blue'.
+ * - type: One of the f_console_type_* codes, defining how this parameter is to be processed.
+ * - result: A code representing that the parameter was found and how it was found ('-h' vs '--help').
+ * - total: A number representing the total number of times this parameter was found ('-h -h' would result in a total of 2).
+ * - additional: An array of locations representing where in the argv[] the additional arguments are found.
+ */
#ifndef _di_f_console_parameter_
typedef struct {
const char *symbol_short;
const char *symbol_long;
- const char *symbol_extra;
const char *symbol_other;
- const f_bool has_additional;
- const f_u_int type;
- f_u_int result;
+ const uint8_t has_additional;
+ const uint8_t type;
+
+ uint8_t result;
+ uint8_t total;
f_string_lengths additional;
- f_string_length length;
} f_console_parameter;
- #define f_console_parameter_initialize(symbol_short, symbol_long, symbol_extra, symbol_other, has_additional, type_value, length) \
- { symbol_short, symbol_long, symbol_extra, symbol_other, has_additional, type_value, f_console_result_none, f_string_lengths_initialize, length }
+ #define f_console_parameter_initialize(symbol_short, symbol_long, symbol_other, has_additional, type_value) \
+ { symbol_short, symbol_long, symbol_other, has_additional, type_value, f_console_result_none, 0, f_string_lengths_initialize }
#endif // _di_f_console_parameter_
+/**
+ * Determine the type code the given input parameter represents.
+ *
+ * @param input
+ * The input parameter to process.
+ * @param result
+ * The resulting console type code determined by this function.
+ *
+ * @return
+ * f_none on success.
+ * f_no_data the input string is empty.
+ * f_reallocation_error (with error bit) on memory reallocation error.
+ */
#ifndef _di_f_console_identify_
- /**
- * This is used to help standardize a single method of handling command line option parsing.
- * This should allow for every single command line program to use the same form of syntax for command line options.
- */
extern f_return_status f_console_identify(const f_string input, f_console_id *result);
#endif // _di_f_console_identify_
-#ifndef _di_f_console_is_enable_
- /**
- * perform checks against short & long options to see if the string is one of them (normal).
- */
- #define f_console_is_enable(result, string, short_option, long_option, max_length) \
- ((result == f_console_short_enable && strncmp(string, short_option, max_length) == 0) || \
- (result == f_console_long_enable && strncmp(string, long_option, max_length) == 0))
-#endif // _di_f_console_is_enable_
-
-#ifndef _di_f_console_is_disable_
- /**
- * perform checks against short & long options to see if the string is one of them (inverse).
- */
- #define f_console_is_disable(result, string, short_option, long_option, max_length) \
- ((result == f_console_short_disable && strncmp(string, short_option, max_length) == 0) || \
- (result == f_console_long_disable && strncmp(string, long_option, max_length) == 0))
-#endif // _di_f_console_is_disable_
-
-#ifndef _di_f_console_is_extra_enable_
- /**
- * perform checks against extra option to see if the string is one of them (normal).
- */
- #define f_console_is_extra_enable(result, string, extra_option, max_length) \
- (result == f_console_extra_enable && strncmp(string, extra_option, max_length) == 0)
-#endif // _di_f_console_is_extra_enable_
-
-#ifndef _di_f_console_is_extra_disable_
- /**
- * perform checks against extra option to see if the string is one of them (inverse).
- */
- #define f_console_is_extra_disable(result, string, extra_option, max_length) \
- (result == f_console_extra_disable && strncmp(string, extra_option, max_length) == 0)
-#endif // _di_f_console_is_extra_disable_
-
-#ifndef _di_f_console_is_empty_enable_
- /**
- * perform checks against empty options to see if the string is one of them (normal).
- */
- #define f_console_is_empty_enable(result, string) \
- (result == f_console_empty_short_enable || result == f_console_empty_long_enable || result == f_console_empty_extra_enable)
-#endif // _di_f_console_is_empty_enable_
-
-#ifndef _di_f_console_is_empty_disable_
- /**
- * perform checks against empty options to see if the string is one of them (inverse).
- */
- #define f_console_is_empty_disable(result, string) \
- (result == f_console_empty_short_disable || result == f_console_empty_long_disable || result == f_console_empty_extra_disable)
-#endif // _di_f_console_is_empty_disable_
-
#ifdef __cplusplus
} // extern "C"
#endif
*
* Provides datatype re-definitions
* If your compiler lacks the ability to produce such, simply re-define them as needed
- * An "ideal" definition for a standard expected size would be (64-bit):
+ * An "ideal" definition for a standard expected size would be:
* char: 2^8 = 256
- * short: 2^32 = 4294967296
- * int: 2^64 = 1.84467e19
- * long: 2^128 = 3.40282e38
- * long long: 2^256 = 1.15792e77
+ * short: 2^16 = 65536
+ * int: 2^32 = 4294967296
+ * long: 2^64 = 1.84467e19
+ * long long: 2^128 = 3.40282e38
*
* If you need exact size, use one of the following:
- * int8_t: 2^7 (signed)
- * uint8_t: 2^8 (unsigned)
- * int16_t: 2^15 (signed)
- * uint16_t: 2^16 (unsigned)
- * int32_t: 2^31 (signed)
- * uint32_t: 2^32 (unsigned)
- * int64_t: 2^63 (signed)
- * uint64_t: 2^64 (unsigned)
+ * int8_t: 2^7 (8-bit signed)
+ * uint8_t: 2^8 (8-bit unsigned)
+ * int16_t: 2^15 (16-bit signed)
+ * uint16_t: 2^16 (16-bit unsigned)
+ * int32_t: 2^31 (32-bit signed)
+ * uint32_t: 2^32 (32-bit unsigned)
+ * int64_t: 2^63 (64-bit signed)
+ * uint64_t: 2^64 (64-bit unsigned)
*/
#ifndef _F_types_h
#define _F_types_h
f_console_id result = 0;
f_bool found = f_false;
- f_array_length location = 1; // parameter 0 represents the program name so skip it
+ f_array_length location = 1; // Parameter 0 represents the program name so skip it.
f_string_length sub_location = 0;
- f_string_length increments = 0;
+ f_string_length increment_by = 0;
f_string_length string_length = 0;
f_array_length parameter_counter = 0;
- f_string_lengths extra_initiator = f_string_lengths_initialize;
+ f_u_short console_short = f_console_none;
+ f_u_short console_long = f_console_none;
+ f_u_short console_type = f_console_type_normal;
+
+ f_string_lengths needs_additional = f_string_lengths_initialize;
// loop through and read all parameters
while (location < argc) {
// process the current parameter
if (result == f_console_short_enable || result == f_console_short_disable) {
- increments = 1;
+ increment_by = 1;
sub_location = 1;
}
else if (result == f_console_long_enable || result == f_console_long_disable) {
- increments = string_length;
+ increment_by = string_length;
sub_location = 2;
}
- else if (result == f_console_extra_enable || result == f_console_extra_disable) {
- increments = string_length;
- sub_location = 3;
- }
else {
- increments = 1;
+ increment_by = string_length;
sub_location = 0;
}
- // Now handle the normal commands
- if (argv[location][0] == f_console_symbol_enable) {
- if (sub_location < string_length) {
- for (parameter_counter = 0; parameter_counter < total_parameters; parameter_counter++) {
- if (parameters[parameter_counter].type != f_console_type_normal) {
- continue;
- }
-
- if (parameters[parameter_counter].symbol_short != 0 && parameters[parameter_counter].symbol_long != 0) {
- if (f_console_is_enable(result, &argv[location][sub_location], parameters[parameter_counter].symbol_short, parameters[parameter_counter].symbol_long, string_length + 1)) {
- parameters[parameter_counter].result = f_console_result_found;
-
- if (parameters[parameter_counter].has_additional) {
- if (extra_initiator.used >= extra_initiator.size) {
- f_status allocation_status = f_none;
+ // Handle the normal commands.
+ if (result == f_console_short_enable || result == f_console_long_enable) {
+ console_short = f_console_short_enable;
+ console_long = f_console_long_enable;
+ console_type = f_console_type_normal;
+ }
+ else if (result == f_console_short_disable || result == f_console_long_disable) {
+ console_short = f_console_short_disable;
+ console_long = f_console_long_disable;
+ console_type = f_console_type_inverse;
+ }
+ else {
+ console_short = f_console_none;
+ }
- f_resize_string_lengths(allocation_status, extra_initiator, extra_initiator.size + f_console_default_allocation_step);
- if (f_status_is_error(allocation_status)) {
- f_delete_string_lengths(status, extra_initiator);
- return f_status_set_error(allocation_status);
- }
- }
+ // Additional parameters must always follow what requests them.
+ if (needs_additional.used > 0) {
+ parameter_counter = needs_additional.array[0];
- extra_initiator.array[extra_initiator.used] = parameter_counter;
- extra_initiator.used++;
- }
- }
- }
+ if (parameters[parameter_counter].additional.used >= parameters[parameter_counter].additional.size) {
+ f_status allocation_status = f_none;
- if (parameters[parameter_counter].symbol_extra != 0) {
- if (f_console_is_extra_enable(result, &argv[location][sub_location], parameters[parameter_counter].symbol_extra, string_length + 1)) {
- parameters[parameter_counter].result = f_console_result_found;
+ f_resize_string_lengths(allocation_status, parameters[parameter_counter].additional, parameters[parameter_counter].additional.size + f_console_default_allocation_step);
- if (parameters[parameter_counter].has_additional) {
- if (extra_initiator.used >= extra_initiator.size) {
- f_status allocation_status = f_none;
+ if (f_status_is_error(allocation_status)) {
+ f_delete_string_lengths(status, needs_additional);
+ return f_status_set_error(allocation_status);
+ }
+ }
- f_resize_string_lengths(allocation_status, extra_initiator, extra_initiator.size + f_console_default_allocation_step);
+ parameters[parameter_counter].result = f_console_result_additional;
+ parameters[parameter_counter].additional.array[parameters[parameter_counter].additional.used] = location;
+ parameters[parameter_counter].additional.used++;
- if (f_status_is_error(allocation_status)) {
- f_delete_string_lengths(status, extra_initiator);
- return f_status_set_error(allocation_status);
- }
- }
+ needs_additional.used--;
- extra_initiator.array[extra_initiator.used] = parameter_counter;
- extra_initiator.used++;
- }
- }
- }
- } // for
- }
+ // Pop the matched parameter off of the top of the needs_additional array.
+ for (f_string_length i = 0; i < needs_additional.used; i++) {
+ needs_additional.array[i] = needs_additional.array[i + 1];
+ } // for
}
- // now handle the inverse commands
- else if (argv[location][0] == f_console_symbol_disable) {
- if (sub_location < string_length) {
+ else if (console_short > f_console_none) {
+ // The sub_location is used on a per increment basis (such as 'tar -xcf', the '-' would have an increment of 1, therefore x, c, and f would all be three separate parameters).
+ while (sub_location < string_length) {
for (parameter_counter = 0; parameter_counter < total_parameters; parameter_counter++) {
- if (parameters[parameter_counter].type != f_console_type_inverse) {
+ if (parameters[parameter_counter].type != console_type) {
continue;
}
- if (parameters[parameter_counter].symbol_short != 0 && parameters[parameter_counter].symbol_long != 0) {
- if (f_console_is_disable(result, &argv[location][sub_location], parameters[parameter_counter].symbol_short, parameters[parameter_counter].symbol_long, string_length + 1)) {
- parameters[parameter_counter].result = f_console_result_found;
-
- if (parameters[parameter_counter].has_additional) {
- if (extra_initiator.used >= extra_initiator.size) {
- f_status allocation_status = f_none;
-
- f_resize_string_lengths(allocation_status, extra_initiator, extra_initiator.size + f_console_default_allocation_step);
-
- if (f_status_is_error(allocation_status)) {
- f_delete_string_lengths(status, extra_initiator);
- return f_status_set_error(allocation_status);
- }
- }
+ if (result == console_short) {
+ if (parameters[parameter_counter].symbol_short == 0) {
+ continue;
+ }
- extra_initiator.array[extra_initiator.used] = parameter_counter;
- extra_initiator.used++;
- }
+ if (strncmp(&argv[location][sub_location], parameters[parameter_counter].symbol_short, increment_by + 1) != 0) {
+ continue;
}
}
+ else if (result == console_long) {
+ if (parameters[parameter_counter].symbol_long == 0) {
+ continue;
+ }
- if (parameters[parameter_counter].symbol_extra != 0) {
- if (f_console_is_extra_disable(result, &argv[location][sub_location], parameters[parameter_counter].symbol_extra, string_length + 1)) {
- parameters[parameter_counter].result = f_console_result_found;
+ if (strncmp(&argv[location][sub_location], parameters[parameter_counter].symbol_long, increment_by + 1) != 0) {
+ continue;
+ }
+ }
+ else {
+ continue;
+ }
- if (parameters[parameter_counter].has_additional) {
- if (extra_initiator.used >= extra_initiator.size) {
- f_status allocation_status = f_none;
+ parameters[parameter_counter].result = f_console_result_found;
+ parameters[parameter_counter].total++;
- f_resize_string_lengths(allocation_status, extra_initiator, extra_initiator.size + f_console_default_allocation_step);
+ if (parameters[parameter_counter].has_additional) {
+ if (needs_additional.used + parameters[parameter_counter].has_additional > needs_additional.size) {
+ f_status allocation_status = f_none;
- if (f_status_is_error(allocation_status)) {
- f_delete_string_lengths(status, extra_initiator);
- return f_status_set_error(allocation_status);
- }
- }
+ f_resize_string_lengths(allocation_status, needs_additional, needs_additional.used + parameters[parameter_counter].has_additional);
- extra_initiator.array[extra_initiator.used] = parameter_counter;
- extra_initiator.used++;
+ if (f_status_is_error(allocation_status)) {
+ f_delete_string_lengths(status, needs_additional);
+ return f_status_set_error(allocation_status);
}
}
+
+ for (f_array_length additional = 0; additional < parameters[parameter_counter].has_additional; additional++) {
+ needs_additional.array[needs_additional.used] = parameter_counter;
+ needs_additional.used++;
+ } // for
}
+
+ break;
} // for
- }
+
+ sub_location += increment_by;
+ } // while
}
else {
- // use found to determine if the remaining parameter should be populated
found = f_false;
for (parameter_counter = 0; parameter_counter < total_parameters; parameter_counter++) {
continue;
}
- if (parameters[parameter_counter].length > 0 && parameters[parameter_counter].symbol_other != 0) {
- if (strncmp(argv[location], parameters[parameter_counter].symbol_other, parameters[parameter_counter].length + 1) == 0) {
+ if (parameters[parameter_counter].symbol_other == 0) {
+ continue;
+ }
+
+ if (strncmp(argv[location], parameters[parameter_counter].symbol_other, string_length + 1) != 0) {
+ continue;
+ }
+
+ parameters[parameter_counter].result = f_console_result_found;
+ parameters[parameter_counter].total++;
+
+ if (parameters[parameter_counter].has_additional) {
+ if (needs_additional.used + parameters[parameter_counter].has_additional > needs_additional.size) {
f_status allocation_status = f_none;
- if (parameters[parameter_counter].additional.used >= parameters[parameter_counter].additional.size) {
- f_resize_string_lengths(allocation_status, parameters[parameter_counter].additional, parameters[parameter_counter].additional.size + f_console_default_allocation_step);
- }
+ f_resize_string_lengths(allocation_status, needs_additional, needs_additional.used + parameters[parameter_counter].has_additional);
if (f_status_is_error(allocation_status)) {
- f_delete_string_lengths(status, extra_initiator);
+ f_delete_string_lengths(status, needs_additional);
return f_status_set_error(allocation_status);
}
-
- parameters[parameter_counter].result = f_console_result_found;
-
- // when "other" is supplied, the extra will be recycled to represent the location of the "other" such that ordering can be determined by the caller
- parameters[parameter_counter].additional.array[parameters[parameter_counter].additional.used] = location;
- parameters[parameter_counter].additional.used++;
-
- found = f_true;
- break;
}
+
+ for (f_array_length additional = 0; additional < parameters[parameter_counter].has_additional; additional++) {
+ needs_additional.array[needs_additional.used] = parameter_counter;
+ needs_additional.used++;
+ } // for
}
+
+ found = f_true;
+ break;
} // for
if (!found) {
- if (extra_initiator.used > 0) {
+ // populate list of remaining parameters not associated with anything.
+ if (remaining->used >= remaining->size) {
f_status allocation_status = f_none;
- if (parameters[extra_initiator.array[0]].additional.used >= parameters[extra_initiator.array[0]].additional.size) {
- f_resize_string_lengths(allocation_status, parameters[extra_initiator.array[0]].additional, parameters[extra_initiator.array[0]].additional.size + f_console_default_allocation_step);
- }
+ f_resize_string_lengths(allocation_status, (*remaining), remaining->size + f_console_default_allocation_step);
if (f_status_is_error(allocation_status)) {
- f_delete_string_lengths(status, extra_initiator);
+ f_delete_string_lengths(status, needs_additional);
return f_status_set_error(allocation_status);
}
-
- parameters[extra_initiator.array[0]].result = f_console_result_additional;
- parameters[extra_initiator.array[0]].additional.array[parameters[extra_initiator.array[0]].additional.used] = location;
- parameters[extra_initiator.array[0]].additional.used++;
-
- extra_initiator.used--;
-
- f_string_length i = 0;
-
- for (; i < extra_initiator.used; i++) {
- extra_initiator.array[i] = extra_initiator.array[i + 1];
- } // for
}
- else {
- if (remaining->used >= remaining->size) {
- f_status allocation_status = f_none;
-
- f_resize_string_lengths(allocation_status, (*remaining), remaining->size + f_console_default_allocation_step);
-
- if (f_status_is_error(allocation_status)) {
- f_delete_string_lengths(status, extra_initiator);
- return f_status_set_error(allocation_status);
- }
- }
- remaining->array[remaining->used] = location;
- remaining->used++;
- }
+ remaining->array[remaining->used] = location;
+ remaining->used++;
}
}
- ++location;
+ location++;
} // while
- if (extra_initiator.used > 0) {
+ if (needs_additional.used > 0) {
status = f_no_data;
}
else {
{
f_status allocation_status = f_none;
- f_delete_string_lengths(allocation_status, extra_initiator);
+ f_delete_string_lengths(allocation_status, needs_additional);
}
return status;
/**
* Process console parameters.
*
+ * Short parameters are processed as follows:
+ * - Begin with either '-' or '+'.
+ * - "Empty" parameters are allow, such that '-' or '+' are valid parameters.
+ * - Are one character long.
+ * - May be grouped as a single parameter, such as "tar -xcf" and "tar -x -c -f" are equivalent.
+ * - Additional parameters must immediately follow the parameter or grouped parameters, such as "tar -xfc file.tar.gz" or "tar -x -f file.tar.gz -c".
+ *
+ * Long parameters are processed as follows:
+ * - Begin with either '--' or '++'.
+ * - "Empty" parameters are allow, such that '--' or '++' are valid parameters.
+ * - Are any length long so long as it is less than f_console_max_size.
+ * - May not be grouped and must be separated from any subsequent parameter, such as: "tar --extract --create --file".
+ * - Additional parameters must immediately follow the parameter, such as "tar --extract --file file.tar.gz --create".
+ *
+ * Other parameters are processed as follows:
+ * - Anything that does not begin with '-', '+', '--', or '++'.
+ * - Are any length long so long as it is less than f_console_max_size.
+ * - May not be grouped and must be separated from any subsequent parameter, such as: "tar extract create file".
+ * - Additional parameters must immediately follow the parameter, such as "tar extract file file.tar.gz create".
+ *
+ * The UTF-8 BOM is not allowed in the parameters.
+ *
* @param argc
* The number of parameters passed to the process.
* @param argv
*
* @return
* f_none on success.
- * f_no_data if no "extra" parameters were found.
+ * f_no_data if "additional" parameters were expected but not found.
* f_invalid_parameter (with error bit) if a parameter is invalid.
* f_reallocation_error (with error bit) on memory reallocation error.
*/
#define firewall_command_lock "lock"
#define firewall_command_show "show"
- #define firewall_command_start_length 5
- #define firewall_command_stop_length 4
- #define firewall_command_restart_length 7
- #define firewall_command_lock_length 4
- #define firewall_command_show_length 4
-
#define firewall_ip_list "ip_list"
#define firewall_ip_list_source "source"
#define firewall_ip_list_source_action "-s"
#ifdef _en_firewall_debug_
#define f_console_parameter_initialize_firewall \
{ \
- f_console_parameter_initialize(f_console_standard_short_help, f_console_standard_long_help, 0, 0, f_false, f_console_type_normal, 0), \
- f_console_parameter_initialize(f_console_standard_short_light, f_console_standard_long_light, 0, 0, f_false, f_console_type_inverse, 0), \
- f_console_parameter_initialize(f_console_standard_short_no_color, f_console_standard_long_no_color, 0, 0, f_false, f_console_type_inverse, 0), \
- f_console_parameter_initialize(f_console_standard_short_version, f_console_standard_long_version, 0, 0, f_false, f_console_type_inverse, 0), \
- f_console_parameter_initialize(f_console_standard_short_debug, f_console_standard_long_debug, 0, 0, f_false, f_console_type_inverse, 0), \
- f_console_parameter_initialize(0, 0, 0, firewall_command_start, f_false, f_console_type_other, firewall_command_start_length), \
- f_console_parameter_initialize(0, 0, 0, firewall_command_stop, f_false, f_console_type_other, firewall_command_stop_length), \
- f_console_parameter_initialize(0, 0, 0, firewall_command_restart, f_false, f_console_type_other, firewall_command_restart_length), \
- f_console_parameter_initialize(0, 0, 0, firewall_command_lock, f_false, f_console_type_other, firewall_command_lock_length), \
- f_console_parameter_initialize(0, 0, 0, firewall_command_show, f_false, f_console_type_other, firewall_command_show_length), \
+ f_console_parameter_initialize(f_console_standard_short_help, f_console_standard_long_help, 0, f_false, f_console_type_normal), \
+ f_console_parameter_initialize(f_console_standard_short_light, f_console_standard_long_light, 0, f_false, f_console_type_inverse), \
+ f_console_parameter_initialize(f_console_standard_short_no_color, f_console_standard_long_no_color, 0, f_false, f_console_type_inverse), \
+ f_console_parameter_initialize(f_console_standard_short_version, f_console_standard_long_version, 0, f_false, f_console_type_inverse), \
+ f_console_parameter_initialize(f_console_standard_short_debug, f_console_standard_long_debug, 0, f_false, f_console_type_inverse), \
+ f_console_parameter_initialize(0, 0, firewall_command_start, f_false, f_console_type_other), \
+ f_console_parameter_initialize(0, 0, firewall_command_stop, f_false, f_console_type_other), \
+ f_console_parameter_initialize(0, 0, firewall_command_restart, f_false, f_console_type_other), \
+ f_console_parameter_initialize(0, 0, firewall_command_lock, f_false, f_console_type_other), \
+ f_console_parameter_initialize(0, 0, firewall_command_show, f_false, f_console_type_other), \
}
#define firewall_total_parameters 10
#else
#define f_console_parameter_initialize_firewall \
{ \
- f_console_parameter_initialize(f_console_standard_short_help, f_console_standard_long_help, 0, 0, f_false, f_console_type_normal, 0), \
- f_console_parameter_initialize(f_console_standard_short_light, f_console_standard_long_light, 0, 0, f_false, f_console_type_inverse, 0), \
- f_console_parameter_initialize(f_console_standard_short_no_color, f_console_standard_long_no_color, 0, 0, f_false, f_console_type_inverse, 0), \
- f_console_parameter_initialize(f_console_standard_short_version, f_console_standard_long_version, 0, 0, f_false, f_console_type_inverse, 0), \
- f_console_parameter_initialize(0, 0, 0, firewall_command_start, f_false, f_console_type_other, firewall_command_start_length), \
- f_console_parameter_initialize(0, 0, 0, firewall_command_stop, f_false, f_console_type_other, firewall_command_stop_length), \
- f_console_parameter_initialize(0, 0, 0, firewall_command_restart, f_false, f_console_type_other, firewall_command_restart_length), \
- f_console_parameter_initialize(0, 0, 0, firewall_command_lock, f_false, f_console_type_other, firewall_command_lock_length), \
- f_console_parameter_initialize(0, 0, 0, firewall_command_show, f_false, f_console_type_other, firewall_command_show_length), \
+ f_console_parameter_initialize(f_console_standard_short_help, f_console_standard_long_help, 0, f_false, f_console_type_normal), \
+ f_console_parameter_initialize(f_console_standard_short_light, f_console_standard_long_light, 0, f_false, f_console_type_inverse), \
+ f_console_parameter_initialize(f_console_standard_short_no_color, f_console_standard_long_no_color, 0, f_false, f_console_type_inverse), \
+ f_console_parameter_initialize(f_console_standard_short_version, f_console_standard_long_version, 0, f_false, f_console_type_inverse), \
+ f_console_parameter_initialize(0, 0, firewall_command_start, f_false, f_console_type_other), \
+ f_console_parameter_initialize(0, 0, firewall_command_stop, f_false, f_console_type_other), \
+ f_console_parameter_initialize(0, 0, firewall_command_restart, f_false, f_console_type_other), \
+ f_console_parameter_initialize(0, 0, firewall_command_lock, f_false, f_console_type_other), \
+ f_console_parameter_initialize(0, 0, firewall_command_show, f_false, f_console_type_other), \
}
#define firewall_total_parameters 9
#define f_console_parameter_initialize_fss_basic_list_read \
{ \
- f_console_parameter_initialize(f_console_standard_short_help, f_console_standard_long_help, 0, 0, f_false, f_console_type_normal, 0), \
- f_console_parameter_initialize(f_console_standard_short_light, f_console_standard_long_light, 0, 0, f_false, f_console_type_inverse, 0), \
- f_console_parameter_initialize(f_console_standard_short_no_color, f_console_standard_long_no_color, 0, 0, f_false, f_console_type_inverse, 0), \
- f_console_parameter_initialize(f_console_standard_short_version, f_console_standard_long_version, 0, 0, f_false, f_console_type_inverse, 0), \
- f_console_parameter_initialize(fss_basic_list_read_short_name, fss_basic_list_read_long_name, 0, 0, f_true, f_console_type_normal, 0), \
- f_console_parameter_initialize(fss_basic_list_read_short_count, fss_basic_list_read_long_count, 0, 0, f_true, f_console_type_normal, 0), \
- f_console_parameter_initialize(fss_basic_list_read_short_total, fss_basic_list_read_long_total, 0, 0, f_false, f_console_type_normal, 0), \
- f_console_parameter_initialize(fss_basic_list_read_short_object, fss_basic_list_read_long_object, 0, 0, f_false, f_console_type_normal, 0), \
- f_console_parameter_initialize(fss_basic_list_read_short_size, fss_basic_list_read_long_size, 0, 0, f_false, f_console_type_normal, 0), \
- f_console_parameter_initialize(fss_basic_list_read_short_line, fss_basic_list_read_long_line, 0, 0, f_true, f_console_type_normal, 0), \
+ f_console_parameter_initialize(f_console_standard_short_help, f_console_standard_long_help, 0, f_false, f_console_type_normal), \
+ f_console_parameter_initialize(f_console_standard_short_light, f_console_standard_long_light, 0, f_false, f_console_type_inverse), \
+ f_console_parameter_initialize(f_console_standard_short_no_color, f_console_standard_long_no_color, 0, f_false, f_console_type_inverse), \
+ f_console_parameter_initialize(f_console_standard_short_version, f_console_standard_long_version, 0, f_false, f_console_type_inverse), \
+ f_console_parameter_initialize(fss_basic_list_read_short_name, fss_basic_list_read_long_name, 0, f_true, f_console_type_normal), \
+ f_console_parameter_initialize(fss_basic_list_read_short_count, fss_basic_list_read_long_count, 0, f_true, f_console_type_normal), \
+ f_console_parameter_initialize(fss_basic_list_read_short_total, fss_basic_list_read_long_total, 0, f_false, f_console_type_normal), \
+ f_console_parameter_initialize(fss_basic_list_read_short_object, fss_basic_list_read_long_object, 0, f_false, f_console_type_normal), \
+ f_console_parameter_initialize(fss_basic_list_read_short_size, fss_basic_list_read_long_size, 0, f_false, f_console_type_normal), \
+ f_console_parameter_initialize(fss_basic_list_read_short_line, fss_basic_list_read_long_line, 0, f_true, f_console_type_normal), \
}
#define fss_basic_list_read_total_parameters 10
#define f_console_parameter_initialize_fss_basic_list_write \
{ \
- f_console_parameter_initialize(f_console_standard_short_help, f_console_standard_long_help, 0, 0, f_false, f_console_type_normal, 0), \
- f_console_parameter_initialize(f_console_standard_short_light, f_console_standard_long_light, 0, 0, f_false, f_console_type_inverse, 0), \
- f_console_parameter_initialize(f_console_standard_short_no_color, f_console_standard_long_no_color, 0, 0, f_false, f_console_type_inverse, 0), \
- f_console_parameter_initialize(f_console_standard_short_version, f_console_standard_long_version, 0, 0, f_false, f_console_type_inverse, 0), \
- f_console_parameter_initialize(fss_basic_list_write_short_object, fss_basic_list_write_long_object, 0, 0, f_false, f_console_type_normal, 0), \
- f_console_parameter_initialize(fss_basic_list_write_short_file, fss_basic_list_write_long_file, 0, 0, f_true, f_console_type_normal, 0), \
- f_console_parameter_initialize(fss_basic_list_write_short_string, fss_basic_list_write_long_string, 0, 0, f_true, f_console_type_normal, 0), \
+ f_console_parameter_initialize(f_console_standard_short_help, f_console_standard_long_help, 0, f_false, f_console_type_normal), \
+ f_console_parameter_initialize(f_console_standard_short_light, f_console_standard_long_light, 0, f_false, f_console_type_inverse), \
+ f_console_parameter_initialize(f_console_standard_short_no_color, f_console_standard_long_no_color, 0, f_false, f_console_type_inverse), \
+ f_console_parameter_initialize(f_console_standard_short_version, f_console_standard_long_version, 0, f_false, f_console_type_inverse), \
+ f_console_parameter_initialize(fss_basic_list_write_short_object, fss_basic_list_write_long_object, 0, f_false, f_console_type_normal), \
+ f_console_parameter_initialize(fss_basic_list_write_short_file, fss_basic_list_write_long_file, 0, f_true, f_console_type_normal), \
+ f_console_parameter_initialize(fss_basic_list_write_short_string, fss_basic_list_write_long_string, 0, f_true, f_console_type_normal), \
}
#define fss_basic_list_write_total_parameters 7
#define f_console_parameter_initialize_fss_basic_read \
{ \
- f_console_parameter_initialize(f_console_standard_short_help, f_console_standard_long_help, 0, 0, f_false, f_console_type_normal, 0), \
- f_console_parameter_initialize(f_console_standard_short_light, f_console_standard_long_light, 0, 0, f_false, f_console_type_inverse, 0), \
- f_console_parameter_initialize(f_console_standard_short_no_color, f_console_standard_long_no_color, 0, 0, f_false, f_console_type_inverse, 0), \
- f_console_parameter_initialize(f_console_standard_short_version, f_console_standard_long_version, 0, 0, f_false, f_console_type_inverse, 0), \
- f_console_parameter_initialize(fss_basic_read_short_name, fss_basic_read_long_name, 0, 0, f_true, f_console_type_normal, 0), \
- f_console_parameter_initialize(fss_basic_read_short_count, fss_basic_read_long_count, 0, 0, f_true, f_console_type_normal, 0), \
- f_console_parameter_initialize(fss_basic_read_short_total, fss_basic_read_long_total, 0, 0, f_false, f_console_type_normal, 0), \
- f_console_parameter_initialize(fss_basic_read_short_object, fss_basic_read_long_object, 0, 0, f_false, f_console_type_normal, 0), \
+ f_console_parameter_initialize(f_console_standard_short_help, f_console_standard_long_help, 0, f_false, f_console_type_normal), \
+ f_console_parameter_initialize(f_console_standard_short_light, f_console_standard_long_light, 0, f_false, f_console_type_inverse), \
+ f_console_parameter_initialize(f_console_standard_short_no_color, f_console_standard_long_no_color, 0, f_false, f_console_type_inverse), \
+ f_console_parameter_initialize(f_console_standard_short_version, f_console_standard_long_version, 0, f_false, f_console_type_inverse), \
+ f_console_parameter_initialize(fss_basic_read_short_name, fss_basic_read_long_name, 0, f_true, f_console_type_normal), \
+ f_console_parameter_initialize(fss_basic_read_short_count, fss_basic_read_long_count, 0, f_true, f_console_type_normal), \
+ f_console_parameter_initialize(fss_basic_read_short_total, fss_basic_read_long_total, 0, f_false, f_console_type_normal), \
+ f_console_parameter_initialize(fss_basic_read_short_object, fss_basic_read_long_object, 0, f_false, f_console_type_normal), \
}
#define fss_basic_read_total_parameters 8
#define f_console_parameter_initialize_fss_basic_write \
{ \
- f_console_parameter_initialize(f_console_standard_short_help, f_console_standard_long_help, 0, 0, f_false, f_console_type_normal, 0), \
- f_console_parameter_initialize(f_console_standard_short_light, f_console_standard_long_light, 0, 0, f_false, f_console_type_inverse, 0), \
- f_console_parameter_initialize(f_console_standard_short_no_color, f_console_standard_long_no_color, 0, 0, f_false, f_console_type_inverse, 0), \
- f_console_parameter_initialize(f_console_standard_short_version, f_console_standard_long_version, 0, 0, f_false, f_console_type_inverse, 0), \
- f_console_parameter_initialize(fss_basic_write_short_object, fss_basic_write_long_object, 0, 0, f_false, f_console_type_normal, 0), \
- f_console_parameter_initialize(fss_basic_write_short_file, fss_basic_write_long_file, 0, 0, f_true, f_console_type_normal, 0), \
- f_console_parameter_initialize(fss_basic_write_short_string, fss_basic_write_long_string, 0, 0, f_true, f_console_type_normal, 0), \
+ f_console_parameter_initialize(f_console_standard_short_help, f_console_standard_long_help, 0, f_false, f_console_type_normal), \
+ f_console_parameter_initialize(f_console_standard_short_light, f_console_standard_long_light, 0, f_false, f_console_type_inverse), \
+ f_console_parameter_initialize(f_console_standard_short_no_color, f_console_standard_long_no_color, 0, f_false, f_console_type_inverse), \
+ f_console_parameter_initialize(f_console_standard_short_version, f_console_standard_long_version, 0, f_false, f_console_type_inverse), \
+ f_console_parameter_initialize(fss_basic_write_short_object, fss_basic_write_long_object, 0, f_false, f_console_type_normal), \
+ f_console_parameter_initialize(fss_basic_write_short_file, fss_basic_write_long_file, 0, f_true, f_console_type_normal), \
+ f_console_parameter_initialize(fss_basic_write_short_string, fss_basic_write_long_string, 0, f_true, f_console_type_normal), \
}
#define fss_basic_write_total_parameters 7
#define f_console_parameter_initialize_fss_extended_read \
{ \
- f_console_parameter_initialize(f_console_standard_short_help, f_console_standard_long_help, 0, 0, f_false, f_console_type_normal, 0), \
- f_console_parameter_initialize(f_console_standard_short_light, f_console_standard_long_light, 0, 0, f_false, f_console_type_inverse, 0), \
- f_console_parameter_initialize(f_console_standard_short_no_color, f_console_standard_long_no_color, 0, 0, f_false, f_console_type_inverse, 0), \
- f_console_parameter_initialize(f_console_standard_short_version, f_console_standard_long_version, 0, 0, f_false, f_console_type_inverse, 0), \
- f_console_parameter_initialize(fss_extended_read_short_name, fss_extended_read_long_name, 0, 0, f_true, f_console_type_normal, 0), \
- f_console_parameter_initialize(fss_extended_read_short_count, fss_extended_read_long_count, 0, 0, f_true, f_console_type_normal, 0), \
- f_console_parameter_initialize(fss_extended_read_short_total, fss_extended_read_long_total, 0, 0, f_false, f_console_type_normal, 0), \
- f_console_parameter_initialize(fss_extended_read_short_object, fss_extended_read_long_object, 0, 0, f_false, f_console_type_normal, 0), \
- f_console_parameter_initialize(fss_extended_read_short_select, fss_extended_read_long_select, 0, 0, f_true, f_console_type_normal, 0), \
+ f_console_parameter_initialize(f_console_standard_short_help, f_console_standard_long_help, 0, f_false, f_console_type_normal), \
+ f_console_parameter_initialize(f_console_standard_short_light, f_console_standard_long_light, 0, f_false, f_console_type_inverse), \
+ f_console_parameter_initialize(f_console_standard_short_no_color, f_console_standard_long_no_color, 0, f_false, f_console_type_inverse), \
+ f_console_parameter_initialize(f_console_standard_short_version, f_console_standard_long_version, 0, f_false, f_console_type_inverse), \
+ f_console_parameter_initialize(fss_extended_read_short_name, fss_extended_read_long_name, 0, f_true, f_console_type_normal), \
+ f_console_parameter_initialize(fss_extended_read_short_count, fss_extended_read_long_count, 0, f_true, f_console_type_normal), \
+ f_console_parameter_initialize(fss_extended_read_short_total, fss_extended_read_long_total, 0, f_false, f_console_type_normal), \
+ f_console_parameter_initialize(fss_extended_read_short_object, fss_extended_read_long_object, 0, f_false, f_console_type_normal), \
+ f_console_parameter_initialize(fss_extended_read_short_select, fss_extended_read_long_select, 0, f_true, f_console_type_normal), \
}
#define fss_extended_read_total_parameters 9
#define f_console_parameter_initialize_fss_extended_write \
{ \
- f_console_parameter_initialize(f_console_standard_short_help, f_console_standard_long_help, 0, 0, f_false, f_console_type_normal, 0), \
- f_console_parameter_initialize(f_console_standard_short_light, f_console_standard_long_light, 0, 0, f_false, f_console_type_inverse, 0), \
- f_console_parameter_initialize(f_console_standard_short_no_color, f_console_standard_long_no_color, 0, 0, f_false, f_console_type_inverse, 0), \
- f_console_parameter_initialize(f_console_standard_short_version, f_console_standard_long_version, 0, 0, f_false, f_console_type_inverse, 0), \
- f_console_parameter_initialize(fss_extended_write_short_object, fss_extended_write_long_object, 0, 0, f_false, f_console_type_normal, 0), \
- f_console_parameter_initialize(fss_extended_write_short_file, fss_extended_write_long_file, 0, 0, f_true, f_console_type_normal, 0), \
- f_console_parameter_initialize(fss_extended_write_short_string, fss_extended_write_long_string, 0, 0, f_true, f_console_type_normal, 0), \
- f_console_parameter_initialize(fss_extended_write_short_partial, fss_extended_write_long_partial, 0, 0, f_false, f_console_type_normal, 0), \
+ f_console_parameter_initialize(f_console_standard_short_help, f_console_standard_long_help, 0, f_false, f_console_type_normal), \
+ f_console_parameter_initialize(f_console_standard_short_light, f_console_standard_long_light, 0, f_false, f_console_type_inverse), \
+ f_console_parameter_initialize(f_console_standard_short_no_color, f_console_standard_long_no_color, 0, f_false, f_console_type_inverse), \
+ f_console_parameter_initialize(f_console_standard_short_version, f_console_standard_long_version, 0, f_false, f_console_type_inverse), \
+ f_console_parameter_initialize(fss_extended_write_short_object, fss_extended_write_long_object, 0, f_false, f_console_type_normal), \
+ f_console_parameter_initialize(fss_extended_write_short_file, fss_extended_write_long_file, 0, f_true, f_console_type_normal), \
+ f_console_parameter_initialize(fss_extended_write_short_string, fss_extended_write_long_string, 0, f_true, f_console_type_normal), \
+ f_console_parameter_initialize(fss_extended_write_short_partial, fss_extended_write_long_partial, 0, f_false, f_console_type_normal), \
}
#define fss_extended_write_total_parameters 8
#define f_console_parameter_initialize_fss_status_code \
{ \
- f_console_parameter_initialize(f_console_standard_short_help, f_console_standard_long_help, 0, 0, f_false, f_console_type_normal, 0), \
- f_console_parameter_initialize(f_console_standard_short_light, f_console_standard_long_light, 0, 0, f_false, f_console_type_inverse, 0), \
- f_console_parameter_initialize(f_console_standard_short_no_color, f_console_standard_long_no_color, 0, 0, f_false, f_console_type_inverse, 0), \
- f_console_parameter_initialize(f_console_standard_short_version, f_console_standard_long_version, 0, 0, f_false, f_console_type_inverse, 0), \
- f_console_parameter_initialize(fss_status_code_short_is_fine, fss_status_code_long_is_fine, 0, 0, f_false, f_console_type_normal, 0), \
- f_console_parameter_initialize(fss_status_code_short_is_warning, fss_status_code_long_is_warning, 0, 0, f_false, f_console_type_normal, 0), \
- f_console_parameter_initialize(fss_status_code_short_is_error, fss_status_code_long_is_error, 0, 0, f_false, f_console_type_normal, 0), \
- f_console_parameter_initialize(fss_status_code_short_context, fss_status_code_long_context, 0, 0, f_false, f_console_type_normal, 0), \
- f_console_parameter_initialize(fss_status_code_short_number, fss_status_code_long_number, 0, 0, f_false, f_console_type_normal, 0), \
+ f_console_parameter_initialize(f_console_standard_short_help, f_console_standard_long_help, 0, f_false, f_console_type_normal), \
+ f_console_parameter_initialize(f_console_standard_short_light, f_console_standard_long_light, 0, f_false, f_console_type_inverse), \
+ f_console_parameter_initialize(f_console_standard_short_no_color, f_console_standard_long_no_color, 0, f_false, f_console_type_inverse), \
+ f_console_parameter_initialize(f_console_standard_short_version, f_console_standard_long_version, 0, f_false, f_console_type_inverse), \
+ f_console_parameter_initialize(fss_status_code_short_is_fine, fss_status_code_long_is_fine, 0, f_false, f_console_type_normal), \
+ f_console_parameter_initialize(fss_status_code_short_is_warning, fss_status_code_long_is_warning, 0, f_false, f_console_type_normal), \
+ f_console_parameter_initialize(fss_status_code_short_is_error, fss_status_code_long_is_error, 0, f_false, f_console_type_normal), \
+ f_console_parameter_initialize(fss_status_code_short_context, fss_status_code_long_context, 0, f_false, f_console_type_normal), \
+ f_console_parameter_initialize(fss_status_code_short_number, fss_status_code_long_number, 0, f_false, f_console_type_normal), \
}
#define fss_status_code_total_parameters 9
#ifdef _en_init_debug_
#define f_console_parameter_initialize_init \
{ \
- f_console_parameter_initialize(f_console_standard_short_help, f_console_standard_long_help, 0, 0, f_false, f_console_type_normal, 0), \
- f_console_parameter_initialize(f_console_standard_short_light, f_console_standard_long_light, 0, 0, f_false, f_console_type_inverse, 0), \
- f_console_parameter_initialize(f_console_standard_short_no_color, f_console_standard_long_no_color, 0, 0, f_false, f_console_type_inverse, 0), \
- f_console_parameter_initialize(f_console_standard_short_version, f_console_standard_long_version, 0, 0, f_false, f_console_type_inverse, 0), \
- f_console_parameter_initialize(f_console_standard_short_debug, f_console_standard_long_debug, 0, 0, f_false, f_console_type_inverse, 0), \
- f_console_parameter_initialize(init_parameter_runlevel_short_name, init_parameter_runlevel_long_name, 0, 0, f_true, f_console_type_normal, 0), \
- f_console_parameter_initialize(init_parameter_no_prepare_short_name, init_parameter_no_prepare_long_name, 0, 0, f_true, f_console_type_normal, 0), \
+ f_console_parameter_initialize(f_console_standard_short_help, f_console_standard_long_help, 0, f_false, f_console_type_normal), \
+ f_console_parameter_initialize(f_console_standard_short_light, f_console_standard_long_light, 0, f_false, f_console_type_inverse), \
+ f_console_parameter_initialize(f_console_standard_short_no_color, f_console_standard_long_no_color, 0, f_false, f_console_type_inverse), \
+ f_console_parameter_initialize(f_console_standard_short_version, f_console_standard_long_version, 0, f_false, f_console_type_inverse), \
+ f_console_parameter_initialize(f_console_standard_short_debug, f_console_standard_long_debug, 0, f_false, f_console_type_inverse), \
+ f_console_parameter_initialize(init_parameter_runlevel_short_name, init_parameter_runlevel_long_name, 0, f_true, f_console_type_normal), \
+ f_console_parameter_initialize(init_parameter_no_prepare_short_name, init_parameter_no_prepare_long_name, 0, f_true, f_console_type_normal), \
}
#define init_total_parameters 7
#else
#define f_console_parameter_initialize_init \
{ \
- f_console_parameter_initialize(f_console_standard_short_help, f_console_standard_long_help, 0, 0, f_false, f_console_type_normal, 0), \
- f_console_parameter_initialize(f_console_standard_short_light, f_console_standard_long_light, 0, 0, f_false, f_console_type_inverse, 0), \
- f_console_parameter_initialize(f_console_standard_short_no_color, f_console_standard_long_no_color, 0, 0, f_false, f_console_type_inverse, 0), \
- f_console_parameter_initialize(f_console_standard_short_version, f_console_standard_long_version, 0, 0, f_false, f_console_type_inverse, 0), \
- f_console_parameter_initialize(init_parameter_runlevel_short_name, init_parameter_runlevel_long_name, 0, 0, f_true, f_console_type_normal, 0), \
- f_console_parameter_initialize(init_parameter_no_prepare_short_name, init_parameter_no_prepare_long_name, 0, 0, f_true, f_console_type_normal, 0), \
+ f_console_parameter_initialize(f_console_standard_short_help, f_console_standard_long_help, 0, f_false, f_console_type_normal), \
+ f_console_parameter_initialize(f_console_standard_short_light, f_console_standard_long_light, 0, f_false, f_console_type_inverse), \
+ f_console_parameter_initialize(f_console_standard_short_no_color, f_console_standard_long_no_color, 0, f_false, f_console_type_inverse), \
+ f_console_parameter_initialize(f_console_standard_short_version, f_console_standard_long_version, 0, f_false, f_console_type_inverse), \
+ f_console_parameter_initialize(init_parameter_runlevel_short_name, init_parameter_runlevel_long_name, 0, f_true, f_console_type_normal), \
+ f_console_parameter_initialize(init_parameter_no_prepare_short_name, init_parameter_no_prepare_long_name, 0, f_true, f_console_type_normal), \
}
#define init_total_parameters 6
#define f_console_parameter_initialize_status_code \
{ \
- f_console_parameter_initialize(f_console_standard_short_help, f_console_standard_long_help, 0, 0, f_false, f_console_type_normal, 0), \
- f_console_parameter_initialize(f_console_standard_short_light, f_console_standard_long_light, 0, 0, f_false, f_console_type_inverse, 0), \
- f_console_parameter_initialize(f_console_standard_short_no_color, f_console_standard_long_no_color, 0, 0, f_false, f_console_type_inverse, 0), \
- f_console_parameter_initialize(f_console_standard_short_version, f_console_standard_long_version, 0, 0, f_false, f_console_type_inverse, 0), \
- f_console_parameter_initialize(status_code_short_is_fine, status_code_long_is_fine, 0, 0, f_false, f_console_type_normal, 0), \
- f_console_parameter_initialize(status_code_short_is_warning, status_code_long_is_warning, 0, 0, f_false, f_console_type_normal, 0), \
- f_console_parameter_initialize(status_code_short_is_error, status_code_long_is_error, 0, 0, f_false, f_console_type_normal, 0), \
- f_console_parameter_initialize(status_code_short_context, status_code_long_context, 0, 0, f_false, f_console_type_normal, 0), \
- f_console_parameter_initialize(status_code_short_number, status_code_long_number, 0, 0, f_false, f_console_type_normal, 0), \
+ f_console_parameter_initialize(f_console_standard_short_help, f_console_standard_long_help, 0, f_false, f_console_type_normal), \
+ f_console_parameter_initialize(f_console_standard_short_light, f_console_standard_long_light, 0, f_false, f_console_type_inverse), \
+ f_console_parameter_initialize(f_console_standard_short_no_color, f_console_standard_long_no_color, 0, f_false, f_console_type_inverse), \
+ f_console_parameter_initialize(f_console_standard_short_version, f_console_standard_long_version, 0, f_false, f_console_type_inverse), \
+ f_console_parameter_initialize(status_code_short_is_fine, status_code_long_is_fine, 0, f_false, f_console_type_normal), \
+ f_console_parameter_initialize(status_code_short_is_warning, status_code_long_is_warning, 0, f_false, f_console_type_normal), \
+ f_console_parameter_initialize(status_code_short_is_error, status_code_long_is_error, 0, f_false, f_console_type_normal), \
+ f_console_parameter_initialize(status_code_short_context, status_code_long_context, 0, f_false, f_console_type_normal), \
+ f_console_parameter_initialize(status_code_short_number, status_code_long_number, 0, f_false, f_console_type_normal), \
}
#define status_code_total_parameters 9