Make sure that the typedef is defined early for a later defined type.
This allows for circular use of the main, such as with callbacks.
This is being done across all of my programs.
#endif
/**
+ * Pre-define the main type so it can be used in child classes.
+ */
+#ifndef _di_byte_dump_main_t_typedef_
+ typedef struct byte_dump_main_t_ byte_dump_main_t;
+#endif // _di_byte_dump_main_t_typedef_
+
+/**
* A main structure for character row and column position (cell).
*
* Properties:
* - setting: The settings data.
*/
#ifndef _di_byte_dump_main_t_
- typedef struct {
+ struct byte_dump_main_t_ {
fll_program_data_t program;
byte_dump_setting_t setting;
- } byte_dump_main_t;
+ };
#define byte_dump_main_t_initialize \
{ \
#endif
/**
+ * Pre-define the main type so it can be used in child classes.
+ */
+#ifndef _di_example_main_t_typedef_
+ typedef struct example_main_t_ example_main_t;
+#endif // _di_example_main_t_typedef_
+
+/**
* The example main program cache.
*
* buffer: A generic buffer.
* setting: The settings data.
*/
#ifndef _di_example_main_t_
- typedef struct {
+ struct example_main_t_ {
fll_program_data_t program;
example_setting_t setting;
example_cache_t cache;
- } example_main_t;
+ };
#define example_main_t_initialize \
{ \
#endif
/**
+ * Pre-define the main type so it can be used in child classes.
+ */
+#ifndef _di_fake_main_t_typedef_
+ typedef struct fake_main_t_ fake_main_t;
+#endif // _di_fake_main_t_typedef_
+
+/**
* A structure for managing the operation and if-condition states.
*
* Properties:
* - cache_recurse_do: A cache for the directory recursion do function.
*/
#ifndef _di_fake_main_t_
- typedef struct {
+ struct fake_main_t_ {
fll_program_data_t program;
fake_setting_t setting;
f_string_map_t cache_map;
f_iki_data_t cache_iki;
f_directory_recurse_do_t cache_recurse_do;
- } fake_main_t;
+ };
#define fake_main_t_initialize \
{ \
#endif
/**
+ * Pre-define the main type so it can be used in child classes.
+ */
+#ifndef _di_firewall_main_t_typedef_
+ typedef struct firewall_main_t_ firewall_main_t;
+#endif // _di_firewall_main_t_typedef_
+
+/**
* A cache used for during processing.
*
* Properties:
* - cache: The firewall cache.
*/
#ifndef _di_firewall_main_t_
- typedef struct {
+ struct firewall_main_t_ {
fll_program_data_t program;
firewall_setting_t setting;
firewall_data_t data;
firewall_cache_t cache;
- } firewall_main_t;
+ };
#define firewall_main_t_initialize \
{ \
#endif
/**
+ * Pre-define the main type so it can be used in child classes.
+ */
+#ifndef _di_fss_identify_main_t_typedef_
+ typedef struct fss_identify_main_t_ fss_identify_main_t;
+#endif // _di_fss_identify_main_t_typedef_
+
+/**
* The fss identify main program settings.
*
* This is passed to the program-specific main entry point to designate program settings.
* - setting: The settings data.
*/
#ifndef _di_fss_identify_main_t_
- typedef struct {
+ struct fss_identify_main_t_ {
fll_program_data_t program;
fss_identify_setting_t setting;
- } fss_identify_main_t;
+ };
#define fss_identify_main_t_initialize \
{ \
#endif
/**
+ * Pre-define the main type so it can be used in child classes.
+ */
+#ifndef _di_fss_read_main_t_typedef_
+ typedef struct fss_read_main_t_ fss_read_main_t;
+#endif // _di_fss_read_main_t_typedef_
+
+/**
* A structure of parameters applied at some depth.
*
* depth: The depth number in which this is to be processed at.
* setting: The settings data.
*/
#ifndef _di_fss_read_main_t_
- typedef struct {
+ struct fss_read_main_t_ {
fss_read_cache_t cache;
fss_read_callback_t callback;
fll_program_data_t program;
fss_read_setting_t setting;
- } fss_read_main_t;
+ };
#define fss_read_main_t_initialize \
{ \
#endif
/**
+ * Pre-define the main type so it can be used in child classes.
+ */
+#ifndef _di_fss_write_main_t_typedef_
+ typedef struct fss_write_main_t_ fss_write_main_t;
+#endif // _di_fss_write_main_t_typedef_
+
+/**
* The FSS write callbacks.
*
* process_content: Process a single Content.
* setting: The settings data.
*/
#ifndef _di_fss_write_main_t_
- typedef struct {
+ struct fss_write_main_t_ {
fss_write_callback_t callback;
fll_program_data_t program;
fss_write_setting_t setting;
- } fss_write_main_t;
+ };
#define fss_write_main_t_initialize \
{ \
#endif
/**
- * Make the typedef for iki_read_main_t available to child structures.
+ * Pre-define the main type so it can be used in child classes.
*/
-#ifndef _di_iki_read_main_t__
+#ifndef _di_iki_read_main_t_typedef_
typedef struct iki_read_main_t_ iki_read_main_t;
-#endif // _di_iki_read_main_t__
+#endif // _di_iki_read_main_t_typedef_
/**
* The IKI read main program cache.
#endif
/**
+ * Pre-define the main type so it can be used in child classes.
+ */
+#ifndef _di_iki_write_main_t_typedef_
+ typedef struct iki_write_main_t_ iki_write_main_t;
+#endif // _di_iki_write_main_t_typedef_
+
+/**
* The IKI write main program cache.
*
* Properties:
* - setting: The settings data.
*/
#ifndef _di_iki_write_main_t_
- typedef struct {
+ struct iki_write_main_t_ {
iki_write_cache_t cache;
iki_write_callback_t callback;
fll_program_data_t program;
iki_write_setting_t setting;
- } iki_write_main_t;
+ };
#define iki_write_main_t_initialize \
{ \
#endif
/**
+ * Pre-define the main type so it can be used in child classes.
+ */
+#ifndef _di_status_code_main_t_typedef_
+ typedef struct status_code_main_t_ status_code_main_t;
+#endif // _di_status_code_main_t_typedef_
+
+/**
* The status code main program settings.
*
* This is passed to the program-specific main entry point to designate program settings.
* setting: The settings data.
*/
#ifndef _di_status_code_main_t_
- typedef struct {
+ struct status_code_main_t_ {
fll_program_data_t program;
status_code_setting_t setting;
- } status_code_main_t;
+ };
#define status_code_main_t_initialize \
{ \
#endif
/**
+ * Pre-define the main type so it can be used in child classes.
+ */
+#ifndef _di_utf8_main_t_typedef_
+ typedef struct utf8_main_t_ utf8_main_t;
+#endif // _di_utf8_main_t_typedef_
+
+/**
* The utf8 main program settings.
*
* This is passed to the program-specific main entry point to designate program settings.
* - setting: The settings data.
*/
#ifndef _di_utf8_main_t_
- typedef struct {
+ struct utf8_main_t_ {
fll_program_data_t program;
utf8_setting_t setting;
- } utf8_main_t;
+ };
#define utf8_main_t_initialize \
{ \