[PATCH 2/2] Decorated internal exported functions with DBUS_EXPORT macro.

Ralf Habacker ralf.habacker at freenet.de
Mon Mar 8 04:57:44 PST 2010


---
 cmake/dbus/CMakeLists.txt         |   43 ---
 dbus/dbus-1-symbols.def.in        |  511 -------------------------------------
 dbus/dbus-1-testsymbols.def.in    |   55 ----
 dbus/dbus-1-verbosesymbols.def.in |    3 -
 dbus/dbus-auth-script.h           |    1 +
 dbus/dbus-auth.h                  |   22 ++
 dbus/dbus-connection-internal.h   |   30 ++-
 dbus/dbus-credentials.h           |   22 ++
 dbus/dbus-dataslot.h              |    8 +
 dbus/dbus-file.h                  |    7 +
 dbus/dbus-hash.h                  |   33 +++
 dbus/dbus-internals.h             |   27 ++-
 dbus/dbus-keyring.h               |    7 +
 dbus/dbus-list.h                  |   28 ++
 dbus/dbus-macros.h                |   10 +-
 dbus/dbus-marshal-basic.h         |   20 ++
 dbus/dbus-marshal-byteswap.h      |    1 +
 dbus/dbus-marshal-header.h        |   19 ++
 dbus/dbus-marshal-recursive.h     |   30 +++
 dbus/dbus-marshal-validate.h      |    9 +
 dbus/dbus-mempool.h               |    4 +
 dbus/dbus-message-internal.h      |   26 ++-
 dbus/dbus-message-private.h       |    2 +-
 dbus/dbus-nonce.h                 |    7 +
 dbus/dbus-object-tree.h           |   10 +
 dbus/dbus-pipe.h                  |    7 +
 dbus/dbus-resources.h             |    8 +
 dbus/dbus-server-debug-pipe.h     |    4 +
 dbus/dbus-server-protected.h      |   12 +-
 dbus/dbus-server-socket.h         |    4 +
 dbus/dbus-server-unix.h           |    1 +
 dbus/dbus-sha.h                   |    4 +
 dbus/dbus-string.h                |   78 ++++++
 dbus/dbus-sysdeps-win.h           |    3 +-
 dbus/dbus-sysdeps.h               |   67 +++++
 dbus/dbus-test.h                  |   16 +-
 dbus/dbus-threads-internal.h      |   14 +
 dbus/dbus-timeout.h               |   11 +
 dbus/dbus-transport-socket.h      |    3 +
 dbus/dbus-transport.h             |   32 +++
 dbus/dbus-watch.h                 |   13 +
 41 files changed, 591 insertions(+), 621 deletions(-)

diff --git a/cmake/dbus/CMakeLists.txt b/cmake/dbus/CMakeLists.txt
index 762783b..229b204 100644
--- a/cmake/dbus/CMakeLists.txt
+++ b/cmake/dbus/CMakeLists.txt
@@ -250,35 +250,6 @@ endif(MSVC_IDE)
 
 ### Client library
 
-if(WIN32)
-	file(READ "${DBUS_DIR}/dbus-1-symbols.def.in" DBUS_CLIENT_EXPORTS)
-	if (DBUS_BUILD_TESTS)
-		file(READ "${DBUS_DIR}/dbus-1-testsymbols.def.in" DBUS_CLIENT_TEST_EXPORTS)
-	else(DBUS_BUILD_TESTS)
-		set(DBUS_CLIENT_TEST_EXPORTS )
-	endif(DBUS_BUILD_TESTS)
-	if (DBUS_ENABLE_VERBOSE_MODE)
-		file(READ "${DBUS_DIR}/dbus-1-verbosesymbols.def.in" DBUS_VERBOSE_EXPORTS)
-	else(DBUS_ENABLE_VERBOSE_MODE)
-		set(DBUS_VERBOSE_EXPORTS )
-	endif(DBUS_ENABLE_VERBOSE_MODE)
-	if(MSVC)
-		set(DBUS_LIB_DEF "${CMAKE_BINARY_DIR}/dbus-1.def")
-		configure_file("${CMAKE_CURRENT_SOURCE_DIR}/dbus-1.def.cmake" ${DBUS_LIB_DEF})
-		list(APPEND DBUS_LIB_SOURCES ${DBUS_LIB_DEF})
-	else(MSVC)
-		# Doesn't cmake support recursive expansion ? Would make the code below simpler...
-		if(CMAKE_BUILD_TYPE STREQUAL Debug)
-			set(LIBDBUS_1_NAME "libdbus-1${CMAKE_DEBUG_POSTFIX}")
-		else(CMAKE_BUILD_TYPE STREQUAL Debug)
-			set(LIBDBUS_1_NAME "libdbus-1${CMAKE_RELEASE_POSTFIX}")
-		endif(CMAKE_BUILD_TYPE STREQUAL Debug)
-		set(DBUS_LIBRARY_HEADER "LIBRARY ${LIBDBUS_1_NAME}.dll")
-		set(DBUS_LIB_DEF "${CMAKE_BINARY_DIR}/${LIBDBUS_1_NAME}.def")
-		configure_file("${CMAKE_CURRENT_SOURCE_DIR}/dbus-1.def.cmake" ${DBUS_LIB_DEF})
-	endif(MSVC)
-endif(WIN32)
-
 add_library(dbus-1 SHARED
 			${DBUS_LIB_SOURCES}
 			${DBUS_SHARED_SOURCES}
@@ -296,20 +267,6 @@ endif(WIN32 AND NOT MSVC)
 
 ### Internal library, used for the daemon, tools and tests, compiled statically.
 
-if(WIN32)
-	file(READ "${DBUS_DIR}/dbus-internal-symbols.def.in" DBUS_INTERNAL_EXPORTS)
-	if (DBUS_BUILD_TESTS)
-		file(READ "${DBUS_DIR}/dbus-internal-testsymbols.def.in" DBUS_INTERNAL_TEST_EXPORTS)
-	else(DBUS_BUILD_TESTS)
-		set(DBUS_INTERNAL_TEST_EXPORTS )
-	endif(DBUS_BUILD_TESTS)
-	set(DBUS_INTERNAL_DEF "${CMAKE_BINARY_DIR}/dbus-internal.def")
-	configure_file("${CMAKE_CURRENT_SOURCE_DIR}/dbus-internal.def.cmake" ${DBUS_INTERNAL_DEF})
-	if(MSVC)
-		list(APPEND DBUS_UTIL_SOURCES ${DBUS_INTERNAL_DEF})
-	endif(MSVC)
-endif(WIN32)
-
 add_library(dbus-internal STATIC
 			${DBUS_UTIL_SOURCES}
 			${DBUS_UTIL_HEADERS})
diff --git a/dbus/dbus-1-symbols.def.in b/dbus/dbus-1-symbols.def.in
index 7144a2d..e69de29 100644
--- a/dbus/dbus-1-symbols.def.in
+++ b/dbus/dbus-1-symbols.def.in
@@ -1,511 +0,0 @@
-_dbus_abort
-_dbus_accept
-_dbus_address_append_escaped
-_dbus_append_keyring_directory_for_credentials
-_dbus_append_session_config_file
-_dbus_append_system_config_file
-_dbus_append_user_from_current_process
-_dbus_atomic_dec
-_dbus_atomic_inc
-_dbus_auth_bytes_sent
-_dbus_auth_client_new
-_dbus_auth_decode_data
-_dbus_auth_delete_unused_bytes
-_dbus_auth_do_work
-_dbus_auth_encode_data
-_dbus_auth_get_buffer
-_dbus_auth_get_bytes_to_send
-_dbus_auth_get_guid_from_server
-_dbus_auth_get_identity
-_dbus_auth_get_unused_bytes
-_dbus_auth_needs_decoding
-_dbus_auth_needs_encoding
-_dbus_auth_ref
-_dbus_auth_return_buffer
-_dbus_auth_server_new
-_dbus_auth_set_context
-_dbus_auth_set_credentials
-_dbus_auth_set_mechanisms
-_dbus_auth_unref
-_dbus_bus_notify_shared_connection_disconnected_unlocked
-_dbus_check_dir_is_private_to_user
-_dbus_check_is_valid_bus_name
-_dbus_check_is_valid_error_name
-_dbus_check_is_valid_interface
-_dbus_check_is_valid_member
-_dbus_check_is_valid_path
-_dbus_check_is_valid_signature
-_dbus_close_socket
-_dbus_concat_dir_and_file
-_dbus_condvar_free
-_dbus_condvar_free_at_location
-_dbus_condvar_new
-_dbus_condvar_new_at_location
-_dbus_condvar_wait
-_dbus_condvar_wait_timeout
-_dbus_condvar_wake_all
-_dbus_condvar_wake_one
-_dbus_connect_tcp_socket
-_dbus_connection_add_timeout_unlocked
-_dbus_connection_add_watch_unlocked
-_dbus_connection_block_pending_call
-_dbus_connection_close_if_only_one_ref
-_dbus_connection_close_possibly_shared
-_dbus_connection_do_iteration_unlocked
-_dbus_connection_get_message_to_send
-_dbus_connection_handle_watch
-_dbus_connection_has_messages_to_send_unlocked
-_dbus_connection_lock
-_dbus_connection_message_sent
-_dbus_connection_new_for_transport
-_dbus_connection_queue_received_message_link
-_dbus_connection_queue_synthesized_message_link
-_dbus_connection_ref_unlocked
-_dbus_connection_remove_pending_call
-_dbus_connection_remove_timeout_unlocked
-_dbus_connection_remove_watch_unlocked
-_dbus_connection_send_and_unlock
-_dbus_connection_toggle_timeout_unlocked
-_dbus_connection_toggle_watch_unlocked
-_dbus_connection_unlock
-_dbus_connection_unref_unlocked
-_dbus_counter_new
-_dbus_counter_ref
-_dbus_counter_set_notify
-_dbus_counter_unref
-_dbus_create_directory
-_dbus_create_file_exclusively
-_dbus_credentials_add_credential
-_dbus_credentials_add_credentials
-_dbus_credentials_add_from_current_process
-_dbus_credentials_add_from_user
-_dbus_credentials_add_unix_pid
-_dbus_credentials_add_unix_uid
-_dbus_credentials_add_windows_sid
-_dbus_credentials_are_anonymous
-_dbus_credentials_are_empty
-_dbus_credentials_are_superset
-_dbus_credentials_clear
-_dbus_credentials_copy
-_dbus_credentials_get_unix_pid
-_dbus_credentials_get_unix_uid
-_dbus_credentials_get_windows_sid
-_dbus_credentials_include
-_dbus_credentials_new
-_dbus_credentials_new_from_current_process
-_dbus_credentials_ref
-_dbus_credentials_same_user
-_dbus_credentials_unref
-_dbus_daemon_publish_session_bus_address
-_dbus_daemon_unpublish_session_bus_address
-_dbus_data_slot_allocator_alloc
-_dbus_data_slot_allocator_free
-_dbus_data_slot_allocator_init
-_dbus_data_slot_list_clear
-_dbus_data_slot_list_free
-_dbus_data_slot_list_get
-_dbus_data_slot_list_init
-_dbus_data_slot_list_set
-_dbus_decompose_path
-_dbus_delete_directory
-_dbus_delete_file
-_dbus_disable_sigpipe
-_dbus_dup_string_array
-_dbus_error_from_errno
-_dbus_exit
-_dbus_fd_set_close_on_exec
-_dbus_file_get_contents
-_dbus_first_type_in_signature
-_dbus_first_type_in_signature_c_str
-_dbus_flush_caches
-_dbus_full_duplex_pipe
-_dbus_generate_pseudorandom_bytes_buffer
-_dbus_generate_random_ascii
-_dbus_generate_random_bytes
-_dbus_generate_random_bytes_buffer
-_dbus_generate_uuid
-_dbus_get_autolaunch_address
-_dbus_get_config_file_name
-_dbus_get_current_time
-_dbus_get_environment
-_dbus_get_is_errno_eagain_or_ewouldblock
-_dbus_get_is_errno_eintr
-_dbus_get_is_errno_enomem
-_dbus_get_is_errno_nonzero
-_dbus_get_local_machine_uuid_encoded
-_dbus_get_standard_session_servicedirs
-_dbus_get_standard_system_servicedirs
-_dbus_get_tmpdir
-_dbus_getenv
-_dbus_getpid
-_dbus_hash_iter_get_int_key
-_dbus_hash_iter_get_string_key
-_dbus_hash_iter_get_ulong_key
-_dbus_hash_iter_get_value
-_dbus_hash_iter_init
-_dbus_hash_iter_lookup
-_dbus_hash_iter_next
-_dbus_hash_iter_remove_entry
-_dbus_hash_iter_set_value
-_dbus_hash_table_free_preallocated_entry
-_dbus_hash_table_get_n_entries
-_dbus_hash_table_insert_int
-_dbus_hash_table_insert_string
-_dbus_hash_table_insert_string_preallocated
-_dbus_hash_table_insert_ulong
-_dbus_hash_table_lookup_int
-_dbus_hash_table_lookup_string
-_dbus_hash_table_lookup_ulong
-_dbus_hash_table_new
-_dbus_hash_table_preallocate_entry
-_dbus_hash_table_ref
-_dbus_hash_table_remove_all
-_dbus_hash_table_remove_int
-_dbus_hash_table_remove_string
-_dbus_hash_table_remove_ulong
-_dbus_hash_table_unref
-_dbus_header_byteswap
-_dbus_header_copy
-_dbus_header_create
-_dbus_header_delete_field
-_dbus_header_free
-_dbus_header_get_field_basic
-_dbus_header_get_field_raw
-_dbus_header_get_flag
-_dbus_header_get_message_type
-_dbus_header_get_serial
-_dbus_header_have_message_untrusted
-_dbus_header_init
-_dbus_header_load
-_dbus_header_reinit
-_dbus_header_set_field_basic
-_dbus_header_set_serial
-_dbus_header_toggle_flag
-_dbus_header_update_lengths
-_dbus_keyring_get_best_key
-_dbus_keyring_get_hex_key
-_dbus_keyring_is_for_credentials
-_dbus_keyring_new_for_credentials
-_dbus_keyring_ref
-_dbus_keyring_unref
-_dbus_keyring_validate_context
-_dbus_list_alloc_link
-_dbus_list_append
-_dbus_list_append_link
-_dbus_list_clear
-_dbus_list_copy
-_dbus_list_find_last
-_dbus_list_foreach
-_dbus_list_free_link
-_dbus_list_get_first
-_dbus_list_get_first_link
-_dbus_list_get_last
-_dbus_list_get_last_link
-_dbus_list_get_length
-_dbus_list_insert_after
-_dbus_list_insert_after_link
-_dbus_list_insert_before_link
-_dbus_list_length_is_one
-_dbus_list_pop_first
-_dbus_list_pop_first_link
-_dbus_list_pop_last
-_dbus_list_prepend
-_dbus_list_prepend_link
-_dbus_list_remove
-_dbus_list_remove_last
-_dbus_list_remove_link
-_dbus_list_unlink
-_dbus_listen_tcp_socket
-_dbus_make_file_world_readable
-_dbus_marshal_byteswap
-_dbus_marshal_read_basic
-_dbus_marshal_read_uint32
-_dbus_marshal_set_basic
-_dbus_marshal_set_uint32
-_dbus_marshal_skip_array
-_dbus_marshal_skip_basic
-_dbus_marshal_write_basic
-_dbus_marshal_write_fixed_multi
-_dbus_mem_pool_alloc
-_dbus_mem_pool_dealloc
-_dbus_mem_pool_free
-_dbus_mem_pool_new
-_dbus_memdup
-_dbus_message_get_network_data
-_dbus_message_iter_get_args_valist
-_dbus_message_loader_get_buffer
-_dbus_message_loader_get_is_corrupted
-_dbus_message_loader_get_max_message_size
-_dbus_message_loader_new
-_dbus_message_loader_peek_message
-_dbus_message_loader_pop_message
-_dbus_message_loader_pop_message_link
-_dbus_message_loader_putback_message_link
-_dbus_message_loader_queue_messages
-_dbus_message_loader_ref
-_dbus_message_loader_return_buffer
-_dbus_message_loader_set_max_message_size
-_dbus_message_loader_unref
-_dbus_mutex_free
-_dbus_mutex_free_at_location
-_dbus_mutex_lock
-_dbus_mutex_new
-_dbus_mutex_new_at_location
-_dbus_mutex_unlock
-_dbus_no_memory_message DATA
-_dbus_object_tree_dispatch_and_unlock
-_dbus_object_tree_free_all_unlocked
-_dbus_object_tree_get_user_data_unlocked
-_dbus_object_tree_list_registered_and_unlock
-_dbus_object_tree_new
-_dbus_object_tree_ref
-_dbus_object_tree_register
-_dbus_object_tree_unref
-_dbus_object_tree_unregister_and_unlock
-_dbus_pack_uint32
-_dbus_pending_call_complete
-_dbus_pending_call_get_completed_unlocked
-_dbus_pending_call_get_connection_and_lock
-_dbus_pending_call_get_connection_unlocked
-_dbus_pending_call_get_reply_serial_unlocked
-_dbus_pending_call_get_timeout_unlocked
-_dbus_pending_call_is_timeout_added_unlocked
-_dbus_pending_call_new_unlocked
-_dbus_pending_call_queue_timeout_error_unlocked
-_dbus_pending_call_ref_unlocked
-_dbus_pending_call_set_data_unlocked
-_dbus_pending_call_set_reply_serial_unlocked
-_dbus_pending_call_set_reply_unlocked
-_dbus_pending_call_set_timeout_added_unlocked
-_dbus_pending_call_set_timeout_error_unlocked
-_dbus_pending_call_unref_and_unlock
-_dbus_pid_for_log
-_dbus_pipe_close
-_dbus_pipe_init
-_dbus_pipe_init_stdout
-_dbus_pipe_invalidate
-_dbus_pipe_is_stdout_or_stderr
-_dbus_pipe_is_valid
-_dbus_pipe_write
-_dbus_poll
-_dbus_print_backtrace
-_dbus_printf_string_upper_bound
-_dbus_read_credentials_socket
-_dbus_read_local_machine_uuid
-_dbus_read_socket
-_dbus_read_uuid_file
-_dbus_real_assert
-_dbus_real_assert_not_reached
-_dbus_register_shutdown_func
-_dbus_return_if_fail_warning_format DATA
-_dbus_send_credentials_socket
-_dbus_server_add_timeout
-_dbus_server_add_watch
-_dbus_server_finalize_base
-_dbus_server_init_base
-_dbus_server_listen_platform_specific
-_dbus_server_listen_socket
-_dbus_server_new_for_socket
-_dbus_server_new_for_tcp_socket
-_dbus_server_ref_unlocked
-_dbus_server_remove_timeout
-_dbus_server_remove_watch
-_dbus_server_socket_own_filename
-_dbus_server_toggle_timeout
-_dbus_server_toggle_watch
-_dbus_server_unref_unlocked
-_dbus_set_bad_address
-_dbus_set_errno_to_zero
-_dbus_set_fd_nonblocking
-_dbus_setenv
-_dbus_sha_compute
-_dbus_sha_final
-_dbus_sha_init
-_dbus_sha_update
-_dbus_sleep_milliseconds
-_dbus_split_paths_and_append
-_dbus_strdup
-_dbus_strerror
-_dbus_strerror_from_errno
-_dbus_string_align_length
-_dbus_string_alloc_space
-_dbus_string_append
-_dbus_string_append_byte
-_dbus_string_append_byte_as_hex
-_dbus_string_append_int
-_dbus_string_append_len
-_dbus_string_append_printf
-_dbus_string_append_printf_valist
-_dbus_string_append_uint
-_dbus_string_array_contains
-_dbus_string_chop_white
-_dbus_string_copy
-_dbus_string_copy_data
-_dbus_string_copy_len
-_dbus_string_copy_to_buffer
-_dbus_string_delete
-_dbus_string_equal
-_dbus_string_equal_c_str
-_dbus_string_equal_len
-_dbus_string_equal_substring
-_dbus_string_find
-_dbus_string_find_blank
-_dbus_string_find_eol
-_dbus_string_find_to
-_dbus_string_free
-_dbus_string_get_byte
-_dbus_string_get_const_data
-_dbus_string_get_const_data_len
-_dbus_string_get_data
-_dbus_string_get_data_len
-_dbus_string_get_length
-_dbus_string_hex_decode
-_dbus_string_hex_encode
-_dbus_string_init
-_dbus_string_init_const
-_dbus_string_init_const_len
-_dbus_string_init_preallocated
-_dbus_string_insert_2_aligned
-_dbus_string_insert_4_aligned
-_dbus_string_insert_8_aligned
-_dbus_string_insert_alignment
-_dbus_string_insert_byte
-_dbus_string_insert_bytes
-_dbus_string_lengthen
-_dbus_string_move
-_dbus_string_move_len
-_dbus_string_parse_int
-_dbus_string_parse_uint
-_dbus_string_pop_line
-_dbus_string_replace_len
-_dbus_string_save_to_file
-_dbus_string_set_byte
-_dbus_string_set_length
-_dbus_string_shorten
-_dbus_string_skip_blank
-_dbus_string_skip_white
-_dbus_string_skip_white_reverse
-_dbus_string_split_on_byte
-_dbus_string_steal_data
-_dbus_string_tolower_ascii
-_dbus_string_toupper_ascii
-_dbus_string_validate_ascii
-_dbus_string_validate_nul
-_dbus_string_validate_utf8
-_dbus_string_zero
-_dbus_swap_array
-_dbus_threads_init_platform_specific
-_dbus_timeout_list_add_timeout
-_dbus_timeout_list_free
-_dbus_timeout_list_new
-_dbus_timeout_list_remove_timeout
-_dbus_timeout_list_set_functions
-_dbus_timeout_list_toggle_timeout
-_dbus_timeout_new
-_dbus_timeout_ref
-_dbus_timeout_set_enabled
-_dbus_timeout_set_interval
-_dbus_timeout_unref
-_dbus_transport_disconnect
-_dbus_transport_do_iteration
-_dbus_transport_finalize_base
-_dbus_transport_get_address
-_dbus_transport_get_adt_audit_session_data
-_dbus_transport_get_dispatch_status
-_dbus_transport_get_is_anonymous
-_dbus_transport_get_is_authenticated
-_dbus_transport_get_is_connected
-_dbus_transport_get_max_message_size
-_dbus_transport_get_max_received_size
-_dbus_transport_get_server_id
-_dbus_transport_get_socket_fd
-_dbus_transport_get_unix_process_id
-_dbus_transport_get_unix_user
-_dbus_transport_get_windows_user
-_dbus_transport_handle_watch
-_dbus_transport_init_base
-_dbus_transport_new_for_socket
-_dbus_transport_new_for_tcp_socket
-_dbus_transport_open
-_dbus_transport_open_platform_specific
-_dbus_transport_open_socket
-_dbus_transport_queue_messages
-_dbus_transport_ref
-_dbus_transport_set_allow_anonymous
-_dbus_transport_set_auth_mechanisms
-_dbus_transport_set_connection
-_dbus_transport_set_max_message_size
-_dbus_transport_set_max_received_size
-_dbus_transport_set_unix_user_function
-_dbus_transport_set_windows_user_function
-_dbus_transport_unref
-_dbus_type_get_alignment
-_dbus_type_is_valid
-_dbus_type_reader_delete
-_dbus_type_reader_get_array_length
-_dbus_type_reader_get_current_type
-_dbus_type_reader_get_element_type
-_dbus_type_reader_get_signature
-_dbus_type_reader_get_value_pos
-_dbus_type_reader_greater_than
-_dbus_type_reader_has_next
-_dbus_type_reader_init
-_dbus_type_reader_init_types_only
-_dbus_type_reader_next
-_dbus_type_reader_read_basic
-_dbus_type_reader_read_fixed_multi
-_dbus_type_reader_read_raw
-_dbus_type_reader_recurse
-_dbus_type_reader_set_basic
-_dbus_type_signature_next
-_dbus_type_to_string
-_dbus_type_writer_add_types
-_dbus_type_writer_append_array
-_dbus_type_writer_init
-_dbus_type_writer_init_types_delayed
-_dbus_type_writer_init_values_only
-_dbus_type_writer_recurse
-_dbus_type_writer_remove_types
-_dbus_type_writer_set_enabled
-_dbus_type_writer_unrecurse
-_dbus_type_writer_write_basic
-_dbus_type_writer_write_fixed_multi
-_dbus_type_writer_write_reader
-_dbus_type_writer_write_reader_partial
-_dbus_unpack_uint16
-_dbus_unpack_uint32
-_dbus_uuid_encode
-_dbus_validate_body_with_reason
-_dbus_validate_bus_name
-_dbus_validate_error_name
-_dbus_validate_interface
-_dbus_validate_member
-_dbus_validate_path
-_dbus_validate_signature
-_dbus_validate_signature_with_reason
-_dbus_verbose_bytes
-_dbus_verbose_bytes_of_string
-_dbus_warn
-_dbus_warn_check_failed
-_dbus_watch_invalidate
-_dbus_watch_list_add_watch
-_dbus_watch_list_free
-_dbus_watch_list_new
-_dbus_watch_list_remove_watch
-_dbus_watch_list_set_functions
-_dbus_watch_list_toggle_watch
-_dbus_watch_new
-_dbus_watch_ref
-_dbus_watch_sanitize_condition
-_dbus_watch_set_handler
-_dbus_watch_unref
-_dbus_win_account_to_sid
-_dbus_win_set_error_from_win_error
-_dbus_win_startup_winsock
-_dbus_win_utf16_to_utf8
-_dbus_win_utf8_to_utf16
-_dbus_win_warn_win_error
-_dbus_write_socket
-_dbus_write_socket_two
-
-
diff --git a/dbus/dbus-1-testsymbols.def.in b/dbus/dbus-1-testsymbols.def.in
index ce7731b..e69de29 100644
--- a/dbus/dbus-1-testsymbols.def.in
+++ b/dbus/dbus-1-testsymbols.def.in
@@ -1,55 +0,0 @@
-_dbus_address_test
-_dbus_auth_script_run
-_dbus_connection_queue_received_message
-_dbus_connection_test_get_locks
-_dbus_data_slot_test
-_dbus_decrement_fail_alloc_counter
-_dbus_disable_mem_pools
-_dbus_get_fail_alloc_counter
-_dbus_get_fail_alloc_failures
-_dbus_get_malloc_blocks_outstanding
-_dbus_hash_iter_get_two_strings_key
-_dbus_hash_table_insert_pointer
-_dbus_hash_table_insert_two_strings
-_dbus_hash_table_lookup_pointer
-_dbus_hash_table_lookup_two_strings
-_dbus_hash_table_remove_pointer
-_dbus_hash_table_remove_two_strings
-_dbus_hash_test
-_dbus_header_field_to_string
-_dbus_keyring_test
-_dbus_list_insert_before
-_dbus_list_pop_last_link
-_dbus_list_test
-_dbus_marshal_header_test
-_dbus_marshal_read_fixed_multi
-_dbus_marshal_test
-_dbus_mem_pool_test
-_dbus_memory_test
-_dbus_misc_test
-_dbus_object_tree_test
-_dbus_pending_call_test
-_dbus_server_debug_pipe_new
-_dbus_server_listen_debug_pipe
-_dbus_server_test
-_dbus_set_fail_alloc_counter
-_dbus_set_fail_alloc_failures
-_dbus_sha_test
-_dbus_signature_test
-_dbus_string_append_4_aligned
-_dbus_string_append_8_aligned
-_dbus_string_append_double
-_dbus_string_append_unichar
-_dbus_string_compact
-_dbus_string_copy_data_len
-_dbus_string_delete_first_word
-_dbus_string_delete_leading_blanks
-_dbus_string_get_unichar
-_dbus_string_lock
-_dbus_string_parse_double
-_dbus_string_starts_with_c_str
-_dbus_string_steal_data_len
-_dbus_test_oom_handling
-_dbus_threads_init_debug
-_dbus_transport_debug_pipe_new
-_dbus_transport_open_debug_pipe
diff --git a/dbus/dbus-1-verbosesymbols.def.in b/dbus/dbus-1-verbosesymbols.def.in
index ee5411c..e69de29 100644
--- a/dbus/dbus-1-verbosesymbols.def.in
+++ b/dbus/dbus-1-verbosesymbols.def.in
@@ -1,3 +0,0 @@
-_dbus_is_verbose_real
-_dbus_verbose_real
-_dbus_verbose_reset_real
diff --git a/dbus/dbus-auth-script.h b/dbus/dbus-auth-script.h
index 30cd564..474d268 100644
--- a/dbus/dbus-auth-script.h
+++ b/dbus/dbus-auth-script.h
@@ -32,6 +32,7 @@
 
 DBUS_BEGIN_DECLS
 
+DBUS_EXPORT
 dbus_bool_t _dbus_auth_script_run (const DBusString *filename);
 
 DBUS_END_DECLS
diff --git a/dbus/dbus-auth.h b/dbus/dbus-auth.h
index ae3f364..bb8b79c 100644
--- a/dbus/dbus-auth.h
+++ b/dbus/dbus-auth.h
@@ -41,41 +41,63 @@ typedef enum
   DBUS_AUTH_STATE_AUTHENTICATED
 } DBusAuthState;
 
+DBUS_EXPORT
 DBusAuth*     _dbus_auth_server_new          (const DBusString       *guid);
+DBUS_EXPORT
 DBusAuth*     _dbus_auth_client_new          (void);
+DBUS_EXPORT
 DBusAuth*     _dbus_auth_ref                 (DBusAuth               *auth);
+DBUS_EXPORT
 void          _dbus_auth_unref               (DBusAuth               *auth);
+DBUS_EXPORT
 dbus_bool_t   _dbus_auth_set_mechanisms      (DBusAuth               *auth,
                                               const char            **mechanisms);
+DBUS_EXPORT
 DBusAuthState _dbus_auth_do_work             (DBusAuth               *auth);
+DBUS_EXPORT
 dbus_bool_t   _dbus_auth_get_bytes_to_send   (DBusAuth               *auth,
                                               const DBusString      **str);
+DBUS_EXPORT
 void          _dbus_auth_bytes_sent          (DBusAuth               *auth,
                                               int                     bytes_sent);
+DBUS_EXPORT
 void          _dbus_auth_get_buffer          (DBusAuth               *auth,
                                               DBusString            **buffer);
+DBUS_EXPORT
 void          _dbus_auth_return_buffer       (DBusAuth               *auth,
                                               DBusString             *buffer,
                                               int                     bytes_read);
+DBUS_EXPORT
 void          _dbus_auth_get_unused_bytes    (DBusAuth               *auth,
                                               const DBusString      **str);
+DBUS_EXPORT
 void          _dbus_auth_delete_unused_bytes (DBusAuth               *auth);
+DBUS_EXPORT
 dbus_bool_t   _dbus_auth_needs_encoding      (DBusAuth               *auth);
+DBUS_EXPORT
 dbus_bool_t   _dbus_auth_encode_data         (DBusAuth               *auth,
                                               const DBusString       *plaintext,
                                               DBusString             *encoded);
+DBUS_EXPORT
 dbus_bool_t   _dbus_auth_needs_decoding      (DBusAuth               *auth);
+DBUS_EXPORT
 dbus_bool_t   _dbus_auth_decode_data         (DBusAuth               *auth,
                                               const DBusString       *encoded,
                                               DBusString             *plaintext);
+DBUS_EXPORT
 dbus_bool_t   _dbus_auth_set_credentials     (DBusAuth               *auth,
                                               DBusCredentials        *credentials);
+DBUS_EXPORT
 DBusCredentials* _dbus_auth_get_identity     (DBusAuth               *auth);
+DBUS_EXPORT
 dbus_bool_t   _dbus_auth_set_context         (DBusAuth               *auth,
                                               const DBusString       *context);
+DBUS_EXPORT
 const char*   _dbus_auth_get_guid_from_server(DBusAuth               *auth);
 
+DBUS_EXPORT
 void          _dbus_auth_set_unix_fd_possible(DBusAuth               *auth, dbus_bool_t b);
+DBUS_EXPORT
 dbus_bool_t   _dbus_auth_get_unix_fd_negotiated(DBusAuth             *auth);
 
 DBUS_END_DECLS
diff --git a/dbus/dbus-connection-internal.h b/dbus/dbus-connection-internal.h
index 721b5d7..b66b49a 100644
--- a/dbus/dbus-connection-internal.h
+++ b/dbus/dbus-connection-internal.h
@@ -43,58 +43,85 @@ typedef enum
 
 /** default timeout value when waiting for a message reply, 25 seconds */
 #define _DBUS_DEFAULT_TIMEOUT_VALUE (25 * 1000)
-
+DBUS_EXPORT
 void              _dbus_connection_lock                        (DBusConnection     *connection);
+DBUS_EXPORT
 void              _dbus_connection_unlock                      (DBusConnection     *connection);
+DBUS_EXPORT
 DBusConnection *  _dbus_connection_ref_unlocked                (DBusConnection     *connection);
+DBUS_EXPORT
 void              _dbus_connection_unref_unlocked              (DBusConnection     *connection);
+DBUS_EXPORT
 dbus_bool_t       _dbus_connection_queue_received_message      (DBusConnection     *connection,
                                                                 DBusMessage        *message);
+DBUS_EXPORT
 void              _dbus_connection_queue_received_message_link (DBusConnection     *connection,
                                                                 DBusList           *link);
+DBUS_EXPORT
 dbus_bool_t       _dbus_connection_has_messages_to_send_unlocked (DBusConnection     *connection);
+DBUS_EXPORT
 DBusMessage*      _dbus_connection_get_message_to_send         (DBusConnection     *connection);
+DBUS_EXPORT
 void              _dbus_connection_message_sent                (DBusConnection     *connection,
                                                                 DBusMessage        *message);
+DBUS_EXPORT
 dbus_bool_t       _dbus_connection_add_watch_unlocked          (DBusConnection     *connection,
                                                                 DBusWatch          *watch);
+DBUS_EXPORT
 void              _dbus_connection_remove_watch_unlocked       (DBusConnection     *connection,
                                                                 DBusWatch          *watch);
+DBUS_EXPORT
 void              _dbus_connection_toggle_watch_unlocked       (DBusConnection     *connection,
                                                                 DBusWatch          *watch,
                                                                 dbus_bool_t         enabled);
+DBUS_EXPORT
 dbus_bool_t       _dbus_connection_handle_watch                (DBusWatch          *watch,
                                                                 unsigned int        condition,
                                                                 void               *data);
+DBUS_EXPORT
 dbus_bool_t       _dbus_connection_add_timeout_unlocked        (DBusConnection     *connection,
                                                                 DBusTimeout        *timeout);
+DBUS_EXPORT
 void              _dbus_connection_remove_timeout_unlocked     (DBusConnection     *connection,
                                                                 DBusTimeout        *timeout);
+DBUS_EXPORT
 void              _dbus_connection_toggle_timeout_unlocked     (DBusConnection     *connection,
                                                                 DBusTimeout        *timeout,
                                                                 dbus_bool_t         enabled);
+DBUS_EXPORT
 DBusConnection*   _dbus_connection_new_for_transport           (DBusTransport      *transport);
+DBUS_EXPORT
 void              _dbus_connection_do_iteration_unlocked       (DBusConnection     *connection,
                                                                 unsigned int        flags,
                                                                 int                 timeout_milliseconds);
+DBUS_EXPORT
 void              _dbus_connection_close_possibly_shared       (DBusConnection     *connection);
+DBUS_EXPORT
 void              _dbus_connection_close_if_only_one_ref       (DBusConnection     *connection);
 
+DBUS_EXPORT
 DBusPendingCall*  _dbus_pending_call_new                       (DBusConnection     *connection,
                                                                 int                 timeout_milliseconds,
                                                                 DBusTimeoutHandler  timeout_handler);
+DBUS_EXPORT
 void              _dbus_pending_call_notify                    (DBusPendingCall    *pending);
+DBUS_EXPORT
 void              _dbus_connection_remove_pending_call         (DBusConnection     *connection,
                                                                 DBusPendingCall    *pending);
+DBUS_EXPORT
 void              _dbus_connection_block_pending_call          (DBusPendingCall    *pending);
+DBUS_EXPORT
 void              _dbus_pending_call_complete_and_unlock       (DBusPendingCall    *pending,
                                                                 DBusMessage        *message);
+DBUS_EXPORT
 dbus_bool_t       _dbus_connection_send_and_unlock             (DBusConnection     *connection,
                                                                 DBusMessage        *message,
                                                                 dbus_uint32_t      *client_serial);
 
+DBUS_EXPORT
 void              _dbus_connection_queue_synthesized_message_link (DBusConnection *connection,
 						                   DBusList *link);
+DBUS_EXPORT
 void              _dbus_connection_test_get_locks                 (DBusConnection *conn,
                                                                    DBusMutex **mutex_loc,
                                                                    DBusMutex **dispatch_mutex_loc,
@@ -110,6 +137,7 @@ void              _dbus_connection_test_get_locks                 (DBusConnectio
  * @{
  */
 
+DBUS_EXPORT
 void           _dbus_bus_notify_shared_connection_disconnected_unlocked (DBusConnection *connection);
 
 /** @} */
diff --git a/dbus/dbus-credentials.h b/dbus/dbus-credentials.h
index 25f31b7..11a5618 100644
--- a/dbus/dbus-credentials.h
+++ b/dbus/dbus-credentials.h
@@ -37,38 +37,60 @@ typedef enum {
   DBUS_CREDENTIAL_WINDOWS_SID
 } DBusCredentialType;
 
+DBUS_EXPORT
 DBusCredentials* _dbus_credentials_new_from_current_process (void);
+DBUS_EXPORT
 DBusCredentials* _dbus_credentials_new                      (void);
+DBUS_EXPORT
 void             _dbus_credentials_ref                      (DBusCredentials    *credentials);
+DBUS_EXPORT
 void             _dbus_credentials_unref                    (DBusCredentials    *credentials);
+DBUS_EXPORT
 dbus_bool_t      _dbus_credentials_add_unix_pid             (DBusCredentials    *credentials,
                                                              dbus_pid_t          pid);
+DBUS_EXPORT
 dbus_bool_t      _dbus_credentials_add_unix_uid             (DBusCredentials    *credentials,
                                                              dbus_uid_t          uid);
+DBUS_EXPORT
 dbus_bool_t      _dbus_credentials_add_windows_sid          (DBusCredentials    *credentials,
                                                              const char         *windows_sid);
+DBUS_EXPORT
 dbus_bool_t      _dbus_credentials_add_adt_audit_data       (DBusCredentials    *credentials,
                                                              void               *audit_data,
                                                              dbus_int32_t        size);
+DBUS_EXPORT
 dbus_bool_t      _dbus_credentials_include                  (DBusCredentials    *credentials,
                                                              DBusCredentialType  type);
+DBUS_EXPORT
 dbus_pid_t       _dbus_credentials_get_unix_pid             (DBusCredentials    *credentials);
+DBUS_EXPORT
 dbus_uid_t       _dbus_credentials_get_unix_uid             (DBusCredentials    *credentials);
+DBUS_EXPORT
 const char*      _dbus_credentials_get_windows_sid          (DBusCredentials    *credentials);
+DBUS_EXPORT
 void *           _dbus_credentials_get_adt_audit_data       (DBusCredentials    *credentials);
+DBUS_EXPORT
 dbus_int32_t     _dbus_credentials_get_adt_audit_data_size  (DBusCredentials    *credentials);
+DBUS_EXPORT
 dbus_bool_t      _dbus_credentials_are_superset             (DBusCredentials    *credentials,
                                                              DBusCredentials    *possible_subset);
+DBUS_EXPORT
 dbus_bool_t      _dbus_credentials_are_empty                (DBusCredentials    *credentials);
+DBUS_EXPORT
 dbus_bool_t      _dbus_credentials_are_anonymous            (DBusCredentials    *credentials);
+DBUS_EXPORT
 dbus_bool_t      _dbus_credentials_add_credentials          (DBusCredentials    *credentials,
                                                              DBusCredentials    *other_credentials);
 /* must silently allow 'which' to not exist */
+DBUS_EXPORT
 dbus_bool_t      _dbus_credentials_add_credential           (DBusCredentials    *credentials,
                                                              DBusCredentialType  which,
                                                              DBusCredentials    *other_credentials);
+DBUS_EXPORT
 void             _dbus_credentials_clear                    (DBusCredentials    *credentials);
+DBUS_EXPORT
 DBusCredentials* _dbus_credentials_copy                     (DBusCredentials    *credentials);
+DBUS_EXPORT
 dbus_bool_t      _dbus_credentials_same_user                (DBusCredentials    *credentials,
                                                              DBusCredentials    *other_credentials);
 
diff --git a/dbus/dbus-dataslot.h b/dbus/dbus-dataslot.h
index 2e706f7..229ae1d 100644
--- a/dbus/dbus-dataslot.h
+++ b/dbus/dbus-dataslot.h
@@ -70,13 +70,18 @@ struct DBusDataSlotList
   int           n_slots; /**< Slots we have storage for in data_slots */
 };
 
+DBUS_EXPORT
 dbus_bool_t _dbus_data_slot_allocator_init  (DBusDataSlotAllocator  *allocator);
+DBUS_EXPORT
 dbus_bool_t _dbus_data_slot_allocator_alloc (DBusDataSlotAllocator  *allocator,
                                              DBusMutex              **mutex_loc,
                                              int                    *slot_id_p);
+DBUS_EXPORT
 void        _dbus_data_slot_allocator_free  (DBusDataSlotAllocator  *allocator,
                                              int                    *slot_id_p);
+DBUS_EXPORT
 void        _dbus_data_slot_list_init       (DBusDataSlotList       *list);
+DBUS_EXPORT
 dbus_bool_t _dbus_data_slot_list_set        (DBusDataSlotAllocator  *allocator,
                                              DBusDataSlotList       *list,
                                              int                     slot,
@@ -84,10 +89,13 @@ dbus_bool_t _dbus_data_slot_list_set        (DBusDataSlotAllocator  *allocator,
                                              DBusFreeFunction        free_data_func,
                                              DBusFreeFunction       *old_free_func,
                                              void                  **old_data);
+DBUS_EXPORT
 void*       _dbus_data_slot_list_get        (DBusDataSlotAllocator  *allocator,
                                              DBusDataSlotList       *list,
                                              int                     slot);
+DBUS_EXPORT
 void        _dbus_data_slot_list_clear      (DBusDataSlotList       *list);
+DBUS_EXPORT
 void        _dbus_data_slot_list_free       (DBusDataSlotList       *list);
 
 
diff --git a/dbus/dbus-file.h b/dbus/dbus-file.h
index b83fc6d..720928c 100644
--- a/dbus/dbus-file.h
+++ b/dbus/dbus-file.h
@@ -39,21 +39,28 @@ DBUS_BEGIN_DECLS
 /**
  * File interface
  */
+DBUS_EXPORT
 dbus_bool_t _dbus_file_exists         (const char       *file);
+DBUS_EXPORT
 dbus_bool_t _dbus_file_get_contents   (DBusString       *str,
                                        const DBusString *filename,
                                        DBusError        *error);
+DBUS_EXPORT
 dbus_bool_t _dbus_string_save_to_file (const DBusString *str,
                                        const DBusString *filename,
                                        DBusError        *error);
 
+DBUS_EXPORT
 dbus_bool_t _dbus_make_file_world_readable   (const DBusString *filename,
                                               DBusError *error);
 
+DBUS_EXPORT
 dbus_bool_t    _dbus_create_file_exclusively (const DBusString *filename,
                                               DBusError        *error);
+DBUS_EXPORT
 dbus_bool_t    _dbus_delete_file             (const DBusString *filename,
                                               DBusError        *error);
+DBUS_EXPORT
 int _dbus_file_read (int               fd,
                      DBusString       *buffer,
                      int               count);
diff --git a/dbus/dbus-hash.h b/dbus/dbus-hash.h
index 78f69dd..8ca72c0 100644
--- a/dbus/dbus-hash.h
+++ b/dbus/dbus-hash.h
@@ -64,62 +64,92 @@ typedef enum
   DBUS_HASH_ULONG          /**< Hash keys are unsigned long. */
 } DBusHashType;
 
+DBUS_EXPORT
 DBusHashTable* _dbus_hash_table_new                (DBusHashType      type,
                                                     DBusFreeFunction  key_free_function,
                                                     DBusFreeFunction  value_free_function);
+DBUS_EXPORT
 DBusHashTable* _dbus_hash_table_ref                (DBusHashTable    *table);
+DBUS_EXPORT
 void           _dbus_hash_table_unref              (DBusHashTable    *table);
+DBUS_EXPORT
 void           _dbus_hash_table_remove_all         (DBusHashTable    *table);
+DBUS_EXPORT
 void           _dbus_hash_iter_init                (DBusHashTable    *table,
                                                     DBusHashIter     *iter);
+DBUS_EXPORT
 dbus_bool_t    _dbus_hash_iter_next                (DBusHashIter     *iter);
+DBUS_EXPORT
 void           _dbus_hash_iter_remove_entry        (DBusHashIter     *iter);
+DBUS_EXPORT
 void*          _dbus_hash_iter_get_value           (DBusHashIter     *iter);
+DBUS_EXPORT
 void           _dbus_hash_iter_set_value           (DBusHashIter     *iter,
                                                     void             *value);
+DBUS_EXPORT
 int            _dbus_hash_iter_get_int_key         (DBusHashIter     *iter);
+DBUS_EXPORT
 const char*    _dbus_hash_iter_get_string_key      (DBusHashIter     *iter);
+DBUS_EXPORT
 const char*    _dbus_hash_iter_get_two_strings_key (DBusHashIter     *iter);
+DBUS_EXPORT
 unsigned long  _dbus_hash_iter_get_ulong_key       (DBusHashIter     *iter);
+DBUS_EXPORT
 dbus_bool_t    _dbus_hash_iter_lookup              (DBusHashTable    *table,
                                                     void             *key,
                                                     dbus_bool_t       create_if_not_found,
                                                     DBusHashIter     *iter);
+DBUS_EXPORT
 void*          _dbus_hash_table_lookup_string      (DBusHashTable    *table,
                                                     const char       *key);
+DBUS_EXPORT
 void*          _dbus_hash_table_lookup_two_strings (DBusHashTable    *table,
                                                     const char       *key);
+DBUS_EXPORT
 void*          _dbus_hash_table_lookup_int         (DBusHashTable    *table,
                                                     int               key);
+DBUS_EXPORT
 void*          _dbus_hash_table_lookup_pointer     (DBusHashTable    *table,
                                                     void             *key);
+DBUS_EXPORT
 void*          _dbus_hash_table_lookup_ulong       (DBusHashTable    *table,
                                                     unsigned long     key);
+DBUS_EXPORT
 dbus_bool_t    _dbus_hash_table_remove_string      (DBusHashTable    *table,
                                                     const char       *key);
+DBUS_EXPORT
 dbus_bool_t    _dbus_hash_table_remove_two_strings (DBusHashTable    *table,
                                                     const char       *key);
+DBUS_EXPORT
 dbus_bool_t    _dbus_hash_table_remove_int         (DBusHashTable    *table,
                                                     int               key);
+DBUS_EXPORT
 dbus_bool_t    _dbus_hash_table_remove_pointer     (DBusHashTable    *table,
                                                     void             *key);
+DBUS_EXPORT
 dbus_bool_t    _dbus_hash_table_remove_ulong       (DBusHashTable    *table,
                                                     unsigned long     key);
+DBUS_EXPORT
 dbus_bool_t    _dbus_hash_table_insert_string      (DBusHashTable    *table,
                                                     char             *key,
                                                     void             *value);
+DBUS_EXPORT
 dbus_bool_t    _dbus_hash_table_insert_two_strings (DBusHashTable    *table,
                                                     char             *key,
                                                     void             *value);
+DBUS_EXPORT
 dbus_bool_t    _dbus_hash_table_insert_int         (DBusHashTable    *table,
                                                     int               key,
                                                     void             *value);
+DBUS_EXPORT
 dbus_bool_t    _dbus_hash_table_insert_pointer     (DBusHashTable    *table,
                                                     void             *key,
                                                     void             *value);
+DBUS_EXPORT
 dbus_bool_t    _dbus_hash_table_insert_ulong       (DBusHashTable    *table,
                                                     unsigned long     key,
                                                     void             *value);
+DBUS_EXPORT
 int            _dbus_hash_table_get_n_entries      (DBusHashTable    *table);
 
 /* Preallocation */
@@ -127,9 +157,12 @@ int            _dbus_hash_table_get_n_entries      (DBusHashTable    *table);
 /** A preallocated hash entry */
 typedef struct DBusPreallocatedHash DBusPreallocatedHash;
 
+DBUS_EXPORT
 DBusPreallocatedHash *_dbus_hash_table_preallocate_entry          (DBusHashTable        *table);
+DBUS_EXPORT
 void                  _dbus_hash_table_free_preallocated_entry    (DBusHashTable        *table,
                                                                    DBusPreallocatedHash *preallocated);
+DBUS_EXPORT
 void                  _dbus_hash_table_insert_string_preallocated (DBusHashTable        *table,
                                                                    DBusPreallocatedHash *preallocated,
                                                                    char                 *key,
diff --git a/dbus/dbus-internals.h b/dbus/dbus-internals.h
index 01f6247..c87eb81 100644
--- a/dbus/dbus-internals.h
+++ b/dbus/dbus-internals.h
@@ -39,9 +39,11 @@ DBUS_BEGIN_DECLS
 
 #define DBUS_SESSION_BUS_DEFAULT_ADDRESS	"autolaunch:"
 
+DBUS_EXPORT
 void _dbus_warn               (const char *format,
                                ...) _DBUS_GNUC_PRINTF (1, 2);
 
+DBUS_EXPORT
 void _dbus_warn_check_failed  (const char *format,
                                ...) _DBUS_GNUC_PRINTF (1, 2);
 
@@ -108,15 +110,19 @@ void _dbus_warn_check_failed  (const char *format,
 #endif
 
 #ifdef DBUS_CPP_SUPPORTS_VARIABLE_MACRO_ARGUMENTS
+DBUS_EXPORT
 void _dbus_verbose_real       (const char *file, const int line, const char *function, 
                                const char *format,...) _DBUS_GNUC_PRINTF (4, 5);
 #  define _dbus_verbose(fmt,...) _dbus_verbose_real( __FILE__,__LINE__,__FUNCTION__,fmt, ## __VA_ARGS__)
 #else
+DBUS_EXPORT
 void _dbus_verbose_real       (const char *format,
                                ...) _DBUS_GNUC_PRINTF (1, 2);
 #  define _dbus_verbose _dbus_verbose_real
 #endif
+DBUS_EXPORT
 void _dbus_verbose_reset_real (void);
+DBUS_EXPORT
 dbus_bool_t _dbus_is_verbose_real (void);
 
 #  define _dbus_verbose_reset _dbus_verbose_reset_real
@@ -133,11 +139,13 @@ static void _dbus_verbose(const char * x,...) {;}
 #  define _dbus_is_verbose() FALSE 
 #endif /* !DBUS_ENABLE_VERBOSE_MODE */
 
+DBUS_EXPORT
 const char* _dbus_strerror (int error_number);
 
 #ifdef DBUS_DISABLE_ASSERT
 #define _dbus_assert(condition)
 #else
+DBUS_EXPORT
 void _dbus_real_assert (dbus_bool_t  condition,
                         const char  *condition_text,
                         const char  *file,
@@ -150,6 +158,7 @@ void _dbus_real_assert (dbus_bool_t  condition,
 #ifdef DBUS_DISABLE_ASSERT
 #define _dbus_assert_not_reached(explanation)
 #else
+DBUS_EXPORT
 void _dbus_real_assert_not_reached (const char *explanation,
                                     const char *file,
                                     int         line) _DBUS_GNUC_NORETURN;
@@ -224,11 +233,15 @@ DBUS_EXTERN const char *_dbus_return_if_fail_warning_format;
   ((void*)_DBUS_ALIGN_VALUE(this, boundary))
 
 
+DBUS_EXPORT
 char*       _dbus_strdup                (const char  *str);
+DBUS_EXPORT
 void*       _dbus_memdup                (const void  *mem,
                                          size_t       n_bytes);
+DBUS_EXPORT
 dbus_bool_t _dbus_string_array_contains (const char **array,
                                          const char  *str);
+DBUS_EXPORT
 char**      _dbus_dup_string_array      (const char **array);
 
 #define _DBUS_INT16_MIN	 ((dbus_int16_t) 0x8000)
@@ -264,12 +277,15 @@ char**      _dbus_dup_string_array      (const char **array);
 typedef void (* DBusForeachFunction) (void *element,
                                       void *data);
 
+DBUS_EXPORT
 dbus_bool_t _dbus_set_fd_nonblocking (int             fd,
                                       DBusError      *error);
 
+DBUS_EXPORT
 void _dbus_verbose_bytes           (const unsigned char *data,
                                     int                  len,
                                     int                  offset);
+DBUS_EXPORT
 void _dbus_verbose_bytes_of_string (const DBusString    *str,
                                     int                  start,
                                     int                  len);
@@ -287,9 +303,12 @@ void        _dbus_set_fail_alloc_failures       (int  failures_per_failure);
 int         _dbus_get_fail_alloc_failures       (void);
 dbus_bool_t _dbus_decrement_fail_alloc_counter  (void);
 dbus_bool_t _dbus_disable_mem_pools             (void);
+DBUS_EXPORT
 int         _dbus_get_malloc_blocks_outstanding (void);
 
 typedef dbus_bool_t (* DBusTestMemoryFunction)  (void *data);
+
+DBUS_EXPORT
 dbus_bool_t _dbus_test_oom_handling (const char             *description,
                                      DBusTestMemoryFunction  func,
                                      void                   *data);
@@ -343,11 +362,13 @@ _DBUS_DECLARE_GLOBAL_LOCK (atomic);
 #define _DBUS_N_GLOBAL_LOCKS (14)
 #endif
 
+DBUS_EXPORT
 dbus_bool_t _dbus_threads_init_debug (void);
 
+DBUS_EXPORT
 dbus_bool_t   _dbus_address_append_escaped (DBusString       *escaped,
                                             const DBusString *unescaped);
-
+DBUS_EXPORT
 void          _dbus_set_bad_address        (DBusError         *error,
                                             const char        *address_problem_type,
                                             const char        *address_problem_field,
@@ -367,14 +388,18 @@ union DBusGUID
   char as_bytes[DBUS_UUID_LENGTH_BYTES];                /**< guid as 16 single-byte values */
 };
 
+DBUS_EXPORT
 void        _dbus_generate_uuid  (DBusGUID         *uuid);
+DBUS_EXPORT
 dbus_bool_t _dbus_uuid_encode    (const DBusGUID   *uuid,
                                   DBusString       *encoded);
+DBUS_EXPORT
 dbus_bool_t _dbus_read_uuid_file (const DBusString *filename,
                                   DBusGUID         *uuid,
                                   dbus_bool_t       create_if_not_found,
                                   DBusError        *error);
 
+DBUS_EXPORT
 dbus_bool_t _dbus_get_local_machine_uuid_encoded (DBusString *uuid_str);
 
 DBUS_END_DECLS
diff --git a/dbus/dbus-keyring.h b/dbus/dbus-keyring.h
index 200e31b..7ab37a0 100644
--- a/dbus/dbus-keyring.h
+++ b/dbus/dbus-keyring.h
@@ -32,16 +32,23 @@ DBUS_BEGIN_DECLS
 
 typedef struct DBusKeyring DBusKeyring;
 
+DBUS_EXPORT
 DBusKeyring* _dbus_keyring_new_for_credentials (DBusCredentials  *credentials,
                                                 const DBusString *context,
                                                 DBusError        *error);
+DBUS_EXPORT
 DBusKeyring* _dbus_keyring_ref                 (DBusKeyring      *keyring);
+DBUS_EXPORT
 void         _dbus_keyring_unref               (DBusKeyring      *keyring);
+DBUS_EXPORT
 dbus_bool_t  _dbus_keyring_validate_context    (const DBusString *context);
+DBUS_EXPORT
 int          _dbus_keyring_get_best_key        (DBusKeyring      *keyring,
                                                 DBusError        *error);
+DBUS_EXPORT
 dbus_bool_t  _dbus_keyring_is_for_credentials  (DBusKeyring      *keyring,
                                                 DBusCredentials  *credentials);
+DBUS_EXPORT
 dbus_bool_t  _dbus_keyring_get_hex_key         (DBusKeyring      *keyring,
                                                 int               key_id,
                                                 DBusString       *hex_key);
diff --git a/dbus/dbus-list.h b/dbus/dbus-list.h
index 663ad25..c8ccf40 100644
--- a/dbus/dbus-list.h
+++ b/dbus/dbus-list.h
@@ -37,55 +37,83 @@ struct DBusList
   DBusList *next; /**< Next list node. */
   void     *data; /**< Data stored at this element. */
 };
+DBUS_EXPORT
 dbus_bool_t _dbus_list_append             (DBusList **list,
                                            void      *data);
+DBUS_EXPORT
 dbus_bool_t _dbus_list_prepend            (DBusList **list,
                                            void      *data);
+DBUS_EXPORT
 dbus_bool_t _dbus_list_insert_before      (DBusList **list,
                                            DBusList  *before_this_link,
                                            void      *data);
+DBUS_EXPORT
 dbus_bool_t _dbus_list_insert_after       (DBusList **list,
                                            DBusList  *after_this_link,
                                            void      *data);
+DBUS_EXPORT
 void        _dbus_list_insert_before_link (DBusList **list,
                                            DBusList  *before_this_link,
                                            DBusList  *link);
+DBUS_EXPORT
 void        _dbus_list_insert_after_link  (DBusList **list,
                                            DBusList  *after_this_link,
                                            DBusList  *link);
+DBUS_EXPORT
 dbus_bool_t _dbus_list_remove             (DBusList **list,
                                            void      *data);
+DBUS_EXPORT
 dbus_bool_t _dbus_list_remove_last        (DBusList **list,
                                            void      *data);
+DBUS_EXPORT
 void        _dbus_list_remove_link        (DBusList **list,
                                            DBusList  *link);
+DBUS_EXPORT
 DBusList*   _dbus_list_find_last          (DBusList **list,
                                            void      *data);
+DBUS_EXPORT
 void        _dbus_list_clear              (DBusList **list);
+DBUS_EXPORT
 DBusList*   _dbus_list_get_first_link     (DBusList **list);
+DBUS_EXPORT
 DBusList*   _dbus_list_get_last_link      (DBusList **list);
+DBUS_EXPORT
 void*       _dbus_list_get_last           (DBusList **list);
+DBUS_EXPORT
 void*       _dbus_list_get_first          (DBusList **list);
+DBUS_EXPORT
 void*       _dbus_list_pop_first          (DBusList **list);
+DBUS_EXPORT
 void*       _dbus_list_pop_last           (DBusList **list);
+DBUS_EXPORT
 DBusList*   _dbus_list_pop_first_link     (DBusList **list);
+DBUS_EXPORT
 DBusList*   _dbus_list_pop_last_link      (DBusList **list);
+DBUS_EXPORT
 dbus_bool_t _dbus_list_copy               (DBusList **list,
                                            DBusList **dest);
+DBUS_EXPORT
 int         _dbus_list_get_length         (DBusList **list);
+DBUS_EXPORT
 DBusList*   _dbus_list_alloc_link         (void      *data);
+DBUS_EXPORT
 void        _dbus_list_free_link          (DBusList  *link);
+DBUS_EXPORT
 void        _dbus_list_unlink             (DBusList **list,
                                            DBusList  *link);
+DBUS_EXPORT
 void        _dbus_list_append_link        (DBusList **list,
                                            DBusList  *link);
+DBUS_EXPORT
 void        _dbus_list_prepend_link       (DBusList **list,
                                            DBusList  *link);
+DBUS_EXPORT
 dbus_bool_t _dbus_list_length_is_one      (DBusList **list);
 
 
 
 
+DBUS_EXPORT
 void _dbus_list_foreach (DBusList            **list,
                          DBusForeachFunction   function,
                          void                 *data);
diff --git a/dbus/dbus-macros.h b/dbus/dbus-macros.h
index 3190a79..e350399 100644
--- a/dbus/dbus-macros.h
+++ b/dbus/dbus-macros.h
@@ -151,6 +151,12 @@
  */
 
 /*
+ * @def DBUS_STATIC_BUILD
+ *
+ * Declare for building or using static dbus library (windows only)
+ */
+
+/*
  * @def DBUS_EXPORT
  *
  * Declare the following symbol as public.  This is currently a noop on
@@ -158,7 +164,9 @@
  */
 
 #if defined(DBUS_WIN)
-#  if defined(dbus_1_EXPORTS)
+#  if defined(DBUS_STATIC_BUILD)
+#  define DBUS_EXPORT
+#  elif defined(dbus_1_EXPORTS)
 #  define DBUS_EXPORT __declspec(dllexport)
 #  else
 #  define DBUS_EXPORT __declspec(dllimport)
diff --git a/dbus/dbus-marshal-basic.h b/dbus/dbus-marshal-basic.h
index fd87a80..bbac8ba 100644
--- a/dbus/dbus-marshal-basic.h
+++ b/dbus/dbus-marshal-basic.h
@@ -195,18 +195,22 @@ typedef union
 #endif
 
 #ifndef _dbus_unpack_uint16
+DBUS_EXPORT
 dbus_uint16_t _dbus_unpack_uint16 (int                  byte_order,
                                    const unsigned char *data);
 #endif
 
+DBUS_EXPORT
 void          _dbus_pack_uint32   (dbus_uint32_t        value,
                                    int                  byte_order,
                                    unsigned char       *data);
 #ifndef _dbus_unpack_uint32
+DBUS_EXPORT
 dbus_uint32_t _dbus_unpack_uint32 (int                  byte_order,
                                    const unsigned char *data);
 #endif
 
+DBUS_EXPORT
 dbus_bool_t   _dbus_marshal_set_basic         (DBusString       *str,
                                                int               pos,
                                                int               type,
@@ -214,12 +218,14 @@ dbus_bool_t   _dbus_marshal_set_basic         (DBusString       *str,
                                                int               byte_order,
                                                int              *old_end_pos,
                                                int              *new_end_pos);
+DBUS_EXPORT
 dbus_bool_t   _dbus_marshal_write_basic       (DBusString       *str,
                                                int               insert_at,
                                                int               type,
                                                const void       *value,
                                                int               byte_order,
                                                int              *pos_after);
+DBUS_EXPORT
 dbus_bool_t   _dbus_marshal_write_fixed_multi (DBusString       *str,
                                                int               insert_at,
                                                int               element_type,
@@ -227,12 +233,14 @@ dbus_bool_t   _dbus_marshal_write_fixed_multi (DBusString       *str,
                                                int               n_elements,
                                                int               byte_order,
                                                int              *pos_after);
+DBUS_EXPORT
 void          _dbus_marshal_read_basic        (const DBusString *str,
                                                int               pos,
                                                int               type,
                                                void             *value,
                                                int               byte_order,
                                                int              *new_pos);
+DBUS_EXPORT
 void          _dbus_marshal_read_fixed_multi  (const DBusString *str,
                                                int               pos,
                                                int               element_type,
@@ -240,34 +248,46 @@ void          _dbus_marshal_read_fixed_multi  (const DBusString *str,
                                                int               n_elements,
                                                int               byte_order,
                                                int              *new_pos);
+DBUS_EXPORT
 void          _dbus_marshal_skip_basic        (const DBusString *str,
                                                int               type,
                                                int               byte_order,
                                                int              *pos);
+DBUS_EXPORT
 void          _dbus_marshal_skip_array        (const DBusString *str,
                                                int               element_type,
                                                int               byte_order,
                                                int              *pos);
+DBUS_EXPORT
 void          _dbus_marshal_set_uint32        (DBusString       *str,
                                                int               pos,
                                                dbus_uint32_t     value,
                                                int               byte_order);
+DBUS_EXPORT
 dbus_uint32_t _dbus_marshal_read_uint32       (const DBusString *str,
                                                int               pos,
                                                int               byte_order,
                                                int              *new_pos);
+DBUS_EXPORT
 dbus_bool_t   _dbus_type_is_valid             (int               typecode);
+DBUS_EXPORT
 int           _dbus_type_get_alignment        (int               typecode);
+DBUS_EXPORT
 dbus_bool_t   _dbus_type_is_fixed             (int               typecode);
+DBUS_EXPORT
 int           _dbus_type_get_alignment        (int               typecode);
+DBUS_EXPORT
 const char*   _dbus_type_to_string            (int               typecode);
 
+DBUS_EXPORT
 int           _dbus_first_type_in_signature   (const DBusString *str,
                                                int               pos);
 
+DBUS_EXPORT
 int           _dbus_first_type_in_signature_c_str   (const char       *str,
 						     int               pos);
 
+DBUS_EXPORT
 void _dbus_swap_array (unsigned char *data,
                        int            n_elements,
                        int            alignment);
diff --git a/dbus/dbus-marshal-byteswap.h b/dbus/dbus-marshal-byteswap.h
index 7c8ea7b..6f42b1a 100644
--- a/dbus/dbus-marshal-byteswap.h
+++ b/dbus/dbus-marshal-byteswap.h
@@ -28,6 +28,7 @@
 #include <dbus/dbus-protocol.h>
 #include <dbus/dbus-marshal-recursive.h>
 
+DBUS_EXPORT
 void _dbus_marshal_byteswap (const DBusString *signature,
                              int               signature_start,
                              int               old_byte_order,
diff --git a/dbus/dbus-marshal-header.h b/dbus/dbus-marshal-header.h
index 0f36efa..ff95c79 100644
--- a/dbus/dbus-marshal-header.h
+++ b/dbus/dbus-marshal-header.h
@@ -60,11 +60,15 @@ struct DBusHeader
   dbus_uint32_t byte_order : 8;     /**< byte order of header */
 };
 
+DBUS_EXPORT
 dbus_bool_t   _dbus_header_init                   (DBusHeader        *header,
                                                    int                byte_order);
+DBUS_EXPORT
 void          _dbus_header_free                   (DBusHeader        *header);
+DBUS_EXPORT
 void          _dbus_header_reinit                 (DBusHeader        *header,
                                                    int                byte_order);
+DBUS_EXPORT
 dbus_bool_t   _dbus_header_create                 (DBusHeader        *header,
                                                    int                type,
                                                    const char        *destination,
@@ -72,36 +76,49 @@ dbus_bool_t   _dbus_header_create                 (DBusHeader        *header,
                                                    const char        *interface,
                                                    const char        *member,
                                                    const char        *error_name);
+DBUS_EXPORT
 dbus_bool_t   _dbus_header_copy                   (const DBusHeader  *header,
                                                    DBusHeader        *dest);
+DBUS_EXPORT
 int           _dbus_header_get_message_type       (DBusHeader        *header);
+DBUS_EXPORT
 void          _dbus_header_set_serial             (DBusHeader        *header,
                                                    dbus_uint32_t      serial);
+DBUS_EXPORT
 dbus_uint32_t _dbus_header_get_serial             (DBusHeader        *header);
+DBUS_EXPORT
 void          _dbus_header_update_lengths         (DBusHeader        *header,
                                                    int                body_len);
+DBUS_EXPORT
 dbus_bool_t   _dbus_header_set_field_basic        (DBusHeader        *header,
                                                    int                field,
                                                    int                type,
                                                    const void        *value);
+DBUS_EXPORT
 dbus_bool_t   _dbus_header_get_field_basic        (DBusHeader        *header,
                                                    int                field,
                                                    int                type,
                                                    void              *value);
+DBUS_EXPORT
 dbus_bool_t   _dbus_header_get_field_raw          (DBusHeader        *header,
                                                    int                field,
                                                    const DBusString **str,
                                                    int               *pos);
+DBUS_EXPORT
 dbus_bool_t   _dbus_header_delete_field           (DBusHeader        *header,
                                                    int                field);
+DBUS_EXPORT
 void          _dbus_header_toggle_flag            (DBusHeader        *header,
                                                    dbus_uint32_t      flag,
                                                    dbus_bool_t        value);
+DBUS_EXPORT
 dbus_bool_t   _dbus_header_get_flag               (DBusHeader        *header,
                                                    dbus_uint32_t      flag);
+DBUS_EXPORT
 dbus_bool_t   _dbus_header_ensure_signature       (DBusHeader        *header,
                                                    DBusString       **type_str,
                                                    int               *type_pos);
+DBUS_EXPORT
 dbus_bool_t   _dbus_header_have_message_untrusted (int                max_message_length,
                                                    DBusValidity      *validity,
                                                    int               *byte_order,
@@ -111,6 +128,7 @@ dbus_bool_t   _dbus_header_have_message_untrusted (int                max_messag
                                                    const DBusString  *str,
                                                    int                start,
                                                    int                len);
+DBUS_EXPORT
 dbus_bool_t   _dbus_header_load                   (DBusHeader        *header,
                                                    DBusValidationMode mode,
                                                    DBusValidity      *validity,
@@ -121,6 +139,7 @@ dbus_bool_t   _dbus_header_load                   (DBusHeader        *header,
                                                    const DBusString  *str,
                                                    int                start,
                                                    int                len);
+DBUS_EXPORT
 void          _dbus_header_byteswap               (DBusHeader        *header,
                                                    int                new_order);
 
diff --git a/dbus/dbus-marshal-recursive.h b/dbus/dbus-marshal-recursive.h
index a743668..1176a08 100644
--- a/dbus/dbus-marshal-recursive.h
+++ b/dbus/dbus-marshal-recursive.h
@@ -97,94 +97,124 @@ struct DBusArrayLenFixup
   int new_len;           /**< the new value of the length in the written-out block */
 };
 
+DBUS_EXPORT
 void        _dbus_type_reader_init                      (DBusTypeReader        *reader,
                                                          int                    byte_order,
                                                          const DBusString      *type_str,
                                                          int                    type_pos,
                                                          const DBusString      *value_str,
                                                          int                    value_pos);
+DBUS_EXPORT
 void        _dbus_type_reader_init_types_only           (DBusTypeReader        *reader,
                                                          const DBusString      *type_str,
                                                          int                    type_pos);
+DBUS_EXPORT
 int         _dbus_type_reader_get_current_type          (const DBusTypeReader  *reader);
+DBUS_EXPORT
 int         _dbus_type_reader_get_element_type          (const DBusTypeReader  *reader);
+DBUS_EXPORT
 int         _dbus_type_reader_get_value_pos             (const DBusTypeReader  *reader);
+DBUS_EXPORT
 void        _dbus_type_reader_read_basic                (const DBusTypeReader  *reader,
                                                          void                  *value);
+DBUS_EXPORT
 int         _dbus_type_reader_get_array_length          (const DBusTypeReader  *reader);
+DBUS_EXPORT
 void        _dbus_type_reader_read_fixed_multi          (const DBusTypeReader  *reader,
                                                          void                  *value,
                                                          int                   *n_elements);
+DBUS_EXPORT
 void        _dbus_type_reader_read_raw                  (const DBusTypeReader  *reader,
                                                          const unsigned char  **value_location);
+DBUS_EXPORT
 void        _dbus_type_reader_recurse                   (DBusTypeReader        *reader,
                                                          DBusTypeReader        *subreader);
+DBUS_EXPORT
 dbus_bool_t _dbus_type_reader_next                      (DBusTypeReader        *reader);
+DBUS_EXPORT
 dbus_bool_t _dbus_type_reader_has_next                  (const DBusTypeReader  *reader);
+DBUS_EXPORT
 void        _dbus_type_reader_get_signature             (const DBusTypeReader  *reader,
                                                          const DBusString     **str_p,
                                                          int                   *start_p,
                                                          int                   *len_p);
+DBUS_EXPORT
 dbus_bool_t _dbus_type_reader_set_basic                 (DBusTypeReader        *reader,
                                                          const void            *value,
                                                          const DBusTypeReader  *realign_root);
+DBUS_EXPORT
 dbus_bool_t _dbus_type_reader_delete                    (DBusTypeReader        *reader,
                                                          const DBusTypeReader  *realign_root);
+DBUS_EXPORT
 dbus_bool_t _dbus_type_reader_greater_than              (const DBusTypeReader  *lhs,
                                                          const DBusTypeReader  *rhs);
 
 dbus_bool_t _dbus_type_reader_equal_values              (const DBusTypeReader *lhs,
                                                          const DBusTypeReader *rhs);
 
+DBUS_EXPORT
 void        _dbus_type_signature_next                   (const char            *signature,
 							 int                   *type_pos);
 
+DBUS_EXPORT
 void        _dbus_type_writer_init                 (DBusTypeWriter        *writer,
                                                     int                    byte_order,
                                                     DBusString            *type_str,
                                                     int                    type_pos,
                                                     DBusString            *value_str,
                                                     int                    value_pos);
+DBUS_EXPORT
 void        _dbus_type_writer_init_types_delayed   (DBusTypeWriter        *writer,
                                                     int                    byte_order,
                                                     DBusString            *value_str,
                                                     int                    value_pos);
+DBUS_EXPORT
 void        _dbus_type_writer_add_types            (DBusTypeWriter        *writer,
                                                     DBusString            *type_str,
                                                     int                    type_pos);
+DBUS_EXPORT
 void        _dbus_type_writer_remove_types         (DBusTypeWriter        *writer);
+DBUS_EXPORT
 void        _dbus_type_writer_init_values_only     (DBusTypeWriter        *writer,
                                                     int                    byte_order,
                                                     const DBusString      *type_str,
                                                     int                    type_pos,
                                                     DBusString            *value_str,
                                                     int                    value_pos);
+DBUS_EXPORT
 dbus_bool_t _dbus_type_writer_write_basic          (DBusTypeWriter        *writer,
                                                     int                    type,
                                                     const void            *value);
+DBUS_EXPORT
 dbus_bool_t _dbus_type_writer_write_fixed_multi    (DBusTypeWriter        *writer,
                                                     int                    element_type,
                                                     const void            *value,
                                                     int                    n_elements);
+DBUS_EXPORT
 dbus_bool_t _dbus_type_writer_recurse              (DBusTypeWriter        *writer,
                                                     int                    container_type,
                                                     const DBusString      *contained_type,
                                                     int                    contained_type_start,
                                                     DBusTypeWriter        *sub);
+DBUS_EXPORT
 dbus_bool_t _dbus_type_writer_unrecurse            (DBusTypeWriter        *writer,
                                                     DBusTypeWriter        *sub);
+DBUS_EXPORT
 dbus_bool_t _dbus_type_writer_append_array         (DBusTypeWriter        *writer,
                                                     const DBusString      *contained_type,
                                                     int                    contained_type_start,
                                                     DBusTypeWriter        *sub);
+DBUS_EXPORT
 dbus_bool_t _dbus_type_writer_write_reader         (DBusTypeWriter        *writer,
                                                     DBusTypeReader        *reader);
+DBUS_EXPORT
 dbus_bool_t _dbus_type_writer_write_reader_partial (DBusTypeWriter        *writer,
                                                     DBusTypeReader        *reader,
                                                     const DBusTypeReader  *start_after,
                                                     int                    start_after_new_pos,
                                                     int                    start_after_new_len,
                                                     DBusList             **fixups);
+DBUS_EXPORT
 void        _dbus_type_writer_set_enabled          (DBusTypeWriter        *writer,
                                                     dbus_bool_t            enabled);
 
diff --git a/dbus/dbus-marshal-validate.h b/dbus/dbus-marshal-validate.h
index 7a623d9..97467f2 100644
--- a/dbus/dbus-marshal-validate.h
+++ b/dbus/dbus-marshal-validate.h
@@ -117,9 +117,11 @@ typedef enum
   DBUS_VALIDITY_LAST
 } DBusValidity;
 
+DBUS_EXPORT
 DBusValidity _dbus_validate_signature_with_reason (const DBusString *type_str,
                                                    int               type_pos,
                                                    int               len);
+DBUS_EXPORT
 DBusValidity _dbus_validate_body_with_reason      (const DBusString *expected_signature,
                                                    int               expected_signature_start,
                                                    int               byte_order,
@@ -128,23 +130,30 @@ DBusValidity _dbus_validate_body_with_reason      (const DBusString *expected_si
                                                    int               value_pos,
                                                    int               len);
 
+DBUS_EXPORT
 const char *_dbus_validity_to_error_message (DBusValidity validity);
 
+DBUS_EXPORT
 dbus_bool_t _dbus_validate_path       (const DBusString *str,
                                        int               start,
                                        int               len);
+DBUS_EXPORT
 dbus_bool_t _dbus_validate_interface  (const DBusString *str,
                                        int               start,
                                        int               len);
+DBUS_EXPORT
 dbus_bool_t _dbus_validate_member     (const DBusString *str,
                                        int               start,
                                        int               len);
+DBUS_EXPORT
 dbus_bool_t _dbus_validate_error_name (const DBusString *str,
                                        int               start,
                                        int               len);
+DBUS_EXPORT
 dbus_bool_t _dbus_validate_bus_name   (const DBusString *str,
                                        int               start,
                                        int               len);
+DBUS_EXPORT
 dbus_bool_t _dbus_validate_signature  (const DBusString *str,
                                        int               start,
                                        int               len);
diff --git a/dbus/dbus-mempool.h b/dbus/dbus-mempool.h
index afe5247..2432ca6 100644
--- a/dbus/dbus-mempool.h
+++ b/dbus/dbus-mempool.h
@@ -32,10 +32,14 @@ DBUS_BEGIN_DECLS
 
 typedef struct DBusMemPool DBusMemPool;
 
+DBUS_EXPORT
 DBusMemPool* _dbus_mem_pool_new     (int          element_size,
                                      dbus_bool_t  zero_elements);
+DBUS_EXPORT
 void         _dbus_mem_pool_free    (DBusMemPool *pool);
+DBUS_EXPORT
 void*        _dbus_mem_pool_alloc   (DBusMemPool *pool);
+DBUS_EXPORT
 dbus_bool_t  _dbus_mem_pool_dealloc (DBusMemPool *pool,
                                      void        *element);
 
diff --git a/dbus/dbus-message-internal.h b/dbus/dbus-message-internal.h
index 870934b..8bba7d1 100644
--- a/dbus/dbus-message-internal.h
+++ b/dbus/dbus-message-internal.h
@@ -32,56 +32,80 @@ DBUS_BEGIN_DECLS
 
 typedef struct DBusMessageLoader DBusMessageLoader;
 
+DBUS_EXPORT
 void _dbus_message_get_network_data  (DBusMessage       *message,
 				      const DBusString **header,
 				      const DBusString **body);
+DBUS_EXPORT
 void _dbus_message_get_unix_fds      (DBusMessage *message,
                                       const int **fds,
                                       unsigned *n_fds);
 
+DBUS_EXPORT
 void        _dbus_message_lock                  (DBusMessage  *message);
+DBUS_EXPORT
 void        _dbus_message_unlock                (DBusMessage  *message);
+DBUS_EXPORT
 dbus_bool_t _dbus_message_add_counter           (DBusMessage  *message,
                                                  DBusCounter  *counter);
+DBUS_EXPORT
 void        _dbus_message_add_counter_link      (DBusMessage  *message,
                                                  DBusList     *link);
+DBUS_EXPORT
 void        _dbus_message_remove_counter        (DBusMessage  *message,
                                                  DBusCounter  *counter,
                                                  DBusList    **link_return);
 
+DBUS_EXPORT
 DBusMessageLoader* _dbus_message_loader_new                   (void);
+DBUS_EXPORT
 DBusMessageLoader* _dbus_message_loader_ref                   (DBusMessageLoader  *loader);
+DBUS_EXPORT
 void               _dbus_message_loader_unref                 (DBusMessageLoader  *loader);
-
+DBUS_EXPORT
 void               _dbus_message_loader_get_buffer            (DBusMessageLoader  *loader,
                                                                DBusString        **buffer);
+DBUS_EXPORT
 void               _dbus_message_loader_return_buffer         (DBusMessageLoader  *loader,
                                                                DBusString         *buffer,
                                                                int                 bytes_read);
 
+DBUS_EXPORT
 dbus_bool_t        _dbus_message_loader_get_unix_fds          (DBusMessageLoader  *loader,
                                                                int               **fds,
                                                                unsigned           *max_n_fds);
+DBUS_EXPORT
 void               _dbus_message_loader_return_unix_fds       (DBusMessageLoader  *loader,
                                                                int                *fds,
                                                                unsigned            n_fds);
 
+DBUS_EXPORT
 dbus_bool_t        _dbus_message_loader_queue_messages        (DBusMessageLoader  *loader);
+DBUS_EXPORT
 DBusMessage*       _dbus_message_loader_peek_message          (DBusMessageLoader  *loader);
+DBUS_EXPORT
 DBusMessage*       _dbus_message_loader_pop_message           (DBusMessageLoader  *loader);
+DBUS_EXPORT
 DBusList*          _dbus_message_loader_pop_message_link      (DBusMessageLoader  *loader);
+DBUS_EXPORT
 void               _dbus_message_loader_putback_message_link  (DBusMessageLoader  *loader,
                                                                DBusList           *link);
 
+DBUS_EXPORT
 dbus_bool_t        _dbus_message_loader_get_is_corrupted      (DBusMessageLoader  *loader);
+DBUS_EXPORT
 DBusValidity       _dbus_message_loader_get_corruption_reason (DBusMessageLoader  *loader);
 
+DBUS_EXPORT
 void               _dbus_message_loader_set_max_message_size  (DBusMessageLoader  *loader,
                                                                long                size);
+DBUS_EXPORT
 long               _dbus_message_loader_get_max_message_size  (DBusMessageLoader  *loader);
 
+DBUS_EXPORT
 void               _dbus_message_loader_set_max_message_unix_fds(DBusMessageLoader  *loader,
                                                                  long                n);
+DBUS_EXPORT
 long               _dbus_message_loader_get_max_message_unix_fds(DBusMessageLoader  *loader);
 
 DBUS_END_DECLS
diff --git a/dbus/dbus-message-private.h b/dbus/dbus-message-private.h
index 366c53a..5e27cd8 100644
--- a/dbus/dbus-message-private.h
+++ b/dbus/dbus-message-private.h
@@ -135,12 +135,12 @@ struct DBusMessage
 #endif
 };
 
+DBUS_EXPORT
 dbus_bool_t _dbus_message_iter_get_args_valist (DBusMessageIter *iter,
                                                 DBusError       *error,
                                                 int              first_arg_type,
                                                 va_list          var_args);
 
-
 void _dbus_check_fdleaks(void);
 
 /** @} */
diff --git a/dbus/dbus-nonce.h b/dbus/dbus-nonce.h
index 474ea72..02f02ce 100644
--- a/dbus/dbus-nonce.h
+++ b/dbus/dbus-nonce.h
@@ -40,29 +40,36 @@ struct DBusNonceFile
 
 // server
 
+DBUS_EXPORT
 dbus_bool_t _dbus_noncefile_create (DBusNonceFile *noncefile,
                                     DBusError *error);
 
+DBUS_EXPORT
 dbus_bool_t _dbus_noncefile_delete (DBusNonceFile *noncefile,
                                     DBusError *error);
 
+DBUS_EXPORT
 dbus_bool_t _dbus_noncefile_check_nonce (int fd,
                                          const DBusNonceFile *noncefile,
                                          DBusError *error);
 
+DBUS_EXPORT
 const DBusString* _dbus_noncefile_get_path (const DBusNonceFile *noncefile);
 
+DBUS_EXPORT
 int _dbus_accept_with_noncefile (int listen_fd,
                                  const DBusNonceFile *noncefile);
 
 // shared
 
+DBUS_EXPORT
 dbus_bool_t _dbus_read_nonce (const DBusString *fname,
                               DBusString *nonce,
                               DBusError *error);
 
 // client
 
+DBUS_EXPORT
 dbus_bool_t _dbus_send_nonce (int fd,
                               const DBusString *noncefile,
                               DBusError *error);
diff --git a/dbus/dbus-object-tree.h b/dbus/dbus-object-tree.h
index 022dd93..f469828 100644
--- a/dbus/dbus-object-tree.h
+++ b/dbus/dbus-object-tree.h
@@ -29,29 +29,39 @@ DBUS_BEGIN_DECLS
 
 typedef struct DBusObjectTree DBusObjectTree;
 
+DBUS_EXPORT
 DBusObjectTree* _dbus_object_tree_new   (DBusConnection *connection);
+DBUS_EXPORT
 DBusObjectTree* _dbus_object_tree_ref   (DBusObjectTree *tree);
+DBUS_EXPORT
 void            _dbus_object_tree_unref (DBusObjectTree *tree);
 
+DBUS_EXPORT
 dbus_bool_t       _dbus_object_tree_register               (DBusObjectTree              *tree,
                                                             dbus_bool_t                  fallback,
                                                             const char                 **path,
                                                             const DBusObjectPathVTable  *vtable,
                                                             void                        *user_data,
                                                             DBusError                   *error);
+DBUS_EXPORT
 void              _dbus_object_tree_unregister_and_unlock  (DBusObjectTree              *tree,
                                                             const char                 **path);
+DBUS_EXPORT
 DBusHandlerResult _dbus_object_tree_dispatch_and_unlock    (DBusObjectTree              *tree,
                                                             DBusMessage                 *message);
+DBUS_EXPORT
 void*             _dbus_object_tree_get_user_data_unlocked (DBusObjectTree              *tree,
                                                             const char                 **path);
+DBUS_EXPORT
 void              _dbus_object_tree_free_all_unlocked      (DBusObjectTree              *tree);
 
 
+DBUS_EXPORT
 dbus_bool_t _dbus_object_tree_list_registered_and_unlock (DBusObjectTree *tree,
                                                           const char    **parent_path,
                                                           char         ***child_entries);
 
+DBUS_EXPORT
 dbus_bool_t _dbus_decompose_path (const char   *data,
                                   int           len,
                                   char       ***path,
diff --git a/dbus/dbus-pipe.h b/dbus/dbus-pipe.h
index 75b7d2f..f7ebe44 100644
--- a/dbus/dbus-pipe.h
+++ b/dbus/dbus-pipe.h
@@ -35,18 +35,25 @@ typedef struct {
   int fd_or_handle;
 } DBusPipe;
 
+DBUS_EXPORT
 void        _dbus_pipe_init                (DBusPipe         *pipe,
                                             int               fd);
+DBUS_EXPORT
 void        _dbus_pipe_init_stdout         (DBusPipe         *pipe);
+DBUS_EXPORT
 int         _dbus_pipe_write               (DBusPipe         *pipe,
                                             const DBusString *buffer,
                                             int               start,
                                             int               len,
                                             DBusError        *error);
+DBUS_EXPORT
 int         _dbus_pipe_close               (DBusPipe         *pipe,
                                             DBusError        *error);
+DBUS_EXPORT
 dbus_bool_t _dbus_pipe_is_valid            (DBusPipe         *pipe);
+DBUS_EXPORT
 void        _dbus_pipe_invalidate          (DBusPipe         *pipe);
+DBUS_EXPORT
 dbus_bool_t _dbus_pipe_is_stdout_or_stderr (DBusPipe         *pipe);
 
 #endif
diff --git a/dbus/dbus-resources.h b/dbus/dbus-resources.h
index 4763a97..de6e198 100644
--- a/dbus/dbus-resources.h
+++ b/dbus/dbus-resources.h
@@ -34,17 +34,25 @@ typedef struct DBusCounter DBusCounter;
 typedef void (* DBusCounterNotifyFunction) (DBusCounter *counter,
                                             void        *user_data);
 
+DBUS_EXPORT
 DBusCounter* _dbus_counter_new       (void);
+DBUS_EXPORT
 DBusCounter* _dbus_counter_ref       (DBusCounter *counter);
+DBUS_EXPORT
 void         _dbus_counter_unref     (DBusCounter *counter);
 
+DBUS_EXPORT
 void         _dbus_counter_adjust_size       (DBusCounter *counter,
                                               long         delta);
+DBUS_EXPORT
 void         _dbus_counter_adjust_unix_fd    (DBusCounter *counter,
                                               long         delta);
+DBUS_EXPORT
 long         _dbus_counter_get_size_value    (DBusCounter *counter);
+DBUS_EXPORT
 long         _dbus_counter_get_unix_fd_value (DBusCounter *counter);
 
+DBUS_EXPORT
 void _dbus_counter_set_notify    (DBusCounter               *counter,
                                   long                       size_guard_value,
                                   long                       unix_fd_guard_value,
diff --git a/dbus/dbus-server-debug-pipe.h b/dbus/dbus-server-debug-pipe.h
index 4574311..46cd8ba 100644
--- a/dbus/dbus-server-debug-pipe.h
+++ b/dbus/dbus-server-debug-pipe.h
@@ -30,13 +30,17 @@
 
 DBUS_BEGIN_DECLS
 
+DBUS_EXPORT
 DBusServer*             _dbus_server_debug_pipe_new     (const char        *server_name,
                                                          DBusError         *error);
+DBUS_EXPORT
 DBusTransport*          _dbus_transport_debug_pipe_new  (const char        *server_name,
                                                          DBusError         *error);
+DBUS_EXPORT
 DBusServerListenResult  _dbus_server_listen_debug_pipe  (DBusAddressEntry  *entry,
                                                          DBusServer       **server_p,
                                                          DBusError         *error);
+DBUS_EXPORT
 DBusTransportOpenResult _dbus_transport_open_debug_pipe (DBusAddressEntry  *entry,
                                                          DBusTransport    **transport_p,
                                                          DBusError         *error);
diff --git a/dbus/dbus-server-protected.h b/dbus/dbus-server-protected.h
index c05d277..6a5ee55 100644
--- a/dbus/dbus-server-protected.h
+++ b/dbus/dbus-server-protected.h
@@ -90,26 +90,35 @@ struct DBusServer
 #endif
 };
 
+DBUS_EXPORT
 dbus_bool_t _dbus_server_init_base      (DBusServer             *server,
                                          const DBusServerVTable *vtable,
                                          const DBusString       *address);
+DBUS_EXPORT
 void        _dbus_server_finalize_base  (DBusServer             *server);
+DBUS_EXPORT
 dbus_bool_t _dbus_server_add_watch      (DBusServer             *server,
                                          DBusWatch              *watch);
+DBUS_EXPORT
 void        _dbus_server_remove_watch   (DBusServer             *server,
                                          DBusWatch              *watch);
+DBUS_EXPORT
 void        _dbus_server_toggle_watch   (DBusServer             *server,
                                          DBusWatch              *watch,
                                          dbus_bool_t             enabled);
+DBUS_EXPORT
 dbus_bool_t _dbus_server_add_timeout    (DBusServer             *server,
                                          DBusTimeout            *timeout);
+DBUS_EXPORT
 void        _dbus_server_remove_timeout (DBusServer             *server,
                                          DBusTimeout            *timeout);
+DBUS_EXPORT
 void        _dbus_server_toggle_timeout (DBusServer             *server,
                                          DBusTimeout            *timeout,
                                          dbus_bool_t             enabled);
-
+DBUS_EXPORT
 void        _dbus_server_ref_unlocked   (DBusServer             *server);
+DBUS_EXPORT
 void        _dbus_server_unref_unlocked (DBusServer             *server);
 
 typedef enum
@@ -120,6 +129,7 @@ typedef enum
   DBUS_SERVER_LISTEN_DID_NOT_CONNECT /**< well-formed address but failed to set it up */
 } DBusServerListenResult;
 
+DBUS_EXPORT
 DBusServerListenResult _dbus_server_listen_platform_specific (DBusAddressEntry  *entry,
                                                               DBusServer       **server_p,
                                                               DBusError         *error);
diff --git a/dbus/dbus-server-socket.h b/dbus/dbus-server-socket.h
index 0a7c789..0b688b8 100644
--- a/dbus/dbus-server-socket.h
+++ b/dbus/dbus-server-socket.h
@@ -29,21 +29,25 @@
 
 DBUS_BEGIN_DECLS
 
+DBUS_EXPORT
 DBusServer* _dbus_server_new_for_socket           (int              *fds,
                                                    int               n_fds,
                                                    const DBusString *address,
                                                    DBusNonceFile    *noncefile);
+DBUS_EXPORT
 DBusServer* _dbus_server_new_for_tcp_socket       (const char       *host,
                                                    const char       *bind,
                                                    const char       *port,
                                                    const char       *family,
                                                    DBusError        *error,
                                                    dbus_bool_t      use_nonce);
+DBUS_EXPORT
 DBusServerListenResult _dbus_server_listen_socket (DBusAddressEntry  *entry,
                                                    DBusServer       **server_p,
                                                    DBusError         *error);
 
 
+DBUS_EXPORT
 void _dbus_server_socket_own_filename (DBusServer *server,
                                        char       *filename);
 
diff --git a/dbus/dbus-server-unix.h b/dbus/dbus-server-unix.h
index 92b996c..8ab65d4 100644
--- a/dbus/dbus-server-unix.h
+++ b/dbus/dbus-server-unix.h
@@ -28,6 +28,7 @@
 
 DBUS_BEGIN_DECLS
 
+DBUS_EXPORT
 DBusServer* _dbus_server_new_for_domain_socket (const char       *path,
                                                 dbus_bool_t       abstract,
                                                 DBusError        *error);
diff --git a/dbus/dbus-sha.h b/dbus/dbus-sha.h
index c48035b..81f217e 100644
--- a/dbus/dbus-sha.h
+++ b/dbus/dbus-sha.h
@@ -42,11 +42,15 @@ struct DBusSHAContext
   dbus_uint32_t  data[16];          /**< SHA data buffer */
 };
 
+DBUS_EXPORT
 void        _dbus_sha_init    (DBusSHAContext   *context);
+DBUS_EXPORT
 void        _dbus_sha_update  (DBusSHAContext   *context,
                                const DBusString *data);
+DBUS_EXPORT
 dbus_bool_t _dbus_sha_final   (DBusSHAContext   *context,
                                DBusString       *results);
+DBUS_EXPORT
 dbus_bool_t _dbus_sha_compute (const DBusString *data,
                                DBusString       *ascii_output);
 
diff --git a/dbus/dbus-string.h b/dbus/dbus-string.h
index cfb6f16..a0a0837 100644
--- a/dbus/dbus-string.h
+++ b/dbus/dbus-string.h
@@ -70,171 +70,227 @@ struct DBusString
 #define _dbus_string_get_const_data_len(s,start,len) (((const char*)(((DBusString*)(s))->dummy1)) + (start))
 #endif
 
+DBUS_EXPORT
 dbus_bool_t   _dbus_string_init                  (DBusString        *str);
+DBUS_EXPORT
 void          _dbus_string_init_const            (DBusString        *str,
                                                   const char        *value);
+DBUS_EXPORT
 void          _dbus_string_init_const_len        (DBusString        *str,
                                                   const char        *value,
                                                   int                len);
+DBUS_EXPORT
 dbus_bool_t   _dbus_string_init_preallocated     (DBusString        *str,
                                                   int                allocate_size);
+DBUS_EXPORT
 void          _dbus_string_free                  (DBusString        *str);
+DBUS_EXPORT
 void          _dbus_string_lock                  (DBusString        *str);
+DBUS_EXPORT
 dbus_bool_t   _dbus_string_compact               (DBusString        *str,
                                                   int                max_waste);
 #ifndef _dbus_string_get_data
+DBUS_EXPORT
 char*         _dbus_string_get_data              (DBusString        *str);
 #endif /* _dbus_string_get_data */
 #ifndef _dbus_string_get_const_data
+DBUS_EXPORT
 const char*   _dbus_string_get_const_data        (const DBusString  *str);
 #endif /* _dbus_string_get_const_data */
+DBUS_EXPORT
 char*         _dbus_string_get_data_len          (DBusString        *str,
                                                   int                start,
                                                   int                len);
 #ifndef _dbus_string_get_const_data_len
+DBUS_EXPORT
 const char*   _dbus_string_get_const_data_len    (const DBusString  *str,
                                                   int                start,
                                                   int                len);
 #endif
 #ifndef _dbus_string_set_byte
+DBUS_EXPORT
 void          _dbus_string_set_byte              (DBusString        *str,
                                                   int                i,
                                                   unsigned char      byte);
 #endif
 #ifndef _dbus_string_get_byte
+DBUS_EXPORT
 unsigned char _dbus_string_get_byte              (const DBusString  *str,
                                                   int                start);
 #endif /* _dbus_string_get_byte */
+DBUS_EXPORT
 dbus_bool_t   _dbus_string_insert_bytes          (DBusString        *str,
                                                   int                i,
 						  int                n_bytes,
                                                   unsigned char      byte);
+DBUS_EXPORT
 dbus_bool_t   _dbus_string_insert_byte           (DBusString        *str,
                                                   int                i,
                                                   unsigned char      byte);
+DBUS_EXPORT
 dbus_bool_t   _dbus_string_steal_data            (DBusString        *str,
                                                   char             **data_return);
+DBUS_EXPORT
 dbus_bool_t   _dbus_string_steal_data_len        (DBusString        *str,
                                                   char             **data_return,
                                                   int                start,
                                                   int                len);
+DBUS_EXPORT
 dbus_bool_t   _dbus_string_copy_data             (const DBusString  *str,
                                                   char             **data_return);
+DBUS_EXPORT
 dbus_bool_t   _dbus_string_copy_data_len         (const DBusString  *str,
                                                   char             **data_return,
                                                   int                start,
                                                   int                len);
+DBUS_EXPORT
 void          _dbus_string_copy_to_buffer        (const DBusString  *str,
                                                   char              *buffer,
 						  int                len);
+DBUS_EXPORT
 void          _dbus_string_copy_to_buffer_with_nul (const DBusString  *str,
                                                     char              *buffer,
                                                     int                avail_len);
 #ifndef _dbus_string_get_length
+DBUS_EXPORT
 int           _dbus_string_get_length            (const DBusString  *str);
 #endif /* !_dbus_string_get_length */
 
+DBUS_EXPORT
 dbus_bool_t   _dbus_string_lengthen              (DBusString        *str,
                                                   int                additional_length);
+DBUS_EXPORT
 void          _dbus_string_shorten               (DBusString        *str,
                                                   int                length_to_remove);
+DBUS_EXPORT
 dbus_bool_t   _dbus_string_set_length            (DBusString        *str,
                                                   int                length);
+DBUS_EXPORT
 dbus_bool_t   _dbus_string_align_length          (DBusString        *str,
                                                   int                alignment);
+DBUS_EXPORT
 dbus_bool_t   _dbus_string_alloc_space           (DBusString        *str,
                                                   int                extra_bytes);
+DBUS_EXPORT
 dbus_bool_t   _dbus_string_append                (DBusString        *str,
                                                   const char        *buffer);
+DBUS_EXPORT
 dbus_bool_t   _dbus_string_append_len            (DBusString        *str,
                                                   const char        *buffer,
                                                   int                len);
+DBUS_EXPORT
 dbus_bool_t   _dbus_string_append_int            (DBusString        *str,
                                                   long               value);
+DBUS_EXPORT
 dbus_bool_t   _dbus_string_append_uint           (DBusString        *str,
                                                   unsigned long      value);
+DBUS_EXPORT
 dbus_bool_t   _dbus_string_append_double         (DBusString        *str,
                                                   double             value);
+DBUS_EXPORT
 dbus_bool_t   _dbus_string_append_byte           (DBusString        *str,
                                                   unsigned char      byte);
+DBUS_EXPORT
 dbus_bool_t   _dbus_string_append_unichar        (DBusString        *str,
                                                   dbus_unichar_t     ch);
+DBUS_EXPORT
 dbus_bool_t   _dbus_string_append_4_aligned      (DBusString        *str,
                                                   const unsigned char octets[4]);
+DBUS_EXPORT
 dbus_bool_t   _dbus_string_append_8_aligned      (DBusString        *str,
                                                   const unsigned char octets[8]);
+DBUS_EXPORT
 dbus_bool_t   _dbus_string_append_printf         (DBusString        *str,
                                                   const char        *format,
                                                   ...) _DBUS_GNUC_PRINTF (2, 3);
+DBUS_EXPORT
 dbus_bool_t   _dbus_string_append_printf_valist  (DBusString        *str,
                                                   const char        *format,
                                                   va_list            args);
+DBUS_EXPORT
 dbus_bool_t   _dbus_string_insert_2_aligned      (DBusString        *str,
                                                   int                insert_at,
                                                   const unsigned char octets[2]);
+DBUS_EXPORT
 dbus_bool_t   _dbus_string_insert_4_aligned      (DBusString        *str,
                                                   int                insert_at,
                                                   const unsigned char octets[4]);
+DBUS_EXPORT
 dbus_bool_t   _dbus_string_insert_8_aligned      (DBusString        *str,
                                                   int                insert_at,
                                                   const unsigned char octets[8]);
+DBUS_EXPORT
 dbus_bool_t   _dbus_string_insert_alignment      (DBusString        *str,
                                                   int               *insert_at,
                                                   int                alignment);
+DBUS_EXPORT
 void          _dbus_string_delete                (DBusString        *str,
                                                   int                start,
                                                   int                len);
+DBUS_EXPORT
 dbus_bool_t   _dbus_string_move                  (DBusString        *source,
                                                   int                start,
                                                   DBusString        *dest,
                                                   int                insert_at);
+DBUS_EXPORT
 dbus_bool_t   _dbus_string_copy                  (const DBusString  *source,
                                                   int                start,
                                                   DBusString        *dest,
                                                   int                insert_at);
+DBUS_EXPORT
 dbus_bool_t   _dbus_string_move_len              (DBusString        *source,
                                                   int                start,
                                                   int                len,
                                                   DBusString        *dest,
                                                   int                insert_at);
+DBUS_EXPORT
 dbus_bool_t   _dbus_string_copy_len              (const DBusString  *source,
                                                   int                start,
                                                   int                len,
                                                   DBusString        *dest,
                                                   int                insert_at);
+DBUS_EXPORT
 dbus_bool_t   _dbus_string_replace_len           (const DBusString  *source,
                                                   int                start,
                                                   int                len,
                                                   DBusString        *dest,
                                                   int                replace_at,
                                                   int                replace_len);
+DBUS_EXPORT
 dbus_bool_t   _dbus_string_split_on_byte         (DBusString        *source,
                                                   unsigned char      byte,
                                                   DBusString        *tail);
+DBUS_EXPORT
 void          _dbus_string_get_unichar           (const DBusString  *str,
                                                   int                start,
                                                   dbus_unichar_t    *ch_return,
                                                   int               *end_return);
+DBUS_EXPORT
 dbus_bool_t   _dbus_string_parse_int             (const DBusString  *str,
                                                   int                start,
                                                   long              *value_return,
                                                   int               *end_return);
+DBUS_EXPORT
 dbus_bool_t   _dbus_string_parse_uint            (const DBusString  *str,
                                                   int                start,
                                                   unsigned long     *value_return,
                                                   int               *end_return);
+DBUS_EXPORT
 dbus_bool_t   _dbus_string_parse_double          (const DBusString  *str,
                                                   int                start,
                                                   double            *value,
                                                   int               *end_return);
+DBUS_EXPORT
 dbus_bool_t   _dbus_string_find                  (const DBusString  *str,
                                                   int                start,
                                                   const char        *substr,
                                                   int               *found);
+DBUS_EXPORT
 dbus_bool_t   _dbus_string_find_eol               (const DBusString *str,
                                                   int               start,
                                                   int               *found,
                                                   int               *found_len);
+DBUS_EXPORT
 dbus_bool_t   _dbus_string_find_to               (const DBusString  *str,
                                                   int                start,
                                                   int                end,
@@ -244,65 +300,87 @@ dbus_bool_t   _dbus_string_find_byte_backward    (const DBusString  *str,
                                                   int                start,
                                                   unsigned char      byte,
                                                   int               *found);
+DBUS_EXPORT
 dbus_bool_t   _dbus_string_find_blank            (const DBusString  *str,
                                                   int                start,
                                                   int               *found);
+DBUS_EXPORT
 void          _dbus_string_skip_blank            (const DBusString  *str,
                                                   int                start,
                                                   int               *end);
+DBUS_EXPORT
 void          _dbus_string_skip_white            (const DBusString  *str,
                                                   int                start,
                                                   int               *end);
+DBUS_EXPORT
 void          _dbus_string_skip_white_reverse    (const DBusString  *str,
                                                   int                end,
                                                   int               *start);
+DBUS_EXPORT
 dbus_bool_t   _dbus_string_equal                 (const DBusString  *a,
                                                   const DBusString  *b);
+DBUS_EXPORT
 dbus_bool_t   _dbus_string_equal_c_str           (const DBusString  *a,
                                                   const char        *c_str);
+DBUS_EXPORT
 dbus_bool_t   _dbus_string_equal_len             (const DBusString  *a,
                                                   const DBusString  *b,
                                                   int                len);
+DBUS_EXPORT
 dbus_bool_t   _dbus_string_equal_substring       (const DBusString  *a,
                                                   int                a_start,
                                                   int                a_len,
                                                   const DBusString  *b,
                                                   int                b_start);
+DBUS_EXPORT
 dbus_bool_t   _dbus_string_starts_with_c_str     (const DBusString  *a,
                                                   const char        *c_str);
 dbus_bool_t   _dbus_string_ends_with_c_str       (const DBusString  *a,
                                                   const char        *c_str);
+DBUS_EXPORT
 dbus_bool_t   _dbus_string_pop_line              (DBusString        *source,
                                                   DBusString        *dest);
+DBUS_EXPORT
 void          _dbus_string_delete_first_word     (DBusString        *str);
+DBUS_EXPORT
 void          _dbus_string_delete_leading_blanks (DBusString        *str);
+DBUS_EXPORT
 void          _dbus_string_chop_white            (DBusString        *str); 
+DBUS_EXPORT
 dbus_bool_t   _dbus_string_append_byte_as_hex    (DBusString        *str,
                                                   int                byte);
+DBUS_EXPORT
 dbus_bool_t   _dbus_string_hex_encode            (const DBusString  *source,
                                                   int                start,
                                                   DBusString        *dest,
                                                   int                insert_at);
+DBUS_EXPORT
 dbus_bool_t   _dbus_string_hex_decode            (const DBusString  *source,
                                                   int                start,
 						  int               *end_return,
                                                   DBusString        *dest,
                                                   int                insert_at);
+DBUS_EXPORT
 void          _dbus_string_tolower_ascii         (const DBusString  *str,
                                                   int                start,
                                                   int                len);
+DBUS_EXPORT
 void          _dbus_string_toupper_ascii         (const DBusString  *str,
                                                   int                start,
                                                   int                len);
+DBUS_EXPORT
 dbus_bool_t   _dbus_string_validate_ascii        (const DBusString  *str,
                                                   int                start,
                                                   int                len);
+DBUS_EXPORT
 dbus_bool_t   _dbus_string_validate_utf8         (const DBusString  *str,
                                                   int                start,
                                                   int                len);
+DBUS_EXPORT
 dbus_bool_t   _dbus_string_validate_nul          (const DBusString  *str,
                                                   int                start,
                                                   int                len);
+DBUS_EXPORT
 void          _dbus_string_zero                  (DBusString        *str);
 
 
diff --git a/dbus/dbus-sysdeps-win.h b/dbus/dbus-sysdeps-win.h
index 15ce831..aa56cea 100644
--- a/dbus/dbus-sysdeps-win.h
+++ b/dbus/dbus-sysdeps-win.h
@@ -82,6 +82,7 @@ wchar_t    *_dbus_win_utf8_to_utf16 (const char  *str,
 char       *_dbus_win_utf16_to_utf8 (const wchar_t *str,
                                      DBusError *error);
 
+DBUS_EXPORT
 void        _dbus_win_set_error_from_win_error (DBusError *error, int code);
 
 dbus_bool_t
@@ -90,8 +91,6 @@ _dbus_win_sid_to_name_and_domain (dbus_uid_t uid,
                                   wchar_t  **wdomain,
                                   DBusError *error);
 
-dbus_bool_t _dbus_file_exists (const char *filename);
-
 dbus_bool_t _dbus_get_config_file_name(DBusString *config_file, 
                                        char *s);
 
diff --git a/dbus/dbus-sysdeps.h b/dbus/dbus-sysdeps.h
index 4413b28..f66aa66 100644
--- a/dbus/dbus-sysdeps.h
+++ b/dbus/dbus-sysdeps.h
@@ -70,12 +70,17 @@ typedef struct DBusCredentials DBusCredentials;
  * @{
  */
 
+DBUS_EXPORT
 void _dbus_abort (void) _DBUS_GNUC_NORETURN;
 
+DBUS_EXPORT
 const char* _dbus_getenv (const char *varname);
+DBUS_EXPORT
 dbus_bool_t _dbus_setenv (const char *varname,
 			  const char *value);
+DBUS_EXPORT
 dbus_bool_t _dbus_clearenv (void);
+DBUS_EXPORT
 char **     _dbus_get_environment (void);
 
 /** A process ID */
@@ -110,17 +115,22 @@ typedef unsigned long dbus_gid_t;
  * 
  */
 
+DBUS_EXPORT
 dbus_bool_t _dbus_open_tcp_socket  (int              *fd,
                                     DBusError        *error);
+DBUS_EXPORT
 dbus_bool_t _dbus_close_socket     (int               fd,
                                     DBusError        *error);
+DBUS_EXPORT
 int         _dbus_read_socket      (int               fd,
                                     DBusString       *buffer,
                                     int               count);
+DBUS_EXPORT
 int         _dbus_write_socket     (int               fd,
                                     const DBusString *buffer,
                                     int               start,
                                     int               len);
+DBUS_EXPORT
 int         _dbus_write_socket_two (int               fd,
                                     const DBusString *buffer1,
                                     int               start1,
@@ -129,17 +139,20 @@ int         _dbus_write_socket_two (int               fd,
                                     int               start2,
                                     int               len2);
 
+DBUS_EXPORT
 int _dbus_read_socket_with_unix_fds      (int               fd,
                                           DBusString       *buffer,
                                           int               count,
                                           int              *fds,
                                           int              *n_fds);
+DBUS_EXPORT
 int _dbus_write_socket_with_unix_fds     (int               fd,
                                           const DBusString *buffer,
                                           int               start,
                                           int               len,
                                           const int        *fds,
                                           int               n_fds);
+DBUS_EXPORT
 int _dbus_write_socket_with_unix_fds_two (int               fd,
                                           const DBusString *buffer1,
                                           int               start1,
@@ -150,35 +163,45 @@ int _dbus_write_socket_with_unix_fds_two (int               fd,
                                           const int        *fds,
                                           int               n_fds);
 
+DBUS_EXPORT
 dbus_bool_t _dbus_socket_is_invalid (int              fd);
 
+DBUS_EXPORT
 int _dbus_connect_tcp_socket  (const char     *host,
                                const char     *port,
                                const char     *family,
                                DBusError      *error);
+DBUS_EXPORT
 int _dbus_connect_tcp_socket_with_nonce  (const char     *host,
                                           const char     *port,
                                           const char     *family,
                                           const char     *noncefile,
                                           DBusError      *error);
+DBUS_EXPORT
 int _dbus_listen_tcp_socket   (const char     *host,
                                const char     *port,
                                const char     *family,
                                DBusString     *retport,
                                int           **fds_p,
                                DBusError      *error);
+DBUS_EXPORT
 int _dbus_accept              (int             listen_fd);
 
 
+DBUS_EXPORT
 dbus_bool_t _dbus_read_credentials_socket (int               client_fd,
                                            DBusCredentials  *credentials,
                                            DBusError        *error);
+DBUS_EXPORT
 dbus_bool_t _dbus_send_credentials_socket (int              server_fd,
                                            DBusError       *error);
 
+DBUS_EXPORT
 dbus_bool_t _dbus_credentials_add_from_user            (DBusCredentials  *credentials,
                                                         const DBusString *username);
+DBUS_EXPORT
 dbus_bool_t _dbus_credentials_add_from_current_process (DBusCredentials  *credentials);
+DBUS_EXPORT
 dbus_bool_t _dbus_append_user_from_current_process     (DBusString        *str);
 
 dbus_bool_t _dbus_parse_unix_user_from_config   (const DBusString  *username,
@@ -193,13 +216,17 @@ dbus_bool_t _dbus_unix_user_is_at_console       (dbus_uid_t         uid,
 dbus_bool_t _dbus_unix_user_is_process_owner    (dbus_uid_t         uid);
 dbus_bool_t _dbus_windows_user_is_process_owner (const char        *windows_sid);
 
+DBUS_EXPORT
 dbus_bool_t _dbus_append_keyring_directory_for_credentials (DBusString      *directory,
                                                             DBusCredentials *credentials);
 
+DBUS_EXPORT
 void _dbus_daemon_publish_session_bus_address (const char* address);
 
+DBUS_EXPORT
 void _dbus_daemon_unpublish_session_bus_address (void);
 
+DBUS_EXPORT
 dbus_bool_t _dbus_socket_can_pass_unix_fd(int fd);
 
 /** Opaque type representing an atomically-modifiable integer
@@ -229,7 +256,9 @@ struct DBusAtomic
 #   undef DBUS_HAVE_ATOMIC_INT
 #endif
 
+DBUS_EXPORT
 dbus_int32_t _dbus_atomic_inc (DBusAtomic *atomic);
+DBUS_EXPORT
 dbus_int32_t _dbus_atomic_dec (DBusAtomic *atomic);
 
 
@@ -286,33 +315,43 @@ typedef struct
   short revents;     /**< Events that occurred */
 } DBusPollFD;
 
+DBUS_EXPORT
 int _dbus_poll (DBusPollFD *fds,
                 int         n_fds,
                 int         timeout_milliseconds);
 
+DBUS_EXPORT
 void _dbus_sleep_milliseconds (int milliseconds);
 
+DBUS_EXPORT
 void _dbus_get_current_time (long *tv_sec,
                              long *tv_usec);
 
 /**
  * directory interface
  */
+DBUS_EXPORT
 dbus_bool_t    _dbus_create_directory        (const DBusString *filename,
                                               DBusError        *error);
+DBUS_EXPORT
 dbus_bool_t    _dbus_delete_directory        (const DBusString *filename,
 					      DBusError        *error);
 
+DBUS_EXPORT
 dbus_bool_t _dbus_concat_dir_and_file (DBusString       *dir,
                                        const DBusString *next_component);
 dbus_bool_t _dbus_string_get_dirname  (const DBusString *filename,
                                        DBusString       *dirname);
 dbus_bool_t _dbus_path_is_absolute    (const DBusString *filename);
 
+DBUS_EXPORT
 dbus_bool_t _dbus_get_standard_session_servicedirs (DBusList **dirs);
+DBUS_EXPORT
 dbus_bool_t _dbus_get_standard_system_servicedirs (DBusList **dirs);
 
+DBUS_EXPORT
 dbus_bool_t _dbus_append_system_config_file  (DBusString *str);
+DBUS_EXPORT
 dbus_bool_t _dbus_append_session_config_file (DBusString *str);
 
 /** Opaque type for reading a directory listing */
@@ -325,40 +364,58 @@ dbus_bool_t  _dbus_directory_get_next_file (DBusDirIter      *iter,
                                             DBusError        *error);
 void         _dbus_directory_close         (DBusDirIter      *iter);
 
+DBUS_EXPORT
 dbus_bool_t  _dbus_check_dir_is_private_to_user    (DBusString *dir,
                                                     DBusError *error);
 
+DBUS_EXPORT
 void _dbus_fd_set_close_on_exec (int fd);
 
+DBUS_EXPORT
 const char* _dbus_get_tmpdir      (void);
 
 /**
  * Random numbers 
  */
+DBUS_EXPORT
 void        _dbus_generate_pseudorandom_bytes_buffer (char *buffer,
                                                       int   n_bytes);
+DBUS_EXPORT
 void        _dbus_generate_random_bytes_buffer (char       *buffer,
                                                 int         n_bytes);
+DBUS_EXPORT
 dbus_bool_t _dbus_generate_random_bytes        (DBusString *str,
                                                 int         n_bytes);
+DBUS_EXPORT
 dbus_bool_t _dbus_generate_random_ascii        (DBusString *str,
                                                 int         n_bytes);
 
+DBUS_EXPORT
 const char* _dbus_error_from_errno (int error_number);
 
+DBUS_EXPORT
 void        _dbus_set_errno_to_zero                  (void);
+DBUS_EXPORT
 dbus_bool_t _dbus_get_is_errno_nonzero               (void);
+DBUS_EXPORT
 dbus_bool_t _dbus_get_is_errno_eagain_or_ewouldblock (void);
+DBUS_EXPORT
 dbus_bool_t _dbus_get_is_errno_enomem                (void);
+DBUS_EXPORT
 dbus_bool_t _dbus_get_is_errno_eintr                 (void);
+DBUS_EXPORT
 dbus_bool_t _dbus_get_is_errno_epipe                 (void);
+DBUS_EXPORT
 const char* _dbus_strerror_from_errno                (void);
 
+DBUS_EXPORT
 void _dbus_disable_sigpipe (void);
 
 
+DBUS_EXPORT
 void _dbus_exit (int code) _DBUS_GNUC_NORETURN;
 
+DBUS_EXPORT
 int _dbus_printf_string_upper_bound (const char *format,
                                      va_list args);
 
@@ -381,11 +438,13 @@ typedef struct
 dbus_bool_t _dbus_stat             (const DBusString *filename,
                                     DBusStat         *statbuf,
                                     DBusError        *error);
+DBUS_EXPORT
 dbus_bool_t _dbus_full_duplex_pipe (int              *fd1,
                                     int              *fd2,
                                     dbus_bool_t       blocking,
                                     DBusError        *error);
 
+DBUS_EXPORT
 void        _dbus_print_backtrace  (void);
 
 dbus_bool_t _dbus_become_daemon   (const DBusString *pidfile,
@@ -413,6 +472,7 @@ typedef void (* DBusSignalHandler) (int sig);
 void _dbus_set_signal_handler (int               sig,
                                DBusSignalHandler handler);
 
+DBUS_EXPORT
 dbus_bool_t _dbus_user_at_console (const char *username,
                                    DBusError  *error);
 
@@ -455,9 +515,11 @@ void _dbus_log_security (const char *msg, va_list args);
       _DBUS_BYTE_OF_PRIMITIVE (a, 6) == _DBUS_BYTE_OF_PRIMITIVE (b, 6) &&       \
       _DBUS_BYTE_OF_PRIMITIVE (a, 7) == _DBUS_BYTE_OF_PRIMITIVE (b, 7))
 
+DBUS_EXPORT
 dbus_bool_t _dbus_get_autolaunch_address (DBusString *address, 
 					  DBusError *error);
 
+DBUS_EXPORT
 dbus_bool_t _dbus_lookup_session_address (dbus_bool_t *supported,
                                           DBusString  *address,
                                           DBusError   *error);
@@ -467,6 +529,7 @@ dbus_bool_t _dbus_lookup_session_address (dbus_bool_t *supported,
  */
 typedef union DBusGUID DBusGUID;
 
+DBUS_EXPORT
 dbus_bool_t _dbus_read_local_machine_uuid   (DBusGUID         *machine_id,
                                              dbus_bool_t       create_if_not_found,
                                              DBusError        *error);
@@ -476,8 +539,10 @@ dbus_bool_t _dbus_read_local_machine_uuid   (DBusGUID         *machine_id,
  * for the platform.
  * @returns #FALSE if no memory
  */
+DBUS_EXPORT
 dbus_bool_t _dbus_threads_init_platform_specific (void);
 
+DBUS_EXPORT
 dbus_bool_t _dbus_split_paths_and_append (DBusString *dirs, 
                                           const char *suffix, 
                                           DBusList **dir_list);
@@ -488,11 +553,13 @@ unsigned long _dbus_pid_for_log (void);
  * the PID file handling just needs a little more abstraction
  * in the bus daemon first.
  */
+DBUS_EXPORT
 dbus_pid_t    _dbus_getpid (void);
 
 dbus_bool_t _dbus_change_to_daemon_user (const char *user,
                                          DBusError  *error);
 
+DBUS_EXPORT
 void _dbus_flush_caches (void);
 
 /** @} */
diff --git a/dbus/dbus-test.h b/dbus/dbus-test.h
index 0238b0c..ef0a765 100644
--- a/dbus/dbus-test.h
+++ b/dbus/dbus-test.h
@@ -28,31 +28,46 @@
 #include <dbus/dbus-string.h>
 #include <dbus/dbus-marshal-validate.h>
 
+DBUS_EXPORT
 dbus_bool_t _dbus_hash_test              (void);
 dbus_bool_t _dbus_dict_test              (void);
+DBUS_EXPORT
 dbus_bool_t _dbus_list_test              (void);
+DBUS_EXPORT
 dbus_bool_t _dbus_marshal_test           (void);
 dbus_bool_t _dbus_marshal_recursive_test (void);
 dbus_bool_t _dbus_marshal_byteswap_test  (void);
+DBUS_EXPORT
 dbus_bool_t _dbus_marshal_header_test    (void);
 dbus_bool_t _dbus_marshal_validate_test  (void);
+DBUS_EXPORT
 dbus_bool_t _dbus_misc_test              (void);
+DBUS_EXPORT
 dbus_bool_t _dbus_signature_test         (void);
+DBUS_EXPORT
 dbus_bool_t _dbus_mem_pool_test          (void);
 dbus_bool_t _dbus_string_test            (void);
+DBUS_EXPORT
 dbus_bool_t _dbus_address_test           (void);
+DBUS_EXPORT
 dbus_bool_t _dbus_server_test            (void);
 dbus_bool_t _dbus_message_test           (const char *test_data_dir);
 dbus_bool_t _dbus_auth_test              (const char *test_data_dir);
 dbus_bool_t _dbus_md5_test               (void);
+DBUS_EXPORT
 dbus_bool_t _dbus_sha_test               (const char *test_data_dir);
+DBUS_EXPORT
 dbus_bool_t _dbus_keyring_test           (void);
+DBUS_EXPORT
 dbus_bool_t _dbus_data_slot_test         (void);
 dbus_bool_t _dbus_sysdeps_test           (void);
 dbus_bool_t _dbus_spawn_test             (const char *test_data_dir);
 dbus_bool_t _dbus_userdb_test            (const char *test_data_dir);
+DBUS_EXPORT
 dbus_bool_t _dbus_memory_test            (void);
+DBUS_EXPORT
 dbus_bool_t _dbus_object_tree_test       (void);
+DBUS_EXPORT
 dbus_bool_t _dbus_pending_call_test      (const char *test_data_dir);
 dbus_bool_t _dbus_credentials_test       (const char *test_data_dir);
 
@@ -70,7 +85,6 @@ dbus_bool_t dbus_internal_do_not_use_load_message_file (const DBusString    *fil
 typedef dbus_bool_t (* DBusForeachMessageFileFunc) (const DBusString   *filename,
                                                     DBusValidity        expected_validity,
                                                     void               *data);
-
 dbus_bool_t dbus_internal_do_not_use_foreach_message_file (const char                 *test_data_dir,
                                                            DBusForeachMessageFileFunc  func,
                                                            void                       *user_data);
diff --git a/dbus/dbus-threads-internal.h b/dbus/dbus-threads-internal.h
index 11f9ce2..c96c558 100644
--- a/dbus/dbus-threads-internal.h
+++ b/dbus/dbus-threads-internal.h
@@ -29,23 +29,37 @@
 
 DBUS_BEGIN_DECLS
 
+DBUS_EXPORT
 DBusMutex*   _dbus_mutex_new                 (void);
+DBUS_EXPORT
 void         _dbus_mutex_free                (DBusMutex         *mutex);
+DBUS_EXPORT
 void         _dbus_mutex_lock                (DBusMutex         *mutex);
+DBUS_EXPORT
 void         _dbus_mutex_unlock              (DBusMutex         *mutex);
+DBUS_EXPORT
 void         _dbus_mutex_new_at_location     (DBusMutex        **location_p);
+DBUS_EXPORT
 void         _dbus_mutex_free_at_location    (DBusMutex        **location_p);
 
+DBUS_EXPORT
 DBusCondVar* _dbus_condvar_new               (void);
+DBUS_EXPORT
 void         _dbus_condvar_free              (DBusCondVar       *cond);
+DBUS_EXPORT
 void         _dbus_condvar_wait              (DBusCondVar       *cond,
                                               DBusMutex         *mutex);
+DBUS_EXPORT
 dbus_bool_t  _dbus_condvar_wait_timeout      (DBusCondVar       *cond,
                                               DBusMutex         *mutex,
                                               int                timeout_milliseconds);
+DBUS_EXPORT
 void         _dbus_condvar_wake_one          (DBusCondVar       *cond);
+DBUS_EXPORT
 void         _dbus_condvar_wake_all          (DBusCondVar       *cond);
+DBUS_EXPORT
 void         _dbus_condvar_new_at_location   (DBusCondVar      **location_p);
+DBUS_EXPORT
 void         _dbus_condvar_free_at_location  (DBusCondVar      **location_p);
 
 DBUS_END_DECLS
diff --git a/dbus/dbus-timeout.h b/dbus/dbus-timeout.h
index d0a8af4..de4a90c 100644
--- a/dbus/dbus-timeout.h
+++ b/dbus/dbus-timeout.h
@@ -40,29 +40,40 @@ typedef struct DBusTimeoutList DBusTimeoutList;
 /** function to run when the timeout is handled */
 typedef dbus_bool_t (* DBusTimeoutHandler) (void *data);
 
+DBUS_EXPORT
 DBusTimeout* _dbus_timeout_new          (int                 interval,
                                          DBusTimeoutHandler  handler,
                                          void               *data,
                                          DBusFreeFunction    free_data_function);
+DBUS_EXPORT
 DBusTimeout* _dbus_timeout_ref          (DBusTimeout        *timeout);
+DBUS_EXPORT
 void         _dbus_timeout_unref        (DBusTimeout        *timeout);
+DBUS_EXPORT
 void         _dbus_timeout_set_interval (DBusTimeout        *timeout,
                                          int                 interval);
+DBUS_EXPORT
 void         _dbus_timeout_set_enabled  (DBusTimeout        *timeout,
                                          dbus_bool_t         enabled);
 
+DBUS_EXPORT
 DBusTimeoutList *_dbus_timeout_list_new            (void);
+DBUS_EXPORT
 void             _dbus_timeout_list_free           (DBusTimeoutList           *timeout_list);
+DBUS_EXPORT
 dbus_bool_t      _dbus_timeout_list_set_functions  (DBusTimeoutList           *timeout_list,
 						    DBusAddTimeoutFunction     add_function,
 						    DBusRemoveTimeoutFunction  remove_function,
                                                     DBusTimeoutToggledFunction toggled_function,
 						    void                      *data,
 						    DBusFreeFunction           free_data_function);
+DBUS_EXPORT
 dbus_bool_t      _dbus_timeout_list_add_timeout    (DBusTimeoutList           *timeout_list,
 						    DBusTimeout               *timeout);
+DBUS_EXPORT
 void             _dbus_timeout_list_remove_timeout (DBusTimeoutList           *timeout_list,
 						    DBusTimeout               *timeout);
+DBUS_EXPORT
 void             _dbus_timeout_list_toggle_timeout (DBusTimeoutList           *timeout_list,
                                                     DBusTimeout               *timeout,
                                                     dbus_bool_t                enabled);
diff --git a/dbus/dbus-transport-socket.h b/dbus/dbus-transport-socket.h
index 8aefae3..3833cff 100644
--- a/dbus/dbus-transport-socket.h
+++ b/dbus/dbus-transport-socket.h
@@ -27,14 +27,17 @@
 
 DBUS_BEGIN_DECLS
 
+DBUS_EXPORT
 DBusTransport*          _dbus_transport_new_for_socket     (int                fd,
                                                             const DBusString  *server_guid,
                                                             const DBusString  *address);
+DBUS_EXPORT
 DBusTransport*          _dbus_transport_new_for_tcp_socket (const char        *host,
                                                             const char        *port,
                                                             const char        *family,
                                                             const char        *noncefile,
                                                             DBusError         *error);
+DBUS_EXPORT
 DBusTransportOpenResult _dbus_transport_open_socket        (DBusAddressEntry  *entry,
                                                             DBusTransport    **transport_p,
                                                             DBusError         *error);
diff --git a/dbus/dbus-transport.h b/dbus/dbus-transport.h
index 0db048a..9ebf20c 100644
--- a/dbus/dbus-transport.h
+++ b/dbus/dbus-transport.h
@@ -32,68 +32,100 @@ DBUS_BEGIN_DECLS
 
 typedef struct DBusTransport DBusTransport;
 
+DBUS_EXPORT
 DBusTransport*     _dbus_transport_open                   (DBusAddressEntry           *entry,
                                                            DBusError                  *error);
+DBUS_EXPORT
 DBusTransport*     _dbus_transport_ref                    (DBusTransport              *transport);
+DBUS_EXPORT
 void               _dbus_transport_unref                  (DBusTransport              *transport);
+DBUS_EXPORT
 void               _dbus_transport_disconnect             (DBusTransport              *transport);
+DBUS_EXPORT
 dbus_bool_t        _dbus_transport_get_is_connected       (DBusTransport              *transport);
+DBUS_EXPORT
 dbus_bool_t        _dbus_transport_get_is_authenticated   (DBusTransport              *transport);
+DBUS_EXPORT
 dbus_bool_t        _dbus_transport_get_is_anonymous       (DBusTransport              *transport);
+DBUS_EXPORT
 dbus_bool_t        _dbus_transport_can_pass_unix_fd       (DBusTransport              *transport);
 
+DBUS_EXPORT
 const char*        _dbus_transport_get_address            (DBusTransport              *transport);
+DBUS_EXPORT
 const char*        _dbus_transport_get_server_id          (DBusTransport              *transport);
+DBUS_EXPORT
 dbus_bool_t        _dbus_transport_handle_watch           (DBusTransport              *transport,
                                                            DBusWatch                  *watch,
                                                            unsigned int                condition);
+DBUS_EXPORT
 dbus_bool_t        _dbus_transport_set_connection         (DBusTransport              *transport,
                                                            DBusConnection             *connection);
+DBUS_EXPORT
 void               _dbus_transport_do_iteration           (DBusTransport              *transport,
                                                            unsigned int                flags,
                                                            int                         timeout_milliseconds);
+DBUS_EXPORT
 DBusDispatchStatus _dbus_transport_get_dispatch_status    (DBusTransport              *transport);
+DBUS_EXPORT
 dbus_bool_t        _dbus_transport_queue_messages         (DBusTransport              *transport);
 
+DBUS_EXPORT
 void               _dbus_transport_set_max_message_size   (DBusTransport              *transport,
                                                            long                        size);
+DBUS_EXPORT
 long               _dbus_transport_get_max_message_size   (DBusTransport              *transport);
+DBUS_EXPORT
 void               _dbus_transport_set_max_received_size  (DBusTransport              *transport,
                                                            long                        size);
+DBUS_EXPORT
 long               _dbus_transport_get_max_received_size  (DBusTransport              *transport);
 
+DBUS_EXPORT
 void               _dbus_transport_set_max_message_unix_fds (DBusTransport              *transport,
                                                              long                        n);
+DBUS_EXPORT
 long               _dbus_transport_get_max_message_unix_fds (DBusTransport              *transport);
+DBUS_EXPORT
 void               _dbus_transport_set_max_received_unix_fds(DBusTransport              *transport,
                                                              long                        n);
+DBUS_EXPORT
 long               _dbus_transport_get_max_received_unix_fds(DBusTransport              *transport);
 
+DBUS_EXPORT
 dbus_bool_t        _dbus_transport_get_socket_fd          (DBusTransport              *transport,
                                                            int                        *fd_p);
+DBUS_EXPORT
 dbus_bool_t        _dbus_transport_get_unix_user          (DBusTransport              *transport,
                                                            unsigned long              *uid);
+DBUS_EXPORT
 dbus_bool_t        _dbus_transport_get_unix_process_id     (DBusTransport              *transport,
                                                            unsigned long              *pid);
+DBUS_EXPORT
 dbus_bool_t        _dbus_transport_get_adt_audit_session_data (DBusTransport              *transport,
                                                                void                      **data,
                                                                int                        *data_size);
+DBUS_EXPORT
 void               _dbus_transport_set_unix_user_function (DBusTransport              *transport,
                                                            DBusAllowUnixUserFunction   function,
                                                            void                       *data,
                                                            DBusFreeFunction            free_data_function,
                                                            void                      **old_data,
                                                            DBusFreeFunction           *old_free_data_function);
+DBUS_EXPORT
 dbus_bool_t        _dbus_transport_get_windows_user       (DBusTransport              *transport,
                                                            char                      **windows_sid_p);
+DBUS_EXPORT
 void               _dbus_transport_set_windows_user_function (DBusTransport              *transport,
                                                               DBusAllowWindowsUserFunction   function,
                                                               void                       *data,
                                                               DBusFreeFunction            free_data_function,
                                                               void                      **old_data,
                                                               DBusFreeFunction           *old_free_data_function);
+DBUS_EXPORT
 dbus_bool_t        _dbus_transport_set_auth_mechanisms    (DBusTransport              *transport,
                                                            const char                **mechanisms);
+DBUS_EXPORT
 void               _dbus_transport_set_allow_anonymous    (DBusTransport              *transport,
                                                            dbus_bool_t                 value);
 
diff --git a/dbus/dbus-watch.h b/dbus/dbus-watch.h
index fa953ec..bba378c 100644
--- a/dbus/dbus-watch.h
+++ b/dbus/dbus-watch.h
@@ -42,38 +42,51 @@ typedef dbus_bool_t (* DBusWatchHandler) (DBusWatch    *watch,
                                           unsigned int  flags,
                                           void         *data);
 
+DBUS_EXPORT
 DBusWatch* _dbus_watch_new                (int               fd,
                                            unsigned int      flags,
                                            dbus_bool_t       enabled,
                                            DBusWatchHandler  handler,
                                            void             *data,
                                            DBusFreeFunction  free_data_function);
+DBUS_EXPORT
 DBusWatch* _dbus_watch_ref                (DBusWatch        *watch);
+DBUS_EXPORT
 void       _dbus_watch_unref              (DBusWatch        *watch);
+DBUS_EXPORT
 void       _dbus_watch_invalidate         (DBusWatch        *watch);
+DBUS_EXPORT
 void       _dbus_watch_sanitize_condition (DBusWatch        *watch,
                                            unsigned int     *condition);
+DBUS_EXPORT
 void       _dbus_watch_set_handler        (DBusWatch        *watch,
                                            DBusWatchHandler  handler,
                                            void             *data,
                                            DBusFreeFunction  free_data_function);
 
 
+DBUS_EXPORT
 DBusWatchList* _dbus_watch_list_new           (void);
+DBUS_EXPORT
 void           _dbus_watch_list_free          (DBusWatchList           *watch_list);
+DBUS_EXPORT
 dbus_bool_t    _dbus_watch_list_set_functions (DBusWatchList           *watch_list,
                                                DBusAddWatchFunction     add_function,
                                                DBusRemoveWatchFunction  remove_function,
                                                DBusWatchToggledFunction toggled_function,
                                                void                    *data,
                                                DBusFreeFunction         free_data_function);
+DBUS_EXPORT
 dbus_bool_t    _dbus_watch_list_add_watch     (DBusWatchList           *watch_list,
                                                DBusWatch               *watch);
+DBUS_EXPORT
 void           _dbus_watch_list_remove_watch  (DBusWatchList           *watch_list,
                                                DBusWatch               *watch);
+DBUS_EXPORT
 void           _dbus_watch_list_toggle_watch  (DBusWatchList           *watch_list,
                                                DBusWatch               *watch,
                                                dbus_bool_t              enabled);
+DBUS_EXPORT
 dbus_bool_t    _dbus_watch_get_enabled        (DBusWatch              *watch);
 
 /** @} */
-- 
1.6.4.msysgit.0


--------------000400000803010401000909--


More information about the dbus mailing list