diff options
Diffstat (limited to 'src')
| -rwxr-xr-x | src/library_list.h | 2 | ||||
| -rw-r--r-- | src/wrapped/generated/functions_list.txt | 6 | ||||
| -rw-r--r-- | src/wrapped/generated/wrappedxsltdefs.h | 8 | ||||
| -rw-r--r-- | src/wrapped/generated/wrappedxslttypes.h | 21 | ||||
| -rw-r--r-- | src/wrapped/generated/wrappedxsltundefs.h | 8 | ||||
| -rw-r--r-- | src/wrapped/generated/wrapper.c | 3 | ||||
| -rw-r--r-- | src/wrapped/generated/wrapper.h | 1 | ||||
| -rwxr-xr-x | src/wrapped/wrappedxslt.c | 135 | ||||
| -rwxr-xr-x | src/wrapped/wrappedxslt_private.h | 247 |
9 files changed, 430 insertions, 1 deletions
diff --git a/src/library_list.h b/src/library_list.h index e25b8d88..be2a909d 100755 --- a/src/library_list.h +++ b/src/library_list.h @@ -154,7 +154,7 @@ GO("libcups.so.2", libcups) //GO("libvulkan.so", vulkan) //GO("libwayland-client.so.0", waylandclient) GO("libxml2.so.2", xml2) -//GO("libxslt.so.1", xslt) +GO("libxslt.so.1", xslt) GO("libldap_r-2.4.so.2", ldapr) GO("liblber-2.4.so.2", lber) //GO("libnsl.so.1", nsl) diff --git a/src/wrapped/generated/functions_list.txt b/src/wrapped/generated/functions_list.txt index a0109dde..3b5fe1ff 100644 --- a/src/wrapped/generated/functions_list.txt +++ b/src/wrapped/generated/functions_list.txt @@ -725,6 +725,7 @@ #() iFppui #() iFppuu #() iFppup +#() iFppdp #() iFppll #() iFpplp #() iFppLi @@ -3461,3 +3462,8 @@ wrappedxml2: - xmlHashUpdateEntry3 - pFpppppi: - xmlCreateIOParserCtxt +wrappedxslt: +- vFp: + - xsltSetLoaderFunc +- iFppp: + - xsltRegisterExtModuleFunction diff --git a/src/wrapped/generated/wrappedxsltdefs.h b/src/wrapped/generated/wrappedxsltdefs.h new file mode 100644 index 00000000..f7f387eb --- /dev/null +++ b/src/wrapped/generated/wrappedxsltdefs.h @@ -0,0 +1,8 @@ +/******************************************************************* + * File automatically generated by rebuild_wrappers.py (v2.1.0.16) * + *******************************************************************/ +#ifndef __wrappedxsltDEFS_H_ +#define __wrappedxsltDEFS_H_ + + +#endif // __wrappedxsltDEFS_H_ diff --git a/src/wrapped/generated/wrappedxslttypes.h b/src/wrapped/generated/wrappedxslttypes.h new file mode 100644 index 00000000..e5700bce --- /dev/null +++ b/src/wrapped/generated/wrappedxslttypes.h @@ -0,0 +1,21 @@ +/******************************************************************* + * File automatically generated by rebuild_wrappers.py (v2.1.0.16) * + *******************************************************************/ +#ifndef __wrappedxsltTYPES_H_ +#define __wrappedxsltTYPES_H_ + +#ifndef LIBNAME +#error You should only #include this file inside a wrapped*.c file +#endif +#ifndef ADDED_FUNCTIONS +#define ADDED_FUNCTIONS() +#endif + +typedef void (*vFp_t)(void*); +typedef int64_t (*iFppp_t)(void*, void*, void*); + +#define SUPER() ADDED_FUNCTIONS() \ + GO(xsltSetLoaderFunc, vFp_t) \ + GO(xsltRegisterExtModuleFunction, iFppp_t) + +#endif // __wrappedxsltTYPES_H_ diff --git a/src/wrapped/generated/wrappedxsltundefs.h b/src/wrapped/generated/wrappedxsltundefs.h new file mode 100644 index 00000000..8fdeaa7a --- /dev/null +++ b/src/wrapped/generated/wrappedxsltundefs.h @@ -0,0 +1,8 @@ +/******************************************************************* + * File automatically generated by rebuild_wrappers.py (v2.1.0.16) * + *******************************************************************/ +#ifndef __wrappedxsltUNDEFS_H_ +#define __wrappedxsltUNDEFS_H_ + + +#endif // __wrappedxsltUNDEFS_H_ diff --git a/src/wrapped/generated/wrapper.c b/src/wrapped/generated/wrapper.c index 8f7b19f5..2e073166 100644 --- a/src/wrapped/generated/wrapper.c +++ b/src/wrapped/generated/wrapper.c @@ -759,6 +759,7 @@ typedef int64_t (*iFppuw_t)(void*, void*, uint64_t, int16_t); typedef int64_t (*iFppui_t)(void*, void*, uint64_t, int64_t); typedef int64_t (*iFppuu_t)(void*, void*, uint64_t, uint64_t); typedef int64_t (*iFppup_t)(void*, void*, uint64_t, void*); +typedef int64_t (*iFppdp_t)(void*, void*, double, void*); typedef int64_t (*iFppll_t)(void*, void*, intptr_t, intptr_t); typedef int64_t (*iFpplp_t)(void*, void*, intptr_t, void*); typedef int64_t (*iFppLi_t)(void*, void*, uintptr_t, int64_t); @@ -2657,6 +2658,7 @@ void iFppuw(x64emu_t *emu, uintptr_t fcn) { iFppuw_t fn = (iFppuw_t)fcn; R_RAX=( void iFppui(x64emu_t *emu, uintptr_t fcn) { iFppui_t fn = (iFppui_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (uint64_t)R_RDX, (int64_t)R_RCX); } void iFppuu(x64emu_t *emu, uintptr_t fcn) { iFppuu_t fn = (iFppuu_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (uint64_t)R_RDX, (uint64_t)R_RCX); } void iFppup(x64emu_t *emu, uintptr_t fcn) { iFppup_t fn = (iFppup_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (uint64_t)R_RDX, (void*)R_RCX); } +void iFppdp(x64emu_t *emu, uintptr_t fcn) { iFppdp_t fn = (iFppdp_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, emu->xmm[0].d[0], (void*)R_RDX); } void iFppll(x64emu_t *emu, uintptr_t fcn) { iFppll_t fn = (iFppll_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (intptr_t)R_RDX, (intptr_t)R_RCX); } void iFpplp(x64emu_t *emu, uintptr_t fcn) { iFpplp_t fn = (iFpplp_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (intptr_t)R_RDX, (void*)R_RCX); } void iFppLi(x64emu_t *emu, uintptr_t fcn) { iFppLi_t fn = (iFppLi_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (int64_t)R_RCX); } @@ -4457,6 +4459,7 @@ int isSimpleWrapper(wrapper_t fun) { if (fun == &iFppui) return 1; if (fun == &iFppuu) return 1; if (fun == &iFppup) return 1; + if (fun == &iFppdp) return 2; if (fun == &iFppll) return 1; if (fun == &iFpplp) return 1; if (fun == &iFppLi) return 1; diff --git a/src/wrapped/generated/wrapper.h b/src/wrapped/generated/wrapper.h index ca23a0aa..8e3b9676 100644 --- a/src/wrapped/generated/wrapper.h +++ b/src/wrapped/generated/wrapper.h @@ -758,6 +758,7 @@ void iFppuw(x64emu_t *emu, uintptr_t fnc); void iFppui(x64emu_t *emu, uintptr_t fnc); void iFppuu(x64emu_t *emu, uintptr_t fnc); void iFppup(x64emu_t *emu, uintptr_t fnc); +void iFppdp(x64emu_t *emu, uintptr_t fnc); void iFppll(x64emu_t *emu, uintptr_t fnc); void iFpplp(x64emu_t *emu, uintptr_t fnc); void iFppLi(x64emu_t *emu, uintptr_t fnc); diff --git a/src/wrapped/wrappedxslt.c b/src/wrapped/wrappedxslt.c new file mode 100755 index 00000000..a3aff7df --- /dev/null +++ b/src/wrapped/wrappedxslt.c @@ -0,0 +1,135 @@ +#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 "x64emu.h" +#include "emu/x64emu_private.h" +#include "box64context.h" +#include "librarian.h" +#include "callback.h" + +const char *xsltName = +#ifdef ANDROID + "libxslt.so" +#else + "libxslt.so.1" +#endif + ; +#define LIBNAME xslt +static library_t *my_lib = NULL; + +typedef void (*vFp_t) (void*); +typedef int (*iFppp_t) (void*, void*, void*); + +#define SUPER() \ + GO(xsltRegisterExtModuleFunction, iFppp_t) \ + GO(xsltSetLoaderFunc, vFp_t) \ + +typedef struct xslt_my_s { + // functions + #define GO(A, B) B A; + SUPER() + #undef GO +} xslt_my_t; + +void* getXsltMy(library_t* lib) +{ + xslt_my_t* my = (xslt_my_t*)calloc(1, sizeof(xslt_my_t)); + #define GO(A, W) my->A = (W)dlsym(lib->priv.w.lib, #A); + SUPER() + #undef GO + return my; +} +#undef SUPER + +void freeXsltMy(void* lib) +{ + //xslt_my_t *my = (xslt_my_t *)lib; +} + +#define SUPER() \ +GO(0) \ +GO(1) \ +GO(2) \ +GO(3) \ +GO(4) + +// xmlXPathFunction ... +#define GO(A) \ +static uintptr_t my_xmlXPathFunction_fct_##A = 0; \ +static void my_xmlXPathFunction_##A(void* a, int b) \ +{ \ + RunFunction(my_context, my_xmlXPathFunction_fct_##A, 2, a, b); \ +} +SUPER() +#undef GO +static void* find_xmlXPathFunction_Fct(void* fct) +{ + if(!fct) return fct; + if(GetNativeFnc((uintptr_t)fct)) return GetNativeFnc((uintptr_t)fct); + #define GO(A) if(my_xmlXPathFunction_fct_##A == (uintptr_t)fct) return my_xmlXPathFunction_##A; + SUPER() + #undef GO + #define GO(A) if(my_xmlXPathFunction_fct_##A == 0) {my_xmlXPathFunction_fct_##A = (uintptr_t)fct; return my_xmlXPathFunction_##A; } + SUPER() + #undef GO + printf_log(LOG_NONE, "Warning, no more slot for libxslt xmlXPathFunction callback\n"); + return NULL; +} +// xsltDocLoaderFunc ... +#define GO(A) \ +static uintptr_t my_xsltDocLoaderFunc_fct_##A = 0; \ +static void* my_xsltDocLoaderFunc_##A(void* a, void* b, int c, void* d, int e) \ +{ \ + return (void*)RunFunction(my_context, my_xsltDocLoaderFunc_fct_##A, 5, a, b, c, d, e); \ +} +SUPER() +#undef GO +static void* find_xsltDocLoaderFunc_Fct(void* fct) +{ + if(!fct) return fct; + if(GetNativeFnc((uintptr_t)fct)) return GetNativeFnc((uintptr_t)fct); + #define GO(A) if(my_xsltDocLoaderFunc_fct_##A == (uintptr_t)fct) return my_xsltDocLoaderFunc_##A; + SUPER() + #undef GO + #define GO(A) if(my_xsltDocLoaderFunc_fct_##A == 0) {my_xsltDocLoaderFunc_fct_##A = (uintptr_t)fct; return my_xsltDocLoaderFunc_##A; } + SUPER() + #undef GO + printf_log(LOG_NONE, "Warning, no more slot for libxslt xsltDocLoaderFunc callback\n"); + return NULL; +} + +#undef SUPER + +EXPORT int my_xsltRegisterExtModuleFunction(x64emu_t* emu, void* name, void* URI, void* f) +{ + xslt_my_t* my = (xslt_my_t*)my_lib->priv.w.p2; + + return my->xsltRegisterExtModuleFunction(name, URI, find_xmlXPathFunction_Fct(f)); +} + +EXPORT void my_xsltSetLoaderFunc(x64emu_t* emu, void* f) +{ + xslt_my_t* my = (xslt_my_t*)my_lib->priv.w.p2; + + my->xsltSetLoaderFunc(find_xsltDocLoaderFunc_Fct(f)); +} + +#define CUSTOM_INIT \ + lib->priv.w.p2 = getXsltMy(lib); \ + my_lib = lib; + +#define CUSTOM_FINI \ + freeXsltMy(lib->priv.w.p2); \ + free(lib->priv.w.p2); \ + my_lib = NULL; + +#include "wrappedlib_init.h" diff --git a/src/wrapped/wrappedxslt_private.h b/src/wrapped/wrappedxslt_private.h new file mode 100755 index 00000000..f769d942 --- /dev/null +++ b/src/wrapped/wrappedxslt_private.h @@ -0,0 +1,247 @@ +#if !(defined(GO) && defined(GOM) && defined(GO2) && defined(DATA)) +#error meh! +#endif + +GO(xslAddCall, iFpp) +GO(xslDropCall, vFv) +GO(xslHandleDebugger, vFpppp) +//GO(xsltAddKey, +GO(xsltAddStackElemList, iFpp) +//GO(xsltAddTemplate, +GO(xsltAllocateExtra, iFp) +GO(xsltAllocateExtraCtxt, iFp) +//GO(xsltApplyAttributeSet, +GO(xsltApplyImports, vFpppp) +GO(xsltApplyOneTemplate, vFppppp) +GO(xsltApplyStripSpaces, vFpp) +GO(xsltApplyStylesheet, pFppp) +GO(xsltApplyStylesheetUser, pFpppppp) +GO(xsltApplyTemplates, vFpppp) +GO(xsltAttribute, vFpppp) +//GO(xsltAttrListTemplateProcess, +//GO(xsltAttrTemplateProcess, +//GO(xsltAttrTemplateValueProcess, +//GO(xsltAttrTemplateValueProcessNode, +GO(xsltCalibrateAdjust, vFl) +GO(xsltCallTemplate, vFpppp) +GO(xsltCheckExtPrefix, iFpp) +GO(xsltCheckExtURI, iFpp) +GO(xsltCheckRead, iFppp) +GO(xsltCheckWrite, iFppp) +GO(xsltChoose, vFpppp) +GO(xsltCleanupGlobals, vFv) +//GO(xsltCleanupTemplates, +GO(xsltComment, vFpppp) +GO(xsltCompileAttr, vFpp) +//GO(xsltCompilePattern, +GO(xsltComputeSortResult, pFpp) +GO(xsltCopy, vFpppp) +//GO(xsltCopyNamespace, +//GO(xsltCopyNamespaceList, +GO(xsltCopyOf, vFpppp) +GO(xsltCopyTextString, pFpppi) +//GO(xsltCopyTree, +GO(xsltCreateRVT, pFp) +GO(xsltDebug, vFpppp) +GO(xsltDebugDumpExtensions, vFp) +GO(xsltDebugGetDefaultTrace, iFv) +GO(xsltDebugSetDefaultTrace, vFi) +GO(xsltDecimalFormatGetByName, pFpp) +GO(xsltDecimalFormatGetByQName, pFppp) +GO(xsltDefaultSortFunction, vFppi) +//GO(xsltDocumentComp, +GO(xsltDocumentElem, vFpppp) +//GO(xsltDocumentFunction, +GO(xsltDocumentSortFunction, vFp) +GO(xsltDoSortFunction, vFppi) +GO(xsltElement, vFpppp) +//GO(xsltElementAvailableFunction, +//GO(xsltEvalAttrValueTemplate, +GO(xsltEvalAVT, pFppp) +GO(xsltEvalGlobalVariables, iFp) +GO(xsltEvalOneUserParam, iFppp) +//GO(xsltEvalStaticAttrValueTemplate, +//GO(xsltEvalTemplateString, +GO(xsltEvalUserParams, iFpp) +//GO(xsltEvalXPathPredicate, +//GO(xsltEvalXPathString, +//GO(xsltEvalXPathStringNs, +//GOM(xsltExtElementLookup, BFEppp) +GO(xsltExtensionInstructionResultFinalize, iFp) +GO(xsltExtensionInstructionResultRegister, iFpp) +//GOM(xsltExtModuleElementLookup, BFEpp) +//GOM(xsltExtModuleElementPreComputeLookup, BFEpp) +//GOM(xsltExtModuleFunctionLookup, BFEpp) +//GOM(xsltExtModuleTopLevelLookup, BFEpp) +GO(xsltFindDocument, pFpp) +GO(xsltFindElemSpaceHandling, iFpp) +GO(xsltFindTemplate, pFppp) +GO(xsltFlagRVTs, iFppp) +GO(xsltForEach, vFpppp) +GO(xsltFormatNumberConversion, iFppdp) +//GO(xsltFormatNumberFunction, +//GO(xsltFreeAttributeSetsHashes, +GO(xsltFreeAVTList, vFp) +//GO(xsltFreeCompMatchList, +GO(xsltFreeCtxtExts, vFp) +//GO(xsltFreeDocumentKeys, +GO(xsltFreeDocuments, vFp) +GO(xsltFreeExts, vFp) +GO(xsltFreeGlobalVariables, vFp) +//GO(xsltFreeKeys, +//GO(xsltFreeLocale, +//GO(xsltFreeNamespaceAliasHashes, +GO(xsltFreeRVTs, vFp) +GO(xsltFreeSecurityPrefs, vFp) +GO(xsltFreeStackElemList, vFp) +GO(xsltFreeStyleDocuments, vFp) +//GO(xsltFreeStylePreComps, +GO(xsltFreeStylesheet, vFp) +//GO(xsltFreeTemplateHashes, +GO(xsltFreeTransformContext, vFp) +//GO(xsltFunctionAvailableFunction, +GO(xsltFunctionNodeSet, vFpi) +//GO(xsltGenerateIdFunction, +GO(xsltGetCNsProp, pFpppp) +GO(xsltGetDebuggerStatus, iFv) +//GO(xsltGetDefaultSecurityPrefs, +GO(xsltGetExtData, pFpp) +GO(xsltGetExtInfo, pFpp) +//GO(xsltGetKey, +//GO(xsltGetNamespace, +GO(xsltGetNsProp, pFppp) +//GO(xsltGetPlainNamespace, +GO(xsltGetProfileInformation, pFp) +GO(xsltGetQNameURI, pFpp) +GO(xsltGetQNameURI2, pFppp) +GO(xsltGetSecurityPrefs, pFpi) +//GO(xsltGetSpecialNamespace, +//GO(xsltGetTemplate, +GO(xsltGetUTF8Char, iFpp) +GO(xsltGetXIncludeDefault, iFv) +GO(xsltIf, vFpppp) +GO(xsltInit, vFv) +GO(xsltInitAllDocKeys, iFp) +GO(xsltInitCtxtExts, iFp) +//GO(xsltInitCtxtKey, +//GO(xsltInitCtxtKeys, +//GOM(xsltInitElemPreComp, vFEpppBB) +GO(xsltInitGlobals, vFv) +GO(xsltIsBlank, iFp) +//GO(xsltKeyFunction, +GO(xsltLoadDocument, pFpp) +GO(xsltLoadStyleDocument, pFpp) +GO(xsltLoadStylesheetPI, pFp) +//GO(xsltLocaleStrcmp, +GO(xsltLocalVariablePop, vFpii) +GO(xsltLocalVariablePush, iFppi) +GO(xsltMessage, vFppp) +//GO(xsltNamespaceAlias, +GO(xsltNeedElemSpaceHandling, iFp) +GO(xsltNewDocument, pFpp) +//GOM(xsltNewElemPreComp, pFEppB) +//GO(xsltNewLocale, +GO(xsltNewSecurityPrefs, pFv) +GO(xsltNewStyleDocument, pFpp) +GO(xsltNewStylesheet, pFv) +GO(xsltNewTransformContext, pFpp) +GO(xsltNextImport, pFp) +//GO(xsltNormalizeCompSteps, +GO(xsltNumber, vFpppp) +GO(xsltNumberFormat, vFppp) +GO(xsltParseAnyXSLTElem, iFpp) +GO(xsltParseGlobalParam, vFpp) +GO(xsltParseGlobalVariable, vFpp) +GO(xsltParseSequenceConstructor, vFpp) +//GO(xsltParseStylesheetAttributeSet, +GO(xsltParseStylesheetCallerParam, pFpp) +GO(xsltParseStylesheetDoc, pFp) +GO(xsltParseStylesheetFile, pFp) +GO(xsltParseStylesheetImport, iFpp) +GO(xsltParseStylesheetImportedDoc, pFpp) +GO(xsltParseStylesheetInclude, iFpp) +GO(xsltParseStylesheetOutput, vFpp) +GO(xsltParseStylesheetParam, vFpp) +GO(xsltParseStylesheetProcess, pFpp) +GO(xsltParseStylesheetVariable, vFpp) +//GO(xsltParseTemplateContent, +GO(xsltPointerListAddSize, iFppi) +GO(xsltPointerListClear, vFp) +GO(xsltPointerListCreate, pFi) +GO(xsltPointerListFree, vFp) +GO(xsltPreComputeExtModuleElement, pFpp) +GO(xsltPrintErrorContext, vFppp) +GO(xsltProcessingInstruction, vFpppp) +GO(xsltProcessOneNode, vFppp) +GO(xsltProfileStylesheet, pFpppp) +GO(xsltQuoteOneUserParam, iFppp) +GO(xsltQuoteUserParams, iFpp) +GO(xsltRegisterAllElement, vFp) +GO(xsltRegisterAllExtras, vFv) +//GO(xsltRegisterAllFunctions, +//GOM(xsltRegisterExtElement, iFEpppB) +//GOM(xsltRegisterExtFunction, iFEpppB) +//GOM(xsltRegisterExtModule, iFEpBB) +//GOM(xsltRegisterExtModuleElement, iFEppBB) +//GOM(xsltRegisterExtModuleFull, iFEpBBBB) +GOM(xsltRegisterExtModuleFunction, iFEppp) +//GOM(xsltRegisterExtModuleTopLevel, iFEppB) +GO(xsltRegisterExtPrefix, iFppp) +GO(xsltRegisterExtras, vFp) +GO(xsltRegisterLocalRVT, iFpp) +GO(xsltRegisterPersistRVT, iFpp) +GO(xsltRegisterTestModule, vFv) +GO(xsltRegisterTmpRVT, iFpp) +GO(xsltReleaseRVT, vFpp) +//GO(xsltResolveStylesheetAttributeSet, +GO(xsltRestoreDocumentNamespaces, iFpp) +GO(xsltRunStylesheet, iFpppppp) +GO(xsltRunStylesheetUser, iFpppppppp) +GO(xsltSaveProfiling, vFpp) +GO(xsltSaveResultTo, iFppp) +GO(xsltSaveResultToFd, iFipp) +GO(xsltSaveResultToFile, iFppp) +GO(xsltSaveResultToFilename, iFpppi) +GO(xsltSaveResultToString, iFpppp) +GO(xsltSecurityAllow, iFppp) +GO(xsltSecurityForbid, iFppp) +GO(xsltSetCtxtParseOptions, iFpi) +GO(xsltSetCtxtSecurityPrefs, iFpp) +//GOM(xsltSetCtxtSortFunc, vFEpB) +//GOM(xsltSetDebuggerCallbacks, iFip) +GO(xsltSetDebuggerStatus, vFi) +GO(xsltSetDefaultSecurityPrefs, vFp) +//GOM(xsltSetGenericDebugFunc, vFEpB) +//GOM(xsltSetGenericErrorFunc, vFEpB) +GOM(xsltSetLoaderFunc, vFEp) +//GOM(xsltSetSecurityPrefs, iFEppB) +//GOM(xsltSetSortFunc, vFEp) +//GO(MxsltSetTransformErrorFunc, vFEppB) +GO(xsltSetXIncludeDefault, vFi) +GO(xsltShutdownCtxtExts, vFp) +GO(xsltShutdownExts, vFp) +GO(xsltSort, vFpppp) +GO(xsltSplitQName, pFppp) +//GO(xsltStrxfrm, +GO(xsltStyleGetExtData, pFpp) +//GO(xsltStylePreCompute, +GO(xsltStyleStylesheetLevelGetExtData, pFpp) +//GO(xsltSystemPropertyFunction, +//GO(xsltTemplateProcess, +//GO(xsltTestCompMatchList, +GO(xsltText, vFpppp) +GO(xsltTimestamp, lFv) +GO(xsltTransformError, vFpppppppppppppppp) //vaarg +GO(xsltUninit, vFv) +//GO(xsltUnparsedEntityURIFunction, +GO(xsltUnregisterExtModule, iFp) +GO(xsltUnregisterExtModuleElement, iFpp) +GO(xsltUnregisterExtModuleFunction, iFpp) +GO(xsltUnregisterExtModuleTopLevel, iFpp) +GO(xsltValueOf, vFpppp) +GO(xsltVariableLookup, pFppp) +GO(xsltXPathCompile, pFpp) +GO(xsltXPathCompileFlags, pFppi) +GO(xsltXPathFunctionLookup, pFppp) +GO(xsltXPathGetTransformContext, pFp) +//GO(xsltXPathVariableLookup, \ No newline at end of file |