This should allow for mass changing or mass removing f_extern via a simple custom #define or a command line parameter such as -Df_extern= .
#ifndef _di_f_console_identify_
// This is used to help standardize a single method of handling command line option parsing.
// This should allow for every single command line program to use the same form of syntax for command line options.
- extern f_return_status f_console_identify(const f_string input, f_console_id *result);
+ f_extern f_return_status f_console_identify(const f_string input, f_console_id *result);
#endif // _di_f_console_identify_
// perform checks against short & long options to see if the string is one of them (normal)
#ifndef _di_f_is_digit_
// convert a single character into the digit that it represents
- extern f_return_status f_is_digit(const f_autochar character);
+ f_extern f_return_status f_is_digit(const f_autochar character);
#endif // _di_f_is_digit_
#ifndef _di_f_is_hexdigit_
// convert a single character into the hexidecimal digit that it represents
- extern f_return_status f_is_hexdigit(const f_autochar character);
+ f_extern f_return_status f_is_hexdigit(const f_autochar character);
#endif // _di_f_is_hexdigit_
#ifndef _di_f_character_to_digit_
// convert a single character into the digit that it represents
- extern f_return_status f_character_to_digit(const f_autochar character, f_u_long *digit);
+ f_extern f_return_status f_character_to_digit(const f_autochar character, f_u_long *digit);
#endif // _di_f_character_to_digit_
#ifndef _di_f_character_to_hexdigit_
// convert a single character into the hexidecimal digit that it represents
- extern f_return_status f_character_to_hexdigit(const f_autochar character, f_u_long *digit);
+ f_extern f_return_status f_character_to_hexdigit(const f_autochar character, f_u_long *digit);
#endif // _di_f_character_to_hexdigit_
#ifndef _di_f_string_to_digit_
// works like atoi, except there is a start/stop range
// convert a series of positive numbers into a string, stopping at one of the following: EOS, max_length, or a non-digit
// will not process signed statuses (+/-)
- extern f_return_status f_string_to_digit(const f_string string, f_u_long *digit, const f_string_location location);
+ f_extern f_return_status f_string_to_digit(const f_string string, f_u_long *digit, const f_string_location location);
#endif // _di_f_string_to_digit_
#ifndef _di_f_string_to_hexdigit_
// works like atoi, except there is a start/stop range and that this is for hexidecimal digits
// convert a series of positive numbers into a string, stopping at one of the following: EOS, max_length, or a non-hexdigit
// will not process signed statuses (+/-)
- extern f_return_status f_string_to_hexdigit(const f_string string, f_u_long *digit, const f_string_location location);
+ f_extern f_return_status f_string_to_hexdigit(const f_string string, f_u_long *digit, const f_string_location location);
#endif // _di_f_string_to_hexdigit_
#ifdef __cplusplus
#ifndef _di_f_file_open_
// open a particular file and save its stream
// filename = name of the file
- extern f_return_status f_file_open(f_file *file_information, const f_string filename);
+ f_extern f_return_status f_file_open(f_file *file_information, const f_string filename);
#endif // _di_f_file_open_
#ifndef _di_f_file_close_
// close file
- extern f_return_status f_file_close(f_file *file_information);
+ f_extern f_return_status f_file_close(f_file *file_information);
#endif // _di_f_file_close_
#ifndef _di_f_file_flush_
// flush file
- extern f_return_status f_file_flush(f_file *file_information);
+ f_extern f_return_status f_file_flush(f_file *file_information);
#endif // _di_f_file_flush_
#ifndef _di_f_file_read_
// read a given amount of data from the buffer, will auto-seek to where
- extern f_return_status f_file_read(f_file *file_information, f_dynamic_string *buffer, const f_file_position location);
+ f_extern f_return_status f_file_read(f_file *file_information, f_dynamic_string *buffer, const f_file_position location);
#endif // _di_f_file_read_
#ifndef _di_f_file_read_fifo_
// read a given amount of data from the buffer, will not auto seek
- extern f_return_status f_file_read_fifo(f_file *file_information, f_dynamic_string *buffer);
+ f_extern f_return_status f_file_read_fifo(f_file *file_information, f_dynamic_string *buffer);
#endif // _di_f_file_read_fifo_
#ifdef __cplusplus
#ifndef _di_f_new_
// Create some dynamically allocated array of some length
#define f_new(pointer,type) f_new_array(pointer, type, 1)
- extern f_return_status f_new_array(void **pointer, const f_memory_size_t type, const f_memory_length length);
+ f_extern f_return_status f_new_array(void **pointer, const f_memory_size_t type, const f_memory_length length);
#endif // _di_f_new_
#if ! ( defined (_di_f_delete_) || defined (_f_memory_FORCE_secure_memory_) )
// deletes some dynamically allocated data
// f_delete, will not change any of the data to 0 prior to deallocation
// type and length are not used by this function normally but must be provided for the cases when f_delete is swapped with f_destroy (or vice-versa)
- extern f_return_status f_delete(void **pointer, const f_memory_size_t type, const f_memory_length length);
+ f_extern f_return_status f_delete(void **pointer, const f_memory_size_t type, const f_memory_length length);
#endif // ! ( defined (_di_f_delete_) || defined (_f_memory_FORCE_secure_memory_) )
#if ! ( defined (_di_f_destroy_) || defined (_f_memory_FORCE_fast_memory_) )
// securely deletes some dynamically allocated data
// f_destroy, will change all data to 0 prior to deallocation
- extern f_return_status f_destroy(void **pointer, const f_memory_size_t type, const f_memory_length length);
+ f_extern f_return_status f_destroy(void **pointer, const f_memory_size_t type, const f_memory_length length);
#endif // ! ( defined (_di_f_destroy_) || defined (_f_memory_FORCE_fast_memory_) )
#if ! ( defined (_di_f_resize_) || defined (_f_memory_FORCE_secure_memory_) )
// resizes some dynamically allocated data
// f_resize, will not change any of the data prior to deallocation
- extern f_return_status f_resize(void **pointer, const f_memory_size_t type, const f_memory_length old_length, const f_memory_length new_length);
+ f_extern f_return_status f_resize(void **pointer, const f_memory_size_t type, const f_memory_length old_length, const f_memory_length new_length);
#endif // ! ( defined (_di_f_resize_) || defined (_f_memory_FORCE_secure_memory_) )
#if ! ( defined (_di_f_adjust_) || defined (_f_memory_FORCE_fast_memory_) )
// securely resizes some dynamically allocated data
// f_adjust, will change all data to 0 prior to deallocation
- extern f_return_status f_adjust(void **pointer, const f_memory_size_t type, const f_memory_length old_length, const f_memory_length new_length);
+ f_extern f_return_status f_adjust(void **pointer, const f_memory_size_t type, const f_memory_length old_length, const f_memory_length new_length);
#endif // _di_f_adjust_
#ifndef _di_f_pipe_exists_
// returns f_true if the standard input contains piped data.
- extern f_return_status f_pipe_exists();
+ f_extern f_return_status f_pipe_exists();
#endif // _di_f_pipe_exists_
#ifdef __cplusplus
// will not stop at \0
// will not print \0
// This implementation will not proces special characters, such as %s in the same way as printf functions, I am undecided whether or not to add this capability
- extern f_return_status f_print_string(f_file_type output, const f_string string, const f_string_length length);
+ f_extern f_return_status f_print_string(f_file_type output, const f_string string, const f_string_length length);
#endif // _di_f_print_string_
#ifndef _di_f_print_dynamic_string_
// will not print \0
// will print the entire dynamic string
// This implementation will not proces special characters, such as %s in the same way as printf functions, I am undecided whether or not to add this capability
- extern f_return_status f_print_dynamic_string(f_file_type output, const f_dynamic_string buffer);
+ f_extern f_return_status f_print_dynamic_string(f_file_type output, const f_dynamic_string buffer);
#endif // _di_f_print_dynamic_string_
// will not print \0
// will print the only the buffer range specified by location
// This implementation will not proces special characters, such as %s in the same way as printf functions, I am undecided whether or not to add this capability
- extern f_return_status f_print_partial_dynamic_string(f_file_type output, const f_dynamic_string buffer, const f_string_location location);
+ f_extern f_return_status f_print_partial_dynamic_string(f_file_type output, const f_dynamic_string buffer, const f_string_location location);
#endif // _di_f_print_partial_dynamic_string_
#ifdef __cplusplus
// BUG: for whatever reason strnlen is considered not included with -Wall, even with __USE_GNU defined
// therefore this gets defined here
#ifndef _di_BUG_strnlen_
- extern size_t strnlen (const char *string, size_t max_length);
+ f_extern size_t strnlen (const char *string, size_t max_length);
#endif // _di_BUG_strnlen_
// Define the end of string character
#define f_fpos_t fpos_t
#define f_file_type FILE *
#define f_null NULL
+ #define f_extern extern
#endif // _di_f_types_normal
// The minimal types represent to the system admin or whomever else handles compilation that the data type should NOT be smaller than the specified size, but can be any size larger.
#ifndef _di_fl_set_color_
// this will accept some file or standard io, and push color information to that file or standard io
- extern f_return_status fl_set_color(f_file_type file, const f_colors_format format, const f_autochar *color1, const f_autochar *color2, const f_autochar *color3, const f_autochar *color4, const f_autochar *color5);
+ f_extern f_return_status fl_set_color(f_file_type file, const f_colors_format format, const f_autochar *color1, const f_autochar *color2, const f_autochar *color3, const f_autochar *color4, const f_autochar *color5);
#define fl_set_color1(file, format, color1) fl_set_color(file, format, color1, 0, 0, 0, 0)
#define fl_set_color2(file, format, color1, color2) fl_set_color(file, format, color1, color2, 0, 0, 0)
#ifndef _di_fl_save_color_
// this will place all appropriate color effects into a string, handling any necessary allocations
- extern f_return_status fl_save_color(f_dynamic_string *buffer, const f_colors_format format, const f_autochar *color1, const f_autochar *color2, const f_autochar *color3, const f_autochar *color4, const f_autochar *color5);
+ f_extern f_return_status fl_save_color(f_dynamic_string *buffer, const f_colors_format format, const f_autochar *color1, const f_autochar *color2, const f_autochar *color3, const f_autochar *color4, const f_autochar *color5);
#define fl_save_color1(buffer, format, color1) fl_save_color(buffer, format, color1, 0, 0, 0, 0)
#define fl_save_color2(buffer, format, color1, color2) fl_save_color(buffer, format, color1, color2, 0, 0, 0)
// this will wrap the passed text in the passed start and end colors
// this will work like fprintf with the variable arguments
// if the colors strings have nothing used in them, then this will only print the string
- extern f_return_status fl_print_color(f_file_type file, const f_dynamic_string start_color, const f_dynamic_string end_color, const f_autochar *string, ...);
+ f_extern f_return_status fl_print_color(f_file_type file, const f_dynamic_string start_color, const f_dynamic_string end_color, const f_autochar *string, ...);
#endif // _di_fl_print_color_
#ifndef _di_fl_print_color_line_
// this is identical to fl_print_color, but also prints a trailing newline
- extern f_return_status fl_print_color_line(f_file_type file, const f_dynamic_string start_color, const f_dynamic_string end_color, const f_autochar *string, ...);
+ f_extern f_return_status fl_print_color_line(f_file_type file, const f_dynamic_string start_color, const f_dynamic_string end_color, const f_autochar *string, ...);
#endif // _di_fl_print_color_line_
#ifndef _di_fl_print_color_code_
// this will print a single color code so that all print commands following this command will print in color (or not..)
// do not forget to print the color reset when done
- extern f_return_status fl_print_color_code(f_file_type file, const f_dynamic_string color);
+ f_extern f_return_status fl_print_color_code(f_file_type file, const f_dynamic_string color);
#endif // _di_fl_print_color_code_
#ifdef __cplusplus
#endif
#ifndef _di_fl_process_parameters_
- extern f_return_status fl_process_parameters(const f_array_length argc, const f_string argv[], f_console_parameter parameters[], const f_array_length total_parameters, f_string_lengths *remaining);
+ f_extern f_return_status fl_process_parameters(const f_array_length argc, const f_string argv[], f_console_parameter parameters[], const f_array_length total_parameters, f_string_lengths *remaining);
#endif // _di_fl_process_parameters_
#ifdef __cplusplus
#ifndef _di_fl_directory_list_
// put the names of each file and/or directory inside the names parameter
- extern f_return_status fl_directory_list(const f_string directory_path, f_dynamic_strings *names);
+ f_extern f_return_status fl_directory_list(const f_string directory_path, f_dynamic_strings *names);
#endif // _di_fl_directory_list_
#ifdef __cplusplus
#ifndef _di_fl_errors_to_string_
// Convert error codes to their string equivalents.
- extern f_return_status fl_errors_to_string(const f_status error, f_string *string);
+ f_extern f_return_status fl_errors_to_string(const f_status error, f_string *string);
#endif // _di_fl_errors_to_string_
#ifndef _di_fl_errors_is_error_
// Returns true or false depending on whether the standard context of the error code represents an error.
// Keep in mind that many of the error codes are context-specific and may be reported as an error here when it is in fact not an error.
- extern f_return_status fl_errors_is_error(const f_status error);
+ f_extern f_return_status fl_errors_is_error(const f_status error);
#endif // _di_fl_errors_is_error_
#ifndef _di_fl_errors_is_warning_
// Returns true or false depending on whether the standard context of the error code represents a warning.
// Keep in mind that many of the error codes are context-specific and may be reported as a warning here when it is in fact not a warning.
- extern f_return_status fl_errors_is_warning(const f_status error);
+ f_extern f_return_status fl_errors_is_warning(const f_status error);
#endif // _di_fl_errors_is_warning_
#ifndef _di_fl_errors_is_fine_
// Returns true or false depending on whether the standard context of the error code represents an normal return status and not an error.
// Keep in mind that many of the error codes are context-specific and may be reported as an "fine" here when it is in fact not fine.
- extern f_return_status fl_errors_is_fine(const f_status error);
+ f_extern f_return_status fl_errors_is_fine(const f_status error);
#endif // _di_fl_errors_is_fine_
#ifdef __cplusplus
#endif
#ifndef _di_fl_file_read_
- extern f_return_status fl_file_read(f_file file, const f_file_position position, f_dynamic_string *buffer);
+ f_extern f_return_status fl_file_read(f_file file, const f_file_position position, f_dynamic_string *buffer);
#endif // _di_fl_file_read_
#ifndef _di_fl_file_read_fifo_
- extern f_return_status fl_file_read_fifo(f_file file, f_dynamic_string *buffer);
+ f_extern f_return_status fl_file_read_fifo(f_file file, f_dynamic_string *buffer);
#endif // _di_fl_file_read_fifo_
#ifndef _di_fl_file_write_
- extern f_return_status fl_file_write(f_file file, const f_dynamic_string buffer);
+ f_extern f_return_status fl_file_write(f_file file, const f_dynamic_string buffer);
#endif // _di_fl_file_write_
#ifndef _di_fl_file_write_partial_
- extern f_return_status fl_file_write_partial(f_file file, const f_dynamic_string buffer, const f_string_location position);
+ f_extern f_return_status fl_file_write_partial(f_file file, const f_dynamic_string buffer, const f_string_location position);
#endif // _di_fl_file_write_partial_
#ifdef __cplusplus
#endif
#ifndef _di_fl_fss_identify_
- extern f_return_status fl_fss_identify(const f_dynamic_string buffer, f_fss_header *header);
+ f_extern f_return_status fl_fss_identify(const f_dynamic_string buffer, f_fss_header *header);
#endif // _di_fl_fss_identify_
#ifndef _di_fl_fss_identify_file_
- extern f_return_status fl_fss_identify_file(f_file *file_information, f_fss_header *header);
+ f_extern f_return_status fl_fss_identify_file(f_file *file_information, f_fss_header *header);
#endif // _di_fl_fss_identify_file_
#ifndef _di_fl_fss_shift_delimiters_
// This provides a means to shift all of the delimiters to the end of the used buffer
// This allows one to do a printf on the dynamic string without the delimiters arbitrarily stopping the output
// No reallocations are performed, this will only shift characters
- extern f_return_status fl_fss_shift_delimiters(f_dynamic_string *buffer, const f_string_location location);
+ f_extern f_return_status fl_fss_shift_delimiters(f_dynamic_string *buffer, const f_string_location location);
#endif // _di_fl_fss_shift_delimiters_
#ifdef __cplusplus
#ifndef _di_fl_fss_basic_object_read_
// read an fss-0000 object
- extern f_return_status fl_fss_basic_object_read(f_dynamic_string *buffer, f_string_location *input, f_fss_object *found);
+ f_extern f_return_status fl_fss_basic_object_read(f_dynamic_string *buffer, f_string_location *input, f_fss_object *found);
#endif // _di_fl_fss_basic_object_read_
#ifndef _di_fl_fss_basic_content_read_
// read an fss-0000 content
- extern f_return_status fl_fss_basic_content_read(f_dynamic_string *buffer, f_string_location *input, f_fss_content *found);
+ f_extern f_return_status fl_fss_basic_content_read(f_dynamic_string *buffer, f_string_location *input, f_fss_content *found);
#endif // _di_fl_fss_basic_content_read_
#ifndef _di_fl_fss_basic_object_write_
// write an fss-0000 object
- extern f_return_status fl_fss_basic_object_write(const f_dynamic_string object, f_string_location *input, f_dynamic_string *buffer);
+ f_extern f_return_status fl_fss_basic_object_write(const f_dynamic_string object, f_string_location *input, f_dynamic_string *buffer);
#endif // _di_fl_fss_basic_object_write_
#ifndef _di_fl_fss_basic_content_write_
// write an fss-0000 content
- extern f_return_status fl_fss_basic_content_write(const f_dynamic_string content, f_string_location *input, f_dynamic_string *buffer);
+ f_extern f_return_status fl_fss_basic_content_write(const f_dynamic_string content, f_string_location *input, f_dynamic_string *buffer);
#endif // _di_fl_fss_basic_content_write_
#ifdef __cplusplus
#ifndef _di_fl_fss_basic_list_object_read_
// read an fss-0002 object
- extern f_return_status fl_fss_basic_list_object_read(f_dynamic_string *buffer, f_string_location *input, f_fss_object *found);
+ f_extern f_return_status fl_fss_basic_list_object_read(f_dynamic_string *buffer, f_string_location *input, f_fss_object *found);
#endif // _di_fl_fss_basic_list_object_read_
#ifndef _di_fl_fss_basic_list_content_read_
// read an fss-0002 content
- extern f_return_status fl_fss_basic_list_content_read(f_dynamic_string *buffer, f_string_location *input, f_fss_content *found);
+ f_extern f_return_status fl_fss_basic_list_content_read(f_dynamic_string *buffer, f_string_location *input, f_fss_content *found);
#endif // _di_fl_fss_basic_list_content_read_
#ifndef _di_fl_fss_basic_list_object_write_
// write an fss-0002 object
- extern f_return_status fl_fss_basic_list_object_write(const f_dynamic_string object, f_string_location *input, f_dynamic_string *buffer);
+ f_extern f_return_status fl_fss_basic_list_object_write(const f_dynamic_string object, f_string_location *input, f_dynamic_string *buffer);
#endif // _di_fl_fss_basic_list_object_write_
#ifndef _di_fl_fss_basic_list_content_write_
// write an fss-0002 content
- extern f_return_status fl_fss_basic_list_content_write(const f_dynamic_string content, f_string_location *input, f_dynamic_string *buffer);
+ f_extern f_return_status fl_fss_basic_list_content_write(const f_dynamic_string content, f_string_location *input, f_dynamic_string *buffer);
#endif // _di_fl_fss_basic_list_content_write_
#ifdef __cplusplus
#ifndef _di_fl_fss_extended_object_read_
// read an fss-0001 object
- extern f_return_status fl_fss_extended_object_read(f_dynamic_string *buffer, f_string_location *input, f_fss_object *found);
+ f_extern f_return_status fl_fss_extended_object_read(f_dynamic_string *buffer, f_string_location *input, f_fss_object *found);
#endif // _di_fl_fss_extended_object_read_
#ifndef _di_fl_fss_extended_content_read_
// read an fss-0001 content
- extern f_return_status fl_fss_extended_content_read(f_dynamic_string *buffer, f_string_location *input, f_fss_content *found);
+ f_extern f_return_status fl_fss_extended_content_read(f_dynamic_string *buffer, f_string_location *input, f_fss_content *found);
#endif // _di_fl_fss_extended_content_read_
#ifndef _di_fl_fss_extended_object_write_
// write an fss-0001 object
- extern f_return_status fl_fss_extended_object_write(const f_dynamic_string object, f_string_location *input, f_dynamic_string *buffer);
+ f_extern f_return_status fl_fss_extended_object_write(const f_dynamic_string object, f_string_location *input, f_dynamic_string *buffer);
#endif // _di_fl_fss_extended_object_write_
#ifndef _di_fl_fss_extended_content_write_
// write an fss-0001 content
- extern f_return_status fl_fss_extended_content_write(const f_dynamic_string content, f_string_location *input, f_dynamic_string *buffer);
+ f_extern f_return_status fl_fss_extended_content_write(const f_dynamic_string content, f_string_location *input, f_dynamic_string *buffer);
#endif // _di_fl_fss_extended_content_write_
#ifdef __cplusplus
#ifndef _di_fl_serialize_simple_
// this function will append a string to the serialize.
- extern f_return_status fl_serialize_simple(const f_dynamic_string value, f_dynamic_string *serialized);
+ f_extern f_return_status fl_serialize_simple(const f_dynamic_string value, f_dynamic_string *serialized);
#endif // _di_fl_serialize_simple_
#ifndef _di_fl_unserialize_simple_
// this function will unserialize a serialized string and store the results in an array of strings.
- extern f_return_status fl_unserialize_simple(const f_dynamic_string serialized, f_string_locations *locations);
+ f_extern f_return_status fl_unserialize_simple(const f_dynamic_string serialized, f_string_locations *locations);
#endif // _di_fl_unserialize_
#ifndef _di_fl_unserialize_simple_get_
// this function will pull a single serialized value from the serialized string at the given index.
- extern f_return_status fl_unserialize_simple_get(const f_dynamic_string serialized, const f_array_length index, f_string_location *location);
+ f_extern f_return_status fl_unserialize_simple_get(const f_dynamic_string serialized, const f_array_length index, f_string_location *location);
#endif // _di_fl_unserialize_simple_get_
#ifdef __cplusplus
#ifndef _di_fl_rip_string_
// given a start and stop position, this will return a new string based from the supplied buffer, based on the passed positions
// this will replace/overwrite existing information inside of the results variable
- extern f_return_status fl_rip_string(const f_dynamic_string buffer, const f_string_location position, f_dynamic_string *results);
+ f_extern f_return_status fl_rip_string(const f_dynamic_string buffer, const f_string_location position, f_dynamic_string *results);
#endif // _di_fl_rip_string_
#ifndef _di_fl_seek_line_past_non_graph_
// given a dynamic string and a string location, seek past all non-graph characters until a graph is reached
// will ignore the given placeholder
- extern f_return_status fl_seek_line_past_non_graph(const f_dynamic_string buffer, f_string_location *position, const f_autochar placeholder);
+ f_extern f_return_status fl_seek_line_past_non_graph(const f_dynamic_string buffer, f_string_location *position, const f_autochar placeholder);
#endif // _di_fl_seek_line_past_non_graph_
#ifndef _di_fl_seek_line_until_non_graph_
// given a dynamic string and a string location, seek past all graph characters until a non-graph is reached
// will ignore the given placeholder
- extern f_return_status fl_seek_line_until_non_graph(const f_dynamic_string buffer, f_string_location *position, const f_autochar placeholder);
+ f_extern f_return_status fl_seek_line_until_non_graph(const f_dynamic_string buffer, f_string_location *position, const f_autochar placeholder);
#endif // _di_fl_seek_line_until_non_graph_
#ifndef _di_fl_seek_to_
// given a dynamic string and a string location, seek past all characters until the given character is reached
- extern f_return_status fl_seek_to(const f_dynamic_string buffer, f_string_location *position, const f_autochar seek_to_this);
+ f_extern f_return_status fl_seek_to(const f_dynamic_string buffer, f_string_location *position, const f_autochar seek_to_this);
#endif // _di_fl_seek_to_
#ifndef _di_fl_compare_strings_
// this compares two strings and works similar to that of strncmp(..) but has significant differences to strncmp(..)
// given two strings, this will return either f_equal_to or f_not_equal_to
// this does not stop on f_eos and f_eos will be ignored as if it were not taking up any space, therefor a 5 character string could return f_equal_to if the 5 character string contains an f_eos anywhere within it
- extern f_return_status fl_compare_strings(const f_string string1, const f_string string2, const f_string_length length1, const f_string_length length2);
+ f_extern f_return_status fl_compare_strings(const f_string string1, const f_string string2, const f_string_length length1, const f_string_length length2);
#endif // _di_fl_compare_strings_
#ifndef _di_fl_compare_dynamic_strings_
// given two strings, this will return either f_equal_to or f_not_equal_to
// this is far safer than fl_compare_strings(..) as dynamic string contain size information within them
// this does not stop on f_eos and f_eos will be ignored as if it were not taking up any space, therefor a 5 character string could return f_equal_to if the 5 character string contains an f_eos anywhere within it
- extern f_return_status fl_compare_dynamic_strings(const f_dynamic_string string1, const f_dynamic_string string2);
+ f_extern f_return_status fl_compare_dynamic_strings(const f_dynamic_string string1, const f_dynamic_string string2);
#endif // _di_fl_compare_dynamic_strings_
#ifndef _di_fl_compare_partial_dynamic_strings_
// this functions identical to fl_compare_dynamic_strings, but uses offsets for both strings
- extern f_return_status fl_compare_partial_dynamic_strings(const f_dynamic_string string1, const f_dynamic_string string2, const f_string_location offset1, const f_string_location offset2);
+ f_extern f_return_status fl_compare_partial_dynamic_strings(const f_dynamic_string string1, const f_dynamic_string string2, const f_string_location offset1, const f_string_location offset2);
#endif // _di_fl_compare_partial_dynamic_strings_
#ifdef __cplusplus
// For any application that uses the standard color contexts, this function will load the appropriate colors to the structure
// This will handle the difference betweem xorg terminals and linux consoles
// If you wish to use non-standard colors either redefine this function or don't use it
- extern f_return_status fll_colors_load_context(fl_color_context *data, f_bool use_light_colors);
+ f_extern f_return_status fll_colors_load_context(fl_color_context *data, f_bool use_light_colors);
#endif // _di_fll_colors_load_context_
#ifdef __cplusplus
#ifndef _di_fll_execute_path_
// This will execute a program given some path + program name (such as "/bin/bash")
- extern f_return_status fll_execute_path(const f_string program_path, const f_dynamic_strings arguments, f_s_int *results);
+ f_extern f_return_status fll_execute_path(const f_string program_path, const f_dynamic_strings arguments, f_s_int *results);
#endif // _di_fll_execute_path_
#ifndef _di_fll_execute_program_
// This will find the program based on PATH environment so that static paths do not have to be used as with f_execute_path
- extern f_return_status fll_execute_program(const f_string program_name, const f_dynamic_strings arguments, f_s_int *results);
+ f_extern f_return_status fll_execute_program(const f_string program_name, const f_dynamic_strings arguments, f_s_int *results);
#endif // _di_fll_execute_program_
#ifdef __cplusplus
#ifndef _di_fll_fss_basic_read_
// read an fss-0000 object and then content
- extern f_return_status fll_fss_basic_read(f_dynamic_string *buffer, f_string_location *input, f_fss_objects *objects, f_fss_contents *contents);
+ f_extern f_return_status fll_fss_basic_read(f_dynamic_string *buffer, f_string_location *input, f_fss_objects *objects, f_fss_contents *contents);
#endif // _di_fll_fss_basic_read_
#ifndef _di_fll_fss_basic_write_
// write an fss-0000 object and then content
- extern f_return_status fll_fss_basic_write(const f_dynamic_string object, const f_dynamic_strings contents, f_dynamic_string *buffer);
+ f_extern f_return_status fll_fss_basic_write(const f_dynamic_string object, const f_dynamic_strings contents, f_dynamic_string *buffer);
#endif // _di_fll_fss_basic_write_
#ifdef __cplusplus
#ifndef _di_fll_fss_basic_list_read_
// read an fss-0002 object and then content
- extern f_return_status fll_fss_basic_list_read(f_dynamic_string *buffer, f_string_location *input, f_fss_objects *objects, f_fss_contents *contents);
+ f_extern f_return_status fll_fss_basic_list_read(f_dynamic_string *buffer, f_string_location *input, f_fss_objects *objects, f_fss_contents *contents);
#endif // _di_fll_fss_basic_list_read_
#ifndef _di_fll_fss_basic_list_write_
// write an fss-0000 object and then content
- extern f_return_status fll_fss_basic_list_write(const f_dynamic_string object, const f_dynamic_strings contents, f_dynamic_string *buffer);
+ f_extern f_return_status fll_fss_basic_list_write(const f_dynamic_string object, const f_dynamic_strings contents, f_dynamic_string *buffer);
#endif // _di_fll_fss_basic_list_write_
#ifdef __cplusplus
#ifndef _di_fll_fss_errors_to_string_
// Convert error codes to their string equivalents.
- extern f_return_status fll_fss_errors_to_string(const f_status error, f_string *string);
+ f_extern f_return_status fll_fss_errors_to_string(const f_status error, f_string *string);
#endif // _di_fll_errors_to_string_
#ifndef _di_fll_fss_errors_is_error_
// Returns true or false depending on whether the standard context of the error code represents an error.
// Keep in mind that many of the error codes are context-specific and may be reported as an error here when it is in fact not an error.
- extern f_return_status fll_fss_errors_is_error(const f_status error);
+ f_extern f_return_status fll_fss_errors_is_error(const f_status error);
#endif // _di_fll_fss_errors_is_error_
#ifndef _di_fll_fss_errors_is_warning_
// Returns true or false depending on whether the standard context of the error code represents a warning.
// Keep in mind that many of the error codes are context-specific and may be reported as a warning here when it is in fact not a warning.
- extern f_return_status fll_fss_errors_is_warning(const f_status error);
+ f_extern f_return_status fll_fss_errors_is_warning(const f_status error);
#endif // _di_fll_fss_errors_is_warning_
#ifndef _di_fll_fss_errors_is_fine_
// Returns true or false depending on whether the standard context of the error code represents an normal return status and not an error.
// Keep in mind that many of the error codes are context-specific and may be reported as "fine" here when it is in fact not fine.
- extern f_return_status fll_fss_errors_is_fine(const f_status error);
+ f_extern f_return_status fll_fss_errors_is_fine(const f_status error);
#endif // _di_fll_fss_errors_is_fine_
#ifdef __cplusplus
#ifndef _di_fll_fss_extended_read_
// read an fss-0001 object and then content
- extern f_return_status fll_fss_extended_read(f_dynamic_string *buffer, f_string_location *input, f_fss_objects *objects, f_fss_contents *contents);
+ f_extern f_return_status fll_fss_extended_read(f_dynamic_string *buffer, f_string_location *input, f_fss_objects *objects, f_fss_contents *contents);
#endif // _di_fll_fss_extended_read_
#ifndef _di_fll_fss_extended_write_
// write an fss-0000 object and then content
- extern f_return_status fll_fss_extended_write(const f_dynamic_string object, const f_dynamic_strings contents, f_dynamic_string *buffer);
+ f_extern f_return_status fll_fss_extended_write(const f_dynamic_string object, const f_dynamic_strings contents, f_dynamic_string *buffer);
#endif // _di_fll_fss_extended_write_
#ifdef __cplusplus
#endif // _di_firewall_data_
#ifndef _di_firewall_print_version_
- extern f_return_status firewall_print_version(const firewall_data data);
+ f_extern f_return_status firewall_print_version(const firewall_data data);
#endif // _di_firewall_print_version_
#ifndef _di_firewall_print_help_
- extern f_return_status firewall_print_help(const firewall_data data);
+ f_extern f_return_status firewall_print_help(const firewall_data data);
#endif // _di_firewall_print_help_
#ifndef _di_firewall_main_
- extern f_return_status firewall_main(const f_s_int argc, const f_string argv[], firewall_data *data);
+ f_extern f_return_status firewall_main(const f_s_int argc, const f_string argv[], firewall_data *data);
#endif // _di_firewall_main_
#ifndef _di_firewall_delete_data_
- extern f_return_status firewall_delete_data(firewall_data *data);
+ f_extern f_return_status firewall_delete_data(firewall_data *data);
#endif // _di_firewall_delete_data_
#ifdef __cplusplus
#endif // _di_fss_basic_list_read_data_
#ifndef _di_fss_basic_list_read_print_version_
- extern f_return_status fss_basic_list_read_print_version(const fss_basic_list_read_data data);
+ f_extern f_return_status fss_basic_list_read_print_version(const fss_basic_list_read_data data);
#endif // _di_fss_basic_list_read_print_version_
#ifndef _di_fss_basic_list_read_print_help_
- extern f_return_status fss_basic_list_read_print_help(const fss_basic_list_read_data data);
+ f_extern f_return_status fss_basic_list_read_print_help(const fss_basic_list_read_data data);
#endif // _di_fss_basic_list_read_print_help_
#ifndef _di_fss_basic_list_read_main_
- extern f_return_status fss_basic_list_read_main(const f_array_length argc, const f_string argv[], fss_basic_list_read_data *data);
+ f_extern f_return_status fss_basic_list_read_main(const f_array_length argc, const f_string argv[], fss_basic_list_read_data *data);
#endif // _di_fss_basic_list_read_main_
#ifndef _di_fss_basic_list_read_delete_data_
- extern f_return_status fss_basic_list_read_delete_data(fss_basic_list_read_data *data);
+ f_extern f_return_status fss_basic_list_read_delete_data(fss_basic_list_read_data *data);
#endif // _di_fss_basic_list_read_delete_data_
#ifdef __cplusplus
#endif // _di_fss_basic_list_write_data_
#ifndef _di_fss_basic_list_write_print_version_
- extern f_return_status fss_basic_list_write_print_version(const fss_basic_list_write_data data);
+ f_extern f_return_status fss_basic_list_write_print_version(const fss_basic_list_write_data data);
#endif // _di_fss_basic_list_write_print_version_
#ifndef _di_fss_basic_list_write_print_help_
- extern f_return_status fss_basic_list_write_print_help(const fss_basic_list_write_data data);
+ f_extern f_return_status fss_basic_list_write_print_help(const fss_basic_list_write_data data);
#endif // _di_fss_basic_list_write_print_help_
#ifndef _di_fss_basic_list_write_main_
- extern f_return_status fss_basic_list_write_main(const f_array_length argc, const f_string argv[], fss_basic_list_write_data *data);
+ f_extern f_return_status fss_basic_list_write_main(const f_array_length argc, const f_string argv[], fss_basic_list_write_data *data);
#endif // _di_fss_basic_list_write_main_
#ifndef _di_fss_basic_list_write_delete_data_
- extern f_return_status fss_basic_list_write_delete_data(fss_basic_list_write_data *data);
+ f_extern f_return_status fss_basic_list_write_delete_data(fss_basic_list_write_data *data);
#endif // _di_fss_basic_list_write_delete_data_
#ifdef __cplusplus
#endif // _di_fss_basic_read_data_
#ifndef _di_fss_basic_read_print_version_
- extern f_return_status fss_basic_read_print_version(const fss_basic_read_data data);
+ f_extern f_return_status fss_basic_read_print_version(const fss_basic_read_data data);
#endif // _di_fss_basic_read_print_version_
#ifndef _di_fss_basic_read_print_help_
- extern f_return_status fss_basic_read_print_help(const fss_basic_read_data data);
+ f_extern f_return_status fss_basic_read_print_help(const fss_basic_read_data data);
#endif // _di_fss_basic_read_print_help_
#ifndef _di_fss_basic_read_main_
- extern f_return_status fss_basic_read_main(const f_array_length argc, const f_string argv[], fss_basic_read_data *data);
+ f_extern f_return_status fss_basic_read_main(const f_array_length argc, const f_string argv[], fss_basic_read_data *data);
#endif // _di_fss_basic_read_main_
#ifndef _di_fss_basic_read_delete_data_
- extern f_return_status fss_basic_read_delete_data(fss_basic_read_data *data);
+ f_extern f_return_status fss_basic_read_delete_data(fss_basic_read_data *data);
#endif // _di_fss_basic_read_delete_data_
#ifdef __cplusplus
#endif // _di_fss_basic_write_data_
#ifndef _di_fss_basic_write_print_version_
- extern f_return_status fss_basic_write_print_version(const fss_basic_write_data data);
+ f_extern f_return_status fss_basic_write_print_version(const fss_basic_write_data data);
#endif // _di_fss_basic_write_print_version_
#ifndef _di_fss_basic_write_print_help_
- extern f_return_status fss_basic_write_print_help(const fss_basic_write_data data);
+ f_extern f_return_status fss_basic_write_print_help(const fss_basic_write_data data);
#endif // _di_fss_basic_write_print_help_
#ifndef _di_fss_basic_write_main_
- extern f_return_status fss_basic_write_main(const f_array_length argc, const f_string argv[], fss_basic_write_data *data);
+ f_extern f_return_status fss_basic_write_main(const f_array_length argc, const f_string argv[], fss_basic_write_data *data);
#endif // _di_fss_basic_write_main_
#ifndef _di_fss_basic_write_delete_data_
- extern f_return_status fss_basic_write_delete_data(fss_basic_write_data *data);
+ f_extern f_return_status fss_basic_write_delete_data(fss_basic_write_data *data);
#endif // _di_fss_basic_write_delete_data_
#ifdef __cplusplus
#endif // _di_fss_extended_read_data_
#ifndef _di_fss_extended_read_print_version_
- extern f_return_status fss_extended_read_print_version(const fss_extended_read_data data);
+ f_extern f_return_status fss_extended_read_print_version(const fss_extended_read_data data);
#endif // _di_fss_extended_read_print_version_
#ifndef _di_fss_extended_read_print_help_
- extern f_return_status fss_extended_read_print_help(const fss_extended_read_data data);
+ f_extern f_return_status fss_extended_read_print_help(const fss_extended_read_data data);
#endif // _di_fss_extended_read_print_help_
#ifndef _di_fss_extended_read_main_
- extern f_return_status fss_extended_read_main(const f_array_length argc, const f_string argv[], fss_extended_read_data *data);
+ f_extern f_return_status fss_extended_read_main(const f_array_length argc, const f_string argv[], fss_extended_read_data *data);
#endif // _di_fss_extended_read_main_
#ifndef _di_fss_extended_read_delete_data_
- extern f_return_status fss_extended_read_delete_data(fss_extended_read_data *data);
+ f_extern f_return_status fss_extended_read_delete_data(fss_extended_read_data *data);
#endif // _di_fss_extended_read_delete_data_
#ifdef __cplusplus
#endif // _di_fss_extended_write_data_
#ifndef _di_fss_extended_write_print_version_
- extern f_return_status fss_extended_write_print_version(const fss_extended_write_data data);
+ f_extern f_return_status fss_extended_write_print_version(const fss_extended_write_data data);
#endif // _di_fss_extended_write_print_version_
#ifndef _di_fss_extended_write_print_help_
- extern f_return_status fss_extended_write_print_help(const fss_extended_write_data data);
+ f_extern f_return_status fss_extended_write_print_help(const fss_extended_write_data data);
#endif // _di_fss_extended_write_print_help_
#ifndef _di_fss_extended_write_main_
- extern f_return_status fss_extended_write_main(const f_array_length argc, const f_string argv[], fss_extended_write_data *data);
+ f_extern f_return_status fss_extended_write_main(const f_array_length argc, const f_string argv[], fss_extended_write_data *data);
#endif // _di_fss_extended_write_main_
#ifndef _di_fss_extended_write_delete_data_
- extern f_return_status fss_extended_write_delete_data(fss_extended_write_data *data);
+ f_extern f_return_status fss_extended_write_delete_data(fss_extended_write_data *data);
#endif // _di_fss_extended_write_delete_data_
#ifdef __cplusplus
#endif // _di_fss_return_code_data_
#ifndef _di_fss_return_code_print_version_
- extern f_return_status fss_return_code_print_version(const fss_return_code_data data);
+ f_extern f_return_status fss_return_code_print_version(const fss_return_code_data data);
#endif // _di_fss_return_code_print_version_
#ifndef _di_fss_return_code_print_help_
- extern f_return_status fss_return_code_print_help(const fss_return_code_data data);
+ f_extern f_return_status fss_return_code_print_help(const fss_return_code_data data);
#endif // _di_fss_return_code_print_help_
#ifndef _di_fss_return_code_main_
- extern f_return_status fss_return_code_main(const f_array_length argc, const f_string argv[], fss_return_code_data *data);
+ f_extern f_return_status fss_return_code_main(const f_array_length argc, const f_string argv[], fss_return_code_data *data);
#endif // _di_fss_return_code_main_
#ifndef _di_fss_return_code_delete_data_
- extern f_return_status fss_return_code_delete_data(fss_return_code_data *data);
+ f_extern f_return_status fss_return_code_delete_data(fss_return_code_data *data);
#endif // _di_fss_return_code_delete_data_
#ifdef __cplusplus
#endif // _di_return_code_data_
#ifndef _di_return_code_print_version_
- extern f_return_status return_code_print_version(const return_code_data data);
+ f_extern f_return_status return_code_print_version(const return_code_data data);
#endif // _di_return_code_print_version_
#ifndef _di_return_code_print_help_
- extern f_return_status return_code_print_help(const return_code_data data);
+ f_extern f_return_status return_code_print_help(const return_code_data data);
#endif // _di_return_code_print_help_
#ifndef _di_return_code_main_
- extern f_return_status return_code_main(const f_array_length argc, const f_string argv[], return_code_data *data);
+ f_extern f_return_status return_code_main(const f_array_length argc, const f_string argv[], return_code_data *data);
#endif // _di_return_code_main_
#ifndef _di_return_code_delete_data_
- extern f_return_status return_code_delete_data(return_code_data *data);
+ f_extern f_return_status return_code_delete_data(return_code_data *data);
#endif // _di_return_code_delete_data_
#ifdef __cplusplus