Added liblcms2 wrapped lib (partial wrapping, just enough for wine)

This commit is contained in:
ptitSeb 2020-12-09 15:54:27 +01:00
parent 595028e9ec
commit 3f42372603
7 changed files with 565 additions and 0 deletions

View File

@ -333,6 +333,7 @@ set(WRAPPEDS
"${BOX86_ROOT}/src/wrapped/wrappedxslt.c"
"${BOX86_ROOT}/src/wrapped/wrappedldapr.c"
"${BOX86_ROOT}/src/wrapped/wrappedlber.c"
"${BOX86_ROOT}/src/wrapped/wrappedlcms2.c"
"${BOX86_ROOT}/src/wrapped/wrappedldlinux.c"
)

View File

@ -132,5 +132,6 @@ GO("libxml2.so.2", xml2)
GO("libxslt.so.1", xslt)
GO("libldap_r-2.4.so.2", ldapr)
GO("liblber-2.4.so.2", lber)
GO("liblcms2.so.2", lcms2)
GO("ld-linux.so.2", ldlinux)

View File

@ -1442,6 +1442,7 @@
#() pFppiiCCC
#() pFppiippp
#() pFppipipp
#() pFppuuuuu
#() pFppuuppp
#() pFppLiiip
#() pFppLipip
@ -1558,6 +1559,7 @@
#() pFpipppppp
#() pFpWWiCpup
#() pFpuuuupup
#() pFpupupuuu
#() pFpdwwWWui
#() pFplpppppp
#() pFppiiiiii

View File

@ -1513,6 +1513,7 @@ typedef void* (*pFppiiipp_t)(void*, void*, int32_t, int32_t, int32_t, void*, voi
typedef void* (*pFppiiCCC_t)(void*, void*, int32_t, int32_t, uint8_t, uint8_t, uint8_t);
typedef void* (*pFppiippp_t)(void*, void*, int32_t, int32_t, void*, void*, void*);
typedef void* (*pFppipipp_t)(void*, void*, int32_t, void*, int32_t, void*, void*);
typedef void* (*pFppuuuuu_t)(void*, void*, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t);
typedef void* (*pFppuuppp_t)(void*, void*, uint32_t, uint32_t, void*, void*, void*);
typedef void* (*pFppLiiip_t)(void*, void*, uintptr_t, int32_t, int32_t, int32_t, void*);
typedef void* (*pFppLipip_t)(void*, void*, uintptr_t, int32_t, void*, int32_t, void*);
@ -1629,6 +1630,7 @@ typedef void* (*pFpiiiiiuu_t)(void*, int32_t, int32_t, int32_t, int32_t, int32_t
typedef void* (*pFpipppppp_t)(void*, int32_t, void*, void*, void*, void*, void*, void*);
typedef void* (*pFpWWiCpup_t)(void*, uint16_t, uint16_t, int32_t, uint8_t, void*, uint32_t, void*);
typedef void* (*pFpuuuupup_t)(void*, uint32_t, uint32_t, uint32_t, uint32_t, void*, uint32_t, void*);
typedef void* (*pFpupupuuu_t)(void*, uint32_t, void*, uint32_t, void*, uint32_t, uint32_t, uint32_t);
typedef void* (*pFpdwwWWui_t)(void*, double, int16_t, int16_t, uint16_t, uint16_t, uint32_t, int32_t);
typedef void* (*pFplpppppp_t)(void*, intptr_t, void*, void*, void*, void*, void*, void*);
typedef void* (*pFppiiiiii_t)(void*, void*, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t);
@ -3363,6 +3365,7 @@ void pFppiiipp(x86emu_t *emu, uintptr_t fcn) { pFppiiipp_t fn = (pFppiiipp_t)fcn
void pFppiiCCC(x86emu_t *emu, uintptr_t fcn) { pFppiiCCC_t fn = (pFppiiCCC_t)fcn; R_EAX=(uintptr_t)fn(*(void**)(R_ESP + 4), *(void**)(R_ESP + 8), *(int32_t*)(R_ESP + 12), *(int32_t*)(R_ESP + 16), *(uint8_t*)(R_ESP + 20), *(uint8_t*)(R_ESP + 24), *(uint8_t*)(R_ESP + 28)); }
void pFppiippp(x86emu_t *emu, uintptr_t fcn) { pFppiippp_t fn = (pFppiippp_t)fcn; R_EAX=(uintptr_t)fn(*(void**)(R_ESP + 4), *(void**)(R_ESP + 8), *(int32_t*)(R_ESP + 12), *(int32_t*)(R_ESP + 16), *(void**)(R_ESP + 20), *(void**)(R_ESP + 24), *(void**)(R_ESP + 28)); }
void pFppipipp(x86emu_t *emu, uintptr_t fcn) { pFppipipp_t fn = (pFppipipp_t)fcn; R_EAX=(uintptr_t)fn(*(void**)(R_ESP + 4), *(void**)(R_ESP + 8), *(int32_t*)(R_ESP + 12), *(void**)(R_ESP + 16), *(int32_t*)(R_ESP + 20), *(void**)(R_ESP + 24), *(void**)(R_ESP + 28)); }
void pFppuuuuu(x86emu_t *emu, uintptr_t fcn) { pFppuuuuu_t fn = (pFppuuuuu_t)fcn; R_EAX=(uintptr_t)fn(*(void**)(R_ESP + 4), *(void**)(R_ESP + 8), *(uint32_t*)(R_ESP + 12), *(uint32_t*)(R_ESP + 16), *(uint32_t*)(R_ESP + 20), *(uint32_t*)(R_ESP + 24), *(uint32_t*)(R_ESP + 28)); }
void pFppuuppp(x86emu_t *emu, uintptr_t fcn) { pFppuuppp_t fn = (pFppuuppp_t)fcn; R_EAX=(uintptr_t)fn(*(void**)(R_ESP + 4), *(void**)(R_ESP + 8), *(uint32_t*)(R_ESP + 12), *(uint32_t*)(R_ESP + 16), *(void**)(R_ESP + 20), *(void**)(R_ESP + 24), *(void**)(R_ESP + 28)); }
void pFppLiiip(x86emu_t *emu, uintptr_t fcn) { pFppLiiip_t fn = (pFppLiiip_t)fcn; R_EAX=(uintptr_t)fn(*(void**)(R_ESP + 4), *(void**)(R_ESP + 8), *(uintptr_t*)(R_ESP + 12), *(int32_t*)(R_ESP + 16), *(int32_t*)(R_ESP + 20), *(int32_t*)(R_ESP + 24), *(void**)(R_ESP + 28)); }
void pFppLipip(x86emu_t *emu, uintptr_t fcn) { pFppLipip_t fn = (pFppLipip_t)fcn; R_EAX=(uintptr_t)fn(*(void**)(R_ESP + 4), *(void**)(R_ESP + 8), *(uintptr_t*)(R_ESP + 12), *(int32_t*)(R_ESP + 16), *(void**)(R_ESP + 20), *(int32_t*)(R_ESP + 24), *(void**)(R_ESP + 28)); }
@ -3479,6 +3482,7 @@ void pFpiiiiiuu(x86emu_t *emu, uintptr_t fcn) { pFpiiiiiuu_t fn = (pFpiiiiiuu_t)
void pFpipppppp(x86emu_t *emu, uintptr_t fcn) { pFpipppppp_t fn = (pFpipppppp_t)fcn; R_EAX=(uintptr_t)fn(*(void**)(R_ESP + 4), *(int32_t*)(R_ESP + 8), *(void**)(R_ESP + 12), *(void**)(R_ESP + 16), *(void**)(R_ESP + 20), *(void**)(R_ESP + 24), *(void**)(R_ESP + 28), *(void**)(R_ESP + 32)); }
void pFpWWiCpup(x86emu_t *emu, uintptr_t fcn) { pFpWWiCpup_t fn = (pFpWWiCpup_t)fcn; R_EAX=(uintptr_t)fn(*(void**)(R_ESP + 4), *(uint16_t*)(R_ESP + 8), *(uint16_t*)(R_ESP + 12), *(int32_t*)(R_ESP + 16), *(uint8_t*)(R_ESP + 20), *(void**)(R_ESP + 24), *(uint32_t*)(R_ESP + 28), *(void**)(R_ESP + 32)); }
void pFpuuuupup(x86emu_t *emu, uintptr_t fcn) { pFpuuuupup_t fn = (pFpuuuupup_t)fcn; R_EAX=(uintptr_t)fn(*(void**)(R_ESP + 4), *(uint32_t*)(R_ESP + 8), *(uint32_t*)(R_ESP + 12), *(uint32_t*)(R_ESP + 16), *(uint32_t*)(R_ESP + 20), *(void**)(R_ESP + 24), *(uint32_t*)(R_ESP + 28), *(void**)(R_ESP + 32)); }
void pFpupupuuu(x86emu_t *emu, uintptr_t fcn) { pFpupupuuu_t fn = (pFpupupuuu_t)fcn; R_EAX=(uintptr_t)fn(*(void**)(R_ESP + 4), *(uint32_t*)(R_ESP + 8), *(void**)(R_ESP + 12), *(uint32_t*)(R_ESP + 16), *(void**)(R_ESP + 20), *(uint32_t*)(R_ESP + 24), *(uint32_t*)(R_ESP + 28), *(uint32_t*)(R_ESP + 32)); }
void pFpdwwWWui(x86emu_t *emu, uintptr_t fcn) { pFpdwwWWui_t fn = (pFpdwwWWui_t)fcn; R_EAX=(uintptr_t)fn(*(void**)(R_ESP + 4), *(double*)(R_ESP + 8), *(int16_t*)(R_ESP + 16), *(int16_t*)(R_ESP + 20), *(uint16_t*)(R_ESP + 24), *(uint16_t*)(R_ESP + 28), *(uint32_t*)(R_ESP + 32), *(int32_t*)(R_ESP + 36)); }
void pFplpppppp(x86emu_t *emu, uintptr_t fcn) { pFplpppppp_t fn = (pFplpppppp_t)fcn; R_EAX=(uintptr_t)fn(*(void**)(R_ESP + 4), *(intptr_t*)(R_ESP + 8), *(void**)(R_ESP + 12), *(void**)(R_ESP + 16), *(void**)(R_ESP + 20), *(void**)(R_ESP + 24), *(void**)(R_ESP + 28), *(void**)(R_ESP + 32)); }
void pFppiiiiii(x86emu_t *emu, uintptr_t fcn) { pFppiiiiii_t fn = (pFppiiiiii_t)fcn; R_EAX=(uintptr_t)fn(*(void**)(R_ESP + 4), *(void**)(R_ESP + 8), *(int32_t*)(R_ESP + 12), *(int32_t*)(R_ESP + 16), *(int32_t*)(R_ESP + 20), *(int32_t*)(R_ESP + 24), *(int32_t*)(R_ESP + 28), *(int32_t*)(R_ESP + 32)); }

View File

@ -1472,6 +1472,7 @@ void pFppiiipp(x86emu_t *emu, uintptr_t fnc);
void pFppiiCCC(x86emu_t *emu, uintptr_t fnc);
void pFppiippp(x86emu_t *emu, uintptr_t fnc);
void pFppipipp(x86emu_t *emu, uintptr_t fnc);
void pFppuuuuu(x86emu_t *emu, uintptr_t fnc);
void pFppuuppp(x86emu_t *emu, uintptr_t fnc);
void pFppLiiip(x86emu_t *emu, uintptr_t fnc);
void pFppLipip(x86emu_t *emu, uintptr_t fnc);
@ -1588,6 +1589,7 @@ void pFpiiiiiuu(x86emu_t *emu, uintptr_t fnc);
void pFpipppppp(x86emu_t *emu, uintptr_t fnc);
void pFpWWiCpup(x86emu_t *emu, uintptr_t fnc);
void pFpuuuupup(x86emu_t *emu, uintptr_t fnc);
void pFpupupuuu(x86emu_t *emu, uintptr_t fnc);
void pFpdwwWWui(x86emu_t *emu, uintptr_t fnc);
void pFplpppppp(x86emu_t *emu, uintptr_t fnc);
void pFppiiiiii(x86emu_t *emu, uintptr_t fnc);

102
src/wrapped/wrappedlcms2.c Executable file
View File

@ -0,0 +1,102 @@
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define _GNU_SOURCE /* See feature_test_macros(7) */
#include <dlfcn.h>
#include "wrappedlibs.h"
#include "debug.h"
#include "wrapper.h"
#include "bridge.h"
#include "librarian/library_private.h"
#include "x86emu.h"
#include "emu/x86emu_private.h"
#include "box86context.h"
#include "librarian.h"
#include "callback.h"
const char* lcms2Name = "liblcms2.so.2";
#define LIBNAME lcms2
static library_t* my_lib = NULL;
typedef void (*vFp_t) (void*);
#define SUPER() \
GO(cmsSetLogErrorHandler, vFp_t) \
typedef struct lcms2_my_s {
// functions
#define GO(A, B) B A;
SUPER()
#undef GO
} lcms2_my_t;
void* getLcms2My(library_t* lib)
{
lcms2_my_t* my = (lcms2_my_t*)calloc(1, sizeof(lcms2_my_t));
#define GO(A, W) my->A = (W)dlsym(lib->priv.w.lib, #A);
SUPER()
#undef GO
return my;
}
#undef SUPER
void freeLcms2My(void* lib)
{
//lcms2_my_t *my = (lcms2_my_t *)lib;
}
#define SUPER() \
GO(0) \
GO(1) \
GO(2) \
GO(3) \
GO(4)
// cmsLogErrorHandlerFunction ...
#define GO(A) \
static uintptr_t my_cmsLogErrorHandlerFunction_fct_##A = 0; \
static void my_cmsLogErrorHandlerFunction_##A(void* a, uint32_t b, void* c) \
{ \
RunFunction(my_context, my_cmsLogErrorHandlerFunction_fct_##A, 3, a, b, c); \
}
SUPER()
#undef GO
static void* find_cmsLogErrorHandlerFunction_Fct(void* fct)
{
if(!fct) return fct;
if(GetNativeFnc((uintptr_t)fct)) return GetNativeFnc((uintptr_t)fct);
#define GO(A) if(my_cmsLogErrorHandlerFunction_fct_##A == (uintptr_t)fct) return my_cmsLogErrorHandlerFunction_##A;
SUPER()
#undef GO
#define GO(A) if(my_cmsLogErrorHandlerFunction_fct_##A == 0) {my_cmsLogErrorHandlerFunction_fct_##A = (uintptr_t)fct; return my_cmsLogErrorHandlerFunction_##A; }
SUPER()
#undef GO
printf_log(LOG_NONE, "Warning, no more slot for liblcms2 cmsLogErrorHandlerFunction callback\n");
return NULL;
}
#undef SUPER
EXPORT void my_cmsSetLogErrorHandler(x86emu_t* emu, void* f)
{
lcms2_my_t* my = (lcms2_my_t*)my_lib->priv.w.p2;
my->cmsSetLogErrorHandler(find_cmsLogErrorHandlerFunction_Fct(f));
}
#define PRE_INIT \
if(box86_nogtk) \
return -1;
#define CUSTOM_INIT \
lib->priv.w.p2 = getLcms2My(lib); \
my_lib = lib;
#define CUSTOM_FINI \
freeLcms2My(lib->priv.w.p2); \
free(lib->priv.w.p2); \
my_lib = NULL;
#include "wrappedlib_init.h"

View File

@ -0,0 +1,453 @@
#if !(defined(GO) && defined(GOM) && defined(GO2) && defined(DATA))
#error meh!
#endif
//DATAB(__bss_end__,
//DATAB(_bss_end__,
//DATAB(__bss_start,
//DATAB(__bss_start__,
//GO(_cms15Fixed16toDouble,
//GO(_cms8Fixed8toDouble,
//GO(_cmsAdaptationMatrix,
//DATA(_cmsAdaptationStateChunk,
//GO(cmsAdaptToIlluminant,
//GO(_cmsAdjustEndianess16,
//GO(_cmsAdjustEndianess32,
//GO(_cmsAdjustEndianess64,
//DATA(_cmsAlarmCodesChunk,
//GO(_cmsAllocAdaptationStateChunk,
//GO(_cmsAllocAlarmCodesChunk,
//GO(_cmsAllocCurvesPluginChunk,
//GO(_cmsAllocFormattersPluginChunk,
//GO(_cmsAllocIntentsPluginChunk,
//GO(_cmsAllocInterpPluginChunk,
//GO(_cmsAllocLogErrorChunk,
//GO(_cmsAllocMemPluginChunk,
//GO(_cmsAllocMPETypePluginChunk,
//GO(_cmsAllocMutexPluginChunk,
//GO(cmsAllocNamedColorList,
//GO(_cmsAllocOptimizationPluginChunk,
//GO(cmsAllocProfileSequenceDescription,
//GO(_cmsAllocTagPluginChunk,
//GO(_cmsAllocTagTypePluginChunk,
//GO(_cmsAllocTransformPluginChunk,
//GO(cmsAppendNamedColor,
//GO(cmsBFDdeltaE,
//GO(cmsBuildGamma,
//GO(_cmsBuildKToneCurve,
//GO(cmsBuildParametricToneCurve,
//GO(_cmsBuildRGB2XYZtransferMatrix,
//GO(cmsBuildSegmentedToneCurve,
//GO(cmsBuildTabulatedToneCurve16,
//GO(cmsBuildTabulatedToneCurveFloat,
//GO(_cmsCalloc,
//GO(_cmsChain2Lab,
GO(cmsChangeBuffersFormat, iFpuu)
//GO(cmsChannelsOf,
//GO(cmsCIE2000DeltaE,
//GO(cmsCIE94DeltaE,
//GO(cmsCIECAM02Done,
//GO(cmsCIECAM02Forward,
//GO(cmsCIECAM02Init,
//GO(cmsCIECAM02Reverse,
//GO(cmsCloseIOhandler,
GO(cmsCloseProfile, iFp)
//GO(cmsCMCdeltaE,
//GO(_cmsCompileProfileSequence,
//GO(_cmsComputeInterpParams,
//GO(_cmsComputeInterpParamsEx,
//GO(_cmsContextGetClientChunk,
//GO(cmsCreateBCHSWabstractProfile,
//GO(cmsCreateBCHSWabstractProfileTHR,
//GO(cmsCreateContext,
//GO(cmsCreateExtendedTransform,
//GO(_cmsCreateGamutCheckPipeline,
//GO(cmsCreateGrayProfile,
//GO(cmsCreateGrayProfileTHR,
//GO(cmsCreateInkLimitingDeviceLink,
//GO(cmsCreateInkLimitingDeviceLinkTHR,
//GO(cmsCreateLab2Profile,
//GO(cmsCreateLab2ProfileTHR,
//GO(cmsCreateLab4Profile,
//GO(cmsCreateLab4ProfileTHR,
//GO(cmsCreateLinearizationDeviceLink,
//GO(cmsCreateLinearizationDeviceLinkTHR,
GO(cmsCreateMultiprofileTransform, pFpupupuuu)
//GO(cmsCreateMultiprofileTransformTHR,
//GO(_cmsCreateMutex,
//GO(cmsCreateNULLProfile,
//GO(cmsCreateNULLProfileTHR,
//GO(cmsCreateProfilePlaceholder,
GO(cmsCreateProofingTransform, pFppuuuuu)
//GO(cmsCreateProofingTransformTHR,
//GO(cmsCreateRGBProfile,
//GO(cmsCreateRGBProfileTHR,
GO(cmsCreate_sRGBProfile, pFv)
//GO(cmsCreate_sRGBProfileTHR,
//GO(_cmsCreateSubAlloc,
//GO(cmsCreateTransform,
//GO(cmsCreateTransformTHR,
//GO(cmsCreateXYZProfile,
//GO(cmsCreateXYZProfileTHR,
//DATAB(_cmsCurvesPluginChunk,
//GO(cmsD50_xyY,
//GO(cmsD50_XYZ,
//GO(_cmsDecodeDateTimeNumber,
//GO(_cmsDefaultICCintents,
//GO(cmsDeleteContext,
GO(cmsDeleteTransform, vFp)
//GO(cmsDeltaE,
//GO(cmsDesaturateLab,
//GO(_cmsDestroyMutex,
//GO(cmsDetectBlackPoint,
//GO(cmsDetectDestinationBlackPoint,
//GO(cmsDetectTAC,
//GO(cmsDictAddEntry,
//GO(cmsDictAlloc,
//GO(cmsDictDup,
//GO(cmsDictFree,
//GO(cmsDictGetEntryList,
//GO(cmsDictNextEntry,
GO(cmsDoTransform, vFpppu)
//GO(cmsDoTransformLineStride,
//GO(cmsDoTransformStride,
//GO(_cmsDoubleTo15Fixed16,
//GO(_cmsDoubleTo8Fixed8,
//GO(cmsDupContext,
//GO(_cmsDupMem,
//GO(cmsDupNamedColorList,
//GO(cmsDupProfileSequenceDescription,
//GO(cmsDupToneCurve,
//GO(_cmsEncodeDateTimeNumber,
//GO(_cmsEndPointsBySpace,
//GO(cmsEstimateGamma,
//GO(cmsEvalToneCurve16,
//GO(cmsEvalToneCurveFloat,
//GO(cmsfilelength,
//GO(_cmsFloat2Half,
//GO(cmsFloat2LabEncoded,
//GO(cmsFloat2LabEncodedV2,
//GO(cmsFloat2XYZEncoded,
//GO(cmsFormatterForColorspaceOfProfile,
//GO(cmsFormatterForPCSOfProfile,
//GO(_cmsFormatterIs8bit,
//GO(_cmsFormatterIsFloat,
//DATAB(_cmsFormattersPluginChunk,
//GO(_cmsFree,
//GO(_cmsFreeInterpParams,
//GO(cmsFreeNamedColorList,
//GO(cmsFreeProfileSequenceDescription,
//GO(cmsFreeToneCurve,
//GO(cmsFreeToneCurveTriple,
//GO(cmsGBDAlloc,
//GO(cmsGBDFree,
//GO(cmsGDBAddPoint,
//GO(cmsGDBCheckPoint,
//GO(cmsGDBCompute,
//GO(cmsGetAlarmCodes,
//GO(cmsGetAlarmCodesTHR,
//GO(cmsGetColorSpace,
//GO(_cmsGetContext,
//GO(cmsGetContextUserData,
//GO(cmsGetDeviceClass,
//GO(cmsGetEncodedCMMversion,
//GO(cmsGetEncodedICCversion,
//GO(_cmsGetFormatter,
//GO(cmsGetHeaderAttributes,
//GO(cmsGetHeaderCreationDateTime,
//GO(cmsGetHeaderCreator,
//GO(cmsGetHeaderFlags,
//GO(cmsGetHeaderManufacturer,
//GO(cmsGetHeaderModel,
//GO(cmsGetHeaderProfileID,
//GO(cmsGetHeaderRenderingIntent,
//GO(cmsGetNamedColorList,
//GO(cmsGetPCS,
//GO(cmsGetPipelineContextID,
//GO(cmsGetPostScriptColorResource,
//GO(cmsGetPostScriptCRD,
//GO(cmsGetPostScriptCSA,
//GO(cmsGetProfileContextID,
//GO(cmsGetProfileInfo,
//GO(cmsGetProfileInfoASCII,
//GO(cmsGetProfileIOhandler,
//GO(cmsGetProfileVersion,
//GO(cmsGetSupportedIntents,
//GO(cmsGetSupportedIntentsTHR,
GO(cmsGetTagCount, iFp)
//GO(_cmsGetTagDescriptor,
GO(cmsGetTagSignature, iFpu)
//GO(_cmsGetTagTrueType,
//GO(_cmsGetTagTypeHandler,
//GO(cmsGetToneCurveEstimatedTable,
//GO(cmsGetToneCurveEstimatedTableEntries,
//GO(cmsGetToneCurveParametricType,
//GO(cmsGetTransformContextID,
//GO(_cmsGetTransformFormatters16,
//GO(_cmsGetTransformFormattersFloat,
//GO(cmsGetTransformInputFormat,
//GO(cmsGetTransformOutputFormat,
//GO(_cmsGetTransformUserData,
//GO(_cmsHalf2Float,
//GO(_cmsHandleExtraChannels,
//GO(_cmsICCcolorSpace,
//GO(_cmsInstallAllocFunctions,
//DATAB(_cmsIntentsPluginChunk,
//DATAB(_cmsInterpPluginChunk,
//GO(_cmsIOPrintf,
//GO(cmsIsCLUT,
//GO(cmsIsIntentSupported,
//GO(cmsIsMatrixShaper,
GO(cmsIsTag, iFpi)
//GO(cmsIsToneCurveDescending,
//GO(cmsIsToneCurveLinear,
//GO(cmsIsToneCurveMonotonic,
//GO(cmsIsToneCurveMultisegment,
//GO(cmsIT8Alloc,
//GO(cmsIT8DefineDblFormat,
//GO(cmsIT8EnumDataFormat,
//GO(cmsIT8EnumProperties,
//GO(cmsIT8EnumPropertyMulti,
//GO(cmsIT8FindDataFormat,
//GO(cmsIT8Free,
//GO(cmsIT8GetData,
//GO(cmsIT8GetDataDbl,
//GO(cmsIT8GetDataRowCol,
//GO(cmsIT8GetDataRowColDbl,
//GO(cmsIT8GetPatchByName,
//GO(cmsIT8GetPatchName,
//GO(cmsIT8GetProperty,
//GO(cmsIT8GetPropertyDbl,
//GO(cmsIT8GetPropertyMulti,
//GO(cmsIT8GetSheetType,
//GO(cmsIT8LoadFromFile,
//GO(cmsIT8LoadFromMem,
//GO(cmsIT8SaveToFile,
//GO(cmsIT8SaveToMem,
//GO(cmsIT8SetComment,
//GO(cmsIT8SetData,
//GO(cmsIT8SetDataDbl,
//GO(cmsIT8SetDataFormat,
//GO(cmsIT8SetDataRowCol,
//GO(cmsIT8SetDataRowColDbl,
//GO(cmsIT8SetIndexColumn,
//GO(cmsIT8SetPropertyDbl,
//GO(cmsIT8SetPropertyHex,
//GO(cmsIT8SetPropertyMulti,
//GO(cmsIT8SetPropertyStr,
//GO(cmsIT8SetPropertyUncooked,
//GO(cmsIT8SetSheetType,
//GO(cmsIT8SetTable,
//GO(cmsIT8SetTableByLabel,
//GO(cmsIT8TableCount,
//GO(cmsJoinToneCurve,
//GO(cmsLab2LCh,
//GO(cmsLab2XYZ,
//GO(cmsLabEncoded2Float,
//GO(cmsLabEncoded2FloatV2,
//GO(cmsLCh2Lab,
//GO(_cmsLCMScolorSpace,
//GO(_cmsLinkProfiles,
//GO(cmsLinkTag,
//GO(_cmsLockMutex,
//DATA(_cmsLogErrorChunk,
//GO(_cmsMalloc,
//GO(_cmsMallocZero,
//GO(_cmsMAT3eval,
//GO(_cmsMAT3identity,
//GO(_cmsMAT3inverse,
//GO(_cmsMAT3isIdentity,
//GO(_cmsMAT3per,
//GO(_cmsMAT3solve,
//GO(cmsMD5computeID,
//DATA(_cmsMemPluginChunk,
//GO(cmsMLUalloc,
//GO(cmsMLUdup,
//GO(cmsMLUfree,
//GO(cmsMLUgetASCII,
//GO(cmsMLUgetTranslation,
//GO(cmsMLUgetWide,
//GO(cmsMLUsetASCII,
//GO(cmsMLUsetWide,
//GO(cmsMLUtranslationsCodes,
//GO(cmsMLUtranslationsCount,
//DATAB(_cmsMPETypePluginChunk,
//DATA(_cmsMutexPluginChunk,
//GO(cmsNamedColorCount,
//GO(cmsNamedColorIndex,
//GO(cmsNamedColorInfo,
//GO(cmsOpenIOhandlerFromFile,
//GO(cmsOpenIOhandlerFromMem,
//GO(cmsOpenIOhandlerFromNULL,
//GO(cmsOpenIOhandlerFromStream,
//GO(cmsOpenProfileFromFile,
//GO(cmsOpenProfileFromFileTHR,
//GO(cmsOpenProfileFromIOhandler2THR,
//GO(cmsOpenProfileFromIOhandlerTHR,
GO(cmsOpenProfileFromMem, pFpu)
//GO(cmsOpenProfileFromMemTHR,
//GO(cmsOpenProfileFromStream,
//GO(cmsOpenProfileFromStreamTHR,
//DATAB(_cmsOptimizationPluginChunk,
//GO(_cmsOptimizePipeline,
//GO(cmsPipelineAlloc,
//GO(cmsPipelineCat,
//GO(cmsPipelineCheckAndRetreiveStages,
//GO(cmsPipelineDup,
//GO(cmsPipelineEval16,
//GO(cmsPipelineEvalFloat,
//GO(cmsPipelineEvalReverseFloat,
//GO(cmsPipelineFree,
//GO(cmsPipelineGetPtrToFirstStage,
//GO(cmsPipelineGetPtrToLastStage,
//GO(cmsPipelineInputChannels,
//GO(cmsPipelineInsertStage,
//GO(cmsPipelineOutputChannels,
//GO(_cmsPipelineSetOptimizationParameters,
//GO(cmsPipelineSetSaveAs8bitsFlag,
//GO(cmsPipelineStageCount,
//GO(cmsPipelineUnlinkStage,
//GO(cmsPlugin,
//GO(_cmsPluginMalloc,
//GO(cmsPluginTHR,
//GO(_cmsQuantizeVal,
//GO(_cmsRead15Fixed16Number,
//GO(_cmsReadAlignment,
//GO(_cmsReadCHAD,
//GO(_cmsReadDevicelinkLUT,
//GO(_cmsReadFloat32Number,
//GO(_cmsReadHeader,
//GO(_cmsReadInputLUT,
//GO(_cmsReadMediaWhitePoint,
//GO(_cmsReadOutputLUT,
//GO(_cmsReadProfileSequence,
//GO(cmsReadRawTag,
//GO(cmsReadTag,
//GO(_cmsReadTypeBase,
//GO(_cmsReadUInt16Array,
//GO(_cmsReadUInt16Number,
//GO(_cmsReadUInt32Number,
//GO(_cmsReadUInt64Number,
//GO(_cmsReadUInt8Number,
//GO(_cmsReadXYZNumber,
//GO(_cmsRealloc,
//GO(_cmsReasonableGridpointsByColorspace,
//GO(_cmsRegisterFormattersPlugin,
//GO(_cmsRegisterInterpPlugin,
//GO(_cmsRegisterMemHandlerPlugin,
//GO(_cmsRegisterMultiProcessElementPlugin,
//GO(_cmsRegisterMutexPlugin,
//GO(_cmsRegisterOptimizationPlugin,
//GO(_cmsRegisterParametricCurvesPlugin,
//GO(_cmsRegisterRenderingIntentPlugin,
//GO(_cmsRegisterTagPlugin,
//GO(_cmsRegisterTagTypePlugin,
//GO(_cmsRegisterTransformPlugin,
//GO(cmsReverseToneCurve,
//GO(cmsReverseToneCurveEx,
//GO(cmsSaveProfileToFile,
//GO(cmsSaveProfileToIOhandler,
//GO(cmsSaveProfileToMem,
//GO(cmsSaveProfileToStream,
//GO(_cmsSearchTag,
//GO(cmsSetAdaptationState,
//GO(cmsSetAdaptationStateTHR,
//GO(cmsSetAlarmCodes,
//GO(cmsSetAlarmCodesTHR,
//GO(cmsSetColorSpace,
//GO(cmsSetDeviceClass,
//GO(cmsSetEncodedICCversion,
//GO(cmsSetHeaderAttributes,
//GO(cmsSetHeaderFlags,
//GO(cmsSetHeaderManufacturer,
//GO(cmsSetHeaderModel,
//GO(cmsSetHeaderProfileID,
//GO(cmsSetHeaderRenderingIntent,
//GO(_cmsSetInterpolationRoutine,
GOM(cmsSetLogErrorHandler, vFEp)
//GO(cmsSetLogErrorHandlerTHR,
//GO(cmsSetPCS,
//GO(cmsSetProfileVersion,
//GO(_cmsSetTransformUserData,
//GO(cmsSignalError,
//GO(cmsSliceSpace16,
//GO(cmsSliceSpaceFloat,
//GO(cmsSmoothToneCurve,
//GO(cmsStageAllocCLut16bit,
//GO(cmsStageAllocCLut16bitGranular,
//GO(cmsStageAllocCLutFloat,
//GO(cmsStageAllocCLutFloatGranular,
//GO(cmsStageAllocIdentity,
//GO(_cmsStageAllocIdentityCLut,
//GO(_cmsStageAllocIdentityCurves,
//GO(_cmsStageAllocLab2XYZ,
//GO(_cmsStageAllocLabPrelin,
//GO(_cmsStageAllocLabV2ToV4,
//GO(_cmsStageAllocLabV2ToV4curves,
//GO(_cmsStageAllocLabV4ToV2,
//GO(cmsStageAllocMatrix,
//GO(_cmsStageAllocNamedColor,
//GO(_cmsStageAllocPlaceholder,
//GO(cmsStageAllocToneCurves,
//GO(_cmsStageAllocXYZ2Lab,
//GO(_cmsStageClipNegatives,
//GO(cmsStageData,
//GO(cmsStageDup,
//GO(cmsStageFree,
//GO(_cmsStageGetPtrToCurveSet,
//GO(cmsStageInputChannels,
//GO(cmsStageNext,
//GO(_cmsStageNormalizeFromLabFloat,
//GO(_cmsStageNormalizeFromXyzFloat,
//GO(_cmsStageNormalizeToLabFloat,
//GO(_cmsStageNormalizeToXyzFloat,
//GO(cmsStageOutputChannels,
//GO(cmsStageSampleCLut16bit,
//GO(cmsStageSampleCLutFloat,
//GO(cmsStageType,
//GO(cmsstrcasecmp,
//GO(_cmsSubAlloc,
//GO(_cmsSubAllocDestroy,
//GO(_cmsSubAllocDup,
GO(cmsTagLinkedTo, iFpi)
//DATAB(_cmsTagPluginChunk,
//GO(_cmsTagSignature2String,
//DATAB(_cmsTagTypePluginChunk,
//GO(cmsTempFromWhitePoint,
//GO(cmsTransform2DeviceLink,
//DATAB(_cmsTransformPluginChunk,
//GO(_cmsUnlockMutex,
//GO(cmsUnregisterPlugins,
//GO(cmsUnregisterPluginsTHR,
//GO(_cmsVEC3cross,
//GO(_cmsVEC3distance,
//GO(_cmsVEC3dot,
//GO(_cmsVEC3init,
//GO(_cmsVEC3length,
//GO(_cmsVEC3minus,
//GO(cmsWhitePointFromTemp,
//GO(_cmsWrite15Fixed16Number,
//GO(_cmsWriteAlignment,
//GO(_cmsWriteFloat32Number,
//GO(_cmsWriteHeader,
//GO(_cmsWriteProfileSequence,
//GO(cmsWriteRawTag,
//GO(cmsWriteTag,
//GO(_cmsWriteTypeBase,
//GO(_cmsWriteUInt16Array,
//GO(_cmsWriteUInt16Number,
//GO(_cmsWriteUInt32Number,
//GO(_cmsWriteUInt64Number,
//GO(_cmsWriteUInt8Number,
//GO(_cmsWriteXYZNumber,
//GO(cmsxyY2XYZ,
//GO(cmsXYZ2Lab,
//GO(cmsXYZ2xyY,
//GO(cmsXYZEncoded2Float,
//DATA(_edata,
//DATAB(_end,
//DATAB(__end__,
//GO(_fini,
//GO(from16toDBL,
//GO(from16toFLT,
//GO(_init,