The "return codes" were originally intended to be literal return codes.
When the error codes were converted to have error bits, warning bits, and signal bits, this no longer became the case.
Refactor return_code into status_code to be more accurate.
+++ /dev/null
-/**
- * FLL - Level 3
- *
- * Project: FSS
- * API Version: 0.5
- * Licenses: lgplv2.1
- *
- * This program provides error code to string translation.
- */
-#ifndef _fss_return_code_h
-
-// libc includes
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-// fll-0 includes
-#include <level_0/console.h>
-#include <level_0/pipe.h>
-#include <level_0/print.h>
-#include <level_0/strings.h>
-#include <level_0/types.h>
-
-// fll-1 includes
-#include <level_1/colors.h>
-#include <level_1/console.h>
-#include <level_1/errors.h>
-#include <level_1/program.h>
-#include <level_1/strings.h>
-
-// fll-2 includes
-#include <level_2/colors.h>
-#include <level_2/errors.h>
-#include <level_2/fss_errors.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#ifndef _di_fss_return_code_version_
- #define fss_return_code_major_version "0"
- #define fss_return_code_minor_version "5"
- #define fss_return_code_micro_version "0"
- #define fss_return_code_version fss_return_code_major_version "." fss_return_code_minor_version "." fss_return_code_micro_version
-#endif // _di_fss_return_code_version_
-
-#ifndef _di_fss_return_code_name_
- #define fss_return_code_name "fss_return_code"
- #define fss_return_code_name_long "FSS Return Code"
-#endif // _di_fss_return_code_name_
-
-#ifndef _di_fss_return_code_defines_
- #define fss_return_code_short_is_fine "f"
- #define fss_return_code_short_is_warning "w"
- #define fss_return_code_short_is_error "e"
- #define fss_return_code_short_context "c"
- #define fss_return_code_short_number "n"
-
- #define fss_return_code_long_is_fine "is_fine"
- #define fss_return_code_long_is_warning "is_warning"
- #define fss_return_code_long_is_error "is_error"
- #define fss_return_code_long_context "context"
- #define fss_return_code_long_number "number"
-
- enum {
- fss_return_code_parameter_help,
- fss_return_code_parameter_light,
- fss_return_code_parameter_no_color,
- fss_return_code_parameter_version,
-
- fss_return_code_parameter_is_fine,
- fss_return_code_parameter_is_warning,
- fss_return_code_parameter_is_error,
- fss_return_code_parameter_context,
- fss_return_code_parameter_number,
- };
-
- #define f_console_parameter_initialize_fss_return_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_return_code_short_is_fine, fss_return_code_long_is_fine, 0, 0, f_false, f_console_type_normal, 0), \
- f_console_parameter_initialize(fss_return_code_short_is_warning, fss_return_code_long_is_warning, 0, 0, f_false, f_console_type_normal, 0), \
- f_console_parameter_initialize(fss_return_code_short_is_error, fss_return_code_long_is_error, 0, 0, f_false, f_console_type_normal, 0), \
- f_console_parameter_initialize(fss_return_code_short_context, fss_return_code_long_context, 0, 0, f_false, f_console_type_normal, 0), \
- f_console_parameter_initialize(fss_return_code_short_number, fss_return_code_long_number, 0, 0, f_false, f_console_type_normal, 0), \
- }
-
- #define fss_return_code_total_parameters 9
-#endif // _di_fss_return_code_defines_
-
-#ifndef _di_fss_return_code_data_
- typedef struct {
- f_console_parameter parameters[fss_return_code_total_parameters];
-
- f_string_lengths remaining;
- f_bool process_pipe;
-
- fl_color_context context;
- } fss_return_code_data;
-
- #define fss_return_code_data_initialize \
- { \
- f_console_parameter_initialize_fss_return_code, \
- f_string_lengths_initialize, \
- f_false, \
- fl_color_context_initialize, \
- }
-#endif // _di_fss_return_code_data_
-
-#ifndef _di_fss_return_code_print_help_
- /**
- * Print help.
- */
- extern f_return_status fss_return_code_print_help(const fss_return_code_data data);
-#endif // _di_fss_return_code_print_help_
-
-#ifndef _di_fss_return_code_main_
- /**
- * Main.
- */
- extern f_return_status fss_return_code_main(const f_array_length argc, const f_string argv[], fss_return_code_data *data);
-#endif // _di_fss_return_code_main_
-
-#ifndef _di_fss_return_code_delete_data_
- /**
- * Deallocate data.
- */
- extern f_return_status fss_return_code_delete_data(fss_return_code_data *data);
-#endif // _di_fss_return_code_delete_data_
-
-#ifdef __cplusplus
-} // extern "C"
-#endif
-
-#endif // _fss_return_code_h
+++ /dev/null
-#include <level_3/fss_return_code.h>
-
-int main(const f_array_length argc, const f_string argv[]) {
- fss_return_code_data data = fss_return_code_data_initialize;
-
- if (f_pipe_exists()) {
- data.process_pipe = f_true;
- }
-
- if (f_error_is_error(fss_return_code_main(argc, argv, &data))) {
- return 1;
- }
-
- return 0;
-}
-#include <level_3/fss_return_code.h>
+#include <level_3/fss_status_code.h>
#ifdef __cplusplus
extern "C" {
#endif
-#ifndef _di_fss_return_code_print_help_
- f_return_status fss_return_code_print_help(const fss_return_code_data data) {
+#ifndef _di_fss_status_code_print_help_
+ f_return_status fss_status_code_print_help(const fss_status_code_data data) {
printf("\n");
- fl_print_color(f_standard_output, data.context.title, data.context.reset, " %s", fss_return_code_name_long);
+ fl_print_color(f_standard_output, data.context.title, data.context.reset, " %s", fss_status_code_name_long);
printf("\n");
- fl_print_color(f_standard_output, data.context.notable, data.context.reset, " Version %s", fss_return_code_version);
+ fl_print_color(f_standard_output, data.context.notable, data.context.reset, " Version %s", fss_status_code_version);
printf("\n\n");
printf("\n");
printf("\n %s", f_console_symbol_short_enable);
- fl_print_color(f_standard_output, data.context.standout, data.context.reset, fss_return_code_short_is_fine);
+ fl_print_color(f_standard_output, data.context.standout, data.context.reset, fss_status_code_short_is_fine);
printf(", %s", f_console_symbol_long_enable);
- fl_print_color(f_standard_output, data.context.standout, data.context.reset, fss_return_code_long_is_fine);
+ fl_print_color(f_standard_output, data.context.standout, data.context.reset, fss_status_code_long_is_fine);
printf(" Returns true if the error code is not an error.");
printf("\n %s", f_console_symbol_short_enable);
- fl_print_color(f_standard_output, data.context.standout, data.context.reset, fss_return_code_short_is_warning);
+ fl_print_color(f_standard_output, data.context.standout, data.context.reset, fss_status_code_short_is_warning);
printf(", %s", f_console_symbol_long_enable);
- fl_print_color(f_standard_output, data.context.standout, data.context.reset, fss_return_code_long_is_warning);
+ fl_print_color(f_standard_output, data.context.standout, data.context.reset, fss_status_code_long_is_warning);
printf(" Returns true if the error code is a warning.");
printf("\n %s", f_console_symbol_short_enable);
- fl_print_color(f_standard_output, data.context.standout, data.context.reset, fss_return_code_short_is_error);
+ fl_print_color(f_standard_output, data.context.standout, data.context.reset, fss_status_code_short_is_error);
printf(", %s", f_console_symbol_long_enable);
- fl_print_color(f_standard_output, data.context.standout, data.context.reset, fss_return_code_long_is_error);
+ fl_print_color(f_standard_output, data.context.standout, data.context.reset, fss_status_code_long_is_error);
printf(" Returns true if the error code is an error.");
printf("\n %s", f_console_symbol_short_enable);
- fl_print_color(f_standard_output, data.context.standout, data.context.reset, fss_return_code_short_context);
+ fl_print_color(f_standard_output, data.context.standout, data.context.reset, fss_status_code_short_context);
printf(", %s", f_console_symbol_long_enable);
- fl_print_color(f_standard_output, data.context.standout, data.context.reset, fss_return_code_long_context);
+ fl_print_color(f_standard_output, data.context.standout, data.context.reset, fss_status_code_long_context);
printf(" Guess error state from context of error (ignores masks).");
printf("\n %s", f_console_symbol_short_enable);
- fl_print_color(f_standard_output, data.context.standout, data.context.reset, fss_return_code_short_number);
+ fl_print_color(f_standard_output, data.context.standout, data.context.reset, fss_status_code_short_number);
printf(", %s", f_console_symbol_long_enable);
- fl_print_color(f_standard_output, data.context.standout, data.context.reset, fss_return_code_long_number);
+ fl_print_color(f_standard_output, data.context.standout, data.context.reset, fss_status_code_long_number);
printf(" Convert status code name to number.");
fl_print_color(f_standard_output, data.context.important, data.context.reset, " Usage: ");
printf("\n ");
- fl_print_color(f_standard_output, data.context.standout, data.context.reset, fss_return_code_name);
+ fl_print_color(f_standard_output, data.context.standout, data.context.reset, fss_status_code_name);
printf(" ");
fl_print_color(f_standard_output, data.context.notable, data.context.reset, "[");
return f_none;
}
-#endif // _di_fss_return_code_print_help_
+#endif // _di_fss_status_code_print_help_
-#ifndef _di_fss_return_code_main_
- f_return_status fss_return_code_main(const f_array_length argc, const f_string argv[], fss_return_code_data *data) {
+#ifndef _di_fss_status_code_main_
+ f_return_status fss_status_code_main(const f_array_length argc, const f_string argv[], fss_status_code_data *data) {
f_status status = f_none;
f_status allocation_status = f_none;
- status = fl_process_parameters(argc, argv, data->parameters, fss_return_code_total_parameters, &data->remaining);
+ status = fl_process_parameters(argc, argv, data->parameters, fss_status_code_total_parameters, &data->remaining);
// load colors when not told to show no colors
- if (data->parameters[fss_return_code_parameter_no_color].result == f_console_result_none) {
+ if (data->parameters[fss_status_code_parameter_no_color].result == f_console_result_none) {
fl_new_color_context(allocation_status, data->context);
if (f_error_is_error(allocation_status)) {
fprintf(f_standard_error, "Critical Error: unable to allocate memory\n");
- fss_return_code_delete_data(data);
+ fss_status_code_delete_data(data);
return allocation_status;
}
- fll_colors_load_context(&data->context, data->parameters[fss_return_code_parameter_light].result == f_console_result_found);
+ fll_colors_load_context(&data->context, data->parameters[fss_status_code_parameter_light].result == f_console_result_found);
}
if (f_error_is_error(status)) {
fl_print_color_line(f_standard_error, data->context.error, data->context.reset, "INTERNAL ERROR: An unhandled error (%u) has occured while calling fl_process_parameters().", status);
}
- fss_return_code_delete_data(data);
+ fss_status_code_delete_data(data);
return f_error_set_error(status);
}
// execute parameter results
- if (data->parameters[fss_return_code_parameter_help].result == f_console_result_found) {
- fss_return_code_print_help(*data);
+ if (data->parameters[fss_status_code_parameter_help].result == f_console_result_found) {
+ fss_status_code_print_help(*data);
}
- else if (data->parameters[fss_return_code_parameter_version].result == f_console_result_found) {
- fl_program_print_version(fss_return_code_version);
+ else if (data->parameters[fss_status_code_parameter_version].result == f_console_result_found) {
+ fl_program_print_version(fss_status_code_version);
}
- else if (data->parameters[fss_return_code_parameter_is_error].result == f_console_result_found) {
+ else if (data->parameters[fss_status_code_parameter_is_error].result == f_console_result_found) {
if (data->remaining.used > 0) {
f_array_length counter = 0;
for (; counter < data->remaining.used; counter++) {
code = (f_status) atoll(argv[data->remaining.array[counter]]);
- if (data->parameters[fss_return_code_parameter_context].result == f_console_result_found) {
+ if (data->parameters[fss_status_code_parameter_context].result == f_console_result_found) {
if (fll_fss_errors_is_error(code)) {
- fss_return_code_delete_data(data);
+ fss_status_code_delete_data(data);
return f_true;
}
}
else {
if (f_error_is_error(code)) {
- fss_return_code_delete_data(data);
+ fss_status_code_delete_data(data);
return f_true;
}
}
} // for
}
- fss_return_code_delete_data(data);
+ fss_status_code_delete_data(data);
return f_false;
}
- else if (data->parameters[fss_return_code_parameter_is_warning].result == f_console_result_found) {
+ else if (data->parameters[fss_status_code_parameter_is_warning].result == f_console_result_found) {
if (data->remaining.used > 0) {
f_array_length counter = 0;
for (; counter < data->remaining.used; counter++) {
code = (f_status) atoll(argv[data->remaining.array[counter]]);
- if (data->parameters[fss_return_code_parameter_context].result == f_console_result_found) {
+ if (data->parameters[fss_status_code_parameter_context].result == f_console_result_found) {
if (fll_fss_errors_is_warning(code)) {
- fss_return_code_delete_data(data);
+ fss_status_code_delete_data(data);
return f_true;
}
}
else {
if (f_error_is_warning(code)) {
- fss_return_code_delete_data(data);
+ fss_status_code_delete_data(data);
return f_true;
}
}
} // for
}
- fss_return_code_delete_data(data);
+ fss_status_code_delete_data(data);
return f_false;
}
- else if (data->parameters[fss_return_code_parameter_is_fine].result == f_console_result_found) {
+ else if (data->parameters[fss_status_code_parameter_is_fine].result == f_console_result_found) {
if (data->remaining.used > 0) {
f_array_length counter = 0;
for (; counter < data->remaining.used; counter++) {
code = (f_status) atoll(argv[data->remaining.array[counter]]);
- if (data->parameters[fss_return_code_parameter_context].result == f_console_result_found) {
+ if (data->parameters[fss_status_code_parameter_context].result == f_console_result_found) {
if (fll_fss_errors_is_fine(code)) {
- fss_return_code_delete_data(data);
+ fss_status_code_delete_data(data);
return f_true;
}
}
else {
if (f_error_is_fine(code)) {
- fss_return_code_delete_data(data);
+ fss_status_code_delete_data(data);
return f_true;
}
}
} // for
}
- fss_return_code_delete_data(data);
+ fss_status_code_delete_data(data);
return f_false;
}
- else if (data->parameters[fss_return_code_parameter_number].result == f_console_result_found) {
+ else if (data->parameters[fss_status_code_parameter_number].result == f_console_result_found) {
if (data->remaining.used > 0) {
f_array_length counter = 0;
f_status code = f_none;
status = f_false;
}
- fss_return_code_delete_data(data);
+ fss_status_code_delete_data(data);
return status;
}
else if (data->remaining.used > 0 || data->process_pipe) {
status = f_error_set_error(f_invalid_parameter);
}
- fss_return_code_delete_data(data);
+ fss_status_code_delete_data(data);
return status;
}
-#endif // _di_fss_return_code_main_
+#endif // _di_fss_status_code_main_
-#ifndef _di_fss_return_code_delete_data_
- f_return_status fss_return_code_delete_data(fss_return_code_data *data) {
+#ifndef _di_fss_status_code_delete_data_
+ f_return_status fss_status_code_delete_data(fss_status_code_data *data) {
f_status status = f_none;
f_string_length i = 0;
- while (i < fss_return_code_total_parameters) {
+ while (i < fss_status_code_total_parameters) {
f_delete_string_lengths(status, data->parameters[i].additional);
i++;
} // while
return f_none;
}
-#endif // _di_fss_return_code_delete_data_
+#endif // _di_fss_status_code_delete_data_
#ifdef __cplusplus
} // extern "C"
--- /dev/null
+/**
+ * FLL - Level 3
+ *
+ * Project: FSS
+ * API Version: 0.5
+ * Licenses: lgplv2.1
+ *
+ * This program provides status code to/from string translation.
+ */
+#ifndef _fss_status_code_h
+
+// libc includes
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+// fll-0 includes
+#include <level_0/console.h>
+#include <level_0/pipe.h>
+#include <level_0/print.h>
+#include <level_0/strings.h>
+#include <level_0/types.h>
+
+// fll-1 includes
+#include <level_1/colors.h>
+#include <level_1/console.h>
+#include <level_1/errors.h>
+#include <level_1/program.h>
+#include <level_1/strings.h>
+
+// fll-2 includes
+#include <level_2/colors.h>
+#include <level_2/errors.h>
+#include <level_2/fss_errors.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifndef _di_fss_status_code_version_
+ #define fss_status_code_major_version "0"
+ #define fss_status_code_minor_version "5"
+ #define fss_status_code_micro_version "0"
+ #define fss_status_code_version fss_status_code_major_version "." fss_status_code_minor_version "." fss_status_code_micro_version
+#endif // _di_fss_status_code_version_
+
+#ifndef _di_fss_status_code_name_
+ #define fss_status_code_name "fss_status_code"
+ #define fss_status_code_name_long "FSS Status Code"
+#endif // _di_fss_status_code_name_
+
+#ifndef _di_fss_status_code_defines_
+ #define fss_status_code_short_is_fine "f"
+ #define fss_status_code_short_is_warning "w"
+ #define fss_status_code_short_is_error "e"
+ #define fss_status_code_short_context "c"
+ #define fss_status_code_short_number "n"
+
+ #define fss_status_code_long_is_fine "is_fine"
+ #define fss_status_code_long_is_warning "is_warning"
+ #define fss_status_code_long_is_error "is_error"
+ #define fss_status_code_long_context "context"
+ #define fss_status_code_long_number "number"
+
+ enum {
+ fss_status_code_parameter_help,
+ fss_status_code_parameter_light,
+ fss_status_code_parameter_no_color,
+ fss_status_code_parameter_version,
+
+ fss_status_code_parameter_is_fine,
+ fss_status_code_parameter_is_warning,
+ fss_status_code_parameter_is_error,
+ fss_status_code_parameter_context,
+ fss_status_code_parameter_number,
+ };
+
+ #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), \
+ }
+
+ #define fss_status_code_total_parameters 9
+#endif // _di_fss_status_code_defines_
+
+#ifndef _di_fss_status_code_data_
+ typedef struct {
+ f_console_parameter parameters[fss_status_code_total_parameters];
+
+ f_string_lengths remaining;
+ f_bool process_pipe;
+
+ fl_color_context context;
+ } fss_status_code_data;
+
+ #define fss_status_code_data_initialize \
+ { \
+ f_console_parameter_initialize_fss_status_code, \
+ f_string_lengths_initialize, \
+ f_false, \
+ fl_color_context_initialize, \
+ }
+#endif // _di_fss_status_code_data_
+
+#ifndef _di_fss_status_code_print_help_
+ /**
+ * Print help.
+ */
+ extern f_return_status fss_status_code_print_help(const fss_status_code_data data);
+#endif // _di_fss_status_code_print_help_
+
+#ifndef _di_fss_status_code_main_
+ /**
+ * Main.
+ */
+ extern f_return_status fss_status_code_main(const f_array_length argc, const f_string argv[], fss_status_code_data *data);
+#endif // _di_fss_status_code_main_
+
+#ifndef _di_fss_status_code_delete_data_
+ /**
+ * Deallocate data.
+ */
+ extern f_return_status fss_status_code_delete_data(fss_status_code_data *data);
+#endif // _di_fss_status_code_delete_data_
+
+#ifdef __cplusplus
+} // extern "C"
+#endif
+
+#endif // _fss_status_code_h
--- /dev/null
+#include <level_3/fss_status_code.h>
+
+int main(const f_array_length argc, const f_string argv[]) {
+ fss_status_code_data data = fss_status_code_data_initialize;
+
+ if (f_pipe_exists()) {
+ data.process_pipe = f_true;
+ }
+
+ if (f_error_is_error(fss_status_code_main(argc, argv, &data))) {
+ return 1;
+ }
+
+ return 0;
+}
# fss-0000
-project_name fss_return_code
+project_name fss_status_code
project_level 3
version_major 0
build_libraries_fll -lfll_colors -lfll_errors -lfll_fss -lfl_fss -lfl_errors -lfl_colors -lfl_console -lfl_program -lfl_strings -lf_print -lf_pipe -lf_conversion -lf_console -lf_memory -lf_utf
#build_libraries_fll-level -lfll_2 -lfll_1 -lfll_0
#build_libraries_fll-monolithic -lfll
-build_sources_library fss_return_code.c
+build_sources_library fss_status_code.c
build_sources_program main.c
-build_sources_headers fss_return_code.h
+build_sources_headers fss_status_code.h
build_sources_bash
build_sources_settings
build_shared yes
flags_shared
flags_static
flags_library -fPIC
-flags_program -fPIE -lfss_return_code
+flags_program -fPIE -lfss_status_code
+++ /dev/null
-/**
- * FLL - Level 3
- *
- * Project: Return Code
- * API Version: 0.5
- * Licenses: lgplv2.1
- */
-#ifndef _return_code_h
-
-// libc includes
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-// fll-0 includes
-#include <level_0/console.h>
-#include <level_0/pipe.h>
-#include <level_0/print.h>
-#include <level_0/strings.h>
-#include <level_0/types.h>
-
-// fll-1 includes
-#include <level_1/colors.h>
-#include <level_1/console.h>
-#include <level_1/errors.h>
-#include <level_1/program.h>
-#include <level_1/strings.h>
-
-// fll-2 includes
-#include <level_2/colors.h>
-#include <level_2/errors.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#ifndef _di_return_code_version_
- #define return_code_major_version "0"
- #define return_code_minor_version "5"
- #define return_code_micro_version "0"
- #define return_code_version return_code_major_version "." return_code_minor_version "." return_code_micro_version
-#endif // _di_return_code_version_
-
-#ifndef _di_return_code_name_
- #define return_code_name "return_code"
- #define return_code_name_long "Return Code"
-#endif // _di_return_code_name_
-
-#ifndef _di_return_code_defines_
- #define return_code_short_is_fine "f"
- #define return_code_short_is_warning "w"
- #define return_code_short_is_error "e"
- #define return_code_short_context "c"
- #define return_code_short_number "n"
-
- #define return_code_long_is_fine "is_fine"
- #define return_code_long_is_warning "is_warning"
- #define return_code_long_is_error "is_error"
- #define return_code_long_context "context"
- #define return_code_long_number "number"
-
- enum {
- return_code_parameter_help,
- return_code_parameter_light,
- return_code_parameter_no_color,
- return_code_parameter_version,
-
- return_code_parameter_is_fine,
- return_code_parameter_is_warning,
- return_code_parameter_is_error,
- return_code_parameter_context,
- return_code_parameter_number,
- };
-
- #define f_console_parameter_initialize_return_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(return_code_short_is_fine, return_code_long_is_fine, 0, 0, f_false, f_console_type_normal, 0), \
- f_console_parameter_initialize(return_code_short_is_warning, return_code_long_is_warning, 0, 0, f_false, f_console_type_normal, 0), \
- f_console_parameter_initialize(return_code_short_is_error, return_code_long_is_error, 0, 0, f_false, f_console_type_normal, 0), \
- f_console_parameter_initialize(return_code_short_context, return_code_long_context, 0, 0, f_false, f_console_type_normal, 0), \
- f_console_parameter_initialize(return_code_short_number, return_code_long_number, 0, 0, f_false, f_console_type_normal, 0), \
- }
-
- #define return_code_total_parameters 9
-#endif // _di_return_code_defines_
-
-#ifndef _di_return_code_data_
- typedef struct {
- f_console_parameter parameters[return_code_total_parameters];
-
- f_string_lengths remaining;
- f_bool process_pipe;
-
- fl_color_context context;
- } return_code_data;
-
- #define return_code_data_initialize \
- { \
- f_console_parameter_initialize_return_code, \
- f_string_lengths_initialize, \
- f_false, \
- fl_color_context_initialize, \
- }
-#endif // _di_return_code_data_
-
-#ifndef _di_return_code_print_help_
- /**
- * Print help.
- */
- extern f_return_status return_code_print_help(const return_code_data data);
-#endif // _di_return_code_print_help_
-
-#ifndef _di_return_code_main_
- /**
- * Main.
- */
- extern f_return_status return_code_main(const f_array_length argc, const f_string argv[], return_code_data *data);
-#endif // _di_return_code_main_
-
-#ifndef _di_return_code_delete_data_
- /**
- * Deallocate data.
- */
- extern f_return_status return_code_delete_data(return_code_data *data);
-#endif // _di_return_code_delete_data_
-
-#ifdef __cplusplus
-} // extern "C"
-#endif
-
-#endif // _return_code_h
-#include <level_3/return_code.h>
+#include <level_3/status_code.h>
int main(const f_array_length argc, const f_string argv[]) {
- return_code_data data = return_code_data_initialize;
+ status_code_data data = status_code_data_initialize;
if (f_pipe_exists()) {
data.process_pipe = f_true;
}
- if (f_error_is_error(return_code_main(argc, argv, &data))) {
+ if (f_error_is_error(status_code_main(argc, argv, &data))) {
return 1;
}
-#include <level_3/return_code.h>
+#include <level_3/status_code.h>
#ifdef __cplusplus
extern "C" {
#endif
-#ifndef _di_return_code_print_help_
- f_return_status return_code_print_help(const return_code_data data) {
+#ifndef _di_status_code_print_help_
+ f_return_status status_code_print_help(const status_code_data data) {
printf("\n");
- fl_print_color(f_standard_output, data.context.title, data.context.reset, " %s", return_code_name_long);
+ fl_print_color(f_standard_output, data.context.title, data.context.reset, " %s", status_code_name_long);
printf("\n");
- fl_print_color(f_standard_output, data.context.notable, data.context.reset, " Version %s", return_code_version);
+ fl_print_color(f_standard_output, data.context.notable, data.context.reset, " Version %s", status_code_version);
printf("\n\n");
printf("\n");
printf("\n %s", f_console_symbol_short_enable);
- fl_print_color(f_standard_output, data.context.standout, data.context.reset, return_code_short_is_fine);
+ fl_print_color(f_standard_output, data.context.standout, data.context.reset, status_code_short_is_fine);
printf(", %s", f_console_symbol_long_enable);
- fl_print_color(f_standard_output, data.context.standout, data.context.reset, return_code_long_is_fine);
+ fl_print_color(f_standard_output, data.context.standout, data.context.reset, status_code_long_is_fine);
printf(" Returns true if the error code is not an error.");
printf("\n %s", f_console_symbol_short_enable);
- fl_print_color(f_standard_output, data.context.standout, data.context.reset, return_code_short_is_warning);
+ fl_print_color(f_standard_output, data.context.standout, data.context.reset, status_code_short_is_warning);
printf(", %s", f_console_symbol_long_enable);
- fl_print_color(f_standard_output, data.context.standout, data.context.reset, return_code_long_is_warning);
+ fl_print_color(f_standard_output, data.context.standout, data.context.reset, status_code_long_is_warning);
printf(" Returns true if the error code is a warning.");
printf("\n %s", f_console_symbol_short_enable);
- fl_print_color(f_standard_output, data.context.standout, data.context.reset, return_code_short_is_error);
+ fl_print_color(f_standard_output, data.context.standout, data.context.reset, status_code_short_is_error);
printf(", %s", f_console_symbol_long_enable);
- fl_print_color(f_standard_output, data.context.standout, data.context.reset, return_code_long_is_error);
+ fl_print_color(f_standard_output, data.context.standout, data.context.reset, status_code_long_is_error);
printf(" Returns true if the error code is an error.");
printf("\n %s", f_console_symbol_short_enable);
- fl_print_color(f_standard_output, data.context.standout, data.context.reset, return_code_short_context);
+ fl_print_color(f_standard_output, data.context.standout, data.context.reset, status_code_short_context);
printf(", %s", f_console_symbol_long_enable);
- fl_print_color(f_standard_output, data.context.standout, data.context.reset, return_code_long_context);
+ fl_print_color(f_standard_output, data.context.standout, data.context.reset, status_code_long_context);
printf(" Guess error state from context of error (ignores masks).");
printf("\n %s", f_console_symbol_short_enable);
- fl_print_color(f_standard_output, data.context.standout, data.context.reset, return_code_short_number);
+ fl_print_color(f_standard_output, data.context.standout, data.context.reset, status_code_short_number);
printf(", %s", f_console_symbol_long_enable);
- fl_print_color(f_standard_output, data.context.standout, data.context.reset, return_code_long_number);
+ fl_print_color(f_standard_output, data.context.standout, data.context.reset, status_code_long_number);
printf(" Convert status code name to number.");
fl_print_color(f_standard_output, data.context.important, data.context.reset, " Usage: ");
printf("\n ");
- fl_print_color(f_standard_output, data.context.standout, data.context.reset, return_code_name);
+ fl_print_color(f_standard_output, data.context.standout, data.context.reset, status_code_name);
printf(" ");
fl_print_color(f_standard_output, data.context.notable, data.context.reset, "[");
return f_none;
}
-#endif // _di_return_code_print_help_
+#endif // _di_status_code_print_help_
-#ifndef _di_return_code_main_
- f_return_status return_code_main(const f_array_length argc, const f_string argv[], return_code_data *data) {
+#ifndef _di_status_code_main_
+ f_return_status status_code_main(const f_array_length argc, const f_string argv[], status_code_data *data) {
f_status status = f_none;
f_status allocation_status = f_none;
- status = fl_process_parameters(argc, argv, data->parameters, return_code_total_parameters, &data->remaining);
+ status = fl_process_parameters(argc, argv, data->parameters, status_code_total_parameters, &data->remaining);
// load colors when not told to show no colors
- if (data->parameters[return_code_parameter_no_color].result == f_console_result_none) {
+ if (data->parameters[status_code_parameter_no_color].result == f_console_result_none) {
fl_new_color_context(allocation_status, data->context);
if (f_error_is_error(allocation_status)) {
fprintf(f_standard_error, "Critical Error: unable to allocate memory\n");
- return_code_delete_data(data);
+ status_code_delete_data(data);
return allocation_status;
}
- fll_colors_load_context(&data->context, data->parameters[return_code_parameter_light].result == f_console_result_found);
+ fll_colors_load_context(&data->context, data->parameters[status_code_parameter_light].result == f_console_result_found);
}
if (f_error_is_error(status)) {
fl_print_color_line(f_standard_error, data->context.error, data->context.reset, "INTERNAL ERROR: An unhandled error (%u) has occured while calling fl_process_parameters().", status);
}
- return_code_delete_data(data);
+ status_code_delete_data(data);
return f_error_set_error(status);
}
// execute parameter results
- if (data->parameters[return_code_parameter_help].result == f_console_result_found) {
- return_code_print_help(*data);
+ if (data->parameters[status_code_parameter_help].result == f_console_result_found) {
+ status_code_print_help(*data);
}
- else if (data->parameters[return_code_parameter_version].result == f_console_result_found) {
- fl_program_print_version(return_code_version);
+ else if (data->parameters[status_code_parameter_version].result == f_console_result_found) {
+ fl_program_print_version(status_code_version);
}
- else if (data->parameters[return_code_parameter_is_error].result == f_console_result_found) {
+ else if (data->parameters[status_code_parameter_is_error].result == f_console_result_found) {
if (data->remaining.used > 0) {
f_array_length counter = 0;
f_status code = f_none;
for (; counter < data->remaining.used; counter++) {
code = (f_status) atoll(argv[data->remaining.array[counter]]);
- if (data->parameters[return_code_parameter_context].result == f_console_result_found) {
+ if (data->parameters[status_code_parameter_context].result == f_console_result_found) {
if (fl_errors_is_error(code)) {
- return_code_delete_data(data);
+ status_code_delete_data(data);
return f_true;
}
}
else {
if (f_error_is_error(code)) {
- return_code_delete_data(data);
+ status_code_delete_data(data);
return f_true;
}
}
} // for
}
- return_code_delete_data(data);
+ status_code_delete_data(data);
return f_false;
}
- else if (data->parameters[return_code_parameter_is_warning].result == f_console_result_found) {
+ else if (data->parameters[status_code_parameter_is_warning].result == f_console_result_found) {
if (data->remaining.used > 0) {
f_array_length counter = 0;
f_status code = f_none;
for (; counter < data->remaining.used; counter++) {
code = (f_status) atoll(argv[data->remaining.array[counter]]);
- if (data->parameters[return_code_parameter_context].result == f_console_result_found) {
+ if (data->parameters[status_code_parameter_context].result == f_console_result_found) {
if (fl_errors_is_warning(code)) {
- return_code_delete_data(data);
+ status_code_delete_data(data);
return f_true;
}
}
else {
if (f_error_is_warning(code)) {
- return_code_delete_data(data);
+ status_code_delete_data(data);
return f_true;
}
}
} // for
}
- return_code_delete_data(data);
+ status_code_delete_data(data);
return f_false;
}
- else if (data->parameters[return_code_parameter_is_fine].result == f_console_result_found) {
+ else if (data->parameters[status_code_parameter_is_fine].result == f_console_result_found) {
if (data->remaining.used > 0) {
f_array_length counter = 0;
f_status code = f_none;
for (; counter < data->remaining.used; counter++) {
code = (f_status) atoll(argv[data->remaining.array[counter]]);
- if (data->parameters[return_code_parameter_context].result == f_console_result_found) {
+ if (data->parameters[status_code_parameter_context].result == f_console_result_found) {
if (fl_errors_is_fine(code)) {
- return_code_delete_data(data);
+ status_code_delete_data(data);
return f_true;
}
}
else {
if (f_error_is_fine(code)) {
- return_code_delete_data(data);
+ status_code_delete_data(data);
return f_true;
}
}
} // for
}
- return_code_delete_data(data);
+ status_code_delete_data(data);
return f_false;
}
- else if (data->parameters[return_code_parameter_number].result == f_console_result_found) {
+ else if (data->parameters[status_code_parameter_number].result == f_console_result_found) {
if (data->remaining.used > 0) {
f_array_length counter = 0;
f_status code = f_none;
status = f_false;
}
- return_code_delete_data(data);
+ status_code_delete_data(data);
return status;
}
else if (data->remaining.used > 0 || data->process_pipe) {
status = f_error_set_error(f_invalid_parameter);
}
- return_code_delete_data(data);
+ status_code_delete_data(data);
return status;
}
-#endif // _di_return_code_main_
+#endif // _di_status_code_main_
-#ifndef _di_return_code_delete_data_
- f_return_status return_code_delete_data(return_code_data *data) {
+#ifndef _di_status_code_delete_data_
+ f_return_status status_code_delete_data(status_code_data *data) {
f_status status = f_none;
f_string_length i = 0;
- while (i < return_code_total_parameters) {
+ while (i < status_code_total_parameters) {
f_delete_string_lengths(status, data->parameters[i].additional);
i++;
} // while
return f_none;
}
-#endif // _di_return_code_delete_data_
+#endif // _di_status_code_delete_data_
#ifdef __cplusplus
} // extern "C"
--- /dev/null
+/**
+ * FLL - Level 3
+ *
+ * Project: Status Code
+ * API Version: 0.5
+ * Licenses: lgplv2.1
+ */
+#ifndef _status_code_h
+
+// libc includes
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+// fll-0 includes
+#include <level_0/console.h>
+#include <level_0/pipe.h>
+#include <level_0/print.h>
+#include <level_0/strings.h>
+#include <level_0/types.h>
+
+// fll-1 includes
+#include <level_1/colors.h>
+#include <level_1/console.h>
+#include <level_1/errors.h>
+#include <level_1/program.h>
+#include <level_1/strings.h>
+
+// fll-2 includes
+#include <level_2/colors.h>
+#include <level_2/errors.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifndef _di_status_code_version_
+ #define status_code_major_version "0"
+ #define status_code_minor_version "5"
+ #define status_code_micro_version "0"
+ #define status_code_version status_code_major_version "." status_code_minor_version "." status_code_micro_version
+#endif // _di_status_code_version_
+
+#ifndef _di_status_code_name_
+ #define status_code_name "status_code"
+ #define status_code_name_long "Status Code"
+#endif // _di_status_code_name_
+
+#ifndef _di_status_code_defines_
+ #define status_code_short_is_fine "f"
+ #define status_code_short_is_warning "w"
+ #define status_code_short_is_error "e"
+ #define status_code_short_context "c"
+ #define status_code_short_number "n"
+
+ #define status_code_long_is_fine "is_fine"
+ #define status_code_long_is_warning "is_warning"
+ #define status_code_long_is_error "is_error"
+ #define status_code_long_context "context"
+ #define status_code_long_number "number"
+
+ enum {
+ status_code_parameter_help,
+ status_code_parameter_light,
+ status_code_parameter_no_color,
+ status_code_parameter_version,
+
+ status_code_parameter_is_fine,
+ status_code_parameter_is_warning,
+ status_code_parameter_is_error,
+ status_code_parameter_context,
+ status_code_parameter_number,
+ };
+
+ #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), \
+ }
+
+ #define status_code_total_parameters 9
+#endif // _di_status_code_defines_
+
+#ifndef _di_status_code_data_
+ typedef struct {
+ f_console_parameter parameters[status_code_total_parameters];
+
+ f_string_lengths remaining;
+ f_bool process_pipe;
+
+ fl_color_context context;
+ } status_code_data;
+
+ #define status_code_data_initialize \
+ { \
+ f_console_parameter_initialize_status_code, \
+ f_string_lengths_initialize, \
+ f_false, \
+ fl_color_context_initialize, \
+ }
+#endif // _di_status_code_data_
+
+#ifndef _di_status_code_print_help_
+ /**
+ * Print help.
+ */
+ extern f_return_status status_code_print_help(const status_code_data data);
+#endif // _di_status_code_print_help_
+
+#ifndef _di_status_code_main_
+ /**
+ * Main.
+ */
+ extern f_return_status status_code_main(const f_array_length argc, const f_string argv[], status_code_data *data);
+#endif // _di_status_code_main_
+
+#ifndef _di_status_code_delete_data_
+ /**
+ * Deallocate data.
+ */
+ extern f_return_status status_code_delete_data(status_code_data *data);
+#endif // _di_status_code_delete_data_
+
+#ifdef __cplusplus
+} // extern "C"
+#endif
+
+#endif // _status_code_h
# fss-0000
-project_name return_code
+project_name status_code
project_level 3
version_major 0
build_libraries_fll -lfll_colors -lfll_errors -lfl_errors -lfl_colors -lfl_console -lfl_program -lfl_strings -lf_print -lf_pipe -lf_conversion -lf_console -lf_memory -lf_utf
#build_libraries_fll-level -lfll_2 -lfll_1 -lfll_0
#build_libraries_fll-monolithic -lfll
-build_sources_library return_code.c
+build_sources_library status_code.c
build_sources_program main.c
-build_sources_headers return_code.h
+build_sources_headers status_code.h
build_sources_bash
build_sources_settings
build_shared yes
flags_shared
flags_static
flags_library -fPIC
-flags_program -fPIE -lreturn_code
+flags_program -fPIE -lstatus_code