/*
    lsadl is a frontend/wrapper to the adl_sdk using gtk
    Copyright (C) 2011  Sterling Pickens

    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.
*/

#include "adl_api.h"


const char *ADL_Func_Names[LSADL_FUNCS] = {
	"Main_Control_Create", "Main_Control_Destroy", "Main_Control_Refresh", "Graphics_Platform_Get",
	"Adapter_Active_Get", "Adapter_NumberOfAdapters_Get", "Adapter_AdapterInfo_Get", "Adapter_ASICFamilyType_Get",
	"Adapter_Speed_Caps", "Adapter_Speed_Get", "Adapter_Speed_Set", "Adapter_Accessibility_Get",
	"Adapter_VideoBiosInfo_Get", "Adapter_ID_Get", "Adapter_CrossdisplayAdapterRole_Caps", "Adapter_CrossdisplayInfo_Get",
	"Adapter_CrossdisplayInfo_Set", "Adapter_Crossfire_Caps", "Adapter_Crossfire_Get", "Adapter_Crossfire_Set",
	"Display_DisplayInfo_Get", "Display_NumberOfDisplays_Get", "Display_PreservedAspectRatio_Get", "Display_PreservedAspectRatio_Set",
	"Display_ImageExpansion_Get", "Display_ImageExpansion_Set", "Display_Position_Get", "Display_Position_Set",
	"Display_Size_Get", "Display_Size_Set", "Display_AdjustCaps_Get", "Display_Capabilities_Get",
	"Display_ConnectedDisplays_Get", "Display_DeviceConfig_Get", "Display_Property_Get", "Display_Property_Set",
	"Display_SwitchingCapability_Get", "Display_DitherState_Get", "Display_DitherState_Set", "Display_SupportedPixelFormat_Get",
	"Display_PixelFormat_Get", "Display_PixelFormat_Set", "Display_ODClockInfo_Get", "Display_ODClockConfig_Set",
	"Display_AdjustmentCoherent_Get", "Display_AdjustmentCoherent_Set", "Display_ReducedBlanking_Get", "Display_ReducedBlanking_Set",
	"Display_FormatsOverride_Get", "Display_FormatsOverride_Set", "Display_MVPUCaps_Get", "Display_MVPUStatus_Get",
	"Adapter_Active_Set", "Adapter_Active_SetPrefer", "Adapter_Primary_Get", "Adapter_Primary_Set",
	"Adapter_ModeSwitch", "Display_Modes_Get", "Display_Modes_Set", "Display_PossibleMode_Get",
	"Display_ForcibleDisplay_Get", "Display_ForcibleDisplay_Set", "Adapter_NumberOfActivatableSources_Get", "Adapter_Display_Caps",
	"Display_DisplayMapConfig_Get", "Display_DisplayMapConfig_Set", "Display_PossibleMapping_Get", "Display_DisplayMapConfig_Validate",
	"Display_DisplayMapConfig_PossibleAddAndRemove", "Display_SLSGrid_Caps", "Display_SLSMapIndexList_Get", "Display_SLSMapIndex_Get",
	"Display_SLSMapConfig_Get", "Display_SLSMapConfig_Create", "Display_SLSMapConfig_Delete", "Display_SLSMapConfig_SetState",
	"Display_SLSMapConfig_Rearrange", "Display_PossibleMode_WinXP_Get", "Display_BezelOffsetSteppingSize_Get", "Display_BezelOffset_Set",
	"Display_BezelSupported_Validate", "Display_ColorCaps_Get", "Display_Color_Set", "Display_Color_Get",
	"Display_ColorTemperatureSource_Get", "Display_ColorTemperatureSource_Set", "Display_ModeTimingOverride_Get", "Display_ModeTimingOverride_Set",
	"Display_ModeTimingOverrideList_Get", "Display_CustomizedModeListNum_Get", "Display_CustomizedModeList_Get", "Display_CustomizedMode_Add",
	"Display_CustomizedMode_Delete", "Display_CustomizedMode_Validate", "Display_Underscan_Set", "Display_Underscan_Get",
	"Display_Overscan_Set", "Display_Overscan_Get", "Display_ControllerOverlayAdjustmentCaps_Get", "Display_ControllerOverlayAdjustmentData_Get",
	"Display_ControllerOverlayAdjustmentData_Set", "Display_PowerXpressVersion_Get", "Display_PowerXpressActiveGPU_Get", "Display_PowerXpressActiveGPU_Set",
	"Display_PowerXpress_AutoSwitchConfig_Get", "Display_PowerXpress_AutoSwitchConfig_Set", "DFP_BaseAudioSupport_Get", "DFP_HDMISupport_Get",
	"DFP_MVPUAnalogSupport_Get", "DFP_PixelFormat_Caps", "DFP_PixelFormat_Get", "DFP_PixelFormat_Set",
	"DFP_GPUScalingEnable_Get", "DFP_GPUScalingEnable_Set", "DFP_AllowOnlyCETimings_Get", "DFP_AllowOnlyCETimings_Set",
	"Display_TVCaps_Get", "TV_Standard_Set", "TV_Standard_Get", "CV_DongleSettings_Get",
	"CV_DongleSettings_Set", "CV_DongleSettings_Reset", "Overdrive5_CurrentActivity_Get", "Overdrive5_ThermalDevices_Enum",
	"Overdrive5_Temperature_Get", "Overdrive5_FanSpeedInfo_Get", "Overdrive5_FanSpeed_Get", "Overdrive5_FanSpeed_Set",
	"Overdrive5_FanSpeedToDefault_Set", "Overdrive5_ODParameters_Get", "Overdrive5_ODPerformanceLevels_Get", "Overdrive5_ODPerformanceLevels_Set",
	"Overdrive5_PowerControl_Caps", "Overdrive5_PowerControlInfo_Get", "Overdrive5_PowerControl_Get", "Overdrive5_PowerControl_Set",
	"Display_WriteAndReadI2CRev_Get", "Display_WriteAndReadI2C", "Display_DDCBlockAccess_Get", "Display_DDCInfo_Get",
	"Display_EdidData_Get", "Workstation_Caps", "Workstation_Stereo_Get", "Workstation_Stereo_Set",
	"Workstation_AdapterNumOfGLSyncConnectors_Get", "Workstation_DisplayGenlockCapable_Get", "Workstation_GLSyncModuleDetect_Get", "Workstation_GLSyncModuleInfo_Get",
	"Workstation_GLSyncGenlockConfiguration_Get", "Workstation_GLSyncGenlockConfiguration_Set", "Workstation_GLSyncPortState_Get", "Workstation_GLSyncPortState_Set",
	"Workstation_DisplayGLSyncMode_Get", "Workstation_DisplayGLSyncMode_Set", "Workstation_GLSyncSupportedTopology_Get", "Workstation_LoadBalancing_Get",
	"Workstation_LoadBalancing_Set", "Workstation_LoadBalancing_Caps", "Adapter_MemoryInfo_Get", "Controller_Color_Set",
	"Controller_Color_Get", "DesktopConfig_Get", "DesktopConfig_Set", "NumberOfDisplayEnable_Get",
	"DisplayEnable_Set", "Display_IdentifyDisplay", "Display_LUTColor_Set", "Display_LUTColor_Get",
	"Adapter_XScreenInfo_Get", "Display_XrandrDisplayName_Get"
};

struct ADLMemoryInfo lpADLMemoryInfo;
struct AdapterInfo *lpAdapterInfo;
int iNumberAdapters = 0;
ADLTemperature iTemperature;
int  iAdapterIndex = 0;
//struct OverDrive5s od5;

void *__stdcall ADL_Main_Memory_Alloc(int iSize){
    void* lpBuffer = malloc ( iSize );
    return lpBuffer;
}

void __stdcall ADL_Main_Memory_Free(void **lpBuffer){
    if(NULL != *lpBuffer){
        free(*lpBuffer);
        *lpBuffer = NULL;
    }
}

void Print_Code(int code){
	if(code ==      ADL_OK_WAIT)
		printf("ADL_OK_WAIT: All OK, but need to wait.\n");
	else if(code == ADL_OK_RESTART)
		 printf("ADL_OK_RESTART: All OK, but need restart.\n");
	else if(code == ADL_OK_MODE_CHANGE)
		printf("ADL_OK_MODE_CHANGE: All OK but need mode change.\n");
	else if(code == ADL_OK_WARNING)
		printf("ADL_OK_WARNING: All OK, but with warning.\n");
	else if(code == ADL_OK)
		printf("ADL_OK: ADL function completed successfully.\n");
	else if(code == ADL_ERR)
		printf("ADL_ERR: Generic Error. Most likely one or more of the Escape calls to the driver failed!\n");
	else if(code == ADL_ERR_NOT_INIT)
		printf("ADL_ERR_NOT_INIT: ADL not initialized.\n");
	else if(code == ADL_ERR_INVALID_PARAM)
		printf("ADL_ERR_INVALID_PARAM: One of the parameter passed is invalid.\n");
	else if(code == ADL_ERR_INVALID_PARAM_SIZE)
		printf("ADL_ERR_INVALID_PARAM_SIZE: One of the parameter size is invalid.\n");
	else if(code == ADL_ERR_INVALID_ADL_IDX)
		printf("ADL_ERR_INVALID_ADL_IDX: Invalid ADL index passed.\n");
	else if(code == ADL_ERR_INVALID_CONTROLLER_IDX)
		printf("ADL_ERR_INVALID_CONTROLLER_IDX: Invalid controller index passed.\n");
	else if(code == ADL_ERR_INVALID_DIPLAY_IDX)
		printf("ADL_ERR_INVALID_DIPLAY_IDX: Invalid display index passed.\n");
	else if(code == ADL_ERR_NOT_SUPPORTED)
		printf("ADL_ERR_NOT_SUPPORTED: Function not supported by the driver.\n");
	else if(code == ADL_ERR_NULL_POINTER)
		printf("ADL_ERR_NULL_POINTER: Null Pointer error.\n");
	else if(code == ADL_ERR_DISABLED_ADAPTER)
		printf("ADL_ERR_DISABLED_ADAPTER: Call can't be made due to disabled adapter.\n");
	else if(code == ADL_ERR_INVALID_CALLBACK)
		printf("ADL_ERR_INVALID_CALLBACK: Invalid Callback.\n");
	else if(code == ADL_ERR_RESOURCE_CONFLICT)
		printf("ADL_ERR_RESOURCE_CONFLICT: Display Resource conflict.\n");
	else
		printf("Unknown Return Code!\n");
}


int DL_and_Check(void *hDLL){

	if( (LSADL_Main_Control_Create = (LSADL_MAIN_CONTROL_CREATE)GetProcAddress(hDLL, "ADL_Main_Control_Create")) == NULL){
		ADL_Func_Enabled[0] = 0;
		ADL_Func_Notes[0] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[0] = 1;
		ADL_Func_Notes[0] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Main_Control_Destroy = (LSADL_MAIN_CONTROL_DESTROY)GetProcAddress(hDLL, "ADL_Main_Control_Destroy")) == NULL){
		ADL_Func_Enabled[1] = 0;
		ADL_Func_Notes[1] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[1] = 1;
		ADL_Func_Notes[1] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Main_Control_Refresh = (LSADL_MAIN_CONTROL_REFRESH)GetProcAddress(hDLL, "ADL_Main_Control_Refresh")) == NULL){
		ADL_Func_Enabled[2] = 0;
		ADL_Func_Notes[2] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[2] = 1;
		ADL_Func_Notes[2] = FUNC_FOUND_IN_API;
	}
	//return ADL_OK;
	if( (LSADL_Graphics_Platform_Get = (LSADL_GRAPHICS_PLATFORM_GET)GetProcAddress(hDLL, "ADL_Graphics_Platform_Get")) == NULL){
		ADL_Func_Enabled[3] = 0;
		ADL_Func_Notes[3] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[3] = 1;
		ADL_Func_Notes[3] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Adapter_Active_Get = (LSADL_ADAPTER_ACTIVE_GET)GetProcAddress(hDLL, "ADL_Adapter_Active_Get")) == NULL){
		ADL_Func_Enabled[4] = 0;
		ADL_Func_Notes[4] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[4] = 1;
		ADL_Func_Notes[4] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Adapter_NumberOfAdapters_Get = (LSADL_ADAPTER_NUMBEROFADAPTERS_GET)GetProcAddress(hDLL, "ADL_Adapter_NumberOfAdapters_Get")) == NULL){
		ADL_Func_Enabled[5] = 0;
		ADL_Func_Notes[5] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[5] = 1;
		ADL_Func_Notes[5] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Adapter_AdapterInfo_Get = (LSADL_ADAPTER_ADAPTERINFO_GET)GetProcAddress(hDLL, "ADL_Adapter_AdapterInfo_Get")) == NULL){
		ADL_Func_Enabled[6] = 0;
		ADL_Func_Notes[6] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[6] = 1;
		ADL_Func_Notes[6] = FUNC_FOUND_IN_API;
	}
	//return ADL_OK;
	if( (LSADL_Adapter_ASICFamilyType_Get = (LSADL_ADAPTER_ASICFAMILYTYPE_GET)GetProcAddress(hDLL, "ADL_Adapter_ASICFamilyType_Get")) == NULL){
		ADL_Func_Enabled[7] = 0;
		ADL_Func_Notes[7] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[7] = 1;
		ADL_Func_Notes[7] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Adapter_Speed_Caps = (LSADL_ADAPTER_SPEED_CAPS)GetProcAddress(hDLL, "ADL_Adapter_Speed_Caps")) == NULL){
		ADL_Func_Enabled[8] = 0;
		ADL_Func_Notes[8] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[8] = 1;
		ADL_Func_Notes[8] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Adapter_Speed_Get = (LSADL_ADAPTER_SPEED_GET)GetProcAddress(hDLL, "ADL_Adapter_Speed_Get")) == NULL){
		ADL_Func_Enabled[9] = 0;
		ADL_Func_Notes[9] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[9] = 1;
		ADL_Func_Notes[9] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Adapter_Speed_Set = (LSADL_ADAPTER_SPEED_SET)GetProcAddress(hDLL, "ADL_Adapter_Speed_Set")) == NULL){
		ADL_Func_Enabled[10] = 0;
		ADL_Func_Notes[10] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[10] = 1;
		ADL_Func_Notes[10] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Adapter_Accessibility_Get = (LSADL_ADAPTER_ACCESSIBILITY_GET)GetProcAddress(hDLL, "ADL_Adapter_Accessibility_Get")) == NULL){
		ADL_Func_Enabled[11] = 0;
		ADL_Func_Notes[11] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[11] = 1;
		ADL_Func_Notes[11] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Adapter_VideoBiosInfo_Get = (LSADL_ADAPTER_VIDEOBIOSINFO_GET)GetProcAddress(hDLL, "ADL_Adapter_VideoBiosInfo_Get")) == NULL){
		ADL_Func_Enabled[12] = 0;
		ADL_Func_Notes[12] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[12] = 1;
		ADL_Func_Notes[12] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Adapter_ID_Get = (LSADL_ADAPTER_ID_GET)GetProcAddress(hDLL, "ADL_Adapter_ID_Get")) == NULL){
		ADL_Func_Enabled[13] = 0;
		ADL_Func_Notes[13] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[13] = 1;
		ADL_Func_Notes[13] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Adapter_CrossdisplayAdapterRole_Caps = (LSADL_ADAPTER_CROSSDISPLAYADAPTERROLE_CAPS)GetProcAddress(hDLL, "ADL_Adapter_CrossdisplayAdapterRole_Caps")) == NULL){
		ADL_Func_Enabled[14] = 0;
		ADL_Func_Notes[14] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[14] = 1;
		ADL_Func_Notes[14] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Adapter_CrossdisplayInfo_Get = (LSADL_ADAPTER_CROSSDISPLAYINFO_GET)GetProcAddress(hDLL, "ADL_Adapter_CrossdisplayInfo_Get")) == NULL){
		ADL_Func_Enabled[15] = 0;
		ADL_Func_Notes[15] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[15] = 1;
		ADL_Func_Notes[15] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Adapter_CrossdisplayInfo_Set = (LSADL_ADAPTER_CROSSDISPLAYINFO_SET)GetProcAddress(hDLL, "ADL_Adapter_CrossdisplayInfo_Set")) == NULL){
		ADL_Func_Enabled[16] = 0;
		ADL_Func_Notes[16] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[16] = 1;
		ADL_Func_Notes[16] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Adapter_Crossfire_Caps = (LSADL_ADAPTER_CROSSFIRE_CAPS)GetProcAddress(hDLL, "ADL_Adapter_Crossfire_Caps")) == NULL){
		ADL_Func_Enabled[17] = 0;
		ADL_Func_Notes[17] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[17] = 1;
		ADL_Func_Notes[17] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Adapter_Crossfire_Get = (LSADL_ADAPTER_CROSSFIRE_GET)GetProcAddress(hDLL, "ADL_Adapter_Crossfire_Get")) == NULL){
		ADL_Func_Enabled[18] = 0;
		ADL_Func_Notes[18] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[18] = 1;
		ADL_Func_Notes[18] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Adapter_Crossfire_Set = (LSADL_ADAPTER_CROSSFIRE_SET)GetProcAddress(hDLL, "ADL_Adapter_Crossfire_Set")) == NULL){
		ADL_Func_Enabled[19] = 0;
		ADL_Func_Notes[19] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[19] = 1;
		ADL_Func_Notes[19] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Display_DisplayInfo_Get = (LSADL_DISPLAY_DISPLAYINFO_GET)GetProcAddress(hDLL, "ADL_Display_DisplayInfo_Get")) == NULL){
		ADL_Func_Enabled[20] = 0;
		ADL_Func_Notes[20] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[20] = 1;
		ADL_Func_Notes[20] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Display_NumberOfDisplays_Get = (LSADL_DISPLAY_NUMBEROFDISPLAYS_GET)GetProcAddress(hDLL, "ADL_Display_NumberOfDisplays_Get")) == NULL){
		ADL_Func_Enabled[21] = 0;
		ADL_Func_Notes[21] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[21] = 1;
		ADL_Func_Notes[21] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Display_PreservedAspectRatio_Get = (LSADL_DISPLAY_PRESERVEDASPECTRATIO_GET)GetProcAddress(hDLL, "ADL_Display_PreservedAspectRatio_Get")) == NULL){
		ADL_Func_Enabled[22] = 0;
		ADL_Func_Notes[22] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[22] = 1;
		ADL_Func_Notes[22] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Display_PreservedAspectRatio_Set = (LSADL_DISPLAY_PRESERVEDASPECTRATIO_SET)GetProcAddress(hDLL, "ADL_Display_PreservedAspectRatio_Set")) == NULL){
		ADL_Func_Enabled[23] = 0;
		ADL_Func_Notes[23] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[23] = 1;
		ADL_Func_Notes[23] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Display_ImageExpansion_Get = (LSADL_DISPLAY_IMAGEEXPANSION_GET)GetProcAddress(hDLL, "ADL_Display_ImageExpansion_Get")) == NULL){
		ADL_Func_Enabled[24] = 0;
		ADL_Func_Notes[24] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[24] = 1;
		ADL_Func_Notes[24] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Display_ImageExpansion_Set = (LSADL_DISPLAY_IMAGEEXPANSION_SET)GetProcAddress(hDLL, "ADL_Display_ImageExpansion_Set")) == NULL){
		ADL_Func_Enabled[25] = 0;
		ADL_Func_Notes[25] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[25] = 1;
		ADL_Func_Notes[25] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Display_Position_Get = (LSADL_DISPLAY_POSITION_GET)GetProcAddress(hDLL, "ADL_Display_Position_Get")) == NULL){
		ADL_Func_Enabled[26] = 0;
		ADL_Func_Notes[26] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[26] = 1;
		ADL_Func_Notes[26] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Display_Position_Set = (LSADL_DISPLAY_POSITION_SET)GetProcAddress(hDLL, "ADL_Display_Position_Set")) == NULL){
		ADL_Func_Enabled[27] = 0;
		ADL_Func_Notes[27] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[27] = 1;
		ADL_Func_Notes[27] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Display_Size_Get = (LSADL_DISPLAY_SIZE_GET)GetProcAddress(hDLL, "ADL_Display_Size_Get")) == NULL){
		ADL_Func_Enabled[28] = 0;
		ADL_Func_Notes[28] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[28] = 1;
		ADL_Func_Notes[28] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Display_Size_Set = (LSADL_DISPLAY_SIZE_SET)GetProcAddress(hDLL, "ADL_Display_Size_Set")) == NULL){
		ADL_Func_Enabled[29] = 0;
		ADL_Func_Notes[29] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[29] = 1;
		ADL_Func_Notes[29] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Display_AdjustCaps_Get = (LSADL_DISPLAY_ADJUSTCAPS_GET)GetProcAddress(hDLL, "ADL_Display_AdjustCaps_Get")) == NULL){
		ADL_Func_Enabled[30] = 0;
		ADL_Func_Notes[30] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[30] = 1;
		ADL_Func_Notes[30] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Display_Capabilities_Get = (LSADL_DISPLAY_CAPABILITIES_GET)GetProcAddress(hDLL, "ADL_Display_Capabilities_Get")) == NULL){
		ADL_Func_Enabled[31] = 0;
		ADL_Func_Notes[31] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[31] = 1;
		ADL_Func_Notes[31] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Display_ConnectedDisplays_Get = (LSADL_DISPLAY_CONNECTEDDISPLAYS_GET)GetProcAddress(hDLL, "ADL_Display_ConnectedDisplays_Get")) == NULL){
		ADL_Func_Enabled[32] = 0;
		ADL_Func_Notes[32] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[32] = 1;
		ADL_Func_Notes[32] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Display_DeviceConfig_Get = (LSADL_DISPLAY_DEVICECONFIG_GET)GetProcAddress(hDLL, "ADL_Display_DeviceConfig_Get")) == NULL){
		ADL_Func_Enabled[33] = 0;
		ADL_Func_Notes[33] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[33] = 1;
		ADL_Func_Notes[33] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Display_Property_Get = (LSADL_DISPLAY_PROPERTY_GET)GetProcAddress(hDLL, "ADL_Display_Property_Get")) == NULL){
		ADL_Func_Enabled[34] = 0;
		ADL_Func_Notes[34] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[34] = 1;
		ADL_Func_Notes[34] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Display_Property_Set = (LSADL_DISPLAY_PROPERTY_SET)GetProcAddress(hDLL, "ADL_Display_Property_Set")) == NULL){
		ADL_Func_Enabled[35] = 0;
		ADL_Func_Notes[35] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[35] = 1;
		ADL_Func_Notes[35] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Display_SwitchingCapability_Get = (LSADL_DISPLAY_SWITCHINGCAPABILITY_GET)GetProcAddress(hDLL, "ADL_Display_SwitchingCapability_Get")) == NULL){
		ADL_Func_Enabled[36] = 0;
		ADL_Func_Notes[36] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[36] = 1;
		ADL_Func_Notes[36] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Display_DitherState_Get = (LSADL_DISPLAY_DITHERSTATE_GET)GetProcAddress(hDLL, "ADL_Display_DitherState_Get")) == NULL){
		ADL_Func_Enabled[37] = 0;
		ADL_Func_Notes[37] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[37] = 1;
		ADL_Func_Notes[37] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Display_DitherState_Set = (LSADL_DISPLAY_DITHERSTATE_SET)GetProcAddress(hDLL, "ADL_Display_DitherState_Set")) == NULL){
		ADL_Func_Enabled[38] = 0;
		ADL_Func_Notes[38] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[38] = 1;
		ADL_Func_Notes[38] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Display_SupportedPixelFormat_Get = (LSADL_DISPLAY_SUPPORTEDPIXELFORMAT_GET)GetProcAddress(hDLL, "ADL_Display_SupportedPixelFormat_Get")) == NULL){
		ADL_Func_Enabled[39] = 0;
		ADL_Func_Notes[39] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[39] = 1;
		ADL_Func_Notes[39] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Display_PixelFormat_Get = (LSADL_DISPLAY_PIXELFORMAT_GET)GetProcAddress(hDLL, "ADL_Display_PixelFormat_Get")) == NULL){
		ADL_Func_Enabled[40] = 0;
		ADL_Func_Notes[40] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[40] = 1;
		ADL_Func_Notes[40] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Display_PixelFormat_Set = (LSADL_DISPLAY_PIXELFORMAT_SET)GetProcAddress(hDLL, "ADL_Display_PixelFormat_Set")) == NULL){
		ADL_Func_Enabled[41] = 0;
		ADL_Func_Notes[41] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[41] = 1;
		ADL_Func_Notes[41] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Display_ODClockInfo_Get = (LSADL_DISPLAY_ODCLOCKINFO_GET)GetProcAddress(hDLL, "ADL_Display_ODClockInfo_Get")) == NULL){
		ADL_Func_Enabled[42] = 0;
		ADL_Func_Notes[42] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[42] = 1;
		ADL_Func_Notes[42] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Display_ODClockConfig_Set = (LSADL_DISPLAY_ODCLOCKCONFIG_SET)GetProcAddress(hDLL, "ADL_Display_ODClockConfig_Set")) == NULL){
		ADL_Func_Enabled[43] = 0;
		ADL_Func_Notes[43] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[43] = 1;
		ADL_Func_Notes[43] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Display_AdjustmentCoherent_Get = (LSADL_DISPLAY_ADJUSTMENTCOHERENT_GET)GetProcAddress(hDLL, "ADL_Display_AdjustmentCoherent_Get")) == NULL){
		ADL_Func_Enabled[44] = 0;
		ADL_Func_Notes[44] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[44] = 1;
		ADL_Func_Notes[44] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Display_AdjustmentCoherent_Set = (LSADL_DISPLAY_ADJUSTMENTCOHERENT_SET)GetProcAddress(hDLL, "ADL_Display_AdjustmentCoherent_Set")) == NULL){
		ADL_Func_Enabled[45] = 0;
		ADL_Func_Notes[45] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[45] = 1;
		ADL_Func_Notes[45] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Display_ReducedBlanking_Get = (LSADL_DISPLAY_REDUCEDBLANKING_GET)GetProcAddress(hDLL, "ADL_Display_ReducedBlanking_Get")) == NULL){
		ADL_Func_Enabled[46] = 0;
		ADL_Func_Notes[46] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[46] = 1;
		ADL_Func_Notes[46] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Display_ReducedBlanking_Set = (LSADL_DISPLAY_REDUCEDBLANKING_SET)GetProcAddress(hDLL, "ADL_Display_ReducedBlanking_Set")) == NULL){
		ADL_Func_Enabled[47] = 0;
		ADL_Func_Notes[47] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[47] = 1;
		ADL_Func_Notes[47] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Display_FormatsOverride_Get = (LSADL_DISPLAY_FORMATSOVERRIDE_GET)GetProcAddress(hDLL, "ADL_Display_FormatsOverride_Get")) == NULL){
		ADL_Func_Enabled[48] = 0;
		ADL_Func_Notes[48] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[48] = 1;
		ADL_Func_Notes[48] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Display_FormatsOverride_Set = (LSADL_DISPLAY_FORMATSOVERRIDE_SET)GetProcAddress(hDLL, "ADL_Display_FormatsOverride_Set")) == NULL){
		ADL_Func_Enabled[49] = 0;
		ADL_Func_Notes[49] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[49] = 1;
		ADL_Func_Notes[49] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Display_MVPUCaps_Get = (LSADL_DISPLAY_MVPUCAPS_GET)GetProcAddress(hDLL, "ADL_Display_MVPUCaps_Get")) == NULL){
		ADL_Func_Enabled[50] = 0;
		ADL_Func_Notes[50] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[50] = 1;
		ADL_Func_Notes[50] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Display_MVPUStatus_Get = (LSADL_DISPLAY_MVPUSTATUS_GET)GetProcAddress(hDLL, "ADL_Display_MVPUStatus_Get")) == NULL){
		ADL_Func_Enabled[51] = 0;
		ADL_Func_Notes[51] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[51] = 1;
		ADL_Func_Notes[51] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Adapter_Active_Set = (LSADL_ADAPTER_ACTIVE_SET)GetProcAddress(hDLL, "ADL_Adapter_Active_Set")) == NULL){
		ADL_Func_Enabled[52] = 0;
		ADL_Func_Notes[52] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[52] = 1;
		ADL_Func_Notes[52] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Adapter_Active_SetPrefer = (LSADL_ADAPTER_ACTIVE_SETPREFER)GetProcAddress(hDLL, "ADL_Adapter_Active_SetPrefer")) == NULL){
		ADL_Func_Enabled[53] = 0;
		ADL_Func_Notes[53] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[53] = 1;
		ADL_Func_Notes[53] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Adapter_Primary_Get = (LSADL_ADAPTER_PRIMARY_GET)GetProcAddress(hDLL, "ADL_Adapter_Primary_Get")) == NULL){
		ADL_Func_Enabled[54] = 0;
		ADL_Func_Notes[54] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[54] = 1;
		ADL_Func_Notes[54] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Adapter_Primary_Set = (LSADL_ADAPTER_PRIMARY_SET)GetProcAddress(hDLL, "ADL_Adapter_Primary_Set")) == NULL){
		ADL_Func_Enabled[55] = 0;
		ADL_Func_Notes[55] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[55] = 1;
		ADL_Func_Notes[55] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Adapter_ModeSwitch = (LSADL_ADAPTER_MODESWITCH)GetProcAddress(hDLL, "ADL_Adapter_ModeSwitch")) == NULL){
		ADL_Func_Enabled[56] = 0;
		ADL_Func_Notes[56] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[56] = 1;
		ADL_Func_Notes[56] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Display_Modes_Get = (LSADL_DISPLAY_MODES_GET)GetProcAddress(hDLL, "ADL_Display_Modes_Get")) == NULL){
		ADL_Func_Enabled[57] = 0;
		ADL_Func_Notes[57] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[57] = 1;
		ADL_Func_Notes[57] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Display_Modes_Set = (LSADL_DISPLAY_MODES_SET)GetProcAddress(hDLL, "ADL_Display_Modes_Set")) == NULL){
		ADL_Func_Enabled[58] = 0;
		ADL_Func_Notes[58] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[58] = 1;
		ADL_Func_Notes[58] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Display_PossibleMode_Get = (LSADL_DISPLAY_POSSIBLEMODE_GET)GetProcAddress(hDLL, "ADL_Display_PossibleMode_Get")) == NULL){
		ADL_Func_Enabled[59] = 0;
		ADL_Func_Notes[59] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[59] = 1;
		ADL_Func_Notes[59] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Display_ForcibleDisplay_Get = (LSADL_DISPLAY_FORCIBLEDISPLAY_GET)GetProcAddress(hDLL, "ADL_Display_ForcibleDisplay_Get")) == NULL){
		ADL_Func_Enabled[60] = 0;
		ADL_Func_Notes[60] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[60] = 1;
		ADL_Func_Notes[60] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Display_ForcibleDisplay_Set = (LSADL_DISPLAY_FORCIBLEDISPLAY_SET)GetProcAddress(hDLL, "ADL_Display_ForcibleDisplay_Set")) == NULL){
		ADL_Func_Enabled[61] = 0;
		ADL_Func_Notes[61] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[61] = 1;
		ADL_Func_Notes[61] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Adapter_NumberOfActivatableSources_Get = (LSADL_ADAPTER_NUMBEROFACTIVATABLESOURCES_GET)GetProcAddress(hDLL, "ADL_Adapter_NumberOfActivatableSources_Get")) == NULL){
		ADL_Func_Enabled[62] = 0;
		ADL_Func_Notes[62] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[62] = 1;
		ADL_Func_Notes[62] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Adapter_Display_Caps = (LSADL_ADAPTER_DISPLAY_CAPS)GetProcAddress(hDLL, "ADL_Adapter_Display_Caps")) == NULL){
		ADL_Func_Enabled[63] = 0;
		ADL_Func_Notes[63] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[63] = 1;
		ADL_Func_Notes[63] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Display_DisplayMapConfig_Get = (LSADL_DISPLAY_DISPLAYMAPCONFIG_GET)GetProcAddress(hDLL, "ADL_Display_DisplayMapConfig_Get")) == NULL){
		ADL_Func_Enabled[64] = 0;
		ADL_Func_Notes[64] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[64] = 1;
		ADL_Func_Notes[64] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Display_DisplayMapConfig_Set = (LSADL_DISPLAY_DISPLAYMAPCONFIG_SET)GetProcAddress(hDLL, "ADL_Display_DisplayMapConfig_Set")) == NULL){
		ADL_Func_Enabled[65] = 0;
		ADL_Func_Notes[65] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[65] = 1;
		ADL_Func_Notes[65] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Display_PossibleMapping_Get = (LSADL_DISPLAY_POSSIBLEMAPPING_GET)GetProcAddress(hDLL, "ADL_Display_PossibleMapping_Get")) == NULL){
		ADL_Func_Enabled[66] = 0;
		ADL_Func_Notes[66] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[66] = 1;
		ADL_Func_Notes[66] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Display_DisplayMapConfig_Validate = (LSADL_DISPLAY_DISPLAYMAPCONFIG_VALIDATE)GetProcAddress(hDLL, "ADL_Display_DisplayMapConfig_Validate")) == NULL){
		ADL_Func_Enabled[67] = 0;
		ADL_Func_Notes[67] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[67] = 1;
		ADL_Func_Notes[67] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Display_DisplayMapConfig_PossibleAddAndRemove = (LSADL_DISPLAY_DISPLAYMAPCONFIG_POSSIBLEADDANDREMOVE)GetProcAddress(hDLL, "ADL_Display_DisplayMapConfig_PossibleAddAndRemove")) == NULL){
		ADL_Func_Enabled[68] = 0;
		ADL_Func_Notes[68] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[68] = 1;
		ADL_Func_Notes[68] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Display_SLSGrid_Caps = (LSADL_DISPLAY_SLSGRID_CAPS)GetProcAddress(hDLL, "ADL_Display_SLSGrid_Caps")) == NULL){
		ADL_Func_Enabled[69] = 0;
		ADL_Func_Notes[69] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[69] = 1;
		ADL_Func_Notes[69] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Display_SLSMapIndexList_Get = (LSADL_DISPLAY_SLSMAPINDEXLIST_GET)GetProcAddress(hDLL, "ADL_Display_SLSMapIndexList_Get")) == NULL){
		ADL_Func_Enabled[70] = 0;
		ADL_Func_Notes[70] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[70] = 1;
		ADL_Func_Notes[70] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Display_SLSMapIndex_Get = (LSADL_DISPLAY_SLSMAPINDEX_GET)GetProcAddress(hDLL, "ADL_Display_SLSMapIndex_Get")) == NULL){
		ADL_Func_Enabled[71] = 0;
		ADL_Func_Notes[71] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[71] = 1;
		ADL_Func_Notes[71] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Display_SLSMapConfig_Get = (LSADL_DISPLAY_SLSMAPCONFIG_GET)GetProcAddress(hDLL, "ADL_Display_SLSMapConfig_Get")) == NULL){
		ADL_Func_Enabled[72] = 0;
		ADL_Func_Notes[72] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[72] = 1;
		ADL_Func_Notes[72] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Display_SLSMapConfig_Create = (LSADL_DISPLAY_SLSMAPCONFIG_CREATE)GetProcAddress(hDLL, "ADL_Display_SLSMapConfig_Create")) == NULL){
		ADL_Func_Enabled[73] = 0;
		ADL_Func_Notes[73] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[73] = 1;
		ADL_Func_Notes[73] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Display_SLSMapConfig_Delete = (LSADL_DISPLAY_SLSMAPCONFIG_DELETE)GetProcAddress(hDLL, "ADL_Display_SLSMapConfig_Delete")) == NULL){
		ADL_Func_Enabled[74] = 0;
		ADL_Func_Notes[74] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[74] = 1;
		ADL_Func_Notes[74] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Display_SLSMapConfig_SetState = (LSADL_DISPLAY_SLSMAPCONFIG_SETSTATE)GetProcAddress(hDLL, "ADL_Display_SLSMapConfig_SetState")) == NULL){
		ADL_Func_Enabled[75] = 0;
		ADL_Func_Notes[75] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[75] = 1;
		ADL_Func_Notes[75] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Display_SLSMapConfig_Rearrange = (LSADL_DISPLAY_SLSMAPCONFIG_REARRANGE)GetProcAddress(hDLL, "ADL_Display_SLSMapConfig_Rearrange")) == NULL){
		ADL_Func_Enabled[76] = 0;
		ADL_Func_Notes[76] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[76] = 1;
		ADL_Func_Notes[76] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Display_PossibleMode_WinXP_Get = (LSADL_DISPLAY_POSSIBLEMODE_WINXP_GET)GetProcAddress(hDLL, "ADL_Display_PossibleMode_WinXP_Get")) == NULL){
		ADL_Func_Enabled[77] = 0;
		ADL_Func_Notes[77] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[77] = 1;
		ADL_Func_Notes[77] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Display_BezelOffsetSteppingSize_Get = (LSADL_DISPLAY_BEZELOFFSETSTEPPINGSIZE_GET)GetProcAddress(hDLL, "ADL_Display_BezelOffsetSteppingSize_Get")) == NULL){
		ADL_Func_Enabled[78] = 0;
		ADL_Func_Notes[78] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[78] = 1;
		ADL_Func_Notes[78] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Display_BezelOffset_Set = (LSADL_DISPLAY_BEZELOFFSET_SET)GetProcAddress(hDLL, "ADL_Display_BezelOffset_Set")) == NULL){
		ADL_Func_Enabled[79] = 0;
		ADL_Func_Notes[79] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[79] = 1;
		ADL_Func_Notes[79] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Display_BezelSupported_Validate = (LSADL_DISPLAY_BEZELSUPPORTED_VALIDATE)GetProcAddress(hDLL, "ADL_Display_BezelSupported_Validate")) == NULL){
		ADL_Func_Enabled[80] = 0;
		ADL_Func_Notes[80] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[80] = 1;
		ADL_Func_Notes[80] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Display_ColorCaps_Get = (LSADL_DISPLAY_COLORCAPS_GET)GetProcAddress(hDLL, "ADL_Display_ColorCaps_Get")) == NULL){
		ADL_Func_Enabled[81] = 0;
		ADL_Func_Notes[81] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[81] = 1;
		ADL_Func_Notes[81] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Display_Color_Set = (LSADL_DISPLAY_COLOR_SET)GetProcAddress(hDLL, "ADL_Display_Color_Set")) == NULL){
		ADL_Func_Enabled[82] = 0;
		ADL_Func_Notes[82] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[82] = 1;
		ADL_Func_Notes[82] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Display_Color_Get = (LSADL_DISPLAY_COLOR_GET)GetProcAddress(hDLL, "ADL_Display_Color_Get")) == NULL){
		ADL_Func_Enabled[83] = 0;
		ADL_Func_Notes[83] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[83] = 1;
		ADL_Func_Notes[83] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Display_ColorTemperatureSource_Get = (LSADL_DISPLAY_COLORTEMPERATURESOURCE_GET)GetProcAddress(hDLL, "ADL_Display_ColorTemperatureSource_Get")) == NULL){
		ADL_Func_Enabled[84] = 0;
		ADL_Func_Notes[84] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[84] = 1;
		ADL_Func_Notes[84] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Display_ColorTemperatureSource_Set = (LSADL_DISPLAY_COLORTEMPERATURESOURCE_SET)GetProcAddress(hDLL, "ADL_Display_ColorTemperatureSource_Set")) == NULL){
		ADL_Func_Enabled[85] = 0;
		ADL_Func_Notes[85] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[85] = 1;
		ADL_Func_Notes[85] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Display_ModeTimingOverride_Get = (LSADL_DISPLAY_MODETIMINGOVERRIDE_GET)GetProcAddress(hDLL, "ADL_Display_ModeTimingOverride_Get")) == NULL){
		ADL_Func_Enabled[86] = 0;
		ADL_Func_Notes[86] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[86] = 1;
		ADL_Func_Notes[86] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Display_ModeTimingOverride_Set = (LSADL_DISPLAY_MODETIMINGOVERRIDE_SET)GetProcAddress(hDLL, "ADL_Display_ModeTimingOverride_Set")) == NULL){
		ADL_Func_Enabled[87] = 0;
		ADL_Func_Notes[87] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[87] = 1;
		ADL_Func_Notes[87] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Display_ModeTimingOverrideList_Get = (LSADL_DISPLAY_MODETIMINGOVERRIDELIST_GET)GetProcAddress(hDLL, "ADL_Display_ModeTimingOverrideList_Get")) == NULL){
		ADL_Func_Enabled[88] = 0;
		ADL_Func_Notes[88] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[88] = 1;
		ADL_Func_Notes[88] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Display_CustomizedModeListNum_Get = (LSADL_DISPLAY_CUSTOMIZEDMODELISTNUM_GET)GetProcAddress(hDLL, "ADL_Display_CustomizedModeListNum_Get")) == NULL){
		ADL_Func_Enabled[89] = 0;
		ADL_Func_Notes[89] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[89] = 1;
		ADL_Func_Notes[89] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Display_CustomizedModeList_Get = (LSADL_DISPLAY_CUSTOMIZEDMODELIST_GET)GetProcAddress(hDLL, "ADL_Display_CustomizedModeList_Get")) == NULL){
		ADL_Func_Enabled[90] = 0;
		ADL_Func_Notes[90] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[90] = 1;
		ADL_Func_Notes[90] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Display_CustomizedMode_Add = (LSADL_DISPLAY_CUSTOMIZEDMODE_ADD)GetProcAddress(hDLL, "ADL_Display_CustomizedMode_Add")) == NULL){
		ADL_Func_Enabled[91] = 0;
		ADL_Func_Notes[91] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[91] = 1;
		ADL_Func_Notes[91] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Display_CustomizedMode_Delete = (LSADL_DISPLAY_CUSTOMIZEDMODE_DELETE)GetProcAddress(hDLL, "ADL_Display_CustomizedMode_Delete")) == NULL){
		ADL_Func_Enabled[92] = 0;
		ADL_Func_Notes[92] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[92] = 1;
		ADL_Func_Notes[92] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Display_CustomizedMode_Validate = (LSADL_DISPLAY_CUSTOMIZEDMODE_VALIDATE)GetProcAddress(hDLL, "ADL_Display_CustomizedMode_Validate")) == NULL){
		ADL_Func_Enabled[93] = 0;
		ADL_Func_Notes[93] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[93] = 1;
		ADL_Func_Notes[93] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Display_Underscan_Set = (LSADL_DISPLAY_UNDERSCAN_SET)GetProcAddress(hDLL, "ADL_Display_Underscan_Set")) == NULL){
		ADL_Func_Enabled[94] = 0;
		ADL_Func_Notes[94] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[94] = 1;
		ADL_Func_Notes[94] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Display_Underscan_Get = (LSADL_DISPLAY_UNDERSCAN_GET)GetProcAddress(hDLL, "ADL_Display_Underscan_Get")) == NULL){
		ADL_Func_Enabled[95] = 0;
		ADL_Func_Notes[95] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[95] = 1;
		ADL_Func_Notes[95] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Display_Overscan_Set = (LSADL_DISPLAY_OVERSCAN_SET)GetProcAddress(hDLL, "ADL_Display_Overscan_Set")) == NULL){
		ADL_Func_Enabled[96] = 0;
		ADL_Func_Notes[96] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[96] = 1;
		ADL_Func_Notes[96] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Display_Overscan_Get = (LSADL_DISPLAY_OVERSCAN_GET)GetProcAddress(hDLL, "ADL_Display_Overscan_Get")) == NULL){
		ADL_Func_Enabled[97] = 0;
		ADL_Func_Notes[97] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[97] = 1;
		ADL_Func_Notes[97] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Display_ControllerOverlayAdjustmentCaps_Get = (LSADL_DISPLAY_CONTROLLEROVERLAYADJUSTMENTCAPS_GET)GetProcAddress(hDLL, "ADL_Display_ControllerOverlayAdjustmentCaps_Get")) == NULL){
		ADL_Func_Enabled[98] = 0;
		ADL_Func_Notes[98] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[98] = 1;
		ADL_Func_Notes[98] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Display_ControllerOverlayAdjustmentData_Get = (LSADL_DISPLAY_CONTROLLEROVERLAYADJUSTMENTDATA_GET)GetProcAddress(hDLL, "ADL_Display_ControllerOverlayAdjustmentData_Get")) == NULL){
		ADL_Func_Enabled[99] = 0;
		ADL_Func_Notes[99] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[99] = 1;
		ADL_Func_Notes[99] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Display_ControllerOverlayAdjustmentData_Set = (LSADL_DISPLAY_CONTROLLEROVERLAYADJUSTMENTDATA_SET)GetProcAddress(hDLL, "ADL_Display_ControllerOverlayAdjustmentData_Set")) == NULL){
		ADL_Func_Enabled[100] = 0;
		ADL_Func_Notes[100] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[100] = 1;
		ADL_Func_Notes[100] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Display_PowerXpressVersion_Get = (LSADL_DISPLAY_POWERXPRESSVERSION_GET)GetProcAddress(hDLL, "ADL_Display_PowerXpressVersion_Get")) == NULL){
		ADL_Func_Enabled[101] = 0;
		ADL_Func_Notes[101] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[101] = 1;
		ADL_Func_Notes[101] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Display_PowerXpressActiveGPU_Get = (LSADL_DISPLAY_POWERXPRESSACTIVEGPU_GET)GetProcAddress(hDLL, "ADL_Display_PowerXpressActiveGPU_Get")) == NULL){
		ADL_Func_Enabled[102] = 0;
		ADL_Func_Notes[102] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[102] = 1;
		ADL_Func_Notes[102] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Display_PowerXpressActiveGPU_Set = (LSADL_DISPLAY_POWERXPRESSACTIVEGPU_SET)GetProcAddress(hDLL, "ADL_Display_PowerXpressActiveGPU_Set")) == NULL){
		ADL_Func_Enabled[103] = 0;
		ADL_Func_Notes[103] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[103] = 1;
		ADL_Func_Notes[103] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Display_PowerXpress_AutoSwitchConfig_Get = (LSADL_DISPLAY_POWERXPRESS_AUTOSWITCHCONFIG_GET)GetProcAddress(hDLL, "ADL_Display_PowerXpress_AutoSwitchConfig_Get")) == NULL){
		ADL_Func_Enabled[104] = 0;
		ADL_Func_Notes[104] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[104] = 1;
		ADL_Func_Notes[104] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Display_PowerXpress_AutoSwitchConfig_Set = (LSADL_DISPLAY_POWERXPRESS_AUTOSWITCHCONFIG_SET)GetProcAddress(hDLL, "ADL_Display_PowerXpress_AutoSwitchConfig_Set")) == NULL){
		ADL_Func_Enabled[105] = 0;
		ADL_Func_Notes[105] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[105] = 1;
		ADL_Func_Notes[105] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_DFP_BaseAudioSupport_Get = (LSADL_DFP_BASEAUDIOSUPPORT_GET)GetProcAddress(hDLL, "ADL_DFP_BaseAudioSupport_Get")) == NULL){
		ADL_Func_Enabled[106] = 0;
		ADL_Func_Notes[106] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[106] = 1;
		ADL_Func_Notes[106] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_DFP_HDMISupport_Get = (LSADL_DFP_HDMISUPPORT_GET)GetProcAddress(hDLL, "ADL_DFP_HDMISupport_Get")) == NULL){
		ADL_Func_Enabled[107] = 0;
		ADL_Func_Notes[107] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[107] = 1;
		ADL_Func_Notes[107] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_DFP_MVPUAnalogSupport_Get = (LSADL_DFP_MVPUANALOGSUPPORT_GET)GetProcAddress(hDLL, "ADL_DFP_MVPUAnalogSupport_Get")) == NULL){
		ADL_Func_Enabled[108] = 0;
		ADL_Func_Notes[108] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[108] = 1;
		ADL_Func_Notes[108] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_DFP_PixelFormat_Caps = (LSADL_DFP_PIXELFORMAT_CAPS)GetProcAddress(hDLL, "ADL_DFP_PixelFormat_Caps")) == NULL){
		ADL_Func_Enabled[109] = 0;
		ADL_Func_Notes[109] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[109] = 1;
		ADL_Func_Notes[109] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_DFP_PixelFormat_Get = (LSADL_DFP_PIXELFORMAT_GET)GetProcAddress(hDLL, "ADL_DFP_PixelFormat_Get")) == NULL){
		ADL_Func_Enabled[110] = 0;
		ADL_Func_Notes[110] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[110] = 1;
		ADL_Func_Notes[110] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_DFP_PixelFormat_Set = (LSADL_DFP_PIXELFORMAT_SET)GetProcAddress(hDLL, "ADL_DFP_PixelFormat_Set")) == NULL){
		ADL_Func_Enabled[111] = 0;
		ADL_Func_Notes[111] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[111] = 1;
		ADL_Func_Notes[111] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_DFP_GPUScalingEnable_Get = (LSADL_DFP_GPUSCALINGENABLE_GET)GetProcAddress(hDLL, "ADL_DFP_GPUScalingEnable_Get")) == NULL){
		ADL_Func_Enabled[112] = 0;
		ADL_Func_Notes[112] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[112] = 1;
		ADL_Func_Notes[112] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_DFP_GPUScalingEnable_Set = (LSADL_DFP_GPUSCALINGENABLE_SET)GetProcAddress(hDLL, "ADL_DFP_GPUScalingEnable_Set")) == NULL){
		ADL_Func_Enabled[113] = 0;
		ADL_Func_Notes[113] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[113] = 1;
		ADL_Func_Notes[113] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_DFP_AllowOnlyCETimings_Get = (LSADL_DFP_ALLOWONLYCETIMINGS_GET)GetProcAddress(hDLL, "ADL_DFP_AllowOnlyCETimings_Get")) == NULL){
		ADL_Func_Enabled[114] = 0;
		ADL_Func_Notes[114] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[114] = 1;
		ADL_Func_Notes[114] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_DFP_AllowOnlyCETimings_Set = (LSADL_DFP_ALLOWONLYCETIMINGS_SET)GetProcAddress(hDLL, "ADL_DFP_AllowOnlyCETimings_Set")) == NULL){
		ADL_Func_Enabled[115] = 0;
		ADL_Func_Notes[115] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[115] = 1;
		ADL_Func_Notes[115] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Display_TVCaps_Get = (LSADL_DISPLAY_TVCAPS_GET)GetProcAddress(hDLL, "ADL_Display_TVCaps_Get")) == NULL){
		ADL_Func_Enabled[116] = 0;
		ADL_Func_Notes[116] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[116] = 1;
		ADL_Func_Notes[116] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_TV_Standard_Set = (LSADL_TV_STANDARD_SET)GetProcAddress(hDLL, "ADL_TV_Standard_Set")) == NULL){
		ADL_Func_Enabled[117] = 0;
		ADL_Func_Notes[117] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[117] = 1;
		ADL_Func_Notes[117] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_TV_Standard_Get = (LSADL_TV_STANDARD_GET)GetProcAddress(hDLL, "ADL_TV_Standard_Get")) == NULL){
		ADL_Func_Enabled[118] = 0;
		ADL_Func_Notes[118] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[118] = 1;
		ADL_Func_Notes[118] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_CV_DongleSettings_Get = (LSADL_CV_DONGLESETTINGS_GET)GetProcAddress(hDLL, "ADL_CV_DongleSettings_Get")) == NULL){
		ADL_Func_Enabled[119] = 0;
		ADL_Func_Notes[119] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[119] = 1;
		ADL_Func_Notes[119] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_CV_DongleSettings_Set = (LSADL_CV_DONGLESETTINGS_SET)GetProcAddress(hDLL, "ADL_CV_DongleSettings_Set")) == NULL){
		ADL_Func_Enabled[120] = 0;
		ADL_Func_Notes[120] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[120] = 1;
		ADL_Func_Notes[120] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_CV_DongleSettings_Reset = (LSADL_CV_DONGLESETTINGS_RESET)GetProcAddress(hDLL, "ADL_CV_DongleSettings_Reset")) == NULL){
		ADL_Func_Enabled[121] = 0;
		ADL_Func_Notes[121] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[121] = 1;
		ADL_Func_Notes[121] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_OD5_CurrentActivity_Get = (LSADL_OD5_CURRENTACTIVITY_GET)GetProcAddress(hDLL, "ADL_Overdrive5_CurrentActivity_Get")) == NULL){
		ADL_Func_Enabled[122] = 0;
		ADL_Func_Notes[122] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[122] = 1;
		ADL_Func_Notes[122] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_OD5_ThermalDevices_Enum = (LSADL_OD5_THERMALDEVICES_ENUM)GetProcAddress(hDLL, "ADL_Overdrive5_ThermalDevices_Enum")) == NULL){
		ADL_Func_Enabled[123] = 0;
		ADL_Func_Notes[123] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[123] = 1;
		ADL_Func_Notes[123] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_OD5_Temperature_Get = (LSADL_OD5_TEMPERATURE_GET)GetProcAddress(hDLL, "ADL_Overdrive5_Temperature_Get")) == NULL){
		ADL_Func_Enabled[124] = 0;
		ADL_Func_Notes[124] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[124] = 1;
		ADL_Func_Notes[124] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_OD5_FanSpeedInfo_Get = (LSADL_OD5_FANSPEEDINFO_GET)GetProcAddress(hDLL, "ADL_Overdrive5_FanSpeedInfo_Get")) == NULL){
		ADL_Func_Enabled[125] = 0;
		ADL_Func_Notes[125] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[125] = 1;
		ADL_Func_Notes[125] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_OD5_FanSpeed_Get = (LSADL_OD5_FANSPEED_GET)GetProcAddress(hDLL, "ADL_Overdrive5_FanSpeed_Get")) == NULL){
		ADL_Func_Enabled[126] = 0;
		ADL_Func_Notes[126] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[126] = 1;
		ADL_Func_Notes[126] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_OD5_FanSpeed_Set = (LSADL_OD5_FANSPEED_SET)GetProcAddress(hDLL, "ADL_Overdrive5_FanSpeed_Set")) == NULL){
		ADL_Func_Enabled[127] = 0;
		ADL_Func_Notes[127] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[127] = 1;
		ADL_Func_Notes[127] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_OD5_FanSpeedToDefault_Set = (LSADL_OD5_FANSPEEDTODEFAULT_SET)GetProcAddress(hDLL, "ADL_Overdrive5_FanSpeedToDefault_Set")) == NULL){
		ADL_Func_Enabled[128] = 0;
		ADL_Func_Notes[128] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[128] = 1;
		ADL_Func_Notes[128] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_OD5_ODParameters_Get = (LSADL_OD5_ODPARAMETERS_GET)GetProcAddress(hDLL, "ADL_Overdrive5_ODParameters_Get")) == NULL){
		ADL_Func_Enabled[129] = 0;
		ADL_Func_Notes[129] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[129] = 1;
		ADL_Func_Notes[129] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_OD5_ODPerformanceLevels_Get = (LSADL_OD5_ODPERFORMANCELEVELS_GET)GetProcAddress(hDLL, "ADL_Overdrive5_ODPerformanceLevels_Get")) == NULL){
		ADL_Func_Enabled[130] = 0;
		ADL_Func_Notes[130] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[130] = 1;
		ADL_Func_Notes[130] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_OD5_ODPerformanceLevels_Set = (LSADL_OD5_ODPERFORMANCELEVELS_SET)GetProcAddress(hDLL, "ADL_Overdrive5_ODPerformanceLevels_Set")) == NULL){
		ADL_Func_Enabled[131] = 0;
		ADL_Func_Notes[131] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[131] = 1;
		ADL_Func_Notes[131] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_OD5_PowerControl_Caps = (LSADL_OD5_POWERCONTROL_CAPS)GetProcAddress(hDLL, "ADL_Overdrive5_PowerControl_Caps")) == NULL){
		ADL_Func_Enabled[132] = 0;
		ADL_Func_Notes[132] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[132] = 1;
		ADL_Func_Notes[132] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_OD5_PowerControlInfo_Get = (LSADL_OD5_POWERCONTROLINFO_GET)GetProcAddress(hDLL, "ADL_Overdrive5_PowerControlInfo_Get")) == NULL){
		ADL_Func_Enabled[133] = 0;
		ADL_Func_Notes[133] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[133] = 1;
		ADL_Func_Notes[133] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_OD5_PowerControl_Get = (LSADL_OD5_POWERCONTROL_GET)GetProcAddress(hDLL, "ADL_Overdrive5_PowerControl_Get")) == NULL){
		ADL_Func_Enabled[134] = 0;
		ADL_Func_Notes[134] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[134] = 1;
		ADL_Func_Notes[134] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_OD5_PowerControl_Set = (LSADL_OD5_POWERCONTROL_SET)GetProcAddress(hDLL, "ADL_Overdrive5_PowerControl_Set")) == NULL){
		ADL_Func_Enabled[135] = 0;
		ADL_Func_Notes[135] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[135] = 1;
		ADL_Func_Notes[135] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Display_WriteAndReadI2CRev_Get = (LSADL_DISPLAY_WRITEANDREADI2CREV_GET)GetProcAddress(hDLL, "ADL_Display_WriteAndReadI2CRev_Get")) == NULL){
		ADL_Func_Enabled[136] = 0;
		ADL_Func_Notes[136] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[136] = 1;
		ADL_Func_Notes[136] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Display_WriteAndReadI2C = (LSADL_DISPLAY_WRITEANDREADI2C)GetProcAddress(hDLL, "ADL_Display_WriteAndReadI2C")) == NULL){
		ADL_Func_Enabled[137] = 0;
		ADL_Func_Notes[137] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[137] = 1;
		ADL_Func_Notes[137] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Display_DDCBlockAccess_Get = (LSADL_DISPLAY_DDCBLOCKACCESS_GET)GetProcAddress(hDLL, "ADL_Display_DDCBlockAccess_Get")) == NULL){
		ADL_Func_Enabled[138] = 0;
		ADL_Func_Notes[138] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[138] = 1;
		ADL_Func_Notes[138] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Display_DDCInfo_Get = (LSADL_DISPLAY_DDCINFO_GET)GetProcAddress(hDLL, "ADL_Display_DDCInfo_Get")) == NULL){
		ADL_Func_Enabled[139] = 0;
		ADL_Func_Notes[139] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[139] = 1;
		ADL_Func_Notes[139] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Display_EdidData_Get = (LSADL_DISPLAY_EDIDDATA_GET)GetProcAddress(hDLL, "ADL_Display_EdidData_Get")) == NULL){
		ADL_Func_Enabled[140] = 0;
		ADL_Func_Notes[140] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[140] = 1;
		ADL_Func_Notes[140] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Workstation_Caps = (LSADL_WORKSTATION_CAPS)GetProcAddress(hDLL, "ADL_Workstation_Caps")) == NULL){
		ADL_Func_Enabled[141] = 0;
		ADL_Func_Notes[141] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[141] = 1;
		ADL_Func_Notes[141] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Workstation_Stereo_Get = (LSADL_WORKSTATION_STEREO_GET)GetProcAddress(hDLL, "ADL_Workstation_Stereo_Get")) == NULL){
		ADL_Func_Enabled[142] = 0;
		ADL_Func_Notes[142] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[142] = 1;
		ADL_Func_Notes[142] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Workstation_Stereo_Set = (LSADL_WORKSTATION_STEREO_SET)GetProcAddress(hDLL, "ADL_Workstation_Stereo_Set")) == NULL){
		ADL_Func_Enabled[143] = 0;
		ADL_Func_Notes[143] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[143] = 1;
		ADL_Func_Notes[143] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Workstation_AdapterNumOfGLSyncConnectors_Get = (LSADL_WORKSTATION_ADAPTERNUMOFGLSYNCCONNECTORS_GET)GetProcAddress(hDLL, "ADL_Workstation_AdapterNumOfGLSyncConnectors_Get")) == NULL){
		ADL_Func_Enabled[144] = 0;
		ADL_Func_Notes[144] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[144] = 1;
		ADL_Func_Notes[144] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Workstation_DisplayGenlockCapable_Get = (LSADL_WORKSTATION_DISPLAYGENLOCKCAPABLE_GET)GetProcAddress(hDLL, "ADL_Workstation_DisplayGenlockCapable_Get")) == NULL){
		ADL_Func_Enabled[145] = 0;
		ADL_Func_Notes[145] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[145] = 1;
		ADL_Func_Notes[145] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Workstation_GLSyncModuleDetect_Get = (LSADL_WORKSTATION_GLSYNCMODULEDETECT_GET)GetProcAddress(hDLL, "ADL_Workstation_GLSyncModuleDetect_Get")) == NULL){
		ADL_Func_Enabled[146] = 0;
		ADL_Func_Notes[146] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[146] = 1;
		ADL_Func_Notes[146] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Workstation_GLSyncModuleInfo_Get = (LSADL_WORKSTATION_GLSYNCMODULEINFO_GET)GetProcAddress(hDLL, "ADL_Workstation_GLSyncModuleInfo_Get")) == NULL){
		ADL_Func_Enabled[147] = 0;
		ADL_Func_Notes[147] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[147] = 1;
		ADL_Func_Notes[147] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Workstation_GLSyncGenlockConfiguration_Get = (LSADL_WORKSTATION_GLSYNCGENLOCKCONFIGURATION_GET)GetProcAddress(hDLL, "ADL_Workstation_GLSyncGenlockConfiguration_Get")) == NULL){
		ADL_Func_Enabled[148] = 0;
		ADL_Func_Notes[148] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[148] = 1;
		ADL_Func_Notes[148] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Workstation_GLSyncGenlockConfiguration_Set = (LSADL_WORKSTATION_GLSYNCGENLOCKCONFIGURATION_SET)GetProcAddress(hDLL, "ADL_Workstation_GLSyncGenlockConfiguration_Set")) == NULL){
		ADL_Func_Enabled[149] = 0;
		ADL_Func_Notes[149] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[149] = 1;
		ADL_Func_Notes[149] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Workstation_GLSyncPortState_Get = (LSADL_WORKSTATION_GLSYNCPORTSTATE_GET)GetProcAddress(hDLL, "ADL_Workstation_GLSyncPortState_Get")) == NULL){
		ADL_Func_Enabled[150] = 0;
		ADL_Func_Notes[150] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[150] = 1;
		ADL_Func_Notes[150] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Workstation_GLSyncPortState_Set = (LSADL_WORKSTATION_GLSYNCPORTSTATE_SET)GetProcAddress(hDLL, "ADL_Workstation_GLSyncPortState_Set")) == NULL){
		ADL_Func_Enabled[151] = 0;
		ADL_Func_Notes[151] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[151] = 1;
		ADL_Func_Notes[151] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Workstation_DisplayGLSyncMode_Get = (LSADL_WORKSTATION_DISPLAYGLSYNCMODE_GET)GetProcAddress(hDLL, "ADL_Workstation_DisplayGLSyncMode_Get")) == NULL){
		ADL_Func_Enabled[152] = 0;
		ADL_Func_Notes[152] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[152] = 1;
		ADL_Func_Notes[152] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Workstation_DisplayGLSyncMode_Set = (LSADL_WORKSTATION_DISPLAYGLSYNCMODE_SET)GetProcAddress(hDLL, "ADL_Workstation_DisplayGLSyncMode_Set")) == NULL){
		ADL_Func_Enabled[153] = 0;
		ADL_Func_Notes[153] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[153] = 1;
		ADL_Func_Notes[153] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Workstation_GLSyncSupportedTopology_Get = (LSADL_WORKSTATION_GLSYNCSUPPORTEDTOPOLOGY_GET)GetProcAddress(hDLL, "ADL_Workstation_GLSyncSupportedTopology_Get")) == NULL){
		ADL_Func_Enabled[154] = 0;
		ADL_Func_Notes[154] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[154] = 1;
		ADL_Func_Notes[154] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Workstation_LoadBalancing_Get = (LSADL_WORKSTATION_LOADBALANCING_GET)GetProcAddress(hDLL, "ADL_Workstation_LoadBalancing_Get")) == NULL){
		ADL_Func_Enabled[155] = 0;
		ADL_Func_Notes[155] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[155] = 1;
		ADL_Func_Notes[155] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Workstation_LoadBalancing_Set = (LSADL_WORKSTATION_LOADBALANCING_SET)GetProcAddress(hDLL, "ADL_Workstation_LoadBalancing_Set")) == NULL){
		ADL_Func_Enabled[156] = 0;
		ADL_Func_Notes[156] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[156] = 1;
		ADL_Func_Notes[156] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Workstation_LoadBalancing_Caps = (LSADL_WORKSTATION_LOADBALANCING_CAPS)GetProcAddress(hDLL, "ADL_Workstation_LoadBalancing_Caps")) == NULL){
		ADL_Func_Enabled[157] = 0;
		ADL_Func_Notes[157] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[157] = 1;
		ADL_Func_Notes[157] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Adapter_MemoryInfo_Get = (LSADL_ADAPTER_MEMORYINFO_GET)GetProcAddress(hDLL, "ADL_Adapter_MemoryInfo_Get")) == NULL){
		ADL_Func_Enabled[158] = 0;
		ADL_Func_Notes[158] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[158] = 1;
		ADL_Func_Notes[158] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Controller_Color_Set = (LSADL_CONTROLLER_COLOR_SET)GetProcAddress(hDLL, "ADL_Controller_Color_Set")) == NULL){
		ADL_Func_Enabled[159] = 0;
		ADL_Func_Notes[159] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[159] = 1;
		ADL_Func_Notes[159] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Controller_Color_Get = (LSADL_CONTROLLER_COLOR_GET)GetProcAddress(hDLL, "ADL_Controller_Color_Get")) == NULL){
		ADL_Func_Enabled[160] = 0;
		ADL_Func_Notes[160] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[160] = 1;
		ADL_Func_Notes[160] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_DesktopConfig_Get = (LSADL_DESKTOPCONFIG_GET)GetProcAddress(hDLL, "ADL_DesktopConfig_Get")) == NULL){
		ADL_Func_Enabled[161] = 0;
		ADL_Func_Notes[161] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[161] = 1;
		ADL_Func_Notes[161] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_DesktopConfig_Set = (LSADL_DESKTOPCONFIG_SET)GetProcAddress(hDLL, "ADL_DesktopConfig_Set")) == NULL){
		ADL_Func_Enabled[162] = 0;
		ADL_Func_Notes[162] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[162] = 1;
		ADL_Func_Notes[162] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_NumberOfDisplayEnable_Get = (LSADL_NUMBEROFDISPLAYENABLE_GET)GetProcAddress(hDLL, "ADL_NumberOfDisplayEnable_Get")) == NULL){
		ADL_Func_Enabled[163] = 0;
		ADL_Func_Notes[163] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[163] = 1;
		ADL_Func_Notes[163] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_DisplayEnable_Set = (LSADL_DISPLAYENABLE_SET)GetProcAddress(hDLL, "ADL_DisplayEnable_Set")) == NULL){
		ADL_Func_Enabled[164] = 0;
		ADL_Func_Notes[164] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[164] = 1;
		ADL_Func_Notes[164] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Display_IdentifyDisplay = (LSADL_DISPLAY_IDENTIFYDISPLAY)GetProcAddress(hDLL, "ADL_Display_IdentifyDisplay")) == NULL){
		ADL_Func_Enabled[165] = 0;
		ADL_Func_Notes[165] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[165] = 1;
		ADL_Func_Notes[165] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Display_LUTColor_Set = (LSADL_DISPLAY_LUTCOLOR_SET)GetProcAddress(hDLL, "ADL_Display_LUTColor_Set")) == NULL){
		ADL_Func_Enabled[166] = 0;
		ADL_Func_Notes[166] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[166] = 1;
		ADL_Func_Notes[166] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Display_LUTColor_Get = (LSADL_DISPLAY_LUTCOLOR_GET)GetProcAddress(hDLL, "ADL_Display_LUTColor_Get")) == NULL){
		ADL_Func_Enabled[167] = 0;
		ADL_Func_Notes[167] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[167] = 1;
		ADL_Func_Notes[167] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Adapter_XScreenInfo_Get = (LSADL_ADAPTER_XSCREENINFO_GET)GetProcAddress(hDLL, "ADL_Adapter_XScreenInfo_Get")) == NULL){
		ADL_Func_Enabled[168] = 0;
		ADL_Func_Notes[168] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[168] = 1;
		ADL_Func_Notes[168] = FUNC_FOUND_IN_API;
	}
	if( (LSADL_Display_XrandrDisplayName_Get = (LSADL_DISPLAY_XRANDRDISPLAYNAME_GET)GetProcAddress(hDLL, "ADL_Display_XrandrDisplayName_Get")) == NULL){
		ADL_Func_Enabled[169] = 0;
		ADL_Func_Notes[169] = FUNC_MISSING_FROM_API;
	}else{
		ADL_Func_Enabled[169] = 1;
		ADL_Func_Notes[169] = FUNC_FOUND_IN_API;
	}

	return 0;
}
