# Based on apr's make_export.awk, which is # based on Ryan Bloom's make_export.pl # List of functions that we don't support, yet?? /apr_##name##_set_inherit/{next} /apr_##name##_unset_inherit/{next} /apr_compare_groups/{next} /apr_compare_users/{next} /apr_find_pool/{next} /apr_generate_random_bytes/{next} /apr_lock_create_np/{next} /apr_md5_set_xlate/{next} /apr_mmap_create/{next} /apr_mmap_delete/{next} /apr_mmap_offset/{next} /apr_os_thread_get/{next} /apr_os_thread_put/{next} /apr_pool_free_blocks_num_bytes/{next} /apr_pool_join/{next} /apr_pool_num_bytes/{next} /apr_proc_mutex_child_init/{next} /apr_proc_mutex_create/{next} /apr_proc_mutex_create_np/{next} /apr_proc_mutex_destroy/{next} /apr_proc_mutex_lock/{next} /apr_proc_mutex_trylock/{next} /apr_proc_mutex_unlock/{next} /apr_proc_other_child_check/{next} /apr_proc_other_child_read/{next} /apr_proc_other_child_register/{next} /apr_proc_other_child_unregister/{next} /apr_sendfile/{next} /apr_shm_avail/{next} /apr_shm_calloc/{next} /apr_shm_destroy/{next} /apr_shm_free/{next} /apr_shm_init/{next} /apr_shm_malloc/{next} /apr_shm_name_get/{next} /apr_shm_name_set/{next} /apr_shm_open/{next} /apr_signal/{next} /apr_signal_thread/{next} /apr_socket_from_file/{next} /apr_thread_once/{next} /apr_thread_once_init/{next} /apr_xlate_close/{next} /apr_xlate_conv_buffer/{next} /apr_xlate_conv_byte/{next} /apr_xlate_conv_char/{next} /apr_xlate_get_sb/{next} /apr_xlate_open/{next} /apr_brigade_consume/{next} /apr_bucket_mmap_create/{next} /apr_bucket_mmap_make/{next} /apr_bucket_type_mmap/{next} /apr_md4_set_xlate/{next} /apr_os_proc_mutex_get/{next} /apr_os_proc_mutex_put/{next} function add_symbol (sym_name) { if (count) { found++ } # for (i = 0; i < count; i++) { # line = line "\t" # } line = line sym_name ",\n" if (count == 0) { printf(" %s", line) line = "" } } /^[ \t]*AP[RU]?_DECLARE[^(]*[(][^)]*[)]([^ ]* )*[^(]+[(]/ { sub("[ \t]*AP[RU]?_DECLARE[^(]*[(][^)]*[)][ \t]*", "") sub("[(].*", "") sub("([^ ]* (^([ \t]*[(])))+", "") add_symbol($0) next } /^[ \t]*AP_DECLARE_HOOK[^(]*[(][^)]*[)]/ { split($0, args, ",") symbol = args[2] sub("^[ \t]+", "", symbol) sub("[ \t]+$", "", symbol) add_symbol("ap_hook_" symbol) add_symbol("ap_hook_get_" symbol) add_symbol("ap_run_" symbol) next } /^[ \t]*AP[RU]?_DECLARE_DATA .*;$/ { varname = $NF; gsub( /[*;]/, "", varname); gsub( /\[.*\]/, "", varname); add_symbol(varname); } #END { # printf(" %s", line) #}