From: Kevin Day Date: Tue, 29 Nov 2022 03:38:03 +0000 (-0600) Subject: Progress: Continue program related work, updating fss_write. X-Git-Url: https://git.kevux.org/?a=commitdiff_plain;h=8a76ddf401439dffe58062cedccd2199909bfd18;p=fll Progress: Continue program related work, updating fss_write. The work continues, focusing on preparing fss_write for handling all currently written fss_*_write programs. This should also pave the way for supporting other fss-???? standards than are currently directly represented. The individual write programs will be linked to the same library fss_write is. These individual write programs will act as if they were passed the "--as XXXX". For example, fss_basic_list would operate the same as "fss_write -a fss-0002". Some of the programs may have vastly different functionality than others. In any case that code can be shared that code will be shared. --- diff --git a/level_3/fss_write/c/basic/basic.c b/level_3/fss_write/c/basic/basic.c deleted file mode 100644 index 4fd48b9..0000000 --- a/level_3/fss_write/c/basic/basic.c +++ /dev/null @@ -1,19 +0,0 @@ -#include "fss_write_basic.h" -#include "private-common.h" -#include "private-basic.h" -#include "../main/fss_write.h" - -#ifdef __cplusplus -extern "C" { -#endif - -#ifndef _di_fss_write_basic_process_help_ - void fss_write_basic_process_help(fll_program_data_t * const main, fss_write_setting_t * const setting) { - - fss_write_basic_print_help(main, setting); - } -#endif // _di_fss_write_basic_process_help_ - -#ifdef __cplusplus -} // extern "C" -#endif diff --git a/level_3/fss_write/c/basic/common.c b/level_3/fss_write/c/basic/common.c index 3b1ba69..f6993c7 100644 --- a/level_3/fss_write/c/basic/common.c +++ b/level_3/fss_write/c/basic/common.c @@ -1,4 +1,4 @@ -#include "basic.h" +#include "fss_write.h" #ifdef __cplusplus extern "C" { @@ -6,6 +6,10 @@ extern "C" { #ifndef _di_fss_write_basic_strings_ const f_string_static_t fss_write_basic_standard_s = macro_f_string_static_t_initialize(FSS_WRITE_basic_standard_s, 0, FSS_WRITE_basic_standard_s_length); + + const f_string_static_t fss_write_format_code_short_0000_s = macro_f_string_static_t_initialize(FSS_WRITE_format_code_short_0000_s, 0, FSS_WRITE_format_code_short_0000_s_length); + const f_string_static_t fss_write_format_code_long_0000_s = macro_f_string_static_t_initialize(FSS_WRITE_format_code_long_0000_s, 0, FSS_WRITE_format_code_long_0000_s_length); + const f_string_static_t fss_write_format_code_human_0000_s = macro_f_string_static_t_initialize(FSS_WRITE_format_code_human_0000_s, 0, FSS_WRITE_format_code_human_0000_s_length); #endif // _di_fss_write_basic_strings_ #ifdef __cplusplus diff --git a/level_3/fss_write/c/basic/common.h b/level_3/fss_write/c/basic/common.h index e2f9e85..de6135e 100644 --- a/level_3/fss_write/c/basic/common.h +++ b/level_3/fss_write/c/basic/common.h @@ -22,9 +22,21 @@ extern "C" { #ifndef _di_fss_write_basic_strings_ #define FSS_WRITE_basic_standard_s "FSS-0000 (Basic)" + #define FSS_WRITE_format_code_short_0000_s "0000" + #define FSS_WRITE_format_code_long_0000_s "fss-0000" + #define FSS_WRITE_format_code_human_0000_s "basic" + #define FSS_WRITE_basic_standard_s_length 16 + #define FSS_WRITE_format_code_short_0000_s_length 4 + #define FSS_WRITE_format_code_long_0000_s_length 8 + #define FSS_WRITE_format_code_human_0000_s_length 5 + extern const f_string_static_t fss_write_basic_standard_s; + + extern const f_string_static_t fss_write_format_code_short_0000_s; + extern const f_string_static_t fss_write_format_code_long_0000_s; + extern const f_string_static_t fss_write_format_code_human_0000_s; #endif // _di_fss_write_basic_strings_ #ifdef __cplusplus diff --git a/level_3/fss_write/c/basic/fss_write.c b/level_3/fss_write/c/basic/fss_write.c new file mode 100644 index 0000000..9788cf0 --- /dev/null +++ b/level_3/fss_write/c/basic/fss_write.c @@ -0,0 +1,33 @@ +#include "fss_write.h" +#include "private-common.h" +#include "private-write.h" +#include "../main/fss_write.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef _di_fss_write_basic_process_help_ + void fss_write_basic_process_help(fll_program_data_t * const main, void * const setting) { + + fss_write_basic_print_help((fss_write_setting_t *) setting, main->message); + } +#endif // _di_fss_write_basic_process_help_ + +#ifndef _di_fss_write_basic_process_normal_ + void fss_write_basic_process_normal(fll_program_data_t * const main, void * const setting) { + + // @todo + } +#endif // _di_fss_write_basic_process_normal_ + +#ifndef _di_fss_write_basic_process_pipe_ + void fss_write_basic_process_pipe(fll_program_data_t * const main, void * const setting) { + + // @todo + } +#endif // _di_fss_write_basic_process_pipe_ + +#ifdef __cplusplus +} // extern "C" +#endif diff --git a/level_3/fss_write/c/basic/basic.h b/level_3/fss_write/c/basic/fss_write.h similarity index 58% rename from level_3/fss_write/c/basic/basic.h rename to level_3/fss_write/c/basic/fss_write.h index a431e08..b5a7bba 100644 --- a/level_3/fss_write/c/basic/basic.h +++ b/level_3/fss_write/c/basic/fss_write.h @@ -26,6 +26,7 @@ #include #include #include +#include #include #include #include @@ -59,20 +60,57 @@ extern "C" { * The main program data. * @param setting * The main program settings. + * Must be of type (fss_write_setting_t *). + * + * This does not alter setting.status. + * + * @return + * F_none on success. + * F_output_not on success, but no printing is performed. + */ +#ifndef _di_fss_write_basic_process_help_ + extern void fss_write_basic_process_help(fll_program_data_t * const main, void * const setting); +#endif // _di_fss_write_basic_process_help_ + +/** + * Process normally, writing to the output. + * + * @param main + * The main program data. + * @param setting + * The main program settings. + * Must be of type (fss_write_setting_t *). * * This alters setting.status: * F_none on success. * F_interrupt on (exit) signal received. * * F_parameter (with error bit) if main is NULL or setting is NULL. + */ +#ifndef _di_fss_write_basic_process_normal_ + extern void fss_write_basic_process_normal(fll_program_data_t * const main, void * const setting); +#endif // _di_fss_write_basic_process_normal_ + +/** + * Process the pipe, reading from the pipe and writing to the output. * - * @return - * F_none on success. - * F_failure (with error bit) for any other failure. + * @param main + * The main program data. + * @param setting + * The main program settings. + * Must be of type (fss_write_setting_t *). + * + * This alters setting.status: + * F_none on success. + * F_data_not on success but pipe contained no relevant data. + * F_basic on success and the basic has been printed. + * F_interrupt on (exit) signal received. + * + * F_parameter (with error bit) if main is NULL or setting is NULL. */ -#ifndef _di_fss_write_basic_process_help_ - extern void fss_write_basic_process_help(fll_program_data_t * const main, fss_write_setting_t * const setting); -#endif // _di_fss_write_basic_process_help_ +#ifndef _di_fss_write_basic_process_pipe_ + extern void fss_write_basic_process_pipe(fll_program_data_t * const main, void * const setting); +#endif // _di_fss_write_basic_process_pipe_ #ifdef __cplusplus } // extern "C" diff --git a/level_3/fss_write/c/basic/main.c b/level_3/fss_write/c/basic/main.c index b982c3c..8b9a9e8 100644 --- a/level_3/fss_write/c/basic/main.c +++ b/level_3/fss_write/c/basic/main.c @@ -1,11 +1,11 @@ -#include "basic.h" +#include "fss_write.h" int main(const int argc, const f_string_t *argv, const f_string_t *envp) { fll_program_data_t data = fll_program_data_t_initialize; fss_write_setting_t setting = fss_write_setting_t_initialize; setting.state.data = (void *) &data; - setting.process_help = &fss_write_basic_print_help; + setting.process_help = &fss_write_basic_process_help; setting.process_pipe = &fss_write_basic_process_pipe; setting.process_normal = &fss_write_basic_process_normal; diff --git a/level_3/fss_write/c/basic/print.c b/level_3/fss_write/c/basic/print.c index 378d12a..bc34f6b 100644 --- a/level_3/fss_write/c/basic/print.c +++ b/level_3/fss_write/c/basic/print.c @@ -1,4 +1,4 @@ -#include "basic.h" +#include "fss_write.h" #include "private-common.h" #ifdef __cplusplus @@ -16,6 +16,8 @@ extern "C" { fss_write_print_help(setting, print); + f_print_dynamic_raw(f_string_eol_s, print.to); + fll_program_print_help_usage(print, fss_write_program_name_s, f_string_empty_s); // @todo diff --git a/level_3/fss_write/c/basic/private-common.c b/level_3/fss_write/c/basic/private-common.c index a06220a..8ae3dfd 100644 --- a/level_3/fss_write/c/basic/private-common.c +++ b/level_3/fss_write/c/basic/private-common.c @@ -1,4 +1,4 @@ -#include "basic.h" +#include "fss_write.h" #include "private-common.h" #ifdef __cplusplus diff --git a/level_3/fss_write/c/basic/private-print.c b/level_3/fss_write/c/basic/private-print.c index 4f1da6c..0f7be74 100644 --- a/level_3/fss_write/c/basic/private-print.c +++ b/level_3/fss_write/c/basic/private-print.c @@ -1,4 +1,4 @@ -#include "basic.h" +#include "fss_write.h" #include "private-common.h" #include "private-print.h" diff --git a/level_3/fss_write/c/basic/private-write.c b/level_3/fss_write/c/basic/private-write.c index 7197a20..e3c2ad5 100644 --- a/level_3/fss_write/c/basic/private-write.c +++ b/level_3/fss_write/c/basic/private-write.c @@ -1,4 +1,4 @@ -#include "basic.h" +#include "fss_write.h" #include "private-common.h" #include "private-write.h" diff --git a/level_3/fss_write/c/basic_list/basic_list.c b/level_3/fss_write/c/basic_list/basic_list.c deleted file mode 100644 index 147d352..0000000 --- a/level_3/fss_write/c/basic_list/basic_list.c +++ /dev/null @@ -1,19 +0,0 @@ -#include "fss_write_basic_list.h" -#include "private-common.h" -#include "private-basic_list.h" -#include "../main/fss_write.h" - -#ifdef __cplusplus -extern "C" { -#endif - -#ifndef _di_fss_write_basic_list_process_help_ - void fss_write_basic_list_process_help(fll_program_data_t * const main, fss_write_setting_t * const setting) { - - fss_write_basic_list_print_help(main, setting); - } -#endif // _di_fss_write_basic_list_process_help_ - -#ifdef __cplusplus -} // extern "C" -#endif diff --git a/level_3/fss_write/c/basic_list/common.c b/level_3/fss_write/c/basic_list/common.c index ee13670..477f698 100644 --- a/level_3/fss_write/c/basic_list/common.c +++ b/level_3/fss_write/c/basic_list/common.c @@ -1,4 +1,4 @@ -#include "basic_list.h" +#include "fss_write.h" #ifdef __cplusplus extern "C" { @@ -6,6 +6,10 @@ extern "C" { #ifndef _di_fss_write_basic_list_strings_ const f_string_static_t fss_write_basic_list_standard_s = macro_f_string_static_t_initialize(FSS_WRITE_basic_list_standard_s, 0, FSS_WRITE_basic_list_standard_s_length); + + const f_string_static_t fss_write_format_code_short_0002_s = macro_f_string_static_t_initialize(FSS_WRITE_format_code_short_0002_s, 0, FSS_WRITE_format_code_short_0002_s_length); + const f_string_static_t fss_write_format_code_long_0002_s = macro_f_string_static_t_initialize(FSS_WRITE_format_code_long_0002_s, 0, FSS_WRITE_format_code_long_0002_s_length); + const f_string_static_t fss_write_format_code_human_0002_s = macro_f_string_static_t_initialize(FSS_WRITE_format_code_human_0002_s, 0, FSS_WRITE_format_code_human_0002_s_length); #endif // _di_fss_write_basic_list_strings_ #ifdef __cplusplus diff --git a/level_3/fss_write/c/basic_list/common.h b/level_3/fss_write/c/basic_list/common.h index c0beb2a..f0b39cd 100644 --- a/level_3/fss_write/c/basic_list/common.h +++ b/level_3/fss_write/c/basic_list/common.h @@ -22,9 +22,21 @@ extern "C" { #ifndef _di_fss_write_basic_list_strings_ #define FSS_WRITE_basic_list_standard_s "FSS-0002 (Basic List)" + #define FSS_WRITE_format_code_short_0002_s "0002" + #define FSS_WRITE_format_code_long_0002_s "fss-0002" + #define FSS_WRITE_format_code_human_0002_s "basic list" + #define FSS_WRITE_basic_list_standard_s_length 21 + #define FSS_WRITE_format_code_short_0002_s_length 4 + #define FSS_WRITE_format_code_long_0002_s_length 8 + #define FSS_WRITE_format_code_human_0002_s_length 10 + extern const f_string_static_t fss_write_basic_list_standard_s; + + extern const f_string_static_t fss_write_format_code_short_0002_s; + extern const f_string_static_t fss_write_format_code_long_0002_s; + extern const f_string_static_t fss_write_format_code_human_0002_s; #endif // _di_fss_write_basic_list_strings_ #ifdef __cplusplus diff --git a/level_3/fss_write/c/basic_list/fss_write.c b/level_3/fss_write/c/basic_list/fss_write.c new file mode 100644 index 0000000..ebc7a29 --- /dev/null +++ b/level_3/fss_write/c/basic_list/fss_write.c @@ -0,0 +1,33 @@ +#include "fss_write.h" +#include "private-common.h" +#include "private-write.h" +#include "../main/fss_write.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef _di_fss_write_basic_list_process_help_ + void fss_write_basic_list_process_help(fll_program_data_t * const main, void * const setting) { + + fss_write_basic_list_print_help((fss_write_setting_t *) setting, main->message); + } +#endif // _di_fss_write_basic_list_process_help_ + +#ifndef _di_fss_write_basic_list_process_normal_ + void fss_write_basic_list_process_normal(fll_program_data_t * const main, void * const setting) { + + // @todo + } +#endif // _di_fss_write_basic_list_process_normal_ + +#ifndef _di_fss_write_basic_list_process_pipe_ + void fss_write_basic_list_process_pipe(fll_program_data_t * const main, void * const setting) { + + // @todo + } +#endif // _di_fss_write_basic_list_process_pipe_ + +#ifdef __cplusplus +} // extern "C" +#endif diff --git a/level_3/fss_write/c/basic_list/basic_list.h b/level_3/fss_write/c/basic_list/fss_write.h similarity index 58% rename from level_3/fss_write/c/basic_list/basic_list.h rename to level_3/fss_write/c/basic_list/fss_write.h index 1206d46..a40a7e4 100644 --- a/level_3/fss_write/c/basic_list/basic_list.h +++ b/level_3/fss_write/c/basic_list/fss_write.h @@ -26,6 +26,7 @@ #include #include #include +#include #include #include #include @@ -59,20 +60,57 @@ extern "C" { * The main program data. * @param setting * The main program settings. + * Must be of type (fss_write_setting_t *). + * + * This does not alter setting.status. + * + * @return + * F_none on success. + * F_output_not on success, but no printing is performed. + */ +#ifndef _di_fss_write_basic_list_process_help_ + extern void fss_write_basic_list_process_help(fll_program_data_t * const main, void * const setting); +#endif // _di_fss_write_basic_list_process_help_ + +/** + * Process normally, writing to the output. + * + * @param main + * The main program data. + * @param setting + * The main program settings. + * Must be of type (fss_write_setting_t *). * * This alters setting.status: * F_none on success. * F_interrupt on (exit) signal received. * * F_parameter (with error bit) if main is NULL or setting is NULL. + */ +#ifndef _di_fss_write_basic_list_process_normal_ + extern void fss_write_basic_list_process_normal(fll_program_data_t * const main, void * const setting); +#endif // _di_fss_write_basic_list_process_normal_ + +/** + * Process the pipe, reading from the pipe and writing to the output. * - * @return - * F_none on success. - * F_failure (with error bit) for any other failure. + * @param main + * The main program data. + * @param setting + * The main program settings. + * Must be of type (fss_write_setting_t *). + * + * This alters setting.status: + * F_none on success. + * F_data_not on success but pipe contained no relevant data. + * F_basic_list on success and the basic_list has been printed. + * F_interrupt on (exit) signal received. + * + * F_parameter (with error bit) if main is NULL or setting is NULL. */ -#ifndef _di_fss_write_basic_list_process_help_ - extern void fss_write_basic_list_process_help(fll_program_data_t * const main, fss_write_setting_t * const setting); -#endif // _di_fss_write_basic_list_process_help_ +#ifndef _di_fss_write_basic_list_process_pipe_ + extern void fss_write_basic_list_process_pipe(fll_program_data_t * const main, void * const setting); +#endif // _di_fss_write_basic_list_process_pipe_ #ifdef __cplusplus } // extern "C" diff --git a/level_3/fss_write/c/basic_list/main.c b/level_3/fss_write/c/basic_list/main.c index 212c2d2..2d03b16 100644 --- a/level_3/fss_write/c/basic_list/main.c +++ b/level_3/fss_write/c/basic_list/main.c @@ -1,11 +1,11 @@ -#include "basic_list.h" +#include "fss_write.h" int main(const int argc, const f_string_t *argv, const f_string_t *envp) { fll_program_data_t data = fll_program_data_t_initialize; fss_write_setting_t setting = fss_write_setting_t_initialize; setting.state.data = (void *) &data; - setting.process_help = &fss_write_basic_list_print_help; + setting.process_help = &fss_write_basic_list_process_help; setting.process_pipe = &fss_write_basic_list_process_pipe; setting.process_normal = &fss_write_basic_list_process_normal; diff --git a/level_3/fss_write/c/basic_list/print.c b/level_3/fss_write/c/basic_list/print.c index 0b5dabf..51ac9d3 100644 --- a/level_3/fss_write/c/basic_list/print.c +++ b/level_3/fss_write/c/basic_list/print.c @@ -1,4 +1,4 @@ -#include "basic_list.h" +#include "fss_write.h" #include "private-common.h" #ifdef __cplusplus @@ -16,6 +16,8 @@ extern "C" { fss_write_print_help(setting, print); + f_print_dynamic_raw(f_string_eol_s, print.to); + fll_program_print_help_usage(print, fss_write_program_name_s, f_string_empty_s); // @todo diff --git a/level_3/fss_write/c/basic_list/private-common.c b/level_3/fss_write/c/basic_list/private-common.c index 24b56de..8ae3dfd 100644 --- a/level_3/fss_write/c/basic_list/private-common.c +++ b/level_3/fss_write/c/basic_list/private-common.c @@ -1,4 +1,4 @@ -#include "basic_list.h" +#include "fss_write.h" #include "private-common.h" #ifdef __cplusplus diff --git a/level_3/fss_write/c/basic_list/private-print.c b/level_3/fss_write/c/basic_list/private-print.c index 237b20a..0f7be74 100644 --- a/level_3/fss_write/c/basic_list/private-print.c +++ b/level_3/fss_write/c/basic_list/private-print.c @@ -1,4 +1,4 @@ -#include "basic_list.h" +#include "fss_write.h" #include "private-common.h" #include "private-print.h" diff --git a/level_3/fss_write/c/basic_list/private-write.c b/level_3/fss_write/c/basic_list/private-write.c index 98c2396..e3c2ad5 100644 --- a/level_3/fss_write/c/basic_list/private-write.c +++ b/level_3/fss_write/c/basic_list/private-write.c @@ -1,4 +1,4 @@ -#include "basic_list.h" +#include "fss_write.h" #include "private-common.h" #include "private-write.h" diff --git a/level_3/fss_write/c/embedded_list/common.c b/level_3/fss_write/c/embedded_list/common.c index ce3090a..54f60c1 100644 --- a/level_3/fss_write/c/embedded_list/common.c +++ b/level_3/fss_write/c/embedded_list/common.c @@ -1,4 +1,4 @@ -#include "embedded_list.h" +#include "fss_write.h" #ifdef __cplusplus extern "C" { @@ -6,6 +6,10 @@ extern "C" { #ifndef _di_fss_write_embedded_list_strings_ const f_string_static_t fss_write_embedded_list_standard_s = macro_f_string_static_t_initialize(FSS_WRITE_embedded_list_standard_s, 0, FSS_WRITE_embedded_list_standard_s_length); + + const f_string_static_t fss_write_format_code_short_0008_s = macro_f_string_static_t_initialize(FSS_WRITE_format_code_short_0008_s, 0, FSS_WRITE_format_code_short_0008_s_length); + const f_string_static_t fss_write_format_code_long_0008_s = macro_f_string_static_t_initialize(FSS_WRITE_format_code_long_0008_s, 0, FSS_WRITE_format_code_long_0008_s_length); + const f_string_static_t fss_write_format_code_human_0008_s = macro_f_string_static_t_initialize(FSS_WRITE_format_code_human_0008_s, 0, FSS_WRITE_format_code_human_0008_s_length); #endif // _di_fss_write_embedded_list_strings_ #ifdef __cplusplus diff --git a/level_3/fss_write/c/embedded_list/common.h b/level_3/fss_write/c/embedded_list/common.h index 1a3c162..296934b 100644 --- a/level_3/fss_write/c/embedded_list/common.h +++ b/level_3/fss_write/c/embedded_list/common.h @@ -25,6 +25,22 @@ extern "C" { #define FSS_WRITE_embedded_list_standard_s_length 24 extern const f_string_static_t fss_write_embedded_list_standard_s; + + #define FSS_WRITE_format_code_short_0008_s "0008" + #define FSS_WRITE_format_code_long_0008_s "fss-0008" + #define FSS_WRITE_format_code_human_0008_s "basic" + + #define FSS_WRITE_basic_standard_s_length 16 + + #define FSS_WRITE_format_code_short_0008_s_length 4 + #define FSS_WRITE_format_code_long_0008_s_length 8 + #define FSS_WRITE_format_code_human_0008_s_length 5 + + extern const f_string_static_t fss_write_basic_standard_s; + + extern const f_string_static_t fss_write_format_code_short_0008_s; + extern const f_string_static_t fss_write_format_code_long_0008_s; + extern const f_string_static_t fss_write_format_code_human_0008_s; #endif // _di_fss_write_embedded_list_strings_ #ifdef __cplusplus diff --git a/level_3/fss_write/c/embedded_list/embedded_list.c b/level_3/fss_write/c/embedded_list/embedded_list.c deleted file mode 100644 index 3456ed3..0000000 --- a/level_3/fss_write/c/embedded_list/embedded_list.c +++ /dev/null @@ -1,19 +0,0 @@ -#include "fss_write_embedded_list.h" -#include "private-common.h" -#include "private-embedded_list.h" -#include "../main/fss_write.h" - -#ifdef __cplusplus -extern "C" { -#endif - -#ifndef _di_fss_write_embedded_list_process_help_ - void fss_write_embedded_list_process_help(fll_program_data_t * const main, fss_write_setting_t * const setting) { - - fss_write_embedded_list_print_help(main, setting); - } -#endif // _di_fss_write_embedded_list_process_help_ - -#ifdef __cplusplus -} // extern "C" -#endif diff --git a/level_3/fss_write/c/embedded_list/fss_write.c b/level_3/fss_write/c/embedded_list/fss_write.c new file mode 100644 index 0000000..4ad0c7f --- /dev/null +++ b/level_3/fss_write/c/embedded_list/fss_write.c @@ -0,0 +1,33 @@ +#include "fss_write.h" +#include "private-common.h" +#include "private-write.h" +#include "../main/fss_write.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef _di_fss_write_embedded_list_process_help_ + void fss_write_embedded_list_process_help(fll_program_data_t * const main, void * const setting) { + + fss_write_embedded_list_print_help((fss_write_setting_t *) setting, main->message); + } +#endif // _di_fss_write_embedded_list_process_help_ + +#ifndef _di_fss_write_embedded_list_process_normal_ + void fss_write_embedded_list_process_normal(fll_program_data_t * const main, void * const setting) { + + // @todo + } +#endif // _di_fss_write_embedded_list_process_normal_ + +#ifndef _di_fss_write_embedded_list_process_pipe_ + void fss_write_embedded_list_process_pipe(fll_program_data_t * const main, void * const setting) { + + // @todo + } +#endif // _di_fss_write_embedded_list_process_pipe_ + +#ifdef __cplusplus +} // extern "C" +#endif diff --git a/level_3/fss_write/c/embedded_list/embedded_list.h b/level_3/fss_write/c/embedded_list/fss_write.h similarity index 57% rename from level_3/fss_write/c/embedded_list/embedded_list.h rename to level_3/fss_write/c/embedded_list/fss_write.h index dc1e9e5..60e2342 100644 --- a/level_3/fss_write/c/embedded_list/embedded_list.h +++ b/level_3/fss_write/c/embedded_list/fss_write.h @@ -26,6 +26,7 @@ #include #include #include +#include #include #include #include @@ -58,20 +59,57 @@ extern "C" { * The main program data. * @param setting * The main program settings. + * Must be of type (fss_write_setting_t *). + * + * This does not alter setting.status. + * + * @return + * F_none on success. + * F_output_not on success, but no printing is performed. + */ +#ifndef _di_fss_write_embedded_list_process_help_ + extern void fss_write_embedded_list_process_help(fll_program_data_t * const main, void * const setting); +#endif // _di_fss_write_embedded_list_process_help_ + +/** + * Process normally, writing to the output. + * + * @param main + * The main program data. + * @param setting + * The main program settings. + * Must be of type (fss_write_setting_t *). * * This alters setting.status: * F_none on success. * F_interrupt on (exit) signal received. * * F_parameter (with error bit) if main is NULL or setting is NULL. + */ +#ifndef _di_fss_write_embedded_list_process_normal_ + extern void fss_write_embedded_list_process_normal(fll_program_data_t * const main, void * const setting); +#endif // _di_fss_write_embedded_list_process_normal_ + +/** + * Process the pipe, reading from the pipe and writing to the output. * - * @return - * F_none on success. - * F_failure (with error bit) for any other failure. + * @param main + * The main program data. + * @param setting + * The main program settings. + * Must be of type (fss_write_setting_t *). + * + * This alters setting.status: + * F_none on success. + * F_data_not on success but pipe contained no relevant data. + * F_embedded_list on success and the embedded_list has been printed. + * F_interrupt on (exit) signal received. + * + * F_parameter (with error bit) if main is NULL or setting is NULL. */ -#ifndef _di_fss_write_embedded_list_process_help_ - extern void fss_write_embedded_list_process_help(fll_program_data_t * const main, fss_write_setting_t * const setting); -#endif // _di_fss_write_embedded_list_process_help_ +#ifndef _di_fss_write_embedded_list_process_pipe_ + extern void fss_write_embedded_list_process_pipe(fll_program_data_t * const main, void * const setting); +#endif // _di_fss_write_embedded_list_process_pipe_ #ifdef __cplusplus } // extern "C" diff --git a/level_3/fss_write/c/embedded_list/main.c b/level_3/fss_write/c/embedded_list/main.c index fec94f5..bef1732 100644 --- a/level_3/fss_write/c/embedded_list/main.c +++ b/level_3/fss_write/c/embedded_list/main.c @@ -1,11 +1,11 @@ -#include "embedded_list.h" +#include "fss_write.h" int main(const int argc, const f_string_t *argv, const f_string_t *envp) { fll_program_data_t data = fll_program_data_t_initialize; fss_write_setting_t setting = fss_write_setting_t_initialize; setting.state.data = (void *) &data; - setting.process_help = &fss_write_embedded_list_print_help; + setting.process_help = &fss_write_embedded_list_process_help; setting.process_pipe = &fss_write_embedded_list_process_pipe; setting.process_normal = &fss_write_embedded_list_process_normal; diff --git a/level_3/fss_write/c/embedded_list/print.c b/level_3/fss_write/c/embedded_list/print.c index 174016c..a1ee9f1 100644 --- a/level_3/fss_write/c/embedded_list/print.c +++ b/level_3/fss_write/c/embedded_list/print.c @@ -1,4 +1,4 @@ -#include "embedded_list.h" +#include "fss_write.h" #include "private-common.h" #ifdef __cplusplus @@ -16,6 +16,8 @@ extern "C" { fss_write_print_help(setting, print); + f_print_dynamic_raw(f_string_eol_s, print.to); + fll_program_print_help_usage(print, fss_write_program_name_s, f_string_empty_s); // @todo diff --git a/level_3/fss_write/c/embedded_list/private-common.c b/level_3/fss_write/c/embedded_list/private-common.c index 59e28ca..8ae3dfd 100644 --- a/level_3/fss_write/c/embedded_list/private-common.c +++ b/level_3/fss_write/c/embedded_list/private-common.c @@ -1,4 +1,4 @@ -#include "embedded_list.h" +#include "fss_write.h" #include "private-common.h" #ifdef __cplusplus diff --git a/level_3/fss_write/c/embedded_list/private-print.c b/level_3/fss_write/c/embedded_list/private-print.c index 0661540..0f7be74 100644 --- a/level_3/fss_write/c/embedded_list/private-print.c +++ b/level_3/fss_write/c/embedded_list/private-print.c @@ -1,4 +1,4 @@ -#include "embedded_list.h" +#include "fss_write.h" #include "private-common.h" #include "private-print.h" diff --git a/level_3/fss_write/c/embedded_list/private-write.c b/level_3/fss_write/c/embedded_list/private-write.c index 543fd73..e3c2ad5 100644 --- a/level_3/fss_write/c/embedded_list/private-write.c +++ b/level_3/fss_write/c/embedded_list/private-write.c @@ -1,4 +1,4 @@ -#include "embedded_list.h" +#include "fss_write.h" #include "private-common.h" #include "private-write.h" diff --git a/level_3/fss_write/c/extended/common.c b/level_3/fss_write/c/extended/common.c index 4d18b02..18ea2c1 100644 --- a/level_3/fss_write/c/extended/common.c +++ b/level_3/fss_write/c/extended/common.c @@ -1,4 +1,4 @@ -#include "extended.h" +#include "fss_write.h" #ifdef __cplusplus extern "C" { @@ -6,6 +6,10 @@ extern "C" { #ifndef _di_fss_write_extended_strings_ const f_string_static_t fss_write_extended_standard_s = macro_f_string_static_t_initialize(FSS_WRITE_extended_standard_s, 0, FSS_WRITE_extended_standard_s_length); + + const f_string_static_t fss_write_format_code_short_0001_s = macro_f_string_static_t_initialize(FSS_WRITE_format_code_short_0001_s, 0, FSS_WRITE_format_code_short_0001_s_length); + const f_string_static_t fss_write_format_code_long_0001_s = macro_f_string_static_t_initialize(FSS_WRITE_format_code_long_0001_s, 0, FSS_WRITE_format_code_long_0001_s_length); + const f_string_static_t fss_write_format_code_human_0001_s = macro_f_string_static_t_initialize(FSS_WRITE_format_code_human_0001_s, 0, FSS_WRITE_format_code_human_0001_s_length); #endif // _di_fss_write_extended_strings_ #ifdef __cplusplus diff --git a/level_3/fss_write/c/extended/common.h b/level_3/fss_write/c/extended/common.h index 3e63318..4bafcbc 100644 --- a/level_3/fss_write/c/extended/common.h +++ b/level_3/fss_write/c/extended/common.h @@ -22,9 +22,21 @@ extern "C" { #ifndef _di_fss_write_extended_strings_ #define FSS_WRITE_extended_standard_s "FSS-0001 (Extended)" + #define FSS_WRITE_format_code_short_0001_s "0001" + #define FSS_WRITE_format_code_long_0001_s "fss-0001" + #define FSS_WRITE_format_code_human_0001_s "extended" + #define FSS_WRITE_extended_standard_s_length 19 + #define FSS_WRITE_format_code_short_0001_s_length 4 + #define FSS_WRITE_format_code_long_0001_s_length 8 + #define FSS_WRITE_format_code_human_0001_s_length 8 + extern const f_string_static_t fss_write_extended_standard_s; + + extern const f_string_static_t fss_write_format_code_short_0001_s; + extern const f_string_static_t fss_write_format_code_long_0001_s; + extern const f_string_static_t fss_write_format_code_human_0001_s; #endif // _di_fss_write_extended_strings_ #ifdef __cplusplus diff --git a/level_3/fss_write/c/extended/extended.c b/level_3/fss_write/c/extended/extended.c deleted file mode 100644 index 7076971..0000000 --- a/level_3/fss_write/c/extended/extended.c +++ /dev/null @@ -1,19 +0,0 @@ -#include "fss_write_extended.h" -#include "private-common.h" -#include "private-extended.h" -#include "../main/fss_write.h" - -#ifdef __cplusplus -extern "C" { -#endif - -#ifndef _di_fss_write_extended_process_help_ - void fss_write_extended_process_help(fll_program_data_t * const main, fss_write_setting_t * const setting) { - - fss_write_extended_print_help(main, setting); - } -#endif // _di_fss_write_extended_process_help_ - -#ifdef __cplusplus -} // extern "C" -#endif diff --git a/level_3/fss_write/c/extended/fss_write.c b/level_3/fss_write/c/extended/fss_write.c new file mode 100644 index 0000000..e76f0f4 --- /dev/null +++ b/level_3/fss_write/c/extended/fss_write.c @@ -0,0 +1,33 @@ +#include "fss_write.h" +#include "private-common.h" +#include "private-write.h" +#include "../main/fss_write.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef _di_fss_write_extended_process_help_ + void fss_write_extended_process_help(fll_program_data_t * const main, void * const setting) { + + fss_write_extended_print_help((fss_write_setting_t *) setting, main->message); + } +#endif // _di_fss_write_extended_process_help_ + +#ifndef _di_fss_write_extended_process_normal_ + void fss_write_extended_process_normal(fll_program_data_t * const main, void * const setting) { + + // @todo + } +#endif // _di_fss_write_extended_process_normal_ + +#ifndef _di_fss_write_extended_process_pipe_ + void fss_write_extended_process_pipe(fll_program_data_t * const main, void * const setting) { + + // @todo + } +#endif // _di_fss_write_extended_process_pipe_ + +#ifdef __cplusplus +} // extern "C" +#endif diff --git a/level_3/fss_write/c/extended/extended.h b/level_3/fss_write/c/extended/fss_write.h similarity index 58% rename from level_3/fss_write/c/extended/extended.h rename to level_3/fss_write/c/extended/fss_write.h index dd0bf6e..608a8ac 100644 --- a/level_3/fss_write/c/extended/extended.h +++ b/level_3/fss_write/c/extended/fss_write.h @@ -26,6 +26,7 @@ #include #include #include +#include #include #include #include @@ -51,7 +52,6 @@ #ifdef __cplusplus extern "C" { #endif - /** * Process help for FSS-0001 (Extended). * @@ -59,20 +59,57 @@ extern "C" { * The main program data. * @param setting * The main program settings. + * Must be of type (fss_write_setting_t *). + * + * This does not alter setting.status. + * + * @return + * F_none on success. + * F_output_not on success, but no printing is performed. + */ +#ifndef _di_fss_write_extended_process_help_ + extern void fss_write_extended_process_help(fll_program_data_t * const main, void * const setting); +#endif // _di_fss_write_extended_process_help_ + +/** + * Process normally, writing to the output. + * + * @param main + * The main program data. + * @param setting + * The main program settings. + * Must be of type (fss_write_setting_t *). * * This alters setting.status: * F_none on success. * F_interrupt on (exit) signal received. * * F_parameter (with error bit) if main is NULL or setting is NULL. + */ +#ifndef _di_fss_write_extended_process_normal_ + extern void fss_write_extended_process_normal(fll_program_data_t * const main, void * const setting); +#endif // _di_fss_write_extended_process_normal_ + +/** + * Process the pipe, reading from the pipe and writing to the output. * - * @return - * F_none on success. - * F_failure (with error bit) for any other failure. + * @param main + * The main program data. + * @param setting + * The main program settings. + * Must be of type (fss_write_setting_t *). + * + * This alters setting.status: + * F_none on success. + * F_data_not on success but pipe contained no relevant data. + * F_extended on success and the extended has been printed. + * F_interrupt on (exit) signal received. + * + * F_parameter (with error bit) if main is NULL or setting is NULL. */ -#ifndef _di_fss_write_extended_process_help_ - extern void fss_write_extended_process_help(fll_program_data_t * const main, fss_write_setting_t * const setting); -#endif // _di_fss_write_extended_process_help_ +#ifndef _di_fss_write_extended_process_pipe_ + extern void fss_write_extended_process_pipe(fll_program_data_t * const main, void * const setting); +#endif // _di_fss_write_extended_process_pipe_ #ifdef __cplusplus } // extern "C" diff --git a/level_3/fss_write/c/extended/main.c b/level_3/fss_write/c/extended/main.c index b6dc078..70fc136 100644 --- a/level_3/fss_write/c/extended/main.c +++ b/level_3/fss_write/c/extended/main.c @@ -1,11 +1,11 @@ -#include "extended.h" +#include "fss_write.h" int main(const int argc, const f_string_t *argv, const f_string_t *envp) { fll_program_data_t data = fll_program_data_t_initialize; fss_write_setting_t setting = fss_write_setting_t_initialize; setting.state.data = (void *) &data; - setting.process_help = &fss_write_extended_print_help; + setting.process_help = &fss_write_extended_process_help; setting.process_pipe = &fss_write_extended_process_pipe; setting.process_normal = &fss_write_extended_process_normal; diff --git a/level_3/fss_write/c/extended/print.c b/level_3/fss_write/c/extended/print.c index b698a8f..c634825 100644 --- a/level_3/fss_write/c/extended/print.c +++ b/level_3/fss_write/c/extended/print.c @@ -1,4 +1,4 @@ -#include "extended.h" +#include "fss_write.h" #include "private-common.h" #ifdef __cplusplus @@ -16,6 +16,8 @@ extern "C" { fss_write_print_help(setting, print); + f_print_dynamic_raw(f_string_eol_s, print.to); + fll_program_print_help_usage(print, fss_write_program_name_s, f_string_empty_s); // @todo diff --git a/level_3/fss_write/c/extended/private-common.c b/level_3/fss_write/c/extended/private-common.c index b7b6f0b..8ae3dfd 100644 --- a/level_3/fss_write/c/extended/private-common.c +++ b/level_3/fss_write/c/extended/private-common.c @@ -1,4 +1,4 @@ -#include "extended.h" +#include "fss_write.h" #include "private-common.h" #ifdef __cplusplus diff --git a/level_3/fss_write/c/extended/private-print.c b/level_3/fss_write/c/extended/private-print.c index cd8abd9..0f7be74 100644 --- a/level_3/fss_write/c/extended/private-print.c +++ b/level_3/fss_write/c/extended/private-print.c @@ -1,4 +1,4 @@ -#include "extended.h" +#include "fss_write.h" #include "private-common.h" #include "private-print.h" diff --git a/level_3/fss_write/c/extended/private-write.c b/level_3/fss_write/c/extended/private-write.c index 4429121..e3c2ad5 100644 --- a/level_3/fss_write/c/extended/private-write.c +++ b/level_3/fss_write/c/extended/private-write.c @@ -1,4 +1,4 @@ -#include "extended.h" +#include "fss_write.h" #include "private-common.h" #include "private-write.h" diff --git a/level_3/fss_write/c/extended_list/common.c b/level_3/fss_write/c/extended_list/common.c index 60b8a80..20157d4 100644 --- a/level_3/fss_write/c/extended_list/common.c +++ b/level_3/fss_write/c/extended_list/common.c @@ -1,4 +1,4 @@ -#include "extended_list.h" +#include "fss_write.h" #ifdef __cplusplus extern "C" { @@ -6,6 +6,10 @@ extern "C" { #ifndef _di_fss_write_extended_list_strings_ const f_string_static_t fss_write_extended_list_standard_s = macro_f_string_static_t_initialize(FSS_WRITE_extended_list_standard_s, 0, FSS_WRITE_extended_list_standard_s_length); + + const f_string_static_t fss_write_format_code_short_0003_s = macro_f_string_static_t_initialize(FSS_WRITE_format_code_short_0003_s, 0, FSS_WRITE_format_code_short_0003_s_length); + const f_string_static_t fss_write_format_code_long_0003_s = macro_f_string_static_t_initialize(FSS_WRITE_format_code_long_0003_s, 0, FSS_WRITE_format_code_long_0003_s_length); + const f_string_static_t fss_write_format_code_human_0003_s = macro_f_string_static_t_initialize(FSS_WRITE_format_code_human_0003_s, 0, FSS_WRITE_format_code_human_0003_s_length); #endif // _di_fss_write_extended_list_strings_ #ifdef __cplusplus diff --git a/level_3/fss_write/c/extended_list/common.h b/level_3/fss_write/c/extended_list/common.h index 4e79e14..5257247 100644 --- a/level_3/fss_write/c/extended_list/common.h +++ b/level_3/fss_write/c/extended_list/common.h @@ -20,11 +20,23 @@ extern "C" { * The FSS-0001 (Extended List) specific strings. */ #ifndef _di_fss_write_extended_list_strings_ - #define FSS_WRITE_extended_list_standard_s "FSS-0001 (Extended List)" + #define FSS_WRITE_extended_list_standard_s "FSS-0003 (Extended List)" + + #define FSS_WRITE_format_code_short_0003_s "0003" + #define FSS_WRITE_format_code_long_0003_s "fss-0003" + #define FSS_WRITE_format_code_human_0003_s "extended list" #define FSS_WRITE_extended_list_standard_s_length 24 + #define FSS_WRITE_format_code_short_0003_s_length 4 + #define FSS_WRITE_format_code_long_0003_s_length 8 + #define FSS_WRITE_format_code_human_0003_s_length 13 + extern const f_string_static_t fss_write_extended_list_standard_s; + + extern const f_string_static_t fss_write_format_code_short_0003_s; + extern const f_string_static_t fss_write_format_code_long_0003_s; + extern const f_string_static_t fss_write_format_code_human_0003_s; #endif // _di_fss_write_extended_list_strings_ #ifdef __cplusplus diff --git a/level_3/fss_write/c/extended_list/extended_list.c b/level_3/fss_write/c/extended_list/extended_list.c deleted file mode 100644 index dbb6e0b..0000000 --- a/level_3/fss_write/c/extended_list/extended_list.c +++ /dev/null @@ -1,19 +0,0 @@ -#include "fss_write_extended_list.h" -#include "private-common.h" -#include "private-extended_list.h" -#include "../main/fss_write.h" - -#ifdef __cplusplus -extern "C" { -#endif - -#ifndef _di_fss_write_extended_list_process_help_ - void fss_write_extended_list_process_help(fll_program_data_t * const main, fss_write_setting_t * const setting) { - - fss_write_extended_list_print_help(main, setting); - } -#endif // _di_fss_write_extended_list_process_help_ - -#ifdef __cplusplus -} // extern "C" -#endif diff --git a/level_3/fss_write/c/extended_list/fss_write.c b/level_3/fss_write/c/extended_list/fss_write.c new file mode 100644 index 0000000..f0775dc --- /dev/null +++ b/level_3/fss_write/c/extended_list/fss_write.c @@ -0,0 +1,33 @@ +#include "fss_write.h" +#include "private-common.h" +#include "private-write.h" +#include "../main/fss_write.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef _di_fss_write_extended_list_process_help_ + void fss_write_extended_list_process_help(fll_program_data_t * const main, void * const setting) { + + fss_write_extended_list_print_help((fss_write_setting_t *) setting, main->message); + } +#endif // _di_fss_write_extended_list_process_help_ + +#ifndef _di_fss_write_extended_list_process_normal_ + void fss_write_extended_list_process_normal(fll_program_data_t * const main, void * const setting) { + + // @todo + } +#endif // _di_fss_write_extended_list_process_normal_ + +#ifndef _di_fss_write_extended_list_process_pipe_ + void fss_write_extended_list_process_pipe(fll_program_data_t * const main, void * const setting) { + + // @todo + } +#endif // _di_fss_write_extended_list_process_pipe_ + +#ifdef __cplusplus +} // extern "C" +#endif diff --git a/level_3/fss_write/c/extended_list/extended_list.h b/level_3/fss_write/c/extended_list/fss_write.h similarity index 55% rename from level_3/fss_write/c/extended_list/extended_list.h rename to level_3/fss_write/c/extended_list/fss_write.h index d08abd3..f047b5f 100644 --- a/level_3/fss_write/c/extended_list/extended_list.h +++ b/level_3/fss_write/c/extended_list/fss_write.h @@ -26,6 +26,7 @@ #include #include #include +#include #include #include #include @@ -43,9 +44,9 @@ #include // FSS Write includes. -#include +#include #include -#include +#include #include #ifdef __cplusplus @@ -59,20 +60,57 @@ extern "C" { * The main program data. * @param setting * The main program settings. + * Must be of type (fss_write_setting_t *). + * + * This does not alter setting.status. + * + * @return + * F_none on success. + * F_output_not on success, but no printing is performed. + */ +#ifndef _di_fss_write_extended_list_process_help_ + extern void fss_write_extended_list_process_help(fll_program_data_t * const main, void * const setting); +#endif // _di_fss_write_extended_list_process_help_ + +/** + * Process normally, writing to the output. + * + * @param main + * The main program data. + * @param setting + * The main program settings. + * Must be of type (fss_write_setting_t *). * * This alters setting.status: * F_none on success. * F_interrupt on (exit) signal received. * * F_parameter (with error bit) if main is NULL or setting is NULL. + */ +#ifndef _di_fss_write_extended_list_process_normal_ + extern void fss_write_extended_list_process_normal(fll_program_data_t * const main, void * const setting); +#endif // _di_fss_write_extended_list_process_normal_ + +/** + * Process the pipe, reading from the pipe and writing to the output. * - * @return - * F_none on success. - * F_failure (with error bit) for any other failure. + * @param main + * The main program data. + * @param setting + * The main program settings. + * Must be of type (fss_write_setting_t *). + * + * This alters setting.status: + * F_none on success. + * F_data_not on success but pipe contained no relevant data. + * F_extended_list on success and the extended_list has been printed. + * F_interrupt on (exit) signal received. + * + * F_parameter (with error bit) if main is NULL or setting is NULL. */ -#ifndef _di_fss_write_extended_list_process_help_ - extern void fss_write_extended_list_process_help(fll_program_data_t * const main, fss_write_setting_t * const setting); -#endif // _di_fss_write_extended_list_process_help_ +#ifndef _di_fss_write_extended_list_process_pipe_ + extern void fss_write_extended_list_process_pipe(fll_program_data_t * const main, void * const setting); +#endif // _di_fss_write_extended_list_process_pipe_ #ifdef __cplusplus } // extern "C" diff --git a/level_3/fss_write/c/extended_list/main.c b/level_3/fss_write/c/extended_list/main.c index 4a2b2e5..f6714b8 100644 --- a/level_3/fss_write/c/extended_list/main.c +++ b/level_3/fss_write/c/extended_list/main.c @@ -1,11 +1,11 @@ -#include "extended_list.h" +#include "fss_write.h" int main(const int argc, const f_string_t *argv, const f_string_t *envp) { fll_program_data_t data = fll_program_data_t_initialize; fss_write_setting_t setting = fss_write_setting_t_initialize; setting.state.data = (void *) &data; - setting.process_help = &fss_write_extended_list_print_help; + setting.process_help = &fss_write_extended_list_process_help; setting.process_pipe = &fss_write_extended_list_process_pipe; setting.process_normal = &fss_write_extended_list_process_normal; diff --git a/level_3/fss_write/c/extended_list/print.c b/level_3/fss_write/c/extended_list/print.c index c1ebcc2..7e882b0 100644 --- a/level_3/fss_write/c/extended_list/print.c +++ b/level_3/fss_write/c/extended_list/print.c @@ -1,4 +1,4 @@ -#include "extended_list.h" +#include "fss_write.h" #include "private-common.h" #ifdef __cplusplus @@ -16,6 +16,8 @@ extern "C" { fss_write_print_help(setting, print); + f_print_dynamic_raw(f_string_eol_s, print.to); + fll_program_print_help_usage(print, fss_write_program_name_s, f_string_empty_s); // @todo diff --git a/level_3/fss_write/c/extended_list/private-common.c b/level_3/fss_write/c/extended_list/private-common.c index cd7888c..8ae3dfd 100644 --- a/level_3/fss_write/c/extended_list/private-common.c +++ b/level_3/fss_write/c/extended_list/private-common.c @@ -1,4 +1,4 @@ -#include "extended_list.h" +#include "fss_write.h" #include "private-common.h" #ifdef __cplusplus diff --git a/level_3/fss_write/c/extended_list/private-print.c b/level_3/fss_write/c/extended_list/private-print.c index 1ac3a0d..0f7be74 100644 --- a/level_3/fss_write/c/extended_list/private-print.c +++ b/level_3/fss_write/c/extended_list/private-print.c @@ -1,4 +1,4 @@ -#include "extended_list.h" +#include "fss_write.h" #include "private-common.h" #include "private-print.h" diff --git a/level_3/fss_write/c/extended_list/private-write.c b/level_3/fss_write/c/extended_list/private-write.c index 40219c1..e3c2ad5 100644 --- a/level_3/fss_write/c/extended_list/private-write.c +++ b/level_3/fss_write/c/extended_list/private-write.c @@ -1,4 +1,4 @@ -#include "extended_list.h" +#include "fss_write.h" #include "private-common.h" #include "private-write.h" diff --git a/level_3/fss_write/c/main/common.h b/level_3/fss_write/c/main/common.h index 609eece..2d5802b 100644 --- a/level_3/fss_write/c/main/common.h +++ b/level_3/fss_write/c/main/common.h @@ -86,6 +86,32 @@ extern "C" { #endif // _di_fss_write_defines_ /** + * Designate the supported formats for the main (fss_write) program. + * + * These are intended to be used for communicating or selecting an "--as" option. + * + * The digit value of the codes are intended to exactly match the numeric representation. + * + * fss_write_format_code_*_e: + * - 0000: The FSS-0000 (Basic) format. + * - 0001: The FSS-0001 (Extended) format. + * - 0002: The FSS-0002 (Basic List) format. + * - 0003: The FSS-0003 (Extended List) format. + * - 0008: The FSS-0008 (Embedded List) format. + * - 000e: The FSS-000E (Payload) format. + */ +#ifndef _di_fss_write_formats_ + enum { + fss_write_format_code_0000_e = 0x0, + fss_write_format_code_0001_e = 0x1, + fss_write_format_code_0002_e = 0x2, + fss_write_format_code_0003_e = 0x3, + fss_write_format_code_0008_e = 0x8, + fss_write_format_code_000e_e = 0xe, + }; +#endif // _di_fss_write_formats_ + +/** * A collection of static strings associated with FSS Payload Write. */ #ifndef _di_fss_write_strings_ @@ -314,9 +340,9 @@ extern "C" { f_string_dynamics_t objects; f_string_dynamics_t contents; - void (*process_help)(fll_program_data_t * const main, fss_write_setting_t * const setting); - void (*process_normal)(fll_program_data_t * const main, fss_write_setting_t * const setting); - void (*process_pipe)(fll_program_data_t * const main, fss_write_setting_t * const setting); + void (*process_help)(fll_program_data_t * const main, void * const setting); + void (*process_normal)(fll_program_data_t * const main, void * const setting); + void (*process_pipe)(fll_program_data_t * const main, void * const setting); } fss_write_setting_t; #define fss_write_setting_t_initialize \ diff --git a/level_3/fss_write/c/main/fss_write.c b/level_3/fss_write/c/main/fss_write.c index 93779ee..2e7ec1b 100644 --- a/level_3/fss_write/c/main/fss_write.c +++ b/level_3/fss_write/c/main/fss_write.c @@ -14,7 +14,7 @@ extern "C" { setting->status = F_none; if (setting->flag & fss_write_main_flag_help_e) { - fss_write_print_help(setting, main->message); + setting->process_help(main, (void *) setting); return; } diff --git a/level_3/fss_write/c/main/fss_write.h b/level_3/fss_write/c/main/fss_write.h index b68c1d4..4468f25 100644 --- a/level_3/fss_write/c/main/fss_write.h +++ b/level_3/fss_write/c/main/fss_write.h @@ -26,25 +26,24 @@ #include #include #include +#include #include #include #include // FLL-1 includes. #include -#include #include #include // FLL-2 includes. #include -#include #include #include // FSS Write includes. -#include -#include +#include +#include #ifdef __cplusplus extern "C" { diff --git a/level_3/fss_write/c/main/main.c b/level_3/fss_write/c/main/main.c index 738bc2d..d8634d2 100644 --- a/level_3/fss_write/c/main/main.c +++ b/level_3/fss_write/c/main/main.c @@ -1,10 +1,11 @@ #include "fss_write.h" -#include "basic/basic.h" -#include "basic_list/basic_list.h" -#include "extended/extended.h" -#include "extended_list/extended_list.h" -#include "embedded_list/embedded_list.h" -#include "payload/payload.h" +#include "main.h" +#include "../basic/fss_write.h" +#include "../basic_list/fss_write.h" +#include "../extended/fss_write.h" +#include "../extended_list/fss_write.h" +#include "../embedded_list/fss_write.h" +#include "../payload/fss_write.h" int main(const int argc, const f_string_t *argv, const f_string_t *envp) { @@ -13,7 +14,7 @@ int main(const int argc, const f_string_t *argv, const f_string_t *envp) { setting.state.data = (void *) &data; // Default to Basic. - setting.process_help = &fss_write_basic_print_help; + setting.process_help = &fss_write_main_process_help; setting.process_pipe = &fss_write_basic_process_pipe; setting.process_normal = &fss_write_basic_process_normal; @@ -44,3 +45,75 @@ int main(const int argc, const f_string_t *argv, const f_string_t *envp) { return F_status_is_error(setting.status) ? 1 : 0; } + +#ifndef _di_fss_write_main_process_help_ + void fss_write_main_process_help(fll_program_data_t * const main, void * const void_setting) { + + fss_write_setting_t * const setting = (fss_write_setting_t *) void_setting; + + f_file_stream_lock(main->message.to); + + f_print_dynamic_raw(setting->line_first, main->message.to); + + fll_program_print_help_header(main->message, fss_write_program_name_long_s, fss_write_program_version_s); + + fss_write_print_help(setting, main->message); + + fll_program_print_help_option(main->message, fss_write_short_as_s, fss_write_long_as_s, f_console_symbol_short_normal_s, f_console_symbol_long_normal_s, "Designate the supported format to write as."); + + f_print_dynamic_raw(f_string_eol_s, main->message.to); + f_print_dynamic_raw(f_string_eol_s, main->message.to); + + fll_program_print_help_usage(main->message, fss_write_program_name_s, f_string_empty_s); + + f_print_dynamic_raw(f_string_eol_s, main->message.to); + + fl_print_format(" The '%[%r%r%]' parameter supports the following standards with the specified possible case-sensitive values%r", main->message.to, main->message.set->notable, f_console_symbol_long_normal_s, fss_write_long_as_s, main->message.set->notable, f_string_eol_s); + + // FSS-0000 (Basic) + fl_print_format(" - As %[%r%] format: ", main->message.to, main->message.set->notable, fss_write_basic_standard_s, main->message.set->notable); + fl_print_format("'%[%r%]', ", main->message.to, main->message.set->notable, fss_write_format_code_short_0000_s, main->message.set->notable); + fl_print_format("'%[%r%]', or ", main->message.to, main->message.set->notable, fss_write_format_code_long_0000_s, main->message.set->notable); + fl_print_format("'%[%r%]'.%r", main->message.to, main->message.set->notable, fss_write_format_code_human_0000_s, main->message.set->notable, f_string_eol_s); + + // FSS-0001 (Extended) + fl_print_format(" - As %[%r%] format: ", main->message.to, main->message.set->notable, fss_write_extended_standard_s, main->message.set->notable); + fl_print_format("'%[%r%]', ", main->message.to, main->message.set->notable, fss_write_format_code_short_0001_s, main->message.set->notable); + fl_print_format("'%[%r%]', or ", main->message.to, main->message.set->notable, fss_write_format_code_long_0001_s, main->message.set->notable); + fl_print_format("'%[%r%]'.%r", main->message.to, main->message.set->notable, fss_write_format_code_human_0001_s, main->message.set->notable, f_string_eol_s); + + // FSS-0002 (Basic List) + fl_print_format(" - As %[%r%] format: ", main->message.to, main->message.set->notable, fss_write_basic_list_standard_s, main->message.set->notable); + fl_print_format("'%[%r%]', ", main->message.to, main->message.set->notable, fss_write_format_code_short_0002_s, main->message.set->notable); + fl_print_format("'%[%r%]', or ", main->message.to, main->message.set->notable, fss_write_format_code_long_0002_s, main->message.set->notable); + fl_print_format("'%[%r%]'.%r", main->message.to, main->message.set->notable, fss_write_format_code_human_0002_s, main->message.set->notable, f_string_eol_s); + + // FSS-0003 (Extended List) + fl_print_format(" - As %[%r%] format: ", main->message.to, main->message.set->notable, fss_write_extended_list_standard_s, main->message.set->notable); + fl_print_format("'%[%r%]', ", main->message.to, main->message.set->notable, fss_write_format_code_short_0003_s, main->message.set->notable); + fl_print_format("'%[%r%]', or ", main->message.to, main->message.set->notable, fss_write_format_code_long_0003_s, main->message.set->notable); + fl_print_format("'%[%r%]'.%r", main->message.to, main->message.set->notable, fss_write_format_code_human_0003_s, main->message.set->notable, f_string_eol_s); + + // FSS-0008 (Embedded List) + fl_print_format(" - As %[%r%] format: ", main->message.to, main->message.set->notable, fss_write_embedded_list_standard_s, main->message.set->notable); + fl_print_format("'%[%r%]', ", main->message.to, main->message.set->notable, fss_write_format_code_short_0008_s, main->message.set->notable); + fl_print_format("'%[%r%]', or ", main->message.to, main->message.set->notable, fss_write_format_code_long_0008_s, main->message.set->notable); + fl_print_format("'%[%r%]'.%r", main->message.to, main->message.set->notable, fss_write_format_code_human_0008_s, main->message.set->notable, f_string_eol_s); + + // FSS-000E (Payload) + fl_print_format(" - As %[%r%] format: ", main->message.to, main->message.set->notable, fss_write_payload_standard_s, main->message.set->notable); + fl_print_format("'%[%r%]', ", main->message.to, main->message.set->notable, fss_write_format_code_short_000e_s, main->message.set->notable); + fl_print_format("'%[%r%]', or ", main->message.to, main->message.set->notable, fss_write_format_code_long_000e_s, main->message.set->notable); + fl_print_format("'%[%r%]'.%r", main->message.to, main->message.set->notable, fss_write_format_code_human_000e_s, main->message.set->notable, f_string_eol_s); + + f_print_dynamic_raw(f_string_eol_s, main->message.to); + + fl_print_format(" The %[%r%] format is the default when no ", main->message.to, main->message.set->notable, fss_write_basic_standard_s, main->message.set->notable); + fl_print_format("'%[%r%r%]' is specified.%r", main->message.to, main->message.set->notable, f_console_symbol_long_normal_s, fss_write_long_as_s, main->message.set->notable, f_string_eol_s); + + f_print_dynamic_raw(setting->line_last, main->message.to); + + f_file_stream_flush(main->message.to); + f_file_stream_unlock(main->message.to); + } +#endif // _di_fss_write_main_process_help_ diff --git a/level_3/fss_write/c/main/main.h b/level_3/fss_write/c/main/main.h new file mode 100644 index 0000000..a4b3d5d --- /dev/null +++ b/level_3/fss_write/c/main/main.h @@ -0,0 +1,42 @@ +/** + * FLL - Level 3 + * + * Project: FSS Write + * API Version: 0.7 + * Licenses: lgpl-2.1-or-later + * + * This file is only ever included by main/main.c and should not normally be included anywhere else. + * Anything that wants to include this should be providing the "main" program functionality in some manner. + * Any program utilizing this should link to the "main" program library. + */ +#ifndef _fss_write_main_h +#define _fss_write_main_h + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * Process printing help for when not specifying "--as". + * + * @param main + * The main program data. + * @param setting + * The main program settings. + * Must be of type (fss_write_setting_t *). + * + * This does not alter setting.status. + * + * @return + * F_none on success. + * F_output_not on success, but no printing is performed. + */ +#ifndef _di_fss_write_main_process_help_ + extern void fss_write_main_process_help(fll_program_data_t * const main, void * const setting); +#endif // _di_fss_write_main_process_help_ + +#ifdef __cplusplus +} // extern "C" +#endif + +#endif // _fss_write_main_h diff --git a/level_3/fss_write/c/main/print.c b/level_3/fss_write/c/main/print.c index 7a9bf5d..8b29731 100644 --- a/level_3/fss_write/c/main/print.c +++ b/level_3/fss_write/c/main/print.c @@ -115,7 +115,6 @@ extern "C" { fll_program_print_help_option(print, fss_write_short_trim_s, fss_write_long_trim_s, f_console_symbol_short_normal_s, f_console_symbol_long_normal_s, " Trim Object names."); f_print_dynamic_raw(f_string_eol_s, print.to); - f_print_dynamic_raw(f_string_eol_s, print.to); } #endif // _di_fss_write_print_help_ diff --git a/level_3/fss_write/c/payload/common.c b/level_3/fss_write/c/payload/common.c index ad22798..54bb78c 100644 --- a/level_3/fss_write/c/payload/common.c +++ b/level_3/fss_write/c/payload/common.c @@ -1,4 +1,4 @@ -#include "payload.h" +#include "fss_write.h" #ifdef __cplusplus extern "C" { @@ -6,6 +6,10 @@ extern "C" { #ifndef _di_fss_write_payload_strings_ const f_string_static_t fss_write_payload_standard_s = macro_f_string_static_t_initialize(FSS_WRITE_payload_standard_s, 0, FSS_WRITE_payload_standard_s_length); + + const f_string_static_t fss_write_format_code_short_000e_s = macro_f_string_static_t_initialize(FSS_WRITE_format_code_short_000e_s, 0, FSS_WRITE_format_code_short_000e_s_length); + const f_string_static_t fss_write_format_code_long_000e_s = macro_f_string_static_t_initialize(FSS_WRITE_format_code_long_000e_s, 0, FSS_WRITE_format_code_long_000e_s_length); + const f_string_static_t fss_write_format_code_human_000e_s = macro_f_string_static_t_initialize(FSS_WRITE_format_code_human_000e_s, 0, FSS_WRITE_format_code_human_000e_s_length); #endif // _di_fss_write_payload_strings_ #ifdef __cplusplus diff --git a/level_3/fss_write/c/payload/common.h b/level_3/fss_write/c/payload/common.h index 6ea77f6..afccfc6 100644 --- a/level_3/fss_write/c/payload/common.h +++ b/level_3/fss_write/c/payload/common.h @@ -22,9 +22,21 @@ extern "C" { #ifndef _di_fss_write_payload_strings_ #define FSS_WRITE_payload_standard_s "FSS-000E (Payload)" + #define FSS_WRITE_format_code_short_000e_s "000e" + #define FSS_WRITE_format_code_long_000e_s "fss-000e" + #define FSS_WRITE_format_code_human_000e_s "payload" + #define FSS_WRITE_payload_standard_s_length 18 + #define FSS_WRITE_format_code_short_000e_s_length 4 + #define FSS_WRITE_format_code_long_000e_s_length 8 + #define FSS_WRITE_format_code_human_000e_s_length 7 + extern const f_string_static_t fss_write_payload_standard_s; + + extern const f_string_static_t fss_write_format_code_short_000e_s; + extern const f_string_static_t fss_write_format_code_long_000e_s; + extern const f_string_static_t fss_write_format_code_human_000e_s; #endif // _di_fss_write_payload_strings_ #ifdef __cplusplus diff --git a/level_3/fss_write/c/payload/payload.c b/level_3/fss_write/c/payload/fss_write.c similarity index 95% rename from level_3/fss_write/c/payload/payload.c rename to level_3/fss_write/c/payload/fss_write.c index 0730dde..9af12f8 100644 --- a/level_3/fss_write/c/payload/payload.c +++ b/level_3/fss_write/c/payload/fss_write.c @@ -1,6 +1,6 @@ -#include "fss_write_payload.h" +#include "fss_write.h" #include "private-common.h" -#include "private-payload.h" +#include "private-write.h" #include "../main/fss_write.h" #ifdef __cplusplus @@ -8,15 +8,16 @@ extern "C" { #endif #ifndef _di_fss_write_payload_process_help_ - void fss_write_payload_process_help(fll_program_data_t * const main, fss_write_setting_t * const setting) { + void fss_write_payload_process_help(fll_program_data_t * const main, void * const setting) { - fss_write_payload_print_help(main, setting); + fss_write_payload_print_help((fss_write_setting_t *) setting, main->message); } #endif // _di_fss_write_payload_process_help_ #ifndef _di_fss_write_payload_process_normal_ - void fss_write_payload_process_normal(fll_program_data_t * const main, fss_write_setting_t * const setting) { + void fss_write_payload_process_normal(fll_program_data_t * const main, void * const void_setting) { + fss_write_setting_t * const setting = (fss_write_setting_t *) void_setting; f_string_statics_t *objects = &setting->objects; f_string_statics_t *contents = &setting->contents; f_string_statics_t *data = &setting->objects; @@ -50,8 +51,9 @@ extern "C" { #endif // _di_fss_write_payload_process_normal_ #ifndef _di_fss_write_payload_process_pipe_ - void fss_write_payload_process_pipe(fll_program_data_t * const main, fss_write_setting_t * const setting) { + void fss_write_payload_process_pipe(fll_program_data_t * const main, void * const void_setting) { + fss_write_setting_t * const setting = (fss_write_setting_t *) void_setting; f_status_t status_pipe = F_none; f_file_t input = f_file_t_initialize; input.id = F_type_descriptor_input_d; @@ -182,7 +184,7 @@ extern "C" { printed |= 0x2; // Designate to read next block from pipe. - range.start = 1;fss_write_payload_process_set + range.start = 1; // fss_write_payload_process_set ?? range.stop = 0; continue; @@ -204,7 +206,7 @@ extern "C" { if (main->error.verbosity > f_console_verbosity_quiet_e) { fss_write_print_line_first_locked(setting, main->error); - fss_write_print_error_one_content_only(setting, main->error, "FSS-000E (Payload)"); + fss_write_print_error_one_content_only(setting, main->error, fss_write_payload_standard_s); fss_write_print_line_last_locked(setting, main->error); } @@ -344,7 +346,7 @@ extern "C" { setting->status = F_status_set_error(F_supported_not); fss_write_print_line_first_locked(setting, main->error); - fss_write_print_error_unsupported_eol(setting, main->error); + fss_write_print_error_unsupported_eol(setting, main->error, fss_write_payload_standard_s); fss_write_print_line_last_locked(setting, main->error); return; @@ -383,7 +385,7 @@ extern "C" { setting->status = F_status_set_error(F_supported_not); fss_write_print_line_first_locked(setting, main->error); - fss_write_print_error_unsupported_eol(setting, main->error); + fss_write_print_error_unsupported_eol(setting, main->error, fss_write_payload_standard_s); fss_write_print_line_last_locked(setting, main->error); return; diff --git a/level_3/fss_write/c/payload/payload.h b/level_3/fss_write/c/payload/fss_write.h similarity index 86% rename from level_3/fss_write/c/payload/payload.h rename to level_3/fss_write/c/payload/fss_write.h index cfe9440..90ce957 100644 --- a/level_3/fss_write/c/payload/payload.h +++ b/level_3/fss_write/c/payload/fss_write.h @@ -26,6 +26,7 @@ #include #include #include +#include #include #include #include @@ -59,19 +60,16 @@ extern "C" { * The main program data. * @param setting * The main program settings. + * Must be of type (fss_write_setting_t *). * - * This alters setting.status: - * F_none on success. - * F_interrupt on (exit) signal received. - * - * F_parameter (with error bit) if main is NULL or setting is NULL. + * This does not alter setting.status. * * @return * F_none on success. - * F_failure (with error bit) for any other failure. + * F_output_not on success, but no printing is performed. */ #ifndef _di_fss_write_payload_process_help_ - extern void fss_write_payload_process_help(fll_program_data_t * const main, fss_write_setting_t * const setting); + extern void fss_write_payload_process_help(fll_program_data_t * const main, void * const setting); #endif // _di_fss_write_payload_process_help_ /** @@ -81,6 +79,7 @@ extern "C" { * The main program data. * @param setting * The main program settings. + * Must be of type (fss_write_setting_t *). * * This alters setting.status: * F_none on success. @@ -89,7 +88,7 @@ extern "C" { * F_parameter (with error bit) if main is NULL or setting is NULL. */ #ifndef _di_fss_write_payload_process_normal_ - extern void fss_write_payload_process_normal(fll_program_data_t * const main, fss_write_setting_t * const setting); + extern void fss_write_payload_process_normal(fll_program_data_t * const main, void * const setting); #endif // _di_fss_write_payload_process_normal_ /** @@ -99,6 +98,7 @@ extern "C" { * The main program data. * @param setting * The main program settings. + * Must be of type (fss_write_setting_t *). * * This alters setting.status: * F_none on success. @@ -109,7 +109,7 @@ extern "C" { * F_parameter (with error bit) if main is NULL or setting is NULL. */ #ifndef _di_fss_write_payload_process_pipe_ - extern void fss_write_payload_process_pipe(fll_program_data_t * const main, fss_write_setting_t * const setting); + extern void fss_write_payload_process_pipe(fll_program_data_t * const main, void * const setting); #endif // _di_fss_write_payload_process_pipe_ /** @@ -132,9 +132,9 @@ extern "C" { * The content to escape and print. * Set pointer address to 0 to not use. */ -#ifndef _di_fss_write_process_payload_set_ - extern void fss_write_process_payload_set(fll_program_data_t * const main, fss_write_setting_t * const setting, const f_string_static_t *object, const f_string_static_t *content); -#endif // _di_fss_write_process_payload_set_ +#ifndef _di_fss_write_payload_process_set_ + extern void fss_write_payload_process_set(fll_program_data_t * const main, fss_write_setting_t * const setting, const f_string_static_t *object, const f_string_static_t *content); +#endif // _di_fss_write_payload_process_set_ #ifdef __cplusplus } // extern "C" diff --git a/level_3/fss_write/c/payload/main.c b/level_3/fss_write/c/payload/main.c index 2fc9773..bfd6074 100644 --- a/level_3/fss_write/c/payload/main.c +++ b/level_3/fss_write/c/payload/main.c @@ -1,11 +1,11 @@ -#include "payload.h" +#include "fss_write.h" int main(const int argc, const f_string_t *argv, const f_string_t *envp) { fll_program_data_t data = fll_program_data_t_initialize; fss_write_setting_t setting = fss_write_setting_t_initialize; setting.state.data = (void *) &data; - setting.process_help = &fss_write_payload_print_help; + setting.process_help = &fss_write_payload_process_help; setting.process_pipe = &fss_write_payload_process_pipe; setting.process_normal = &fss_write_payload_process_normal; diff --git a/level_3/fss_write/c/payload/print.c b/level_3/fss_write/c/payload/print.c index 95335a7..1421d22 100644 --- a/level_3/fss_write/c/payload/print.c +++ b/level_3/fss_write/c/payload/print.c @@ -1,4 +1,4 @@ -#include "payload.h" +#include "fss_write.h" #include "private-common.h" #ifdef __cplusplus @@ -16,6 +16,8 @@ extern "C" { fss_write_print_help(setting, print); + f_print_dynamic_raw(f_string_eol_s, print.to); + fll_program_print_help_usage(print, fss_write_program_name_s, f_string_empty_s); fl_print_format("%r The pipe uses the Backspace character '%[\\b%]' (%[U+0008%]) to designate the start of a Content.%r", print.to, f_string_eol_s, print.set->notable, print.set->notable, print.set->notable, print.set->notable, f_string_eol_s); diff --git a/level_3/fss_write/c/payload/private-common.c b/level_3/fss_write/c/payload/private-common.c index daf0cfd..8ae3dfd 100644 --- a/level_3/fss_write/c/payload/private-common.c +++ b/level_3/fss_write/c/payload/private-common.c @@ -1,4 +1,4 @@ -#include "payload.h" +#include "fss_write.h" #include "private-common.h" #ifdef __cplusplus diff --git a/level_3/fss_write/c/payload/private-print.c b/level_3/fss_write/c/payload/private-print.c index a0ccc02..0f7be74 100644 --- a/level_3/fss_write/c/payload/private-print.c +++ b/level_3/fss_write/c/payload/private-print.c @@ -1,4 +1,4 @@ -#include "payload.h" +#include "fss_write.h" #include "private-common.h" #include "private-print.h" diff --git a/level_3/fss_write/c/payload/private-write.c b/level_3/fss_write/c/payload/private-write.c index 920117d..e3c2ad5 100644 --- a/level_3/fss_write/c/payload/private-write.c +++ b/level_3/fss_write/c/payload/private-write.c @@ -1,4 +1,4 @@ -#include "payload.h" +#include "fss_write.h" #include "private-common.h" #include "private-write.h" diff --git a/level_3/fss_write/data/build/settings b/level_3/fss_write/data/build/settings index 3cad9dc..79e81d7 100644 --- a/level_3/fss_write/data/build/settings +++ b/level_3/fss_write/data/build/settings @@ -32,7 +32,7 @@ build_sources_library payload/fss_write.c payload/common.c payload/print.c paylo build_sources_program main/main.c -build_sources_headers main/fss_write.h main/common.h main/print.h main/private-common.h main/private-write.h +build_sources_headers main/main.h main/fss_write.h main/common.h main/print.h main/private-common.h main/private-write.h build_sources_headers basic/fss_write.h basic/common.h basic/print.h basic/private-common.h basic/private-write.h basic/private-print.h build_sources_headers basic_list/fss_write.h basic_list/common.h basic_list/print.h basic_list/private-common.h basic_list/private-write.h basic_list/private-print.h build_sources_headers embedded_list/fss_write.h embedded_list/common.h embedded_list/print.h embedded_list/private-common.h embedded_list/private-write.h embedded_list/private-print.h