Add f_file_type_name_file_s string to allow for using the common use as a string.
const f_string_static_t f_file_type_name_fifo_s = macro_f_string_static_t_initialize(F_file_type_name_fifo_s, 0, F_file_type_name_fifo_s_length);
#endif // _di_f_file_type_name_fifo_s_
+ #ifndef _di_f_file_type_name_file_s_
+ const f_string_static_t f_file_type_name_file_s = macro_f_string_static_t_initialize(F_file_type_name_file_s, 0, F_file_type_name_file_s_length);
+ #endif // _di_f_file_type_name_file_s_
+
#ifndef _di_f_file_type_name_link_s_
const f_string_static_t f_file_type_name_link_s = macro_f_string_static_t_initialize(F_file_type_name_link_s, 0, F_file_type_name_link_s_length);
#endif // _di_f_file_type_name_link_s_
* - character: A string representing the character file type.
* - directory: A string representing the directory file type.
* - fifo: A string representing the fifo file type.
+ * - file: A string representing the common term for a regular file.
* - link: A string representing the link file type.
* - regular: A string representing the regular file type.
* - socket: A string representing the socket file type.
#define F_file_type_name_character_s "character"
#define F_file_type_name_directory_s "directory"
#define F_file_type_name_fifo_s "fifo"
+ #define F_file_type_name_file_s "file"
#define F_file_type_name_link_s "link"
#define F_file_type_name_regular_s "regular"
#define F_file_type_name_socket_s "socket"
#define F_file_type_name_character_s_length 9
#define F_file_type_name_directory_s_length 9
#define F_file_type_name_fifo_s_length 4
+ #define F_file_type_name_file_s_length 4
#define F_file_type_name_link_s_length 4
#define F_file_type_name_regular_s_length 7
#define F_file_type_name_socket_s_length 6
extern const f_string_static_t f_file_type_name_fifo_s;
#endif // _di_f_file_type_name_fifo_s_
+ #ifndef _di_f_file_type_name_file_s_
+ extern const f_string_static_t f_file_type_name_file_s;
+ #endif // _di_f_file_type_name_file_s_
+
#ifndef _di_f_file_type_name_link_s_
extern const f_string_static_t f_file_type_name_link_s;
#endif // _di_f_file_type_name_link_s_
}
}
- fake_make_print_program_verbose(data_make->setting, data_make->main->message, program, arguments);
+ fake_make_print_operate_program_verbose(data_make->setting, data_make->main->message, program, arguments);
// Child processes should receive all signals, without blocking.
f_signal_how_t signals = f_signal_how_t_initialize;
return F_none;
}
- if (data_make->main->error.verbosity >= f_console_verbosity_verbose_e) {
- fll_print_format("%rExiting as '%[%Q%]'.%r", data_make->main->message.to, f_string_eol_s, data_make->main->context.set.notable, data_make->cache_arguments.used ? data_make->cache_arguments.array[0] : fake_make_operation_argument_success_s, data_make->main->context.set.notable, f_string_eol_s);
- }
+ fake_make_print_operate_exiting_as_verbose(data_make->setting, data_make->main->message, data_make->cache_arguments);
return status;
}
data_make->main->error.to.id = -1;
}
- if (data_make->main->error.verbosity >= f_console_verbosity_verbose_e) {
- f_file_stream_lock(data_make->main->message.to);
-
- f_print_terminated("Set failure state to '", data_make->main->message.to);
-
- if (data_make->setting_make.fail == fake_make_operation_fail_exit_e) {
- fl_print_format("%[%r%]", data_make->main->message.to, data_make->main->context.set.notable, fake_make_operation_argument_exit_s, data_make->main->context.set.notable);
- }
- else if (data_make->setting_make.fail == fake_make_operation_fail_warn_e) {
- fl_print_format("%[%r%]", data_make->main->message.to, data_make->main->context.set.notable, fake_make_operation_argument_warn_s, data_make->main->context.set.notable);
- }
- else {
- fl_print_format("%[%r%]", data_make->main->message.to, data_make->main->context.set.notable, fake_make_operation_argument_ignore_s, data_make->main->context.set.notable);
- }
-
- fl_print_format("'.%r", data_make->main->message.to, f_string_eol_s);
-
- f_file_stream_unlock(data_make->main->message.to);
- }
+ fake_make_print_operate_set_failure_state_verbose(data_make->setting, data_make->main->message, data_make->setting_make.fail);
}
#endif // _di_fake_make_operate_process_type_fail_
return F_status_set_error(F_failure);
}
- if (data_make->main->error.verbosity >= f_console_verbosity_verbose_e) {
- f_file_stream_lock(data_make->main->message.to);
-
- fl_print_format("%r group of '%[%r%]", data_make->main->message.to, all ? "Recursively changed" : "Changed", data_make->main->context.set.notable, data_make->cache_arguments.array[i], data_make->main->context.set.notable);
- fl_print_format("' to %[%ul%].%r", data_make->main->message.to, data_make->main->context.set.notable, id, data_make->main->context.set.notable, f_string_eol_s);
-
- f_file_stream_unlock(data_make->main->message.to);
- }
+ fake_make_print_operate_set_role_verbose(data_make->setting, data_make->main->message, all ? 0x1 : 0x0, data_make->cache_arguments.array[i], (f_number_unsigned_t) id);
} // for
return F_none;
return F_status_set_error(F_failure);
}
- if (data_make->main->error.verbosity >= f_console_verbosity_verbose_e) {
- f_file_stream_lock(data_make->main->message.to);
-
- fl_print_format("Created symbolic link from '%[%Q%]", data_make->main->message.to, data_make->main->context.set.notable, data_make->cache_arguments.array[data_make->cache_arguments.used - 1], data_make->main->context.set.notable);
- fl_print_format("' to %[%Q%].%r", data_make->main->message.to, data_make->main->context.set.notable, data_make->cache_arguments.array[0], data_make->main->context.set.notable, f_string_eol_s);
-
- f_file_stream_unlock(data_make->main->message.to);
- }
+ fake_make_print_operate_symbolic_link_verbose(data_make->setting, data_make->main->message, data_make->cache_arguments.array[data_make->cache_arguments.used - 1], data_make->cache_arguments.array[0]);
return F_none;
}
return F_status_set_error(F_failure);
}
- if (data_make->main->error.verbosity >= f_console_verbosity_verbose_e) {
- fll_print_format("Changed mode of '%Q' to %#@u.%r", data_make->main->message.to, data_make->cache_arguments.array[i], mode, f_string_eol_s);
- }
+ fake_make_print_operate_set_mode_verbose(data_make->setting, data_make->main->message, data_make->cache_arguments.array[i], mode);
} // for
return F_none;
return F_status_set_error(F_failure);
}
- if (data_make->main->error.verbosity >= f_console_verbosity_verbose_e) {
- fll_print_format("%s owner of '%Q' to %u.%r", data_make->main->message.to, all ? "Recursively changed" : "Changed", data_make->cache_arguments.array[i], id, f_string_eol_s);
- }
+ fake_make_print_operate_set_role_verbose(data_make->setting, data_make->main->message, all ? 0x3 : 0x2, data_make->cache_arguments.array[i], (f_number_unsigned_t) id);
} // for
return F_none;
if (F_status_is_error(status)) {
fake_print_error(data_make->setting, data_make->main->error, status, macro_fake_f(fake_make_path_relative));
- fll_print_format("Changed to project path '%[%Q%]'.%r", data_make->main->message.to, data_make->main->context.set.notable, argument, data_make->main->context.set.notable, f_string_eol_s);
+ fake_make_print_operate_set_path_verbose(data_make->setting, data_make->main->message, *argument);
return F_status_set_error(F_failure);
}
- fll_print_format("Changed to project path '%[%Q%]'.%r", data_make->main->message.to, data_make->main->context.set.notable, data_make->cache_path, data_make->main->context.set.notable, f_string_eol_s);
+ fake_make_print_operate_set_path_verbose(data_make->setting, data_make->main->message, data_make->cache_path);
}
return F_none;
if (F_status_is_error(status)) {
fake_print_error(data_make->setting, data_make->main->error, status, macro_fake_f(fake_make_path_relative));
- fll_print_format("Changed to project path '%[%Q%]'.%r", data_make->main->message.to, data_make->main->context.set.notable, data_make->path.stack.array[data_make->path.stack.used], data_make->main->context.set.notable, f_string_eol_s);
+ fake_make_print_operate_set_path_verbose(data_make->setting, data_make->main->message, data_make->path.stack.array[data_make->path.stack.used]);
}
else {
- fll_print_format("Changed to project path '%[%Q%]'.%r", data_make->main->message.to, data_make->main->context.set.notable, data_make->cache_path, data_make->main->context.set.notable, f_string_eol_s);
+ fake_make_print_operate_set_path_verbose(data_make->setting, data_make->main->message, data_make->cache_path);
}
}
}
}
- if (data_make->main->error.verbosity >= f_console_verbosity_verbose_e) {
- fll_print_format("Changed to project path ''.%r", data_make->main->message.to, f_string_eol_s);
- }
+ fake_make_print_operate_set_path_verbose(data_make->setting, data_make->main->message, f_string_empty_s);
// Clear stack, except for the project root.
for (f_array_length_t i = 1; i < data_make->path.stack.used; ++i) {
}
}
- if (data_make->main->error.verbosity >= f_console_verbosity_verbose_e) {
- fll_print_format("Touched '%[%Q%]'.%r", data_make->main->message.to, data_make->main->context.set.notable, data_make->cache_arguments.array[i], data_make->main->context.set.notable, f_string_eol_s);
- }
+ fake_make_print_operate_touch_verbose(data_make->setting, data_make->main->message, data_make->cache_arguments.array[i]);
} // for
return F_none;
fake_print_line_first_unlocked(setting, print);
- fl_print_format("Breaking as '", print.to);
- fl_print_format("%[%Q%]", print.to, print.set->notable, arguments.used ? arguments.array[0] : fake_make_operation_argument_success_s, print.set->notable);
- fl_print_format("'.%r", print.to, f_string_eol_s);
+ fl_print_format("Breaking as '%[%Q%]'.%r", print.to, print.set->notable, arguments.used ? arguments.array[0] : fake_make_operation_argument_success_s, print.set->notable, f_string_eol_s);
f_file_stream_unlock(print.to);
}
#endif // _di_fake_make_print_operate_delete_verbose_
-#ifndef _di_fake_make_print_operate_file_not_found_verbose_
- f_status_t fake_make_print_operate_file_not_found_verbose(fake_setting_t * const setting, const fl_print_t print, const bool is_directory, const f_string_static_t file) {
+#ifndef _di_fake_make_print_operate_exiting_as_verbose_
+ f_status_t fake_make_print_operate_exiting_as_verbose(fake_setting_t * const setting, const fl_print_t print, const f_string_statics_t arguments) {
if (print.verbosity < f_console_verbosity_verbose_e) return F_output_not;
fake_print_line_first_unlocked(setting, print);
- fl_print_format("The %s '%[%Q%]' is not found.%]%r", print.to, print.notable, is_directory ? "directory" : "file", file, print.notable, f_string_eol_s);
+ fl_print_format("Exiting as '%[%Q%]'.%r", print.to, print.set->notable, arguments.used ? arguments.array[0] : fake_make_operation_argument_success_s, print.set->notable, f_string_eol_s);
f_file_stream_unlock(print.to);
return F_none;
}
-#endif // _di_fake_make_print_operate_file_not_found_verbose_
+#endif // _di_fake_make_print_operate_exiting_as_verbose_
-#ifndef _di_fake_make_print_processing_section_
- f_status_t fake_make_print_processing_section(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t buffer, const f_fss_named_t section) {
+#ifndef _di_fake_make_print_operate_file_not_found_verbose_
+ f_status_t fake_make_print_operate_file_not_found_verbose(fake_setting_t * const setting, const fl_print_t print, const bool is_directory, const f_string_static_t file) {
- if (print.verbosity < f_console_verbosity_normal_e) return F_output_not;
+ if (print.verbosity < f_console_verbosity_verbose_e) return F_output_not;
f_file_stream_lock(print.to);
fake_print_line_first_unlocked(setting, print);
- fl_print_format("%[Processing Section '%]", print.to, print.set->important, print.set->important);
- fl_print_format("%[%/Q%]", print.to, print.set->notable, buffer, section.name, print.set->notable);
- fl_print_format("%['.%]%r", print.to, print.set->important, print.set->important, f_string_eol_s);
+ fl_print_format("The %Q '%[%Q%]' is not found.%]%r", print.to, print.set->notable, is_directory ? f_file_type_name_directory_s : f_file_type_name_file_s, file, print.set->notable, f_string_eol_s);
f_file_stream_unlock(print.to);
return F_none;
}
-#endif // _di_fake_make_print_processing_section_
+#endif // _di_fake_make_print_operate_file_not_found_verbose_
-#ifndef _di_fake_make_print_program_verbose_
- f_status_t fake_make_print_program_verbose(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t program, const f_string_statics_t arguments) {
+#ifndef _di_fake_make_print_operate_program_verbose_
+ f_status_t fake_make_print_operate_program_verbose(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t program, const f_string_statics_t arguments) {
if (print.verbosity < f_console_verbosity_verbose_e) return F_output_not;
return F_none;
}
-#endif // _di_fake_make_print_program_verbose_
+#endif // _di_fake_make_print_operate_program_verbose_
+
+#ifndef _di_fake_make_print_operate_set_failure_state_verbose_
+ f_status_t fake_make_print_operate_set_failure_state_verbose(fake_setting_t * const setting, const fl_print_t print, const uint8_t fail) {
+
+ if (print.verbosity < f_console_verbosity_verbose_e) return F_output_not;
+
+ f_file_stream_lock(print.to);
+
+ fake_print_line_first_unlocked(setting, print);
+
+ f_print_terminated("Set failure state to '", print.to);
+
+ if (fail == fake_make_operation_fail_exit_e) {
+ fl_print_format("%[%r%]", print.to, print.set->notable, fake_make_operation_argument_exit_s, print.set->notable);
+ }
+ else if (fail == fake_make_operation_fail_warn_e) {
+ fl_print_format("%[%r%]", print.to, print.set->notable, fake_make_operation_argument_warn_s, print.set->notable);
+ }
+ else {
+ fl_print_format("%[%r%]", print.to, print.set->notable, fake_make_operation_argument_ignore_s, print.set->notable);
+ }
+
+ fl_print_format("'.%r", print.to, f_string_eol_s);
+
+ f_file_stream_unlock(print.to);
+
+ return F_none;
+ }
+#endif // _di_fake_make_print_operate_set_failure_state_verbose_
+
+#ifndef _di_fake_make_print_operate_set_mode_verbose_
+ f_status_t fake_make_print_operate_set_mode_verbose(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t path, const mode_t mode) {
+
+ if (print.verbosity < f_console_verbosity_verbose_e) return F_output_not;
+
+ f_file_stream_lock(print.to);
+
+ fake_print_line_first_unlocked(setting, print);
+
+ fll_print_format("Changed mode of '%[%Q%]' to %[%#@u%].%r", print.to, print.set->notable, path, print.set->notable, print.set->notable, mode, print.set->notable, f_string_eol_s);
+
+ f_file_stream_unlock(print.to);
+
+ return F_none;
+ }
+#endif // _di_fake_make_print_operate_set_mode_verbose_
+
+#ifndef _di_fake_make_print_operate_set_path_verbose_
+ f_status_t fake_make_print_operate_set_path_verbose(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t path) {
+
+ if (print.verbosity < f_console_verbosity_verbose_e) return F_output_not;
+
+ f_file_stream_lock(print.to);
+
+ fake_print_line_first_unlocked(setting, print);
+
+ fl_print_format("Changed project path to '%[%Q%]'.%r", print.to, print.set->notable, path, print.set->notable, f_string_eol_s);
+
+ f_file_stream_unlock(print.to);
+
+ return F_none;
+ }
+#endif // _di_fake_make_print_operate_set_path_verbose_
+
+#ifndef _di_fake_make_print_operate_set_role_verbose_
+ f_status_t fake_make_print_operate_set_role_verbose(fake_setting_t * const setting, const fl_print_t print, const uint8_t what, f_string_static_t role, f_number_unsigned_t id) {
+
+ if (print.verbosity < f_console_verbosity_verbose_e) return F_output_not;
+
+ f_file_stream_lock(print.to);
+
+ fake_print_line_first_unlocked(setting, print);
+
+ fl_print_format("%r %r of '%[%r%]'", print.to, (what & 0x1) ? "Recursively changed" : "Changed", (what & 0x2) ? "owner" : "group", print.set->notable, role, print.set->notable);
+ fl_print_format(" to %[%ul%].%r", print.to, print.set->notable, id, print.set->notable, f_string_eol_s);
+
+ f_file_stream_unlock(print.to);
+
+ return F_none;
+ }
+#endif // _di_fake_make_print_operate_set_role_verbose_
+
+#ifndef _di_fake_make_print_operate_symbolic_link_verbose_
+ f_status_t fake_make_print_operate_symbolic_link_verbose(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t source, const f_string_static_t destination) {
+
+ if (print.verbosity < f_console_verbosity_verbose_e) return F_output_not;
+
+ f_file_stream_lock(print.to);
+
+ fake_print_line_first_unlocked(setting, print);
+
+ fl_print_format("Created symbolic link from '%[%Q%]", print.to, print.set->notable, source, print.set->notable);
+ fl_print_format("' to %[%Q%].%r", print.to, print.set->notable, destination, print.set->notable, f_string_eol_s);
+
+ f_file_stream_unlock(print.to);
+
+ return F_none;
+ }
+#endif // _di_fake_make_print_operate_symbolic_link_verbose_
+
+#ifndef _di_fake_make_print_operate_touch_verbose_
+ f_status_t fake_make_print_operate_touch_verbose(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t path) {
+
+ if (print.verbosity < f_console_verbosity_verbose_e) return F_output_not;
+
+ f_file_stream_lock(print.to);
+
+ fake_print_line_first_unlocked(setting, print);
+
+ fl_print_format("Touched '%[%Q%]'.%r", print.to, print.set->notable, path, print.set->notable, f_string_eol_s);
+
+ f_file_stream_unlock(print.to);
+
+ return F_none;
+ }
+#endif // _di_fake_make_print_operate_touch_verbose_
+
+#ifndef _di_fake_make_print_processing_section_
+ f_status_t fake_make_print_processing_section(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t buffer, const f_fss_named_t section) {
+
+ if (print.verbosity < f_console_verbosity_normal_e) return F_output_not;
+
+ f_file_stream_lock(print.to);
+
+ fake_print_line_first_unlocked(setting, print);
+
+ fl_print_format("%[Processing Section '%]", print.to, print.set->important, print.set->important);
+ fl_print_format("%[%/Q%]", print.to, print.set->notable, buffer, section.name, print.set->notable);
+ fl_print_format("%['.%]%r", print.to, print.set->important, print.set->important, f_string_eol_s);
+
+ f_file_stream_unlock(print.to);
+
+ return F_none;
+ }
+#endif // _di_fake_make_print_processing_section_
#ifdef __cplusplus
} // extern "C"
* @param print
* The output structure to print to.
* @param arguments
- * The arguments passed to the break operation.
+ * The arguments where the first argument, if defined, is the exiting as string.
+ * Set arguments.used to 0 to use the default "success" exiting as string.
*
* @return
* F_none on success.
#endif // _di_fake_make_print_operate_delete_verbose_
/**
+ * Print operate exiting as verbose message.
+ *
+ * @param setting
+ * The main program settings.
+ * (Must be of type fake_setting_t.)
+ *
+ * This does not alter setting.status.
+ * @param print
+ * The output structure to print to.
+ * @param arguments
+ * The arguments where the first argument, if defined, is the exiting as string.
+ * Set arguments.used to 0 to use the default "success" exiting as string.
+ *
+ * @return
+ * F_none on success.
+ * F_output_not on success, but no printing is performed.
+ */
+#ifndef _di_fake_make_print_operate_exiting_as_verbose_
+ extern f_status_t fake_make_print_operate_exiting_as_verbose(fake_setting_t * const setting, const fl_print_t print, const f_string_statics_t arguments);
+#endif // _di_fake_make_print_operate_exiting_as_verbose_
+
+/**
* Print operate file or directory not found verbose message.
*
* @param setting
#endif // _di_fake_make_print_operate_file_not_found_verbose_
/**
- * Print the processing section message.
+ * Print verbose program message.
*
* @param setting
* The main program settings.
* This does not alter setting.status.
* @param print
* The output structure to print to.
- * @param buffer
- * The string containing the section name.
- * @param section
- * The section structure containing the section name range.
+ * @param program
+ * The program name.
+ * @param arguments
+ * The arguments pass to the program.
*
* @return
* F_none on success.
* F_output_not on success, but no printing is performed.
*/
-#ifndef _di_fake_make_print_processing_section_
- extern f_status_t fake_make_print_processing_section(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t buffer, const f_fss_named_t section);
-#endif // _di_fake_make_print_processing_section_
+#ifndef _di_fake_make_print_operate_program_verbose_
+ extern f_status_t fake_make_print_operate_program_verbose(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t program, const f_string_statics_t arguments);
+#endif // _di_fake_make_print_operate_program_verbose_
/**
- * Print verbose program message.
+ * Print verbose message about setting failure state.
*
* @param setting
* The main program settings.
* This does not alter setting.status.
* @param print
* The output structure to print to.
- * @param program
- * The program name.
- * @param arguments
- * The arguments pass to the program.
+ * @param fail
+ * The failure state code being set to.
*
* @return
* F_none on success.
* F_output_not on success, but no printing is performed.
*/
-#ifndef _di_fake_make_print_program_verbose_
- extern f_status_t fake_make_print_program_verbose(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t program, const f_string_statics_t arguments);
-#endif // _di_fake_make_print_program_verbose_
+#ifndef _di_fake_make_print_operate_set_failure_state_verbose_
+ extern f_status_t fake_make_print_operate_set_failure_state_verbose(fake_setting_t * const setting, const fl_print_t print, const uint8_t fail);
+#endif // _di_fake_make_print_operate_set_failure_state_verbose_
+
+/**
+ * Print verbose message about setting the file mode.
+ *
+ * @param setting
+ * The main program settings.
+ * (Must be of type fake_setting_t.)
+ *
+ * This does not alter setting.status.
+ * @param print
+ * The output structure to print to.
+ * @param path
+ * The file path having the mode changed.
+ * @param mode
+ * The mode being changed to.
+ *
+ * @return
+ * F_none on success.
+ * F_output_not on success, but no printing is performed.
+ */
+#ifndef _di_fake_make_print_operate_set_mode_verbose_
+ extern f_status_t fake_make_print_operate_set_mode_verbose(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t path, const mode_t mode);
+#endif // _di_fake_make_print_operate_set_mode_verbose_
+
+/**
+ * Print verbose message about changing the project path.
+ *
+ * @param setting
+ * The main program settings.
+ * (Must be of type fake_setting_t.)
+ *
+ * This does not alter setting.status.
+ * @param print
+ * The output structure to print to.
+ * @param path
+ * The path being changed to.
+ *
+ * @return
+ * F_none on success.
+ * F_output_not on success, but no printing is performed.
+ */
+#ifndef _di_fake_make_print_operate_set_path_verbose_
+ extern f_status_t fake_make_print_operate_set_path_verbose(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t path);
+#endif // _di_fake_make_print_operate_set_path_verbose_
+
+/**
+ * Print verbose message about setting owner or group.
+ *
+ * @param setting
+ * The main program settings.
+ * (Must be of type fake_setting_t.)
+ *
+ * This does not alter setting.status.
+ * @param print
+ * The output structure to print to.
+ * @param what
+ * Bitwise flags tweaking the message printed.
+ * - 0x1 = When set, print as recursive; When not set, print as non-recursive.
+ * - 0x2 = When set, print as Owner; When not set, print as Group.
+ * @param role
+ * A string representing the owner or group name.
+ * @param id
+ * The uid_t or gid_t representing the owner or group.
+ *
+ * @return
+ * F_none on success.
+ * F_output_not on success, but no printing is performed.
+ */
+#ifndef _di_fake_make_print_operate_set_role_verbose_
+ extern f_status_t fake_make_print_operate_set_role_verbose(fake_setting_t * const setting, const fl_print_t print, const uint8_t what, f_string_static_t role, f_number_unsigned_t id);
+#endif // _di_fake_make_print_operate_set_role_verbose_
+
+/**
+ * Print verbose message about create a symbolic link.
+ *
+ * @param setting
+ * The main program settings.
+ * (Must be of type fake_setting_t.)
+ *
+ * This does not alter setting.status.
+ * @param print
+ * The output structure to print to.
+ * @param source
+ * A string the symbolic link is from.
+ * @param destination
+ * A string the symbolic link is to.
+ *
+ * @return
+ * F_none on success.
+ * F_output_not on success, but no printing is performed.
+ */
+#ifndef _di_fake_make_print_operate_symbolic_link_verbose_
+ extern f_status_t fake_make_print_operate_symbolic_link_verbose(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t source, const f_string_static_t destination);
+#endif // _di_fake_make_print_operate_symbolic_link_verbose_
+
+/**
+ * Print verbose message about touching a file.
+ *
+ * @param setting
+ * The main program settings.
+ * (Must be of type fake_setting_t.)
+ *
+ * This does not alter setting.status.
+ * @param print
+ * The output structure to print to.
+ * @param path
+ * The file path being touched.
+ *
+ * @return
+ * F_none on success.
+ * F_output_not on success, but no printing is performed.
+ */
+#ifndef _di_fake_make_print_operate_touch_verbose_
+ extern f_status_t fake_make_print_operate_touch_verbose(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t path);
+#endif // _di_fake_make_print_operate_touch_verbose_
+
+/**
+ * Print the processing section message.
+ *
+ * @param setting
+ * The main program settings.
+ * (Must be of type fake_setting_t.)
+ *
+ * This does not alter setting.status.
+ * @param print
+ * The output structure to print to.
+ * @param buffer
+ * The string containing the section name.
+ * @param section
+ * The section structure containing the section name range.
+ *
+ * @return
+ * F_none on success.
+ * F_output_not on success, but no printing is performed.
+ */
+#ifndef _di_fake_make_print_processing_section_
+ extern f_status_t fake_make_print_processing_section(fake_setting_t * const setting, const fl_print_t print, const f_string_static_t buffer, const f_fss_named_t section);
+#endif // _di_fake_make_print_processing_section_
#ifdef __cplusplus
} // extern "C"