![]() | RIP dataflow |
+-----------------------------+ +----------------------------+ +------------------------+ +----------------+ +-----------------------+ | attributes | | objects | | socket | | bitmask | | errors | +-----------------------------+ +----------------------------+ +------------------------+ +----------------+ +-----------------------+ ! Attributes ! ! Objects ! !........................! !................! ! er_level_a ! | Attributes_details | !............................! | SK_atoport() | | MA_new() | ! ER_mod_err ! ! Sources ! | OB_init() | | SK_close() | | MA_free() | ! IP_mod_er ! !.............................! | OB_get_inv_attr_mask() | | SK_getsock() | | MA_set() | ! RX_mod_err ! | AT_get_sources() | | OB_get_object_mask() | | SK_accept_connection() | | MA_isset() | ! UT_mod_err ! | AT_get_source() | | OB_object_to_string1() | | SK_gets() | | MA_clear() | ! er_main_err ! | AT_sources_to_string() | | OB_object_to_string2() | | SK_puts() | | MA_prt() | ! er_progname ! | AT_sources_list_to_string() | | OB_object_i_to_string() | +----------------------+-+ | MA_and() | ! er_pid ! | AT_get_attributes() | | OB_attribute_i_to_string() | A | | MA_xor() | ! er_provisional_struct ! | AT_get_attribute() | | OB_objects_to_string() | | | | MA_or() | !.......................! | AT_get_attribute_desc() | +--------+---------+---------+ | | | MA_bitcount() | | ER_init() | | AT_get_attribute_frmt() | | A | | V | MA_to_string() | | ER_perror() | | AT_attributes_to_string() | V | | | | +----------------+ | ER_dbg_va() | +-----------------------------+ | | | | | | | ER_anybody_wants() | A | | | | | | | ER_setpath() | +----------------------------+------------------------------------------------------+ A | ER_is_traced() | | | | | | | +-----------------------+ | V | | | | A | | | | | | | | +-----------------------------------------------------+-----+----------------------+ | | | | | | | | | | | | | | | | | | | | | +----------------------+--------------------------+---------------------------+ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | +-----------------------+---+------------------------+ | | | | | | | | | | | | | | | | | | | | | | | | | | | +-------------+ | | | | | | | | | | | | |+-----------+| +------+-----+ +-----------------+--------+ +-----+---+------+ | +--+----+----+----+------------+ +----+-----------------+ || whois_rip || | server | | thread | | protocol_whois | | | query_command | | which_keytype | |+-----------+| +------------+ +--------------------------+ +----------------+ | +------------------------------+ +----------------------+ |!...........!| !............! ! Whois_thread_count_lock | !................! | !..............................! !......................! || main() |+---}| SV_start() +----}| Config_thread_count_lock +-+-}| PW_interact() +---+---}| QC_new() +---}| WK_new() | |+-----------+| +-----+------+ | Mirror_thread_count_lock | | +------+---------+ | | | QC_free() | +----------------------+ +----+---+----+ | | Whois_thread_count | | | | | | | QC_environ_update() | | | | | | Config_thread_count | | | | | | | QC_bitmap_to_string() | | | | | | Mirror_thread_count | | +-------------+---+ | | | QC_query_command_to_string() | | | | | !..........................! | | protocol_config | | | +------------------------------+ | | | | | TH_do_whois() | | +-----------------+ | | | | | | | TH_do_config() | | !.................! | | +--------------------+ | | | | | TH_get_id() | +-}| PC_interact() | | | | query_instructions | | | | | | TH_run() | +--+-------+---+--+ | | +--------------------+ | | | | | TH_to_string() | | | | | | | !....................! | | | | +---------+----------------+ | | | | +---}| QI_new() | | | | | | | | | | | | QI_free() | | | | | | | | | | | | QI_execute() | | +-------------------------------------------------------------------+ | | | | +-------+------------+ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | +--------------------------------------------+--------------+---------------------+ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | +----------------------------+---------+-------------+--------------+---+-----------+ V | | | | | | | | | A | +----------------------------------+------------- V V | V | | +-------------------+ +--------------------------+ +-----+----------------------+ +--------+----------+ +-------------------+ +-------------------+ | properties | | constants | | mysql_driver | | radix | | ip | | ut | +-------------------+ +--------------------------+ +----------------------------+ +-------------------+ +-------------------+ +-------------------+ | Propertes | | Constants | !............................! !...................! !...................! !...................! | Prop_file_name | !..........................! | SQ_get_connection() | | RX_bin_node() ! | IP_addr_t2b() ! | ! | Prop_count | | CO_set() | | SQ_execute_query() | | RX_asc_node() | | IP_pref_t2b() | | | !...................! | CO_set_const() | | SQ_get_column_count() | | RX_get_tree() +--}| IP_rang_t2b() | | | | PR_load() | | CO_const_to_string() | | SQ_get_column_label() | | RX_inum_node() | | IP_addr_b2a() | | | | PR_set() | | CO_get_max_threads() | | SQ_get_column_max_length() | | RX_asc_search() | | IP_pref_b2a() | | | | PR_get_property() |{----+ CO_get_whois_port() | | SQ_row_next() | | RX_space_cre() | | IP_rang_b2a() | | | | PR_to_string() | | CO_get_config_port() | | SQ_get_column_string() | +-------------------+ | IP_addr_bit_get() | | | +-------------------+ | CO_get_mirror_port() | | SQ_get_column_strings() | | IP_addr_bit_set() | | | | CO_get_host() | | SQ_get_column_int() | | IP_addr_cmp() | | | | CO_get_user() | | SQ_result_to_string() | | IP_sizebits() | | | | CO_get_password() | | SQ_free_result() | | IP_pref_bit_fix() | | | | CO_get_database_port() | | SQ_close_connection() | | IP_smart_conv() | | | | CO_get_database() | | SQ_num_rows() | +-------------------+ +-------------------+ | CO_get_query() | | SQ_info_to_string() | | CO_get_in_query() | | SQ_error() | | CO_get_rt_query() | | SQ_errno() | | CO_get_authenticate() | +----------------------------+ | CO_get_whois_suspended() | | CO_get_welcome() | | CO_get_prompt() | | CO_get_clear_screen() | | CO_get_sleep_time() | | CO_get_accounting() | | CO_get_query_logging() | | CO_get_query_logfile() | | CO_get_comnd_logging() | | CO_get_comnd_logfile() | | CO_get_instr_logging() | | CO_get_instr_logfile() | | CO_get_tests_logging() | | CO_get_tests_logfile() | | CO_get_thread_logging() | | CO_get_thread_logfile() | | CO_get_socket_logging() | | CO_get_socket_logfile() | | CO_get_config_logging() | | CO_get_config_logfile() | | CO_to_string() | +--------------------------+