** Core **

ddca_ddcutil_version(void);
ddca_ddcutil_version_string(void);
ddca_ddcutil_extended_version_string(void);
ddca_build_options(void);
ddca_libddcutil_filename(void);
ddca_get_error_detail(void);
ddca_free_error_detail(
ddca_report_error_detail(
ddca_rc_name(
ddca_rc_desc(
ddca_init2(const char *     libopts,

ddca_enable_verify(
ddca_is_verify_enabled(void);

** Sleep Multiplier **
ddca_set_sleep_multiplier(double multiplier);
ddca_get_sleep_multiplier();
ddca_set_display_sleep_multiplier(
ddca_get_current_display_sleep_multiplier(
ddca_enable_dynamic_sleep(bool onoff);
ddca_is_dynamic_sleep_enabled();

ddca_set_fout(
ddca_set_fout_to_default(void);
ddca_set_ferr(
ddca_set_ferr_to_default(void);
ddca_start_capture(
ddca_end_capture(void);
ddca_get_output_level(void);
ddca_set_output_level(
ddca_output_level_name(
DDCA_Syslog_Level ddca_syslog_level_from_name(const char * name);
ddca_reset_stats(void);
ddca_show_stats(
ddca_report_locks(

ddca_get_display_refs(
ddca_get_display_info2(
ddca_free_display_info2(DDCA_Display_Info2 * info_rec);
ddca_get_display_info_list2(
ddca_free_display_info_list(
ddca_report_display_info(
ddca_report_display_info2(
ddca_report_display_info_list(
ddca_report_displays(
ddca_redetect_displays();

** Display Identifiers **
ddca_create_dispno_display_identifier(
ddca_create_busno_display_identifier(
ddca_create_mfg_model_sn_display_identifier(
ddca_create_edid_display_identifier(
ddca_create_usb_display_identifier(
ddca_create_usb_hiddev_display_identifier(
ddca_free_display_identifier(
ddca_did_repr(

ddca_get_display_ref(
ddca_validate_display_ref(
ddca_dref_repr(
ddca_dbgrpt_display_ref(
ddca_open_display2(
ddca_close_display(
ddca_dh_repr(
ddca_display_ref_from_handle(

** Capabilities **
ddca_get_capabilities_string(
ddca_parse_capabilities_string(
ddca_free_parsed_capabilities(
ddca_report_parsed_capabilities_by_dref(
ddca_report_parsed_capabilities_by_dh(
ddca_report_parsed_capabilities(
ddca_feature_list_from_capabilities(

ddca_get_mccs_version_by_dh(

ddca_enable_udf(bool onoff);
ddca_is_udf_enabled(void);
ddca_dfr_check_by_dref(DDCA_Display_Ref ddca_dref);
ddca_dfr_check_by_dh(DDCA_Display_Handle ddca_dh);

** Feature metadata **
ddca_get_feature_metadata_by_vspec(
ddca_get_feature_metadata_by_dref(
ddca_get_feature_metadata_by_dh(
ddca_free_feature_metadata(DDCA_Feature_Metadata * metadata);

ddca_get_feature_name(DDCA_Vcp_Feature_Code feature_code);

ddca_get_simple_nc_feature_value_name_by_table(
ddca_dbgrpt_feature_metadata(
ddca_report_display_by_dref(DDCA_Display_Ref dref, int depth);

** Feature Lists **
ddca_feature_list_id_name(
ddca_get_feature_list_by_dref(
ddca_feature_list_clear(
ddca_feature_list_add(
ddca_feature_list_contains(
ddca_feature_list_eq(
ddca_feature_list_or(
ddca_feature_list_and(
ddca_feature_list_and_not(
ddca_feature_list_count(
ddca_feature_list_string(

** Basic feature get/set **
ddca_get_non_table_vcp_value(
ddca_format_non_table_vcp_value_by_dref(
ddca_set_non_table_vcp_value(

** Extended feature get/set **
ddca_free_table_vcp_value(
ddca_free_any_vcp_value(
ddca_get_table_vcp_value(
ddca_get_any_vcp_value_using_explicit_type(
ddca_get_any_vcp_value_using_implicit_type(
ddca_format_table_vcp_value_by_dref(
ddca_format_any_vcp_value_by_dref(
ddca_set_table_vcp_value(
ddca_set_any_vcp_value(
ddca_get_profile_related_values(
ddca_set_profile_related_values(

** Display Change Detection **
ddca_register_display_status_callback(DDCA_Display_Status_Callback_Func func);
ddca_unregister_display_status_callback(DDCA_Display_Status_Callback_Func func);
ddca_display_event_class_name(DDCA_Display_Event_Class event_class);
ddca_display_event_type_name(DDCA_Display_Event_Type event_type);
ddca_start_watch_displays(DDCA_Display_Event_Class enabled_classes);
ddca_stop_watch_displays(bool wait);
ddca_get_active_watch_classes(DDCA_Display_Event_Class * classes_loc);
ddca_get_display_watch_settings(DDCA_DW_Settings * settings_buffer);
ddca_set_display_watch_settings(DDCA_DW_Settings * settings_buffer);
