mirror of
https://codeberg.org/ziglang/zig.git
synced 2026-04-27 19:09:47 +03:00
update mingw-w64 crt files to v10.0.0
This commit is contained in:
Vendored
+1
-1
@@ -10,7 +10,7 @@
|
||||
|
||||
__declspec(dllimport) int __lconv_init (void);
|
||||
|
||||
int mingw_initcharmax = 0;
|
||||
int __mingw_initcharmax = 0;
|
||||
|
||||
int _charmax = 255;
|
||||
|
||||
|
||||
Vendored
+2
-2
@@ -48,7 +48,7 @@ static int __proc_attached = 0;
|
||||
|
||||
static _onexit_table_t atexit_table;
|
||||
|
||||
extern int mingw_app_type;
|
||||
extern int __mingw_app_type;
|
||||
|
||||
extern WINBOOL WINAPI DllMain (HANDLE hDllHandle, DWORD dwReason, LPVOID lpreserved);
|
||||
|
||||
@@ -145,7 +145,7 @@ int __mingw_init_ehandler (void);
|
||||
WINBOOL WINAPI
|
||||
DllMainCRTStartup (HANDLE hDllHandle, DWORD dwReason, LPVOID lpreserved)
|
||||
{
|
||||
mingw_app_type = 0;
|
||||
__mingw_app_type = 0;
|
||||
if (dwReason == DLL_PROCESS_ATTACH)
|
||||
{
|
||||
#if defined(__x86_64__) && !defined(__SEH__)
|
||||
|
||||
Vendored
+14
-16
@@ -66,7 +66,7 @@ extern _CRTALLOC(".CRT$XCZ") _PVFV __xc_z[];
|
||||
/* TLS initialization hook. */
|
||||
extern const PIMAGE_TLS_CALLBACK __dyn_tls_init_callback;
|
||||
|
||||
extern int mingw_app_type;
|
||||
extern int __mingw_app_type;
|
||||
|
||||
HINSTANCE __mingw_winmain_hInstance;
|
||||
_TCHAR *__mingw_winmain_lpCmdLine;
|
||||
@@ -99,8 +99,8 @@ static void duplicate_ppstrings (int ac, char ***av);
|
||||
|
||||
static int __cdecl pre_c_init (void);
|
||||
static void __cdecl pre_cpp_init (void);
|
||||
_CRTALLOC(".CRT$XIAA") _PIFV mingw_pcinit = pre_c_init;
|
||||
_CRTALLOC(".CRT$XCAA") _PVFV mingw_pcppinit = pre_cpp_init;
|
||||
_CRTALLOC(".CRT$XIAA") _PIFV __mingw_pcinit = pre_c_init;
|
||||
_CRTALLOC(".CRT$XCAA") _PVFV __mingw_pcppinit = pre_cpp_init;
|
||||
|
||||
extern int _MINGW_INSTALL_DEBUG_MATHERR;
|
||||
|
||||
@@ -126,7 +126,7 @@ static int __cdecl
|
||||
pre_c_init (void)
|
||||
{
|
||||
managedapp = check_managed_app ();
|
||||
if (mingw_app_type)
|
||||
if (__mingw_app_type)
|
||||
__set_app_type(_GUI_APP);
|
||||
else
|
||||
__set_app_type (_CONSOLE_APP);
|
||||
@@ -172,7 +172,7 @@ int WinMainCRTStartup (void)
|
||||
#ifdef SEH_INLINE_ASM
|
||||
asm ("\t.l_startw:\n");
|
||||
#endif
|
||||
mingw_app_type = 1;
|
||||
__mingw_app_type = 1;
|
||||
ret = __tmainCRTStartup ();
|
||||
#ifdef SEH_INLINE_ASM
|
||||
asm ("\tnop\n"
|
||||
@@ -198,7 +198,7 @@ int mainCRTStartup (void)
|
||||
#ifdef SEH_INLINE_ASM
|
||||
asm ("\t.l_start:\n");
|
||||
#endif
|
||||
mingw_app_type = 0;
|
||||
__mingw_app_type = 0;
|
||||
ret = __tmainCRTStartup ();
|
||||
#ifdef SEH_INLINE_ASM
|
||||
asm ("\tnop\n"
|
||||
@@ -226,7 +226,7 @@ __tmainCRTStartup (void)
|
||||
WINBOOL inDoubleQuote = FALSE;
|
||||
memset (&StartupInfo, 0, sizeof (STARTUPINFO));
|
||||
|
||||
if (mingw_app_type)
|
||||
if (__mingw_app_type)
|
||||
GetStartupInfo (&StartupInfo);
|
||||
{
|
||||
void *lock_free = NULL;
|
||||
@@ -304,7 +304,7 @@ __tmainCRTStartup (void)
|
||||
__mingw_winmain_lpCmdLine = lpszCommandLine;
|
||||
}
|
||||
|
||||
if (mingw_app_type)
|
||||
if (__mingw_app_type)
|
||||
{
|
||||
__mingw_winmain_nShowCmd = StartupInfo.dwFlags & STARTF_USESHOWWINDOW ?
|
||||
StartupInfo.wShowWindow : SW_SHOWDEFAULT;
|
||||
@@ -329,10 +329,9 @@ __tmainCRTStartup (void)
|
||||
return mainret;
|
||||
}
|
||||
|
||||
extern int mingw_initltsdrot_force;
|
||||
extern int mingw_initltsdyn_force;
|
||||
extern int mingw_initltssuo_force;
|
||||
extern int mingw_initcharmax;
|
||||
extern int __mingw_initltsdrot_force;
|
||||
extern int __mingw_initltsdyn_force;
|
||||
extern int __mingw_initltssuo_force;
|
||||
|
||||
static int __cdecl
|
||||
check_managed_app (void)
|
||||
@@ -343,10 +342,9 @@ check_managed_app (void)
|
||||
PIMAGE_OPTIONAL_HEADER64 pNTHeader64;
|
||||
|
||||
/* Force to be linked. */
|
||||
mingw_initltsdrot_force=1;
|
||||
mingw_initltsdyn_force=1;
|
||||
mingw_initltssuo_force=1;
|
||||
mingw_initcharmax=1;
|
||||
__mingw_initltsdrot_force=1;
|
||||
__mingw_initltsdyn_force=1;
|
||||
__mingw_initltssuo_force=1;
|
||||
|
||||
pDOSHeader = (PIMAGE_DOS_HEADER) &__ImageBase;
|
||||
if (pDOSHeader->e_magic != IMAGE_DOS_SIGNATURE)
|
||||
|
||||
Vendored
+1
-1
@@ -5,4 +5,4 @@
|
||||
*/
|
||||
|
||||
/* 0:console, 1:windows. */
|
||||
int mingw_app_type = 0;
|
||||
int __mingw_app_type = 0;
|
||||
|
||||
Vendored
+20
-1
@@ -21,6 +21,7 @@
|
||||
#include <stdarg.h>
|
||||
#include <memory.h>
|
||||
#include <internal.h>
|
||||
#include <stdint.h>
|
||||
|
||||
#if defined(__CYGWIN__)
|
||||
#include <wchar.h>
|
||||
@@ -47,7 +48,7 @@
|
||||
|
||||
extern char __RUNTIME_PSEUDO_RELOC_LIST__;
|
||||
extern char __RUNTIME_PSEUDO_RELOC_LIST_END__;
|
||||
extern char __MINGW_LSYMBOL(_image_base__);
|
||||
extern IMAGE_DOS_HEADER __MINGW_LSYMBOL(_image_base__);
|
||||
|
||||
void _pei386_runtime_relocator (void);
|
||||
|
||||
@@ -311,6 +312,7 @@ do_pseudo_reloc (void * start, void * end, void * base)
|
||||
ptrdiff_t reloc_target = (ptrdiff_t) ((char *)end - (char*)start);
|
||||
runtime_pseudo_reloc_v2 *v2_hdr = (runtime_pseudo_reloc_v2 *) start;
|
||||
runtime_pseudo_reloc_item_v2 *r;
|
||||
unsigned int bits;
|
||||
|
||||
/* A valid relocation list will contain at least one entry, and
|
||||
* one v1 data structure (the smallest one) requires two DWORDs.
|
||||
@@ -440,6 +442,23 @@ do_pseudo_reloc (void * start, void * end, void * base)
|
||||
reldata -= ((ptrdiff_t) base + r->sym);
|
||||
reldata += addr_imp;
|
||||
|
||||
bits = r->flags & 0xff;
|
||||
if (bits < sizeof(ptrdiff_t)*8)
|
||||
{
|
||||
/* Check for overflows. We don't know if the target address is
|
||||
* interpreted as a relative offset or as a truncated absolute
|
||||
* address - to avoid false positives, allow offsets within the
|
||||
* whole range of signed and unsigned N bits numbers, but error
|
||||
* out for anything outside of that. Thus for relative offsets,
|
||||
* this won't catch offsets that are only barely too large. */
|
||||
ptrdiff_t max_unsigned = (1LL << bits) - 1;
|
||||
ptrdiff_t min_signed = UINTPTR_MAX << (bits - 1);
|
||||
if (reldata > max_unsigned || reldata < min_signed)
|
||||
__report_error ("%d bit pseudo relocation at %p out of range, "
|
||||
"targeting %p, yielding the value %p.\n",
|
||||
bits, reloc_target, addr_imp, reldata);
|
||||
}
|
||||
|
||||
/* Write the new relocation value back to *reloc_target */
|
||||
switch ((r->flags & 0xff))
|
||||
{
|
||||
|
||||
Vendored
+3
-3
@@ -170,6 +170,6 @@ __dyn_tls_dtor (HANDLE hDllHandle, DWORD dwReason, LPVOID lpreserved)
|
||||
_CRTALLOC(".CRT$XLD") PIMAGE_TLS_CALLBACK __xl_d = (PIMAGE_TLS_CALLBACK) __dyn_tls_dtor;
|
||||
|
||||
|
||||
int mingw_initltsdrot_force = 0;
|
||||
int mingw_initltsdyn_force = 0;
|
||||
int mingw_initltssuo_force = 0;
|
||||
int __mingw_initltsdrot_force = 0;
|
||||
int __mingw_initltsdyn_force = 0;
|
||||
int __mingw_initltssuo_force = 0;
|
||||
|
||||
Vendored
+14
@@ -127,4 +127,18 @@ long double __cdecl
|
||||
__mingw_strtold (const char * __restrict__ src, char ** __restrict__ endptr)
|
||||
__attribute__((alias("__strtold")));
|
||||
|
||||
long double __cdecl
|
||||
strtold (const char * __restrict__ src, char ** __restrict__ endptr)
|
||||
__attribute__((alias("__strtold")));
|
||||
|
||||
#elif defined(__arm__) || defined(__aarch64__) || defined(_ARM_) || defined(_ARM64_)
|
||||
/* For ARM, where long double == double, provide the long double function as
|
||||
* an alias for __strtod. Do this in a separate object file from other
|
||||
* functions, to avoid linker conflicts if object files import both 'strtold'
|
||||
* from libucrt*.a and the object file providing '__strtod'. */
|
||||
long double __cdecl
|
||||
strtold (const char * __restrict__ src, char ** __restrict__ endptr)
|
||||
{
|
||||
return __mingw_strtod(src, endptr);
|
||||
}
|
||||
#endif
|
||||
|
||||
Vendored
+6
-7
@@ -1,18 +1,15 @@
|
||||
/* config.h. Generated from config.h.in by configure. */
|
||||
/* config.h.in. Generated from configure.ac by autoheader. */
|
||||
|
||||
/* Whether the linker provides __CTOR_LIST__ */
|
||||
#define HAVE_CTOR_LIST 1
|
||||
|
||||
/* Define to 1 if you have the <inttypes.h> header file. */
|
||||
#define HAVE_INTTYPES_H 1
|
||||
|
||||
/* Define to 1 if you have the <memory.h> header file. */
|
||||
#define HAVE_MEMORY_H 1
|
||||
|
||||
/* Define to 1 if you have the <stdint.h> header file. */
|
||||
#define HAVE_STDINT_H 1
|
||||
|
||||
/* Define to 1 if you have the <stdio.h> header file. */
|
||||
#define HAVE_STDIO_H 1
|
||||
|
||||
/* Define to 1 if you have the <stdlib.h> header file. */
|
||||
#define HAVE_STDLIB_H 1
|
||||
|
||||
@@ -52,7 +49,9 @@
|
||||
/* Define to the version of this package. */
|
||||
#define PACKAGE_VERSION "4.0b"
|
||||
|
||||
/* Define to 1 if you have the ANSI C header files. */
|
||||
/* Define to 1 if all of the C90 standard headers exist (not just the ones
|
||||
required in a freestanding environment). This macro is provided for
|
||||
backward compatibility; new code need not use it. */
|
||||
#define STDC_HEADERS 1
|
||||
|
||||
/* Version number of package */
|
||||
|
||||
Vendored
+2
-2
@@ -1,7 +1,7 @@
|
||||
#include <winbase.h>
|
||||
|
||||
#ifndef __LIBMSVCRT__
|
||||
#error "This file should only be used in libmsvcrt.a"
|
||||
#ifndef __LIBMSVCRT_OS__
|
||||
#error "This file should only be used in libmsvcrt-os.a"
|
||||
#endif
|
||||
|
||||
static inline HANDLE __mingw_get_msvcrt_handle(void)
|
||||
|
||||
+27
-1
@@ -1,7 +1,7 @@
|
||||
;
|
||||
; Definition file of fwpuclnt.dll
|
||||
; Automatic generated by gendef
|
||||
; written by Kai Tietz 2008-2014
|
||||
; written by Kai Tietz 2008
|
||||
;
|
||||
LIBRARY "fwpuclnt.dll"
|
||||
EXPORTS
|
||||
@@ -9,12 +9,14 @@ FwpiExpandCriteria0
|
||||
FwpiFreeCriteria0
|
||||
FwpiVpnTriggerAddAppSids
|
||||
FwpiVpnTriggerAddFilePaths
|
||||
FwpiVpnTriggerAddSecurityDescriptor
|
||||
FwpiVpnTriggerConfigureParameters
|
||||
FwpiVpnTriggerEventSubscribe0
|
||||
FwpiVpnTriggerEventUnsubscribe0
|
||||
FwpiVpnTriggerInitializeNrptTriggering
|
||||
FwpiVpnTriggerRemoveAppSids
|
||||
FwpiVpnTriggerRemoveFilePaths
|
||||
FwpiVpnTriggerRemoveSecurityDescriptor
|
||||
FwpiVpnTriggerResetNrptTriggering
|
||||
FwpiVpnTriggerSetStateDisconnected
|
||||
FwpiVpnTriggerUninitializeNrptTriggering
|
||||
@@ -40,6 +42,8 @@ FwpmConnectionSetSecurityInfo0
|
||||
FwpmConnectionSubscribe0
|
||||
FwpmConnectionUnsubscribe0
|
||||
FwpmDiagnoseNetFailure0
|
||||
FwpmDynamicKeywordSubscribe0
|
||||
FwpmDynamicKeywordUnsubscribe0
|
||||
FwpmEngineClose0
|
||||
FwpmEngineGetOption0
|
||||
FwpmEngineGetSecurityInfo0
|
||||
@@ -49,6 +53,7 @@ FwpmEngineSetSecurityInfo0
|
||||
FwpmEventProviderCreate0
|
||||
FwpmEventProviderDestroy0
|
||||
FwpmEventProviderFireNetEvent0
|
||||
FwpmEventProviderFireNetEventEx0
|
||||
FwpmEventProviderIsNetEventTypeEnabled0
|
||||
FwpmFilterAdd0
|
||||
FwpmFilterCreateEnumHandle0
|
||||
@@ -66,9 +71,15 @@ FwpmFilterUnsubscribeChanges0
|
||||
FwpmFreeMemory0
|
||||
FwpmGetAppIdFromFileName0
|
||||
FwpmGetSidFromOnlineId0
|
||||
FwpmIPsecS2STunnelAddConditions0
|
||||
FwpmIPsecS2STunnelAddInterfaceToCompartment0
|
||||
FwpmIPsecS2STunnelGetInterfaceForCompartment0
|
||||
FwpmIPsecS2STunnelRemoveConditions0
|
||||
FwpmIPsecS2STunnelRemoveInterfaceFromCompartment0
|
||||
FwpmIPsecTunnelAdd0
|
||||
FwpmIPsecTunnelAdd1
|
||||
FwpmIPsecTunnelAdd2
|
||||
FwpmIPsecTunnelAdd3
|
||||
FwpmIPsecTunnelAddConditions0
|
||||
FwpmIPsecTunnelDeleteByKey0
|
||||
FwpmLayerCreateEnumHandle0
|
||||
@@ -79,12 +90,19 @@ FwpmLayerGetByKey0
|
||||
FwpmLayerGetSecurityInfoByKey0
|
||||
FwpmLayerSetSecurityInfoByKey0
|
||||
FwpmNetEventCreateEnumHandle0
|
||||
FwpmNetEventCreateEnumHandleEx
|
||||
FwpmNetEventDestroyEnumHandle0
|
||||
FwpmNetEventEnum0
|
||||
FwpmNetEventEnum1
|
||||
FwpmNetEventEnum2
|
||||
FwpmNetEventEnum3
|
||||
FwpmNetEventEnum4
|
||||
FwpmNetEventEnum5
|
||||
FwpmNetEventSubscribe0
|
||||
FwpmNetEventSubscribe1
|
||||
FwpmNetEventSubscribe2
|
||||
FwpmNetEventSubscribe3
|
||||
FwpmNetEventSubscribe4
|
||||
FwpmNetEventSubscriptionsGet0
|
||||
FwpmNetEventUnsubscribe0
|
||||
FwpmNetEventsGetSecurityInfo0
|
||||
@@ -95,6 +113,7 @@ FwpmProviderAdd0
|
||||
FwpmProviderContextAdd0
|
||||
FwpmProviderContextAdd1
|
||||
FwpmProviderContextAdd2
|
||||
FwpmProviderContextAdd3
|
||||
FwpmProviderContextCreateEnumHandle0
|
||||
FwpmProviderContextDeleteById0
|
||||
FwpmProviderContextDeleteByKey0
|
||||
@@ -102,12 +121,15 @@ FwpmProviderContextDestroyEnumHandle0
|
||||
FwpmProviderContextEnum0
|
||||
FwpmProviderContextEnum1
|
||||
FwpmProviderContextEnum2
|
||||
FwpmProviderContextEnum3
|
||||
FwpmProviderContextGetById0
|
||||
FwpmProviderContextGetById1
|
||||
FwpmProviderContextGetById2
|
||||
FwpmProviderContextGetById3
|
||||
FwpmProviderContextGetByKey0
|
||||
FwpmProviderContextGetByKey1
|
||||
FwpmProviderContextGetByKey2
|
||||
FwpmProviderContextGetByKey3
|
||||
FwpmProviderContextGetSecurityInfoByKey0
|
||||
FwpmProviderContextSetSecurityInfoByKey0
|
||||
FwpmProviderContextSubscribeChanges0
|
||||
@@ -149,6 +171,10 @@ FwpmvSwitchEventUnsubscribe0
|
||||
FwpmvSwitchEventsGetSecurityInfo0
|
||||
FwpmvSwitchEventsSetSecurityInfo0
|
||||
FwppConnectionGetByIPsecInfo
|
||||
FwppConnectionGetByS2STunnelId
|
||||
FwppConnectionGetS2STunnelId
|
||||
FwppGetMD5HashBytes
|
||||
FwppIPsecSaContextCreate
|
||||
FwpsAleEndpointCreateEnumHandle0
|
||||
FwpsAleEndpointDestroyEnumHandle0
|
||||
FwpsAleEndpointEnum0
|
||||
+2
-2
@@ -930,7 +930,7 @@ _scalb
|
||||
F_X64(_scalbf)
|
||||
_scanf_l
|
||||
_scanf_s_l
|
||||
_scprintf
|
||||
F_NON_I386(_scprintf) ; i386 _scprintf replaced by emu
|
||||
_scprintf_l
|
||||
_scprintf_p_l
|
||||
_scwprintf
|
||||
@@ -1111,7 +1111,7 @@ _vprintf_l
|
||||
_vprintf_p
|
||||
_vprintf_p_l
|
||||
_vprintf_s_l
|
||||
_vscprintf
|
||||
F_NON_I386(_vscprintf) ; i386 _vscprintf replaced by emu
|
||||
_vscprintf_l
|
||||
_vscprintf_p_l
|
||||
_vscwprintf
|
||||
|
||||
+2
@@ -22,6 +22,8 @@ MigrateWinsockConfiguration
|
||||
MigrateWinsockConfigurationEx
|
||||
NPLoadNameSpaces
|
||||
NSPStartup
|
||||
; MSDN says ProcessSocketNotifications is from ws2_32.dll, not mswsock.dll
|
||||
; ProcessSocketNotifications
|
||||
SetServiceA
|
||||
SetServiceW
|
||||
StartWsdpService
|
||||
|
||||
+60
@@ -256,6 +256,7 @@ NtAccessCheckByTypeAndAuditAlarm
|
||||
NtAccessCheckByTypeResultList
|
||||
NtAccessCheckByTypeResultListAndAuditAlarm
|
||||
NtAccessCheckByTypeResultListAndAuditAlarmByHandle
|
||||
NtAcquireCrossVmMutant
|
||||
NtAcquireProcessActivityReference
|
||||
NtAddAtom
|
||||
NtAddAtomEx
|
||||
@@ -310,6 +311,8 @@ NtCancelSynchronousIoFile
|
||||
NtCancelTimer
|
||||
NtCancelTimer2
|
||||
NtCancelWaitCompletionPacket
|
||||
NtChangeProcessState
|
||||
NtChangeThreadState
|
||||
NtClearEvent
|
||||
NtClose
|
||||
NtCloseObjectAuditAlarm
|
||||
@@ -325,8 +328,10 @@ NtCompleteConnectPort
|
||||
NtCompressKey
|
||||
NtConnectPort
|
||||
NtContinue
|
||||
NtContinueEx
|
||||
NtConvertBetweenAuxiliaryCounterAndPerformanceCounter
|
||||
NtCreateCrossVmEvent
|
||||
NtCreateCrossVmMutant
|
||||
NtCreateDebugObject
|
||||
NtCreateDirectoryObject
|
||||
NtCreateDirectoryObjectEx
|
||||
@@ -337,6 +342,7 @@ NtCreateEventPair
|
||||
NtCreateFile
|
||||
NtCreateIRTimer
|
||||
NtCreateIoCompletion
|
||||
NtCreateIoRing
|
||||
NtCreateJobObject
|
||||
NtCreateJobSet
|
||||
NtCreateKey
|
||||
@@ -352,6 +358,7 @@ NtCreatePort
|
||||
NtCreatePrivateNamespace
|
||||
NtCreateProcess
|
||||
NtCreateProcessEx
|
||||
NtCreateProcessStateChange
|
||||
NtCreateProfile
|
||||
NtCreateProfileEx
|
||||
NtCreateRegistryTransaction
|
||||
@@ -362,6 +369,7 @@ NtCreateSemaphore
|
||||
NtCreateSymbolicLinkObject
|
||||
NtCreateThread
|
||||
NtCreateThreadEx
|
||||
NtCreateThreadStateChange
|
||||
NtCreateTimer
|
||||
NtCreateTimer2
|
||||
NtCreateToken
|
||||
@@ -387,6 +395,7 @@ NtDeleteValueKey
|
||||
NtDeleteWnfStateData
|
||||
NtDeleteWnfStateName
|
||||
NtDeviceIoControlFile
|
||||
NtDirectGraphicsCall
|
||||
NtDisableLastKnownGood
|
||||
NtDisplayString
|
||||
NtDrawText
|
||||
@@ -543,6 +552,7 @@ NtQueryInformationWorkerFactory
|
||||
NtQueryInstallUILanguage
|
||||
NtQueryIntervalProfile
|
||||
NtQueryIoCompletion
|
||||
NtQueryIoRingCapabilities
|
||||
NtQueryKey
|
||||
NtQueryLicenseValue
|
||||
NtQueryMultipleValueKey
|
||||
@@ -573,6 +583,7 @@ NtQueryWnfStateData
|
||||
NtQueryWnfStateNameInformation
|
||||
NtQueueApcThread
|
||||
NtQueueApcThreadEx
|
||||
NtQueueApcThreadEx2
|
||||
NtRaiseException
|
||||
NtRaiseHardError
|
||||
NtReadFile
|
||||
@@ -580,6 +591,7 @@ NtReadFileScatter
|
||||
NtReadOnlyEnlistment
|
||||
NtReadRequestData
|
||||
NtReadVirtualMemory
|
||||
NtReadVirtualMemoryEx
|
||||
NtRecoverEnlistment
|
||||
NtRecoverResourceManager
|
||||
NtRecoverTransactionManager
|
||||
@@ -639,6 +651,7 @@ NtSetIRTimer
|
||||
NtSetInformationDebugObject
|
||||
NtSetInformationEnlistment
|
||||
NtSetInformationFile
|
||||
NtSetInformationIoRing
|
||||
NtSetInformationJobObject
|
||||
NtSetInformationKey
|
||||
NtSetInformationObject
|
||||
@@ -679,6 +692,7 @@ NtSignalAndWaitForSingleObject
|
||||
NtSinglePhaseReject
|
||||
NtStartProfile
|
||||
NtStopProfile
|
||||
NtSubmitIoRing
|
||||
NtSubscribeWnfStateChange
|
||||
NtSuspendProcess
|
||||
NtSuspendThread
|
||||
@@ -836,6 +850,7 @@ RtlCanonicalizeDomainName
|
||||
RtlCapabilityCheck
|
||||
RtlCapabilityCheckForSingleSessionSku
|
||||
RtlCaptureContext
|
||||
RtlCaptureContext2
|
||||
RtlCaptureStackBackTrace
|
||||
RtlCharToInteger
|
||||
RtlCheckBootStatusIntegrity
|
||||
@@ -864,6 +879,8 @@ RtlCommitDebugInfo
|
||||
RtlCommitMemoryStream
|
||||
RtlCompactHeap
|
||||
RtlCompareAltitudes
|
||||
RtlCompareExchangePointerMapping
|
||||
RtlCompareExchangePropertyStore
|
||||
RtlCompareMemory
|
||||
RtlCompareMemoryUlong
|
||||
RtlCompareString
|
||||
@@ -877,6 +894,7 @@ RtlComputePrivatizedDllName_U
|
||||
RtlConnectToSm
|
||||
RtlConsoleMultiByteToUnicodeN
|
||||
RtlConstructCrossVmEventPath
|
||||
RtlConstructCrossVmMutexPath
|
||||
RtlContractHashTable
|
||||
RtlConvertDeviceFamilyInfoToString
|
||||
RtlConvertExclusiveToShared
|
||||
@@ -957,6 +975,7 @@ RtlDecompressBuffer
|
||||
RtlDecompressBufferEx
|
||||
RtlDecompressFragment
|
||||
RtlDefaultNpAcl
|
||||
RtlDelayExecution
|
||||
RtlDelete
|
||||
RtlDeleteAce
|
||||
RtlDeleteAtomFromAtomTable
|
||||
@@ -1071,6 +1090,7 @@ RtlFindActivationContextSectionString
|
||||
RtlFindCharInUnicodeString
|
||||
RtlFindClearBits
|
||||
RtlFindClearBitsAndSet
|
||||
RtlFindClearBitsAndSetEx
|
||||
F_X64(RtlFindClearBitsEx)
|
||||
RtlFindClearRuns
|
||||
RtlFindClosestEncodableLength
|
||||
@@ -1149,6 +1169,7 @@ RtlGetFullPathName_UEx
|
||||
RtlGetFullPathName_UstrEx
|
||||
RtlGetFunctionTableListHead
|
||||
RtlGetGroupSecurityDescriptor
|
||||
RtlGetImageFileMachines
|
||||
RtlGetIntegerAtom
|
||||
RtlGetInterruptTimePrecise
|
||||
RtlGetLastNtStatus
|
||||
@@ -1172,6 +1193,7 @@ RtlGetPersistedStateLocation
|
||||
RtlGetProcessHeaps
|
||||
RtlGetProcessPreferredUILanguages
|
||||
RtlGetProductInfo
|
||||
RtlGetReturnAddressHijackTarget
|
||||
RtlGetSaclSecurityDescriptor
|
||||
RtlGetSearchPath
|
||||
RtlGetSecurityDescriptorRMControl
|
||||
@@ -1180,7 +1202,9 @@ RtlGetSetBootStatusData
|
||||
RtlGetSuiteMask
|
||||
RtlGetSystemBootStatus
|
||||
RtlGetSystemBootStatusEx
|
||||
RtlGetSystemGlobalData
|
||||
RtlGetSystemPreferredUILanguages
|
||||
RtlGetSystemTimeAndBias
|
||||
RtlGetSystemTimePrecise
|
||||
RtlGetThreadErrorMode
|
||||
RtlGetThreadLangIdByIndex
|
||||
@@ -1282,6 +1306,7 @@ RtlIpv6StringToAddressExA
|
||||
RtlIpv6StringToAddressExW
|
||||
RtlIpv6StringToAddressW
|
||||
RtlIsActivationContextActive
|
||||
RtlIsApiSetImplemented
|
||||
RtlIsCapabilitySid
|
||||
RtlIsCloudFilesPlaceholder
|
||||
RtlIsCriticalSectionLocked
|
||||
@@ -1290,7 +1315,9 @@ RtlIsCurrentProcess
|
||||
RtlIsCurrentThread
|
||||
RtlIsCurrentThreadAttachExempt
|
||||
RtlIsDosDeviceName_U
|
||||
RtlIsEcCode
|
||||
RtlIsElevatedRid
|
||||
RtlIsEnclaveFeaturePresent
|
||||
RtlIsGenericTableEmpty
|
||||
RtlIsGenericTableEmptyAvl
|
||||
RtlIsMultiSessionSku
|
||||
@@ -1364,6 +1391,7 @@ RtlNewSecurityObjectWithMultipleInheritance
|
||||
RtlNormalizeProcessParams
|
||||
F_X86_ANY(RtlNormalizeSecurityDescriptor)
|
||||
RtlNormalizeString
|
||||
RtlNotifyFeatureUsage
|
||||
RtlNtPathNameToDosPathName
|
||||
RtlNtStatusToDosError
|
||||
RtlNtStatusToDosErrorNoTeb
|
||||
@@ -1380,6 +1408,7 @@ RtlNumberOfSetBitsUlongPtr
|
||||
RtlOemStringToUnicodeSize
|
||||
RtlOemStringToUnicodeString
|
||||
RtlOemToUnicodeN
|
||||
RtlOpenCrossProcessEmulatorWorkConnection
|
||||
RtlOpenCurrentUser
|
||||
RtlOsDeploymentState
|
||||
RtlOwnerAcesPresent
|
||||
@@ -1394,6 +1423,7 @@ RtlProtectHeap
|
||||
RtlPublishWnfStateData
|
||||
RtlPushFrame
|
||||
RtlQueryActivationContextApplicationSettings
|
||||
RtlQueryAllFeatureConfigurations
|
||||
RtlQueryAtomInAtomTable
|
||||
RtlQueryCriticalSectionOwner
|
||||
RtlQueryDepthSList
|
||||
@@ -1401,6 +1431,9 @@ RtlQueryDynamicTimeZoneInformation
|
||||
RtlQueryElevationFlags
|
||||
RtlQueryEnvironmentVariable
|
||||
RtlQueryEnvironmentVariable_U
|
||||
RtlQueryFeatureConfiguration
|
||||
RtlQueryFeatureConfigurationChangeStamp
|
||||
RtlQueryFeatureUsageNotificationSubscriptions
|
||||
RtlQueryHeapInformation
|
||||
RtlQueryImageMitigationPolicy
|
||||
RtlQueryInformationAcl
|
||||
@@ -1413,11 +1446,13 @@ RtlQueryPackageIdentity
|
||||
RtlQueryPackageIdentityEx
|
||||
RtlQueryPerformanceCounter
|
||||
RtlQueryPerformanceFrequency
|
||||
RtlQueryPointerMapping
|
||||
RtlQueryProcessBackTraceInformation
|
||||
RtlQueryProcessDebugInformation
|
||||
RtlQueryProcessHeapInformation
|
||||
RtlQueryProcessLockInformation
|
||||
RtlQueryProcessPlaceholderCompatibilityMode
|
||||
RtlQueryPropertyStore
|
||||
RtlQueryProtectedPolicy
|
||||
RtlQueryRegistryValueWithFallback
|
||||
RtlQueryRegistryValues
|
||||
@@ -1439,6 +1474,7 @@ RtlQueueApcWow64Thread
|
||||
RtlQueueWorkItem
|
||||
RtlRaiseCustomSystemEventTrigger
|
||||
RtlRaiseException
|
||||
RtlRaiseNoncontinuableException
|
||||
RtlRaiseStatus
|
||||
RtlRandom
|
||||
RtlRandomEx
|
||||
@@ -1450,6 +1486,7 @@ RtlReadOutOfProcessMemoryStream
|
||||
RtlReadThreadProfilingData
|
||||
RtlRealPredecessor
|
||||
RtlRealSuccessor
|
||||
RtlRegisterFeatureConfigurationChangeNotification
|
||||
RtlRegisterForWnfMetaNotification
|
||||
RtlRegisterSecureMemoryCacheCallback
|
||||
RtlRegisterThreadWithCsrss
|
||||
@@ -1465,7 +1502,9 @@ RtlReleaseSRWLockExclusive
|
||||
RtlReleaseSRWLockShared
|
||||
RtlRemoteCall
|
||||
RtlRemoveEntryHashTable
|
||||
RtlRemovePointerMapping
|
||||
RtlRemovePrivileges
|
||||
RtlRemovePropertyStore
|
||||
RtlRemoveVectoredContinueHandler
|
||||
RtlRemoveVectoredExceptionHandler
|
||||
RtlReplaceSidInSd
|
||||
@@ -1515,6 +1554,7 @@ RtlSetEnvironmentStrings
|
||||
RtlSetEnvironmentVar
|
||||
RtlSetEnvironmentVariable
|
||||
RtlSetExtendedFeaturesMask
|
||||
RtlSetFeatureConfigurations
|
||||
RtlSetGroupSecurityDescriptor
|
||||
RtlSetHeapInformation
|
||||
RtlSetImageMitigationPolicy
|
||||
@@ -1571,6 +1611,7 @@ RtlStringFromGUIDEx
|
||||
RtlStronglyEnumerateEntryHashTable
|
||||
RtlSubAuthorityCountSid
|
||||
RtlSubAuthoritySid
|
||||
RtlSubscribeForFeatureUsageNotification
|
||||
RtlSubscribeWnfStateChangeNotification
|
||||
RtlSubtreePredecessor
|
||||
RtlSubtreeSuccessor
|
||||
@@ -1626,6 +1667,8 @@ RtlUnlockMemoryBlockLookaside
|
||||
RtlUnlockMemoryStreamRegion
|
||||
RtlUnlockMemoryZone
|
||||
RtlUnlockModuleSection
|
||||
RtlUnregisterFeatureConfigurationChangeNotification
|
||||
RtlUnsubscribeFromFeatureUsageNotifications
|
||||
RtlUnsubscribeWnfNotificationWaitForCompletion
|
||||
RtlUnsubscribeWnfNotificationWithCompletionCallback
|
||||
RtlUnsubscribeWnfStateChangeNotification
|
||||
@@ -1659,6 +1702,7 @@ RtlValidateProcessHeaps
|
||||
RtlValidateUnicodeString
|
||||
RtlVerifyVersionInfo
|
||||
RtlVirtualUnwind
|
||||
RtlVirtualUnwind2
|
||||
RtlWaitForWnfMetaNotification
|
||||
RtlWaitOnAddress
|
||||
RtlWakeAddressAll
|
||||
@@ -1674,6 +1718,8 @@ RtlWerpReportException
|
||||
RtlWnfCompareChangeStamp
|
||||
RtlWnfDllUnloadCallback
|
||||
RtlWow64CallFunction64
|
||||
RtlWow64ChangeProcessState
|
||||
RtlWow64ChangeThreadState
|
||||
RtlWow64EnableFsRedirection
|
||||
RtlWow64EnableFsRedirectionEx
|
||||
F64(RtlWow64GetCpuAreaInfo)
|
||||
@@ -1870,6 +1916,7 @@ ZwAccessCheckByTypeAndAuditAlarm
|
||||
ZwAccessCheckByTypeResultList
|
||||
ZwAccessCheckByTypeResultListAndAuditAlarm
|
||||
ZwAccessCheckByTypeResultListAndAuditAlarmByHandle
|
||||
ZwAcquireCrossVmMutant
|
||||
ZwAcquireProcessActivityReference
|
||||
ZwAddAtom
|
||||
ZwAddAtomEx
|
||||
@@ -1924,6 +1971,8 @@ ZwCancelSynchronousIoFile
|
||||
ZwCancelTimer
|
||||
ZwCancelTimer2
|
||||
ZwCancelWaitCompletionPacket
|
||||
ZwChangeProcessState
|
||||
ZwChangeThreadState
|
||||
ZwClearEvent
|
||||
ZwClose
|
||||
ZwCloseObjectAuditAlarm
|
||||
@@ -1939,8 +1988,10 @@ ZwCompleteConnectPort
|
||||
ZwCompressKey
|
||||
ZwConnectPort
|
||||
ZwContinue
|
||||
ZwContinueEx
|
||||
ZwConvertBetweenAuxiliaryCounterAndPerformanceCounter
|
||||
ZwCreateCrossVmEvent
|
||||
ZwCreateCrossVmMutant
|
||||
ZwCreateDebugObject
|
||||
ZwCreateDirectoryObject
|
||||
ZwCreateDirectoryObjectEx
|
||||
@@ -1951,6 +2002,7 @@ ZwCreateEventPair
|
||||
ZwCreateFile
|
||||
ZwCreateIRTimer
|
||||
ZwCreateIoCompletion
|
||||
ZwCreateIoRing
|
||||
ZwCreateJobObject
|
||||
ZwCreateJobSet
|
||||
ZwCreateKey
|
||||
@@ -1966,6 +2018,7 @@ ZwCreatePort
|
||||
ZwCreatePrivateNamespace
|
||||
ZwCreateProcess
|
||||
ZwCreateProcessEx
|
||||
ZwCreateProcessStateChange
|
||||
ZwCreateProfile
|
||||
ZwCreateProfileEx
|
||||
ZwCreateRegistryTransaction
|
||||
@@ -1976,6 +2029,7 @@ ZwCreateSemaphore
|
||||
ZwCreateSymbolicLinkObject
|
||||
ZwCreateThread
|
||||
ZwCreateThreadEx
|
||||
ZwCreateThreadStateChange
|
||||
ZwCreateTimer
|
||||
ZwCreateTimer2
|
||||
ZwCreateToken
|
||||
@@ -2001,6 +2055,7 @@ ZwDeleteValueKey
|
||||
ZwDeleteWnfStateData
|
||||
ZwDeleteWnfStateName
|
||||
ZwDeviceIoControlFile
|
||||
ZwDirectGraphicsCall
|
||||
ZwDisableLastKnownGood
|
||||
ZwDisplayString
|
||||
ZwDrawText
|
||||
@@ -2156,6 +2211,7 @@ ZwQueryInformationWorkerFactory
|
||||
ZwQueryInstallUILanguage
|
||||
ZwQueryIntervalProfile
|
||||
ZwQueryIoCompletion
|
||||
ZwQueryIoRingCapabilities
|
||||
ZwQueryKey
|
||||
ZwQueryLicenseValue
|
||||
ZwQueryMultipleValueKey
|
||||
@@ -2186,6 +2242,7 @@ ZwQueryWnfStateData
|
||||
ZwQueryWnfStateNameInformation
|
||||
ZwQueueApcThread
|
||||
ZwQueueApcThreadEx
|
||||
ZwQueueApcThreadEx2
|
||||
ZwRaiseException
|
||||
ZwRaiseHardError
|
||||
ZwReadFile
|
||||
@@ -2193,6 +2250,7 @@ ZwReadFileScatter
|
||||
ZwReadOnlyEnlistment
|
||||
ZwReadRequestData
|
||||
ZwReadVirtualMemory
|
||||
ZwReadVirtualMemoryEx
|
||||
ZwRecoverEnlistment
|
||||
ZwRecoverResourceManager
|
||||
ZwRecoverTransactionManager
|
||||
@@ -2252,6 +2310,7 @@ ZwSetIRTimer
|
||||
ZwSetInformationDebugObject
|
||||
ZwSetInformationEnlistment
|
||||
ZwSetInformationFile
|
||||
ZwSetInformationIoRing
|
||||
ZwSetInformationJobObject
|
||||
ZwSetInformationKey
|
||||
ZwSetInformationObject
|
||||
@@ -2292,6 +2351,7 @@ ZwSignalAndWaitForSingleObject
|
||||
ZwSinglePhaseReject
|
||||
ZwStartProfile
|
||||
ZwStopProfile
|
||||
ZwSubmitIoRing
|
||||
ZwSubscribeWnfStateChange
|
||||
ZwSuspendProcess
|
||||
ZwSuspendThread
|
||||
|
||||
Vendored
+17
@@ -0,0 +1,17 @@
|
||||
;
|
||||
; Definition file of query.dll
|
||||
; Automatic generated by gendef
|
||||
; written by Kai Tietz 2008
|
||||
;
|
||||
LIBRARY "query.dll"
|
||||
EXPORTS
|
||||
LoadBinaryFilter
|
||||
LoadTextFilter
|
||||
BindIFilterFromStorage
|
||||
BindIFilterFromStream
|
||||
DllCanUnloadNow
|
||||
DllGetClassObject
|
||||
DllRegisterServer
|
||||
DllUnregisterServer
|
||||
LoadIFilter
|
||||
LoadIFilterEx
|
||||
Vendored
+3
@@ -11,10 +11,12 @@ GetDeviceID
|
||||
GetDeviceIDString
|
||||
GetDeviceIDWithTimeout
|
||||
Tbsi_Context_Create
|
||||
Tbsi_Create_Windows_Key
|
||||
Tbsi_FilterLog
|
||||
Tbsi_GetDeviceInfo
|
||||
Tbsi_Get_OwnerAuth
|
||||
Tbsi_Get_TCG_Log
|
||||
Tbsi_Get_TCG_Log_Ex
|
||||
Tbsi_Physical_Presence_Command
|
||||
Tbsi_Revoke_Attestation
|
||||
Tbsi_ShaHash
|
||||
@@ -22,4 +24,5 @@ Tbsip_Cancel_Commands
|
||||
Tbsip_Context_Close
|
||||
Tbsip_Submit_Command
|
||||
Tbsip_Submit_Command_NonBlocking
|
||||
Tbsip_TestInterruptInformation
|
||||
Tbsip_TestMorBit
|
||||
|
||||
+1
@@ -38,6 +38,7 @@ GetHostNameW
|
||||
GetNameInfoW
|
||||
InetNtopW
|
||||
InetPtonW
|
||||
ProcessSocketNotifications
|
||||
SetAddrInfoExA
|
||||
SetAddrInfoExW
|
||||
WPUCompleteOverlappedRequest
|
||||
|
||||
Vendored
+30
-6
@@ -8,26 +8,38 @@ EXPORTS
|
||||
AuthzAccessCheck@36
|
||||
AuthzAddSidsToContext@24
|
||||
AuthzCachedAccessCheck@20
|
||||
AuthzComputeEffectivePermission@60
|
||||
AuthzEnumerateSecurityEventSources@16
|
||||
AuthzEvaluateSacl@24
|
||||
AuthzFreeAuditEvent@4
|
||||
AuthzFreeCentralAccessPolicyCache@0
|
||||
AuthzFreeContext@4
|
||||
AuthzFreeHandle@4
|
||||
AuthzFreeResourceManager@4
|
||||
AuthzGetInformationFromContext@20
|
||||
AuthzInitializeCompoundContext@12
|
||||
AuthzInitializeContextFromAuthzContext@28
|
||||
AuthzInitializeContextFromSid@32
|
||||
AuthzInitializeContextFromToken@32
|
||||
AuthzInitializeObjectAccessAuditEvent
|
||||
AuthzInitializeObjectAccessAuditEvent2
|
||||
AuthzInitializeObjectAccessAuditEvent@0
|
||||
AuthzInitializeObjectAccessAuditEvent2@0
|
||||
AuthzInitializeRemoteAccessCheck@4
|
||||
AuthzInitializeRemoteResourceManager@8
|
||||
AuthzInitializeResourceManager@24
|
||||
AuthzInitializeResourceManagerEx@12
|
||||
AuthzInstallSecurityEventSource@8
|
||||
AuthzModifyClaims@16
|
||||
AuthzModifySecurityAttributes@12
|
||||
AuthzModifySids@16
|
||||
AuthzOpenObjectAudit@32
|
||||
AuthzRegisterCapChangeNotification@12
|
||||
AuthzRegisterSecurityEventSource@12
|
||||
AuthzReportSecurityEvent
|
||||
AuthzReportSecurityEvent@0
|
||||
AuthzReportSecurityEventFromParams@20
|
||||
AuthzSetAppContainerInformation@16
|
||||
AuthzShutdownRemoteAccessCheck@0
|
||||
AuthzUninstallSecurityEventSource@8
|
||||
AuthzUnregisterCapChangeNotification@4
|
||||
AuthzUnregisterSecurityEventSource@8
|
||||
AuthziAccessCheckEx@40
|
||||
AuthziAllocateAuditParams@8
|
||||
@@ -38,9 +50,9 @@ AuthziFreeAuditQueue@4
|
||||
AuthziGenerateAdminAlertAuditW@16
|
||||
AuthziInitializeAuditEvent@44
|
||||
AuthziInitializeAuditEventType@20
|
||||
AuthziInitializeAuditParams
|
||||
AuthziInitializeAuditParams@0
|
||||
AuthziInitializeAuditParamsFromArray@20
|
||||
AuthziInitializeAuditParamsWithRM
|
||||
AuthziInitializeAuditParamsWithRM@0
|
||||
AuthziInitializeAuditQueue@20
|
||||
AuthziInitializeContextFromSid@32
|
||||
AuthziLogAuditEvent@12
|
||||
@@ -48,6 +60,18 @@ AuthziModifyAuditEvent2@32
|
||||
AuthziModifyAuditEvent@28
|
||||
AuthziModifyAuditEventType@20
|
||||
AuthziModifyAuditQueue@24
|
||||
AuthziQueryAuditPolicy@0
|
||||
AuthziSetAuditPolicy@0
|
||||
AuthziModifySecurityAttributes@12
|
||||
AuthziQuerySecurityAttributes@24
|
||||
AuthziSourceAudit
|
||||
AuthziSourceAudit@0
|
||||
FreeClaimDefinitions@8
|
||||
FreeClaimDictionary@4
|
||||
GenerateNewCAPID@4
|
||||
GetCentralAccessPoliciesByCapID@28
|
||||
GetCentralAccessPoliciesByDN@20
|
||||
GetClaimDefinitions@16
|
||||
GetClaimDomainInfo@12
|
||||
GetDefaultCAPESecurityDescriptor@4
|
||||
InitializeClaimDictionary@12
|
||||
RefreshClaimDictionary@4
|
||||
|
||||
Vendored
+142
-3
@@ -5,6 +5,21 @@
|
||||
;
|
||||
LIBRARY "fwpuclnt.dll"
|
||||
EXPORTS
|
||||
FwpiExpandCriteria0@20
|
||||
FwpiFreeCriteria0@8
|
||||
FwpiVpnTriggerAddAppSids@12
|
||||
FwpiVpnTriggerAddFilePaths@12
|
||||
FwpiVpnTriggerAddSecurityDescriptor@8
|
||||
FwpiVpnTriggerConfigureParameters@8
|
||||
FwpiVpnTriggerEventSubscribe0@20
|
||||
FwpiVpnTriggerEventUnsubscribe0@8
|
||||
FwpiVpnTriggerInitializeNrptTriggering@8
|
||||
FwpiVpnTriggerRemoveAppSids@4
|
||||
FwpiVpnTriggerRemoveFilePaths@4
|
||||
FwpiVpnTriggerRemoveSecurityDescriptor@4
|
||||
FwpiVpnTriggerResetNrptTriggering@4
|
||||
FwpiVpnTriggerSetStateDisconnected@8
|
||||
FwpiVpnTriggerUninitializeNrptTriggering@4
|
||||
FwpmCalloutAdd0@16
|
||||
FwpmCalloutCreateEnumHandle0@12
|
||||
FwpmCalloutDeleteById0@8
|
||||
@@ -18,7 +33,17 @@ FwpmCalloutSetSecurityInfoByKey0@28
|
||||
FwpmCalloutSubscribeChanges0@20
|
||||
FwpmCalloutSubscriptionsGet0@12
|
||||
FwpmCalloutUnsubscribeChanges0@8
|
||||
FwpmConnectionCreateEnumHandle0@12
|
||||
FwpmConnectionDestroyEnumHandle0@8
|
||||
FwpmConnectionEnum0@20
|
||||
FwpmConnectionGetById0@16
|
||||
FwpmConnectionGetSecurityInfo0@28
|
||||
FwpmConnectionSetSecurityInfo0@24
|
||||
FwpmConnectionSubscribe0@20
|
||||
FwpmConnectionUnsubscribe0@8
|
||||
FwpmDiagnoseNetFailure0@12
|
||||
FwpmDynamicKeywordSubscribe0@16
|
||||
FwpmDynamicKeywordUnsubscribe0@4
|
||||
FwpmEngineClose0@4
|
||||
FwpmEngineGetOption0@12
|
||||
FwpmEngineGetSecurityInfo0@28
|
||||
@@ -27,7 +52,8 @@ FwpmEngineSetOption0@12
|
||||
FwpmEngineSetSecurityInfo0@24
|
||||
FwpmEventProviderCreate0@8
|
||||
FwpmEventProviderDestroy0@4
|
||||
FwpmEventProviderFireNetEvent0@12
|
||||
FwpmEventProviderFireNetEvent0@16
|
||||
FwpmEventProviderFireNetEventEx0@20
|
||||
FwpmEventProviderIsNetEventTypeEnabled0@12
|
||||
FwpmFilterAdd0@16
|
||||
FwpmFilterCreateEnumHandle0@12
|
||||
@@ -44,7 +70,17 @@ FwpmFilterSubscriptionsGet0@12
|
||||
FwpmFilterUnsubscribeChanges0@8
|
||||
FwpmFreeMemory0@4
|
||||
FwpmGetAppIdFromFileName0@8
|
||||
FwpmGetSidFromOnlineId0@8
|
||||
FwpmIPsecS2STunnelAddConditions0@28
|
||||
FwpmIPsecS2STunnelAddInterfaceToCompartment0@12
|
||||
FwpmIPsecS2STunnelGetInterfaceForCompartment0@12
|
||||
FwpmIPsecS2STunnelRemoveConditions0@28
|
||||
FwpmIPsecS2STunnelRemoveInterfaceFromCompartment0@8
|
||||
FwpmIPsecTunnelAdd0@28
|
||||
FwpmIPsecTunnelAdd1@32
|
||||
FwpmIPsecTunnelAdd2@32
|
||||
FwpmIPsecTunnelAdd3@32
|
||||
FwpmIPsecTunnelAddConditions0@20
|
||||
FwpmIPsecTunnelDeleteByKey0@8
|
||||
FwpmLayerCreateEnumHandle0@12
|
||||
FwpmLayerDestroyEnumHandle0@8
|
||||
@@ -54,19 +90,46 @@ FwpmLayerGetByKey0@12
|
||||
FwpmLayerGetSecurityInfoByKey0@32
|
||||
FwpmLayerSetSecurityInfoByKey0@28
|
||||
FwpmNetEventCreateEnumHandle0@12
|
||||
FwpmNetEventCreateEnumHandleEx@16
|
||||
FwpmNetEventDestroyEnumHandle0@8
|
||||
FwpmNetEventEnum0@20
|
||||
FwpmNetEventEnum1@20
|
||||
FwpmNetEventEnum2@20
|
||||
FwpmNetEventEnum3@20
|
||||
FwpmNetEventEnum4@20
|
||||
FwpmNetEventEnum5@20
|
||||
FwpmNetEventSubscribe0@20
|
||||
FwpmNetEventSubscribe1@20
|
||||
FwpmNetEventSubscribe2@20
|
||||
FwpmNetEventSubscribe3@20
|
||||
FwpmNetEventSubscribe4@20
|
||||
FwpmNetEventSubscriptionsGet0@12
|
||||
FwpmNetEventUnsubscribe0@8
|
||||
FwpmNetEventsGetSecurityInfo0@28
|
||||
FwpmNetEventsLost0@8
|
||||
FwpmNetEventsSetSecurityInfo0@24
|
||||
FwpmProcessNameResolutionEvent0@16
|
||||
FwpmProviderAdd0@12
|
||||
FwpmProviderContextAdd0@16
|
||||
FwpmProviderContextAdd1@16
|
||||
FwpmProviderContextAdd2@16
|
||||
FwpmProviderContextAdd3@16
|
||||
FwpmProviderContextCreateEnumHandle0@12
|
||||
FwpmProviderContextDeleteById0@12
|
||||
FwpmProviderContextDeleteByKey0@8
|
||||
FwpmProviderContextDestroyEnumHandle0@8
|
||||
FwpmProviderContextEnum0@20
|
||||
FwpmProviderContextEnum1@20
|
||||
FwpmProviderContextEnum2@20
|
||||
FwpmProviderContextEnum3@20
|
||||
FwpmProviderContextGetById0@16
|
||||
FwpmProviderContextGetById1@16
|
||||
FwpmProviderContextGetById2@16
|
||||
FwpmProviderContextGetById3@16
|
||||
FwpmProviderContextGetByKey0@12
|
||||
FwpmProviderContextGetByKey1@12
|
||||
FwpmProviderContextGetByKey2@12
|
||||
FwpmProviderContextGetByKey3@12
|
||||
FwpmProviderContextGetSecurityInfoByKey0@32
|
||||
FwpmProviderContextSetSecurityInfoByKey0@28
|
||||
FwpmProviderContextSubscribeChanges0@20
|
||||
@@ -96,51 +159,127 @@ FwpmSubLayerSetSecurityInfoByKey0@28
|
||||
FwpmSubLayerSubscribeChanges0@20
|
||||
FwpmSubLayerSubscriptionsGet0@12
|
||||
FwpmSubLayerUnsubscribeChanges0@8
|
||||
FwpmSystemPortsGet0@8
|
||||
FwpmSystemPortsSubscribe0@20
|
||||
FwpmSystemPortsUnsubscribe0@8
|
||||
FwpmTraceRestoreDefaults0@0
|
||||
FwpmTransactionAbort0@4
|
||||
FwpmTransactionBegin0@8
|
||||
FwpmTransactionCommit0@4
|
||||
FwpmvSwitchEventSubscribe0@20
|
||||
FwpmvSwitchEventUnsubscribe0@8
|
||||
FwpmvSwitchEventsGetSecurityInfo0@28
|
||||
FwpmvSwitchEventsSetSecurityInfo0@24
|
||||
FwppConnectionGetByIPsecInfo@20
|
||||
FwppConnectionGetByS2STunnelId@16
|
||||
FwppConnectionGetS2STunnelId@16
|
||||
FwppGetMD5HashBytes@16
|
||||
FwppIPsecSaContextCreate@36
|
||||
FwpsAleEndpointCreateEnumHandle0@12
|
||||
FwpsAleEndpointDestroyEnumHandle0@8
|
||||
FwpsAleEndpointEnum0@20
|
||||
FwpsAleEndpointGetById0@16
|
||||
FwpsAleEndpointGetSecurityInfo0@28
|
||||
FwpsAleEndpointSetSecurityInfo0@24
|
||||
FwpsAleExplicitCredentialsQuery0@16
|
||||
FwpsAleGetPortStatus0@12
|
||||
FwpsClassifyUser0@28
|
||||
FwpsFreeMemory0@4
|
||||
FwpsGetInProcReplicaOffset0@4
|
||||
FwpsLayerCreateInProcReplica0@8
|
||||
FwpsLayerReleaseInProcReplica0@8
|
||||
FwpsOpenToken0@20
|
||||
FwpsQueryIPsecDosFWUsed0@8
|
||||
FwpsQueryIPsecOffloadDone0@8
|
||||
GetUnifiedTraceHandle@4
|
||||
IPsecDospGetSecurityInfo0@28
|
||||
IPsecDospGetStatistics0@8
|
||||
IPsecDospSetSecurityInfo0@24
|
||||
IPsecDospStateCreateEnumHandle0@12
|
||||
IPsecDospStateDestroyEnumHandle0@8
|
||||
IPsecDospStateEnum0@20
|
||||
IPsecGetKeyFromDictator0@16
|
||||
IPsecGetStatistics0@8
|
||||
IPsecGetStatistics1@8
|
||||
IPsecKeyDictationCheck0@16
|
||||
IPsecKeyManagerAddAndRegister0@16
|
||||
IPsecKeyManagerGetSecurityInfoByKey0@32
|
||||
IPsecKeyManagerSetSecurityInfoByKey0@28
|
||||
IPsecKeyManagerUnregisterAndDelete0@8
|
||||
IPsecKeyManagersGet0@12
|
||||
IPsecKeyModuleAdd0@12
|
||||
IPsecKeyModuleCompleteAcquire0@16
|
||||
IPsecKeyModuleDelete0@8
|
||||
IPsecKeyModuleUpdateAcquire0@20
|
||||
IPsecKeyNotification0@12
|
||||
IPsecSaContextAddInbound0@16
|
||||
IPsecSaContextAddInbound1@16
|
||||
IPsecSaContextAddInboundAndTrackConnection@28
|
||||
IPsecSaContextAddOutbound0@16
|
||||
IPsecSaContextAddOutbound1@16
|
||||
IPsecSaContextAddOutboundAndTrackConnection@28
|
||||
IPsecSaContextCreate0@16
|
||||
IPsecSaContextCreate1@20
|
||||
IPsecSaContextCreateEnumHandle0@12
|
||||
IPsecSaContextDeleteById0@12
|
||||
IPsecSaContextDestroyEnumHandle0@8
|
||||
IPsecSaContextEnum0@20
|
||||
IPsecSaContextEnum1@20
|
||||
IPsecSaContextExpire0@12
|
||||
IPsecSaContextGetById0@16
|
||||
IPsecSaContextGetById1@16
|
||||
IPsecSaContextGetSpi0@20
|
||||
IPsecSaContextGetSpi1@20
|
||||
IPsecSaContextSetSpi0@20
|
||||
IPsecSaContextSubscribe0@20
|
||||
IPsecSaContextSubscriptionsGet0@12
|
||||
IPsecSaContextUnsubscribe0@8
|
||||
IPsecSaContextUpdate0@16
|
||||
IPsecSaCreateEnumHandle0@12
|
||||
IPsecSaDbGetSecurityInfo0@28
|
||||
IPsecSaDbSetSecurityInfo0@24
|
||||
IPsecSaDestroyEnumHandle0@8
|
||||
IPsecSaEnum0@20
|
||||
IPsecSaEnum1@20
|
||||
IPsecSaInitiateAsync0@16
|
||||
IkeextGetConfigParameters0@4
|
||||
IkeextGetStatistics0@8
|
||||
IkeextGetStatistics1@8
|
||||
IkeextSaCreateEnumHandle0@12
|
||||
IkeextSaDbGetSecurityInfo0@28
|
||||
IkeextSaDbSetSecurityInfo0@24
|
||||
IkeextSaDeleteById0@12
|
||||
IkeextSaDestroyEnumHandle0@8
|
||||
IkeextSaEnum0@20
|
||||
IkeextSaEnum1@20
|
||||
IkeextSaEnum2@20
|
||||
IkeextSaGetById0@16
|
||||
IkeextSaGetById1@20
|
||||
IkeextSaGetById2@20
|
||||
IkeextSaUpdateAdditionalAddressesByTunnelId0@24
|
||||
IkeextSaUpdatePreferredAddressesByTunnelId0@24
|
||||
IkeextSetConfigParameters0@4
|
||||
NamespaceCallout@12
|
||||
WFPRIODequeueCompletion@12
|
||||
WSADeleteSocketPeerTargetName@20
|
||||
WSAImpersonateSocketPeer@12
|
||||
WSAQuerySocketSecurity@28
|
||||
WSARevertImpersonation@0
|
||||
WSASetSocketPeerTargetName@20
|
||||
WSASetSocketSecurity@20
|
||||
wfpdiagW@16
|
||||
WfpCloseDPConfigureHandle@4 ; forwards to NtClose in ntdll.dll
|
||||
WfpConfigureDPSecurityDescriptor@12
|
||||
WfpCreateDPConfigureHandle@4
|
||||
WfpRIOChannelClose@4 ; forwards to NtClose in ntdll.dll
|
||||
WfpRIOCleanupRequestQueue@8
|
||||
WfpRIOCloseCompletionQueue@8
|
||||
WfpRIOCreateChannel@12
|
||||
WfpRIOCreateCompletionQueue@16
|
||||
WfpRIOCreateRequestQueue@36
|
||||
WfpRIODeregisterBuffer@12
|
||||
WfpRIOIndicateActivityThreshold@8
|
||||
WfpRIONotify@8
|
||||
WfpRIOReceive@28
|
||||
WfpRIORegisterBuffer@16
|
||||
WfpRIOResume@4
|
||||
WfpRIOSend@28
|
||||
WfpRIOSuspend@4
|
||||
|
||||
Vendored
+10
-1
@@ -1,6 +1,15 @@
|
||||
LIBRARY ksuser.dll
|
||||
;
|
||||
; Definition file of ksuser.dll
|
||||
; Automatic generated by gendef
|
||||
; written by Kai Tietz 2008
|
||||
;
|
||||
LIBRARY "ksuser.dll"
|
||||
EXPORTS
|
||||
KsCreateAllocator2@12
|
||||
KsCreateAllocator@12
|
||||
KsCreateClock2@12
|
||||
KsCreateClock@12
|
||||
KsCreatePin2@16
|
||||
KsCreatePin@16
|
||||
KsCreateTopologyNode2@16
|
||||
KsCreateTopologyNode@16
|
||||
|
||||
Vendored
+45
-1
@@ -1,4 +1,9 @@
|
||||
LIBRARY MSWSOCK.DLL
|
||||
;
|
||||
; Definition file of MSWSOCK.dll
|
||||
; Automatic generated by gendef
|
||||
; written by Kai Tietz 2008
|
||||
;
|
||||
LIBRARY "MSWSOCK.dll"
|
||||
EXPORTS
|
||||
AcceptEx@32
|
||||
EnumProtocolsA@12
|
||||
@@ -10,14 +15,53 @@ GetNameByTypeA@12
|
||||
GetNameByTypeW@12
|
||||
GetServiceA@28
|
||||
GetServiceW@28
|
||||
GetSocketErrorMessageW@4
|
||||
GetTypeByNameA@8
|
||||
GetTypeByNameW@8
|
||||
MigrateWinsockConfiguration@12
|
||||
MigrateWinsockConfigurationEx@20
|
||||
NPLoadNameSpaces@12
|
||||
NSPStartup@8
|
||||
; MSDN says ProcessSocketNotifications is from ws2_32.dll, not mswsock.dll
|
||||
; ProcessSocketNotifications@28
|
||||
SetServiceA@24
|
||||
SetServiceW@24
|
||||
StartWsdpService@0
|
||||
StopWsdpService@0
|
||||
Tcpip4_WSHAddressToString@20
|
||||
Tcpip4_WSHEnumProtocols@16
|
||||
Tcpip4_WSHGetBroadcastSockaddr@12
|
||||
Tcpip4_WSHGetProviderGuid@8
|
||||
Tcpip4_WSHGetSockaddrType@12
|
||||
Tcpip4_WSHGetSocketInformation@32
|
||||
Tcpip4_WSHGetWSAProtocolInfo@12
|
||||
Tcpip4_WSHGetWildcardSockaddr@12
|
||||
Tcpip4_WSHGetWinsockMapping@8
|
||||
Tcpip4_WSHIoctl@52
|
||||
Tcpip4_WSHJoinLeaf@52
|
||||
Tcpip4_WSHNotify@20
|
||||
Tcpip4_WSHOpenSocket2@32
|
||||
Tcpip4_WSHOpenSocket@24
|
||||
Tcpip4_WSHSetSocketInformation@32
|
||||
Tcpip4_WSHStringToAddress@20
|
||||
Tcpip6_WSHAddressToString@20
|
||||
Tcpip6_WSHEnumProtocols@16
|
||||
Tcpip6_WSHGetProviderGuid@8
|
||||
Tcpip6_WSHGetSockaddrType@12
|
||||
Tcpip6_WSHGetSocketInformation@32
|
||||
Tcpip6_WSHGetWSAProtocolInfo@12
|
||||
Tcpip6_WSHGetWildcardSockaddr@12
|
||||
Tcpip6_WSHGetWinsockMapping@8
|
||||
Tcpip6_WSHIoctl@52
|
||||
Tcpip6_WSHJoinLeaf@52
|
||||
Tcpip6_WSHNotify@20
|
||||
Tcpip6_WSHOpenSocket2@32
|
||||
Tcpip6_WSHOpenSocket@24
|
||||
Tcpip6_WSHSetSocketInformation@32
|
||||
Tcpip6_WSHStringToAddress@20
|
||||
TransmitFile@28
|
||||
WSARecvEx@16
|
||||
WSPStartup@76
|
||||
dn_expand@20
|
||||
getnetbyname@4
|
||||
inet_network@4
|
||||
|
||||
Vendored
+55
@@ -229,6 +229,7 @@ NtAccessCheckByTypeAndAuditAlarm@64
|
||||
NtAccessCheckByTypeResultList@44
|
||||
NtAccessCheckByTypeResultListAndAuditAlarm@64
|
||||
NtAccessCheckByTypeResultListAndAuditAlarmByHandle@68
|
||||
NtAcquireCrossVmMutant@8
|
||||
NtAcquireProcessActivityReference@12
|
||||
NtAcquireCMFViewOwnership@12
|
||||
NtAddAtom@12
|
||||
@@ -284,6 +285,8 @@ NtCancelSynchronousIoFile@12
|
||||
NtCancelTimer2@8
|
||||
NtCancelTimer@8
|
||||
NtCancelWaitCompletionPacket@8
|
||||
NtChangeProcessState@24
|
||||
NtChangeThreadState@24
|
||||
NtClearEvent@4
|
||||
NtClose@4
|
||||
NtCloseObjectAuditAlarm@12
|
||||
@@ -299,8 +302,10 @@ NtCompleteConnectPort@4
|
||||
NtCompressKey@4
|
||||
NtConnectPort@32
|
||||
NtContinue@8
|
||||
NtContinueEx@8
|
||||
NtConvertBetweenAuxiliaryCounterAndPerformanceCounter@16
|
||||
NtCreateCrossVmEvent@24
|
||||
NtCreateCrossVmMutant@24
|
||||
NtCreateDebugObject@16
|
||||
NtCreateDirectoryObject@12
|
||||
NtCreateDirectoryObjectEx@20
|
||||
@@ -311,6 +316,7 @@ NtCreateEventPair@12
|
||||
NtCreateFile@44
|
||||
NtCreateIRTimer@12
|
||||
NtCreateIoCompletion@16
|
||||
NtCreateIoRing@20
|
||||
NtCreateJobObject@12
|
||||
NtCreateJobSet@12
|
||||
NtCreateKey@28
|
||||
@@ -326,6 +332,7 @@ NtCreatePort@20
|
||||
NtCreatePrivateNamespace@16
|
||||
NtCreateProcess@32
|
||||
NtCreateProcessEx@36
|
||||
NtCreateProcessStateChange@20
|
||||
NtCreateProfile@36
|
||||
NtCreateProfileEx@40
|
||||
NtCreateRegistryTransaction@16
|
||||
@@ -336,6 +343,7 @@ NtCreateSemaphore@20
|
||||
NtCreateSymbolicLinkObject@16
|
||||
NtCreateThread@32
|
||||
NtCreateThreadEx@44
|
||||
NtCreateThreadStateChange@20
|
||||
NtCreateTimer2@20
|
||||
NtCreateTimer@16
|
||||
NtCreateToken@52
|
||||
@@ -362,6 +370,7 @@ NtDeleteValueKey@8
|
||||
NtDeleteWnfStateData@8
|
||||
NtDeleteWnfStateName@4
|
||||
NtDeviceIoControlFile@40
|
||||
NtDirectGraphicsCall@20
|
||||
NtDisableLastKnownGood@0
|
||||
NtDisplayString@4
|
||||
NtDrawText@4
|
||||
@@ -420,6 +429,7 @@ NtListenPort@8
|
||||
NtLoadDriver@4
|
||||
NtLoadEnclaveData@36
|
||||
NtLoadKey2@12
|
||||
NtLoadKey3@32
|
||||
NtLoadKey@8
|
||||
NtLoadKeyEx@32
|
||||
NtLockFile@40
|
||||
@@ -517,6 +527,7 @@ NtQueryInformationWorkerFactory@20
|
||||
NtQueryInstallUILanguage@4
|
||||
NtQueryIntervalProfile@8
|
||||
NtQueryIoCompletion@20
|
||||
NtQueryIoRingCapabilities@8
|
||||
NtQueryKey@20
|
||||
NtQueryLicenseValue@20
|
||||
NtQueryMultipleValueKey@24
|
||||
@@ -546,6 +557,7 @@ NtQueryVolumeInformationFile@20
|
||||
NtQueryWnfStateData@24
|
||||
NtQueryWnfStateNameInformation@20
|
||||
NtQueueApcThread@20
|
||||
NtQueueApcThreadEx2@28
|
||||
NtQueueApcThreadEx@24
|
||||
NtRaiseException@12
|
||||
NtRaiseHardError@24
|
||||
@@ -554,6 +566,7 @@ NtReadFileScatter@36
|
||||
NtReadOnlyEnlistment@8
|
||||
NtReadRequestData@24
|
||||
NtReadVirtualMemory@20
|
||||
NtReadVirtualMemoryEx@24
|
||||
NtRecoverEnlistment@8
|
||||
NtRecoverResourceManager@4
|
||||
NtRecoverTransactionManager@4
|
||||
@@ -614,6 +627,7 @@ NtSetIRTimer@8
|
||||
NtSetInformationDebugObject@20
|
||||
NtSetInformationEnlistment@16
|
||||
NtSetInformationFile@20
|
||||
NtSetInformationIoRing@16
|
||||
NtSetInformationJobObject@16
|
||||
NtSetInformationKey@16
|
||||
NtSetInformationObject@16
|
||||
@@ -654,6 +668,7 @@ NtSignalAndWaitForSingleObject@16
|
||||
NtSinglePhaseReject@8
|
||||
NtStartProfile@4
|
||||
NtStopProfile@4
|
||||
NtSubmitIoRing@16
|
||||
NtSubscribeWnfStateChange@16
|
||||
NtSuspendProcess@4
|
||||
NtSuspendThread@8
|
||||
@@ -832,6 +847,8 @@ RtlCommitDebugInfo@8
|
||||
RtlCommitMemoryStream@8
|
||||
RtlCompactHeap@8
|
||||
RtlCompareAltitudes@8
|
||||
RtlCompareExchangePointerMapping@16
|
||||
RtlCompareExchangePropertyStore@16
|
||||
RtlCompareMemory@12
|
||||
RtlCompareMemoryUlong@12
|
||||
RtlCompareString@12
|
||||
@@ -844,6 +861,7 @@ RtlComputePrivatizedDllName_U@12
|
||||
RtlConnectToSm@16
|
||||
RtlConsoleMultiByteToUnicodeN@24
|
||||
RtlConstructCrossVmEventPath@12
|
||||
RtlConstructCrossVmMutexPath@12
|
||||
RtlContractHashTable@4
|
||||
RtlConvertDeviceFamilyInfoToString@16
|
||||
RtlConvertExclusiveToShared@4
|
||||
@@ -919,6 +937,7 @@ RtlDecompressBuffer@24
|
||||
RtlDecompressBufferEx@28
|
||||
RtlDecompressFragment@32
|
||||
RtlDefaultNpAcl@4
|
||||
RtlDelayExecution@8
|
||||
RtlDelete@4
|
||||
RtlDeleteAce@8
|
||||
RtlDeleteAtomFromAtomTable@8
|
||||
@@ -1099,6 +1118,7 @@ RtlGetFullPathName_U@16
|
||||
RtlGetFullPathName_UEx@20
|
||||
RtlGetFullPathName_UstrEx@32
|
||||
RtlGetGroupSecurityDescriptor@12
|
||||
RtlGetImageFileMachines@8
|
||||
RtlGetIntegerAtom@8
|
||||
RtlGetInterruptTimePrecise@4
|
||||
RtlGetLastNtStatus@0
|
||||
@@ -1122,6 +1142,7 @@ RtlGetPersistedStateLocation@28
|
||||
RtlGetProcessHeaps@8
|
||||
RtlGetProcessPreferredUILanguages@16
|
||||
RtlGetProductInfo@20
|
||||
RtlGetReturnAddressHijackTarget@0
|
||||
RtlGetSaclSecurityDescriptor@16
|
||||
RtlGetSearchPath@4
|
||||
RtlGetSecurityDescriptorRMControl@8
|
||||
@@ -1130,7 +1151,9 @@ RtlGetSetBootStatusData@24
|
||||
RtlGetSuiteMask@0
|
||||
RtlGetSystemBootStatus@16
|
||||
RtlGetSystemBootStatusEx@12
|
||||
RtlGetSystemGlobalData@12
|
||||
RtlGetSystemPreferredUILanguages@20
|
||||
RtlGetSystemTimeAndBias@12
|
||||
RtlGetSystemTimePrecise@0
|
||||
RtlGetThreadErrorMode@0
|
||||
RtlGetThreadLangIdByIndex@16
|
||||
@@ -1232,6 +1255,7 @@ RtlIpv6StringToAddressExA@16
|
||||
RtlIpv6StringToAddressExW@16
|
||||
RtlIpv6StringToAddressW@12
|
||||
RtlIsActivationContextActive@4
|
||||
RtlIsApiSetImplemented@4
|
||||
RtlIsCapabilitySid@4
|
||||
RtlIsCloudFilesPlaceholder@8
|
||||
RtlIsCriticalSectionLocked@4
|
||||
@@ -1241,6 +1265,7 @@ RtlIsCurrentThread@4
|
||||
RtlIsCurrentThreadAttachExempt@0
|
||||
RtlIsDosDeviceName_U@4
|
||||
RtlIsElevatedRid@4
|
||||
RtlIsEnclaveFeaturePresent@4
|
||||
RtlIsGenericTableEmpty@4
|
||||
RtlIsGenericTableEmptyAvl@4
|
||||
RtlIsMultiSessionSku@0
|
||||
@@ -1321,6 +1346,7 @@ RtlNewSecurityObjectWithMultipleInheritance@36
|
||||
RtlNormalizeProcessParams@4
|
||||
RtlNormalizeSecurityDescriptor@20
|
||||
RtlNormalizeString@20
|
||||
RtlNotifyFeatureUsage@4
|
||||
RtlNtPathNameToDosPathName@16
|
||||
RtlNtStatusToDosError@4
|
||||
RtlNtStatusToDosErrorNoTeb@4
|
||||
@@ -1347,6 +1373,7 @@ RtlProtectHeap@8
|
||||
RtlPublishWnfStateData@24
|
||||
RtlPushFrame@4
|
||||
RtlQueryActivationContextApplicationSettings@28
|
||||
RtlQueryAllFeatureConfigurations@16
|
||||
RtlQueryAtomInAtomTable@24
|
||||
RtlQueryCriticalSectionOwner@4
|
||||
RtlQueryDepthSList@4
|
||||
@@ -1354,6 +1381,9 @@ RtlQueryDynamicTimeZoneInformation@4
|
||||
RtlQueryElevationFlags@4
|
||||
RtlQueryEnvironmentVariable@24
|
||||
RtlQueryEnvironmentVariable_U@12
|
||||
RtlQueryFeatureConfiguration@16
|
||||
RtlQueryFeatureConfigurationChangeStamp@0
|
||||
RtlQueryFeatureUsageNotificationSubscriptions@8
|
||||
RtlQueryHeapInformation@20
|
||||
RtlQueryImageMitigationPolicy@20
|
||||
RtlQueryInformationAcl@16
|
||||
@@ -1366,11 +1396,13 @@ RtlQueryPackageIdentity@24
|
||||
RtlQueryPackageIdentityEx@28
|
||||
RtlQueryPerformanceCounter@4
|
||||
RtlQueryPerformanceFrequency@4
|
||||
RtlQueryPointerMapping@8
|
||||
RtlQueryProcessBackTraceInformation@4
|
||||
RtlQueryProcessDebugInformation@12
|
||||
RtlQueryProcessHeapInformation@4
|
||||
RtlQueryProcessLockInformation@4
|
||||
RtlQueryProcessPlaceholderCompatibilityMode@0
|
||||
RtlQueryPropertyStore@8
|
||||
RtlQueryProtectedPolicy@8
|
||||
RtlQueryRegistryValueWithFallback@28
|
||||
RtlQueryRegistryValues@20
|
||||
@@ -1402,6 +1434,7 @@ RtlReadOutOfProcessMemoryStream@16
|
||||
RtlReadThreadProfilingData@12
|
||||
RtlRealPredecessor@4
|
||||
RtlRealSuccessor@4
|
||||
RtlRegisterFeatureConfigurationChangeNotification@16
|
||||
RtlRegisterForWnfMetaNotification@24
|
||||
RtlRegisterSecureMemoryCacheCallback@4
|
||||
RtlRegisterThreadWithCsrss@0
|
||||
@@ -1417,7 +1450,9 @@ RtlReleaseSRWLockExclusive@4
|
||||
RtlReleaseSRWLockShared@4
|
||||
RtlRemoteCall@28
|
||||
RtlRemoveEntryHashTable@12
|
||||
RtlRemovePointerMapping@8
|
||||
RtlRemovePrivileges@12
|
||||
RtlRemovePropertyStore@8
|
||||
RtlRemoveVectoredContinueHandler@4
|
||||
RtlRemoveVectoredExceptionHandler@4
|
||||
RtlReplaceSidInSd@16
|
||||
@@ -1431,6 +1466,7 @@ RtlResetMemoryZone@4
|
||||
RtlResetNtUserPfn@0
|
||||
RtlResetRtlTranslations@4
|
||||
RtlRestoreBootStatusDefaults@4
|
||||
RtlRestoreContext@8
|
||||
RtlRestoreLastWin32Error@4
|
||||
RtlRestoreSystemBootStatusDefaults@0
|
||||
RtlRestoreThreadPreferredUILanguages@4
|
||||
@@ -1463,6 +1499,7 @@ RtlSetEnvironmentStrings@8
|
||||
RtlSetEnvironmentVar@20
|
||||
RtlSetEnvironmentVariable@12
|
||||
RtlSetExtendedFeaturesMask@12
|
||||
RtlSetFeatureConfigurations@16
|
||||
RtlSetGroupSecurityDescriptor@12
|
||||
RtlSetHeapInformation@16
|
||||
RtlSetImageMitigationPolicy@20
|
||||
@@ -1518,6 +1555,7 @@ RtlStringFromGUIDEx@12
|
||||
RtlStronglyEnumerateEntryHashTable@8
|
||||
RtlSubAuthorityCountSid@4
|
||||
RtlSubAuthoritySid@8
|
||||
RtlSubscribeForFeatureUsageNotification@8
|
||||
RtlSubscribeWnfStateChangeNotification@36
|
||||
RtlSubtreePredecessor@4
|
||||
RtlSubtreeSuccessor@4
|
||||
@@ -1569,6 +1607,8 @@ RtlUnlockMemoryBlockLookaside@4
|
||||
RtlUnlockMemoryStreamRegion@24
|
||||
RtlUnlockMemoryZone@4
|
||||
RtlUnlockModuleSection@4
|
||||
RtlUnregisterFeatureConfigurationChangeNotification@4
|
||||
RtlUnsubscribeFromFeatureUsageNotifications@8
|
||||
RtlUnsubscribeWnfNotificationWaitForCompletion@4
|
||||
RtlUnsubscribeWnfNotificationWithCompletionCallback@12
|
||||
RtlUnsubscribeWnfStateChangeNotification@4
|
||||
@@ -1789,6 +1829,7 @@ ZwAccessCheckByTypeAndAuditAlarm@64
|
||||
ZwAccessCheckByTypeResultList@44
|
||||
ZwAccessCheckByTypeResultListAndAuditAlarm@64
|
||||
ZwAccessCheckByTypeResultListAndAuditAlarmByHandle@68
|
||||
ZwAcquireCrossVmMutant@8
|
||||
ZwAcquireCMFViewOwnership@12
|
||||
ZwAcquireProcessActivityReference@12
|
||||
ZwAddAtom@12
|
||||
@@ -1844,6 +1885,8 @@ ZwCancelSynchronousIoFile@12
|
||||
ZwCancelTimer2@8
|
||||
ZwCancelTimer@8
|
||||
ZwCancelWaitCompletionPacket@8
|
||||
ZwChangeProcessState@24
|
||||
ZwChangeThreadState@24
|
||||
ZwClearEvent@4
|
||||
ZwClose@4
|
||||
ZwCloseObjectAuditAlarm@12
|
||||
@@ -1859,8 +1902,10 @@ ZwCompleteConnectPort@4
|
||||
ZwCompressKey@4
|
||||
ZwConnectPort@32
|
||||
ZwContinue@8
|
||||
ZwContinueEx@8
|
||||
ZwConvertBetweenAuxiliaryCounterAndPerformanceCounter@16
|
||||
ZwCreateCrossVmEvent@24
|
||||
ZwCreateCrossVmMutant@24
|
||||
ZwCreateDebugObject@16
|
||||
ZwCreateDirectoryObject@12
|
||||
ZwCreateDirectoryObjectEx@20
|
||||
@@ -1871,6 +1916,7 @@ ZwCreateEventPair@12
|
||||
ZwCreateFile@44
|
||||
ZwCreateIRTimer@12
|
||||
ZwCreateIoCompletion@16
|
||||
ZwCreateIoRing@20
|
||||
ZwCreateJobObject@12
|
||||
ZwCreateJobSet@12
|
||||
ZwCreateKey@28
|
||||
@@ -1886,6 +1932,7 @@ ZwCreatePort@20
|
||||
ZwCreatePrivateNamespace@16
|
||||
ZwCreateProcess@32
|
||||
ZwCreateProcessEx@36
|
||||
ZwCreateProcessStateChange@20
|
||||
ZwCreateProfile@36
|
||||
ZwCreateProfileEx@40
|
||||
ZwCreateRegistryTransaction@16
|
||||
@@ -1896,6 +1943,7 @@ ZwCreateSemaphore@20
|
||||
ZwCreateSymbolicLinkObject@16
|
||||
ZwCreateThread@32
|
||||
ZwCreateThreadEx@44
|
||||
ZwCreateThreadStateChange@20
|
||||
ZwCreateTimer2@20
|
||||
ZwCreateTimer@16
|
||||
ZwCreateToken@52
|
||||
@@ -1921,6 +1969,7 @@ ZwDeleteValueKey@8
|
||||
ZwDeleteWnfStateData@8
|
||||
ZwDeleteWnfStateName@4
|
||||
ZwDeviceIoControlFile@40
|
||||
ZwDirectGraphicsCall@20
|
||||
ZwDisableLastKnownGood@0
|
||||
ZwDisplayString@4
|
||||
ZwDrawText@4
|
||||
@@ -1979,6 +2028,7 @@ ZwListenPort@8
|
||||
ZwLoadDriver@4
|
||||
ZwLoadEnclaveData@36
|
||||
ZwLoadKey2@12
|
||||
ZwLoadKey3@32
|
||||
ZwLoadKey@8
|
||||
ZwLoadKeyEx@32
|
||||
ZwLockFile@40
|
||||
@@ -2076,6 +2126,7 @@ ZwQueryInformationWorkerFactory@20
|
||||
ZwQueryInstallUILanguage@4
|
||||
ZwQueryIntervalProfile@8
|
||||
ZwQueryIoCompletion@20
|
||||
ZwQueryIoRingCapabilities@8
|
||||
ZwQueryKey@20
|
||||
ZwQueryLicenseValue@20
|
||||
ZwQueryMultipleValueKey@24
|
||||
@@ -2105,6 +2156,7 @@ ZwQueryVolumeInformationFile@20
|
||||
ZwQueryWnfStateData@24
|
||||
ZwQueryWnfStateNameInformation@20
|
||||
ZwQueueApcThread@20
|
||||
ZwQueueApcThreadEx2@28
|
||||
ZwQueueApcThreadEx@24
|
||||
ZwRaiseException@12
|
||||
ZwRaiseHardError@24
|
||||
@@ -2113,6 +2165,7 @@ ZwReadFileScatter@36
|
||||
ZwReadOnlyEnlistment@8
|
||||
ZwReadRequestData@24
|
||||
ZwReadVirtualMemory@20
|
||||
ZwReadVirtualMemoryEx@24
|
||||
ZwRecoverEnlistment@8
|
||||
ZwRecoverResourceManager@4
|
||||
ZwRecoverTransactionManager@4
|
||||
@@ -2173,6 +2226,7 @@ ZwSetIRTimer@8
|
||||
ZwSetInformationDebugObject@20
|
||||
ZwSetInformationEnlistment@16
|
||||
ZwSetInformationFile@20
|
||||
ZwSetInformationIoRing@16
|
||||
ZwSetInformationJobObject@16
|
||||
ZwSetInformationKey@16
|
||||
ZwSetInformationObject@16
|
||||
@@ -2213,6 +2267,7 @@ ZwSignalAndWaitForSingleObject@16
|
||||
ZwSinglePhaseReject@8
|
||||
ZwStartProfile@4
|
||||
ZwStopProfile@4
|
||||
ZwSubmitIoRing@16
|
||||
ZwSubscribeWnfStateChange@16
|
||||
ZwSuspendProcess@4
|
||||
ZwSuspendThread@8
|
||||
|
||||
Vendored
+17
@@ -0,0 +1,17 @@
|
||||
;
|
||||
; Definition file of query.dll
|
||||
; Automatic generated by gendef
|
||||
; written by Kai Tietz 2008
|
||||
;
|
||||
LIBRARY "query.dll"
|
||||
EXPORTS
|
||||
LoadBinaryFilter@8
|
||||
LoadTextFilter@8
|
||||
BindIFilterFromStorage@12
|
||||
BindIFilterFromStream@12
|
||||
DllCanUnloadNow
|
||||
DllGetClassObject@12
|
||||
DllRegisterServer
|
||||
DllUnregisterServer
|
||||
LoadIFilter@12
|
||||
LoadIFilterEx@16
|
||||
Vendored
+15
@@ -5,9 +5,24 @@
|
||||
;
|
||||
LIBRARY "tbs.dll"
|
||||
EXPORTS
|
||||
Tbsi_Create_Attestation_From_Log@36
|
||||
Tbsi_Get_TCG_Logs@24
|
||||
GetDeviceID@16
|
||||
GetDeviceIDString@16
|
||||
GetDeviceIDWithTimeout@20
|
||||
Tbsi_Context_Create@8
|
||||
Tbsi_Create_Windows_Key@4
|
||||
Tbsi_FilterLog@24
|
||||
Tbsi_GetDeviceInfo@8
|
||||
Tbsi_Get_OwnerAuth@16
|
||||
Tbsi_Get_TCG_Log@12
|
||||
Tbsi_Get_TCG_Log_Ex@12
|
||||
Tbsi_Physical_Presence_Command@20
|
||||
Tbsi_Revoke_Attestation@0
|
||||
Tbsi_ShaHash@32
|
||||
Tbsip_Cancel_Commands@4
|
||||
Tbsip_Context_Close@4
|
||||
Tbsip_Submit_Command@28
|
||||
Tbsip_Submit_Command_NonBlocking@28
|
||||
Tbsip_TestInterruptInformation@4
|
||||
Tbsip_TestMorBit@4
|
||||
|
||||
Vendored
+109
-82
@@ -1,12 +1,13 @@
|
||||
LIBRARY USER32.dll
|
||||
EXPORTS
|
||||
;ord_1500@16 @1500
|
||||
;ord_1501@4 @1501
|
||||
;ord_1502@12 @1502
|
||||
GetPointerFrameArrivalTimes@12
|
||||
Wow64Transition DATA
|
||||
ActivateKeyboardLayout@8
|
||||
AddClipboardFormatListener@4
|
||||
AddVisualIdentifier@8
|
||||
AdjustWindowRect@12
|
||||
AdjustWindowRectEx@16
|
||||
AdjustWindowRectExForDpi@20
|
||||
AlignRects@16
|
||||
AllowForegroundActivation@0
|
||||
AllowSetForegroundWindow@4
|
||||
@@ -14,6 +15,7 @@ AnimateWindow@12
|
||||
AnyPopup@0
|
||||
AppendMenuA@16
|
||||
AppendMenuW@16
|
||||
AreDpiAwarenessContextsEqual@8
|
||||
ArrangeIconicWindows@4
|
||||
AttachThreadInput@12
|
||||
BeginDeferWindowPos@4
|
||||
@@ -46,19 +48,13 @@ ChangeDisplaySettingsW@8
|
||||
ChangeMenuA@20
|
||||
ChangeMenuW@20
|
||||
ChangeWindowMessageFilter@8
|
||||
DwmGetDxRgn@12
|
||||
ChangeWindowMessageFilterEx@16
|
||||
CharLowerA@4
|
||||
CharLowerBuffA@8
|
||||
CharLowerBuffW@8
|
||||
CharLowerW@4
|
||||
CharNextA@4
|
||||
;ord_1550@12 @1550
|
||||
;ord_1551@8 @1551
|
||||
;ord_1552@8 @1552
|
||||
;ord_1553@12 @1553
|
||||
;ord_1554@8 @1554
|
||||
;ord_1555@16 @1555
|
||||
;ord_1556@4 @1556
|
||||
CharNextExA@12
|
||||
CharNextW@4
|
||||
CharPrevA@8
|
||||
@@ -73,6 +69,7 @@ CharUpperBuffA@8
|
||||
CharUpperBuffW@8
|
||||
CharUpperW@4
|
||||
CheckDesktopByThreadId@4
|
||||
CheckBannedOneCoreTransformApi@4
|
||||
CheckDBCSEnabledExt@0
|
||||
CheckDlgButton@12
|
||||
CheckMenuItem@12
|
||||
@@ -123,10 +120,12 @@ CreateMDIWindowA@40
|
||||
CreateMDIWindowW@40
|
||||
CreateMenu@0
|
||||
CreatePopupMenu@0
|
||||
CreateSyntheticPointerDevice@12
|
||||
CreateSystemThreads@16 ; ReactOS has the @8 variant
|
||||
CreateWindowExA@48
|
||||
CreateWindowExW@48
|
||||
CreateWindowInBand@52
|
||||
CreateWindowInBandEx@56
|
||||
CreateWindowIndirect@4
|
||||
CreateWindowStationA@16
|
||||
CreateWindowStationW@16
|
||||
@@ -185,6 +184,7 @@ DestroyDCompositionHwndTarget@8
|
||||
DestroyIcon@4
|
||||
DestroyMenu@4
|
||||
DestroyReasons@4
|
||||
DestroySyntheticPointerDevice@4
|
||||
DestroyWindow@4
|
||||
DeviceEventWorker@24 ; No documentation whatsoever, ReactOS has a stub with @20 - https://www.reactos.org/archives/public/ros-diffs/2011-February/040308.html
|
||||
DialogBoxIndirectParamA@20
|
||||
@@ -231,14 +231,18 @@ DrawTextW@20
|
||||
DwmGetDxSharedSurface@24
|
||||
DwmGetRemoteSessionOcclusionEvent@0
|
||||
DwmGetRemoteSessionOcclusionState@0
|
||||
DwmKernelShutdown@0
|
||||
DwmKernelStartup@0
|
||||
DwmLockScreenUpdates@4
|
||||
DwmStartRedirection@8 ; Mentioned on http://habrahabr.ru/post/145174/ , enables GDI virtualization (for security purposes)
|
||||
DwmStopRedirection@0
|
||||
DwmValidateWindow@8
|
||||
EditWndProc@16
|
||||
EditWndProc@20
|
||||
EmptyClipboard@0
|
||||
EnableMenuItem@12
|
||||
EnableMouseInPointer@4
|
||||
EnableNonClientDpiScaling@4
|
||||
EnableOneCoreTransformMode@0
|
||||
EnableScrollBar@12
|
||||
EnableSessionForMMCSS@4
|
||||
EnableWindow@8
|
||||
@@ -293,6 +297,7 @@ GetAppCompatFlags2@4
|
||||
GetAppCompatFlags@8 ; ReactOS has @4 version http://doxygen.reactos.org/d9/d71/undocuser_8h_a9b76cdc68c523a061c86a40367049ed2.html
|
||||
GetAsyncKeyState@4
|
||||
GetAutoRotationState@4
|
||||
GetAwarenessFromDpiAwarenessContext@4
|
||||
GetCIMSSM@4
|
||||
GetCapture@0
|
||||
GetCaretBlinkTime@0
|
||||
@@ -326,6 +331,8 @@ GetDCEx@12
|
||||
GetDesktopID@8
|
||||
GetDesktopWindow@0
|
||||
GetDialogBaseUnits@0
|
||||
GetDialogControlDpiChangeBehavior@4
|
||||
GetDialogDpiChangeBehavior@4
|
||||
GetDisplayAutoRotationPreferences@4
|
||||
GetDisplayConfigBufferSizes@12
|
||||
GetDlgCtrlID@4
|
||||
@@ -334,7 +341,12 @@ GetDlgItemInt@16
|
||||
GetDlgItemTextA@16
|
||||
GetDlgItemTextW@16
|
||||
GetDoubleClickTime@0
|
||||
GetDpiAwarenessContextForProcess@4
|
||||
GetDpiForMonitorInternal@16
|
||||
GetDpiForSystem@0
|
||||
GetDpiForWindow@4
|
||||
GetDpiFromDpiAwarenessContext@4
|
||||
GetExtendedPointerDeviceProperty@8
|
||||
GetFocus@0
|
||||
GetForegroundWindow@0
|
||||
GetGUIThreadInfo@8
|
||||
@@ -365,6 +377,7 @@ GetLayeredWindowAttributes@16
|
||||
GetListBoxInfo@4
|
||||
GetMagnificationDesktopColorEffect@4
|
||||
GetMagnificationDesktopMagnification@12
|
||||
GetMagnificationDesktopSamplingMode@4
|
||||
GetMagnificationLensCtxInformation@16
|
||||
GetMenu@4
|
||||
GetMenuBarInfo@16
|
||||
@@ -396,6 +409,8 @@ GetPhysicalCursorPos@4
|
||||
GetPointerCursorId@8
|
||||
GetPointerDevice@8
|
||||
GetPointerDeviceCursors@12
|
||||
GetPointerDeviceInputSpace@8
|
||||
GetPointerDeviceOrientation@8
|
||||
GetPointerDeviceProperties@12
|
||||
GetPointerDeviceRects@12
|
||||
GetPointerDevices@8
|
||||
@@ -403,6 +418,7 @@ GetPointerFrameInfo@12
|
||||
GetPointerFrameInfoHistory@16
|
||||
GetPointerFramePenInfo@12
|
||||
GetPointerFramePenInfoHistory@16
|
||||
GetPointerFrameTimes@12
|
||||
GetPointerFrameTouchInfo@12
|
||||
GetPointerFrameTouchInfoHistory@16
|
||||
GetPointerInfo@8
|
||||
@@ -429,22 +445,26 @@ GetRawInputDeviceList@12
|
||||
GetRawPointerDeviceData@20
|
||||
GetReasonTitleFromReasonCode@12
|
||||
GetRegisteredRawInputDevices@12
|
||||
GetQueueStatus@4
|
||||
GetScrollBarInfo@12
|
||||
GetScrollInfo@12
|
||||
GetScrollPos@8
|
||||
GetScrollRange@16
|
||||
GetSendMessageReceiver@4
|
||||
GetShellChangeNotifyWindow@0
|
||||
GetShellWindow@0
|
||||
GetSubMenu@8
|
||||
GetSysColor@4
|
||||
GetSysColorBrush@4
|
||||
GetSystemDpiForProcess@4
|
||||
GetSystemMenu@8
|
||||
GetSystemMetrics@4
|
||||
GetSystemMetricsForDpi@8
|
||||
GetTabbedTextExtentA@20
|
||||
GetTabbedTextExtentW@20
|
||||
GetTaskmanWindow@0
|
||||
GetThreadDesktop@4
|
||||
GetThreadDpiAwarenessContext@0
|
||||
GetThreadDpiHostingBehavior@0
|
||||
GetTitleBarInfo@8
|
||||
GetTopLevelWindow@4
|
||||
GetTopWindow@4
|
||||
@@ -464,6 +484,8 @@ GetWindowCompositionInfo@8
|
||||
GetWindowContextHelpId@4
|
||||
GetWindowDC@4
|
||||
GetWindowDisplayAffinity@8
|
||||
GetWindowDpiAwarenessContext@4
|
||||
GetWindowDpiHostingBehavior@4
|
||||
GetWindowFeedbackSetting@20
|
||||
GetWindowInfo@8
|
||||
GetWindowLongA@8
|
||||
@@ -473,6 +495,7 @@ GetWindowModuleFileName@12
|
||||
GetWindowModuleFileNameA@12
|
||||
GetWindowModuleFileNameW@12
|
||||
GetWindowPlacement@8
|
||||
GetWindowProcessHandle@8
|
||||
GetWindowRect@8
|
||||
GetWindowRgn@8
|
||||
GetWindowRgnBox@8
|
||||
@@ -499,25 +522,34 @@ ImpersonateDdeClientWindow@8
|
||||
InSendMessage@0
|
||||
InSendMessageEx@4
|
||||
InflateRect@12
|
||||
InheritWindowMonitor@8
|
||||
InitDManipHook@0
|
||||
InitializeGenericHidInjection@8
|
||||
InitializeInputDeviceInjection@28
|
||||
InitializeLpkHooks@4
|
||||
InitializeWin32EntryTable@4
|
||||
InitializePointerDeviceInjection@20
|
||||
InitializePointerDeviceInjectionEx@24
|
||||
InitializeTouchInjection@8
|
||||
InjectDeviceInput@12
|
||||
InjectGenericHidInput@12
|
||||
InjectKeyboardInput@8
|
||||
InjectMouseInput@8
|
||||
InjectPointerInput@12
|
||||
InjectSyntheticPointerInput@12
|
||||
InjectTouchInput@8
|
||||
InputSpaceRegionFromPoint@20
|
||||
InsertMenuA@20
|
||||
InsertMenuItemA@16
|
||||
InsertMenuItemW@16
|
||||
InsertMenuW@20
|
||||
InternalGetWindowIcon@8
|
||||
;ord_2001@4 @2001
|
||||
;ord_2002@4 @2002
|
||||
InternalGetWindowText@12
|
||||
IntersectRect@12
|
||||
;ord_2005@4 @2005
|
||||
InvalidateRect@12
|
||||
InvalidateRgn@12
|
||||
InvertRect@8
|
||||
IsCharAlphaA@4
|
||||
;ord_2010@16 @2010
|
||||
IsCharAlphaNumericA@4
|
||||
IsCharAlphaNumericW@4
|
||||
IsCharAlphaW@4
|
||||
@@ -539,16 +571,20 @@ IsInDesktopWindowBand@4
|
||||
IsMenu@4
|
||||
IsProcess16Bit@0
|
||||
IsMouseInPointerEnabled@0
|
||||
IsOneCoreTransformMode@0
|
||||
IsProcessDPIAware@0
|
||||
IsQueueAttached@0
|
||||
IsRectEmpty@4
|
||||
IsSETEnabled@0
|
||||
IsServerSideWindow@4
|
||||
IsThreadDesktopComposited@0
|
||||
IsThreadTSFEventAware@4
|
||||
IsTopLevelWindow@4
|
||||
IsTouchWindow@8
|
||||
IsValidDpiAwarenessContext@4
|
||||
IsWinEventHookInstalled@4
|
||||
IsWindow@4
|
||||
IsWindowArranged@4
|
||||
IsWindowEnabled@4
|
||||
IsWindowInDestroy@4
|
||||
IsWindowRedirectedForPrint@4
|
||||
@@ -565,12 +601,8 @@ LoadBitmapW@8
|
||||
LoadCursorA@8
|
||||
LoadCursorFromFileA@4
|
||||
LoadCursorFromFileW@4
|
||||
;ord_2000@0 @2000
|
||||
;ord_2001@4 @2001
|
||||
;ord_2002@4 @2002
|
||||
LoadCursorW@8
|
||||
LoadIconA@8
|
||||
;ord_2005@4 @2005
|
||||
LoadIconW@8
|
||||
LoadImageA@24
|
||||
LoadImageW@24
|
||||
@@ -596,11 +628,19 @@ LookupIconIdFromDirectoryEx@20
|
||||
MBToWCSEx@24
|
||||
MBToWCSExt@20
|
||||
MB_GetString@4
|
||||
MITGetCursorUpdateHandle@0
|
||||
MITSetForegroundRoutingInfo@8
|
||||
MITSetInputDelegationMode@8
|
||||
MITSetLastInputRecipient@4
|
||||
MITSynthesizeTouchInput@4
|
||||
MakeThreadTSFEventAware@4
|
||||
MapDialogRect@8
|
||||
MapPointsByVisualIdentifier@20
|
||||
MapVirtualKeyA@8
|
||||
MapVirtualKeyExA@12
|
||||
MapVirtualKeyExW@12
|
||||
MapVirtualKeyW@8
|
||||
MapVisualRelativePoints@28
|
||||
MapWindowPoints@16
|
||||
MenuItemFromPoint@16
|
||||
MenuWindowProcA@20
|
||||
@@ -665,6 +705,28 @@ QueryBSDRWindow@0
|
||||
QueryDisplayConfig@24
|
||||
QuerySendMessage@4
|
||||
QueryUserCounters@20
|
||||
RIMAddInputObserver@32
|
||||
RIMAreSiblingDevices@12
|
||||
RIMDeviceIoControl@36
|
||||
RIMEnableMonitorMappingForDevice@12
|
||||
RIMFreeInputBuffer@8
|
||||
RIMGetDevicePreparsedData@16
|
||||
RIMGetDevicePreparsedDataLockfree@12
|
||||
RIMGetDeviceProperties@12
|
||||
RIMGetDevicePropertiesLockfree@8
|
||||
RIMGetPhysicalDeviceRect@12
|
||||
RIMGetSourceProcessId@12
|
||||
RIMObserveNextInput@4
|
||||
RIMOnPnpNotification@4
|
||||
RIMOnTimerNotification@8
|
||||
RIMQueryDevicePath@8
|
||||
RIMReadInput@28
|
||||
RIMRegisterForInput@40
|
||||
RIMRemoveInputObserver@4
|
||||
RIMSetExtendedDeviceProperty@12
|
||||
RIMSetTestModeStatus@4
|
||||
RIMUnregisterForInput@4
|
||||
RIMUpdateInputObserverRegistration@16
|
||||
RealChildWindowFromPoint@12
|
||||
RealGetWindowClass@12
|
||||
RealGetWindowClassA@12
|
||||
@@ -680,17 +742,18 @@ RegisterClassExW@4
|
||||
RegisterClassW@4
|
||||
RegisterClipboardFormatA@4
|
||||
RegisterClipboardFormatW@4
|
||||
RegisterDManipHook@0
|
||||
RegisterDeviceNotificationA@12
|
||||
RegisterDeviceNotificationW@12
|
||||
RegisterErrorReportingDialog@8
|
||||
RegisterFrostWindow@8
|
||||
RegisterGhostWindow@8
|
||||
RegisterHotKey@16
|
||||
RegisterPowerSettingNotification@12
|
||||
RegisterLogonProcess@8
|
||||
RegisterMessagePumpHook@4
|
||||
RegisterPointerDeviceNotifications@8
|
||||
RegisterPointerInputTarget@8
|
||||
RegisterPointerInputTargetEx@12
|
||||
RegisterPowerSettingNotification@12
|
||||
RegisterRawInputDevices@12
|
||||
RegisterServicesProcess@4
|
||||
@@ -706,10 +769,14 @@ RegisterWindowMessageA@4
|
||||
RegisterWindowMessageW@4
|
||||
ReleaseCapture@0
|
||||
ReleaseDC@8
|
||||
ReleaseDwmHitTestWaiters@0
|
||||
RemoveClipboardFormatListener@4
|
||||
RemoveInjectionDevice@4
|
||||
RemoveMenu@12
|
||||
RemovePropA@8
|
||||
RemovePropW@8
|
||||
RemoveThreadTSFEventAwareness@4
|
||||
RemoveVisualIdentifier@4
|
||||
ReplyMessage@4
|
||||
ResolveDesktopForWOW@4
|
||||
ReuseDDElParam@20
|
||||
@@ -747,14 +814,19 @@ SetCursorContents@8
|
||||
SetCursorPos@8
|
||||
SetDebugErrorLevel@4
|
||||
SetDeskWallpaper@4
|
||||
SetDesktopColorTransform@4
|
||||
SetDialogControlDpiChangeBehavior@12
|
||||
SetDialogDpiChangeBehavior@12
|
||||
SetDisplayAutoRotationPreferences@4
|
||||
SetDisplayConfig@20
|
||||
SetDlgItemInt@16
|
||||
SetDlgItemTextA@12
|
||||
SetDlgItemTextW@12
|
||||
SetDoubleClickTime@4
|
||||
SetFeatureReportResponse@12
|
||||
SetFocus@4
|
||||
SetForegroundWindow@4
|
||||
SetFullscreenMagnifierOffsetsDWMUpdated@12
|
||||
SetGestureConfig@20
|
||||
SetImmersiveBackgroundWindow@4
|
||||
SetInternalWindowPos@16
|
||||
@@ -764,6 +836,8 @@ SetLayeredWindowAttributes@16
|
||||
SetLogonNotifyWindow@4
|
||||
SetMagnificationDesktopColorEffect@4
|
||||
SetMagnificationDesktopMagnification@16
|
||||
SetMagnificationDesktopMagnifierOffsetsDWMUpdated@4
|
||||
SetMagnificationDesktopSamplingMode@4
|
||||
SetMagnificationLensCtxInformation@16
|
||||
SetMenu@8
|
||||
SetMenuContextHelpId@8
|
||||
@@ -777,8 +851,10 @@ SetMessageQueue@4
|
||||
SetMirrorRendering@8
|
||||
SetParent@8
|
||||
SetPhysicalCursorPos@8
|
||||
SetPointerDeviceInputSpace@12
|
||||
SetProcessDPIAware@0
|
||||
SetProcessDefaultLayout@4
|
||||
SetProcessDpiAwarenessContext@4
|
||||
SetProcessDpiAwarenessInternal@4
|
||||
SetProcessRestrictionExemption@4
|
||||
SetProcessWindowStation@4
|
||||
@@ -790,6 +866,7 @@ SetRectEmpty@4
|
||||
SetScrollInfo@16
|
||||
SetScrollPos@16
|
||||
SetScrollRange@20
|
||||
SetShellChangeNotifyWindow@4
|
||||
SetShellWindow@4
|
||||
SetShellWindowEx@8
|
||||
SetSysColors@12
|
||||
@@ -799,6 +876,8 @@ SetSystemMenu@8
|
||||
SetSystemTimer@16
|
||||
SetTaskmanWindow@4
|
||||
SetThreadDesktop@4
|
||||
SetThreadDpiAwarenessContext@4
|
||||
SetThreadDpiHostingBehavior@4
|
||||
SetThreadInputBlocked@8
|
||||
SetTimer@16
|
||||
SetUserObjectInformationA@16
|
||||
@@ -823,6 +902,7 @@ SetWindowTextW@8
|
||||
SetWindowWord@12
|
||||
SetWindowsHookA@8
|
||||
SetWindowsHookExA@16
|
||||
SetWindowsHookExAW@20
|
||||
SetWindowsHookExW@16
|
||||
SetWindowsHookW@8
|
||||
SfmDxBindSwapChain@12
|
||||
@@ -854,6 +934,7 @@ SwitchDesktop@4
|
||||
SwitchDesktopWithFade@12 ; Same as SwithDesktop(), only with fade (done at log-in), only usable by winlogon - http://blog.airesoft.co.uk/2010/08/things-microsoft-can-do-that-you-cant/
|
||||
SwitchToThisWindow@8
|
||||
SystemParametersInfoA@16
|
||||
SystemParametersInfoForDpi@20
|
||||
SystemParametersInfoW@16
|
||||
TabbedTextOutA@32
|
||||
TabbedTextOutW@32
|
||||
@@ -885,6 +966,7 @@ UnregisterDeviceNotification@4
|
||||
UnregisterHotKey@8
|
||||
UnregisterMessagePumpHook@0
|
||||
UnregisterPointerInputTarget@8
|
||||
UnregisterPointerInputTargetEx@8
|
||||
UnregisterPowerSettingNotification@4
|
||||
UnregisterSessionPort@0
|
||||
UnregisterSuspendResumeNotification@4
|
||||
@@ -934,65 +1016,10 @@ wsprintfA
|
||||
wsprintfW
|
||||
wvsprintfA@12
|
||||
wvsprintfW@12
|
||||
;ord_2500@16 @2500
|
||||
;ord_2501@12 @2501
|
||||
;ord_2502@8 @2502
|
||||
;ord_2503@24 @2503
|
||||
;ord_2504@8 @2504
|
||||
;ord_2505@8 @2505
|
||||
;ord_2506@12 @2506
|
||||
;ord_2507@4 @2507
|
||||
;ord_2508@8 @2508
|
||||
;ord_2509@4 @2509
|
||||
;ord_2510@12 @2510
|
||||
;ord_2511@8 @2511
|
||||
;ord_2512@12 @2512
|
||||
;ord_2513@4 @2513
|
||||
;ord_2514@8 @2514
|
||||
;ord_2515@8 @2515
|
||||
;ord_2516@12 @2516
|
||||
;ord_2517@4 @2517
|
||||
;ord_2518@0 @2518
|
||||
;ord_2519@4 @2519
|
||||
;ord_2520@0 @2520
|
||||
;ord_2521@8 @2521
|
||||
;ord_2522@4 @2522
|
||||
;ord_2523@8 @2523
|
||||
;ord_2524@8 @2524
|
||||
;ord_2525@12 @2525
|
||||
;ord_2526@12 @2526
|
||||
;ord_2527@12 @2527
|
||||
DelegateInput@24
|
||||
UndelegateInput@8
|
||||
HandleDelegatedInput@8
|
||||
GetProcessUIContextInformation@8
|
||||
IsThreadMessageQueueAttached@4
|
||||
;ord_2529@4 @2529
|
||||
;ord_2530@8 @2530
|
||||
;ord_2531@16 @2531
|
||||
;ord_2532@8 @2532
|
||||
;ord_2533@4 @2533
|
||||
;ord_2534@8 @2534
|
||||
;ord_2535@0 @2535
|
||||
;ord_2536@8 @2536
|
||||
;ord_2537@16 @2537
|
||||
;ord_2538@4 @2538
|
||||
;ord_2539@4 @2539
|
||||
;ord_2540@4 @2540
|
||||
;ord_2541@0 @2541
|
||||
;ord_2544@4 @2544
|
||||
;ord_2545@8 @2545
|
||||
;ord_2546@4 @2546
|
||||
;ord_2547@4 @2547
|
||||
;ord_2548@4 @2548
|
||||
;ord_2549@4 @2549
|
||||
;ord_2550@8 @2550
|
||||
;ord_2551@20 @2551
|
||||
;ord_2552@8 @2552
|
||||
;ord_2553@32 @2553
|
||||
;ord_2554@12 @2554
|
||||
;ord_2555@16 @2555
|
||||
;ord_2556@8 @2556
|
||||
;ord_2557@12 @2557
|
||||
;ord_2558@12 @2558
|
||||
;ord_2559@16 @2559
|
||||
;ord_2560@20 @2560
|
||||
;ord_2561@0 @2561
|
||||
;ord_2562@0 @2562
|
||||
;ord_2563@0 @2563
|
||||
ReportInertia@20
|
||||
SetCoreWindow@8
|
||||
|
||||
Vendored
+14
@@ -33,14 +33,19 @@ FreeAddrInfoEx@4
|
||||
FreeAddrInfoExW@4
|
||||
FreeAddrInfoW@4
|
||||
GetAddrInfoExA@40
|
||||
GetAddrInfoExCancel@4
|
||||
GetAddrInfoExOverlappedResult@4
|
||||
GetAddrInfoExW@40
|
||||
GetAddrInfoW@16
|
||||
GetHostNameW@8
|
||||
GetNameInfoW@28
|
||||
InetNtopW@16
|
||||
InetPtonW@12
|
||||
ProcessSocketNotifications@28
|
||||
SetAddrInfoExA@48
|
||||
SetAddrInfoExW@48
|
||||
WPUCompleteOverlappedRequest@20
|
||||
WPUGetProviderPathEx@20
|
||||
WSAAccept@20
|
||||
WSAAddressToStringA@20
|
||||
WSAAddressToStringW@20
|
||||
@@ -126,21 +131,30 @@ WSAStringToAddressW@20
|
||||
WSAUnadvertiseProvider@4
|
||||
WSAWaitForMultipleEvents@20
|
||||
WSCDeinstallProvider@8
|
||||
WSCDeinstallProviderEx@12
|
||||
WSCEnableNSProvider@8
|
||||
WSCEnumProtocols@16
|
||||
WSCEnumProtocolsEx@20
|
||||
WSCGetApplicationCategory@24
|
||||
WSCGetApplicationCategoryEx@28
|
||||
WSCGetProviderInfo@24
|
||||
WSCGetProviderPath@16
|
||||
WSCInstallNameSpace@20
|
||||
WSCInstallNameSpaceEx2@28
|
||||
WSCInstallNameSpaceEx@24
|
||||
WSCInstallProvider@20
|
||||
WSCInstallProviderAndChains@32
|
||||
WSCInstallProviderEx@28
|
||||
WSCSetApplicationCategory@28
|
||||
WSCSetApplicationCategoryEx@32
|
||||
WSCSetProviderInfo@24
|
||||
WSCUnInstallNameSpace@4
|
||||
WSCUnInstallNameSpaceEx2@8
|
||||
WSCUpdateProvider@20
|
||||
WSCUpdateProviderEx@24
|
||||
WSCWriteNameSpaceOrder@8
|
||||
WSCWriteProviderOrder@8
|
||||
WSCWriteProviderOrderEx@12
|
||||
WahCloseApcHelper@4
|
||||
WahCloseHandleHelper@4
|
||||
WahCloseNotificationHandleHelper@4
|
||||
|
||||
Vendored
-146
@@ -1,146 +0,0 @@
|
||||
;
|
||||
; Definition file of fwpuclnt.dll
|
||||
; Automatic generated by gendef
|
||||
; written by Kai Tietz 2008
|
||||
;
|
||||
LIBRARY "fwpuclnt.dll"
|
||||
EXPORTS
|
||||
FwpmCalloutAdd0
|
||||
FwpmCalloutCreateEnumHandle0
|
||||
FwpmCalloutDeleteById0
|
||||
FwpmCalloutDeleteByKey0
|
||||
FwpmCalloutDestroyEnumHandle0
|
||||
FwpmCalloutEnum0
|
||||
FwpmCalloutGetById0
|
||||
FwpmCalloutGetByKey0
|
||||
FwpmCalloutGetSecurityInfoByKey0
|
||||
FwpmCalloutSetSecurityInfoByKey0
|
||||
FwpmCalloutSubscribeChanges0
|
||||
FwpmCalloutSubscriptionsGet0
|
||||
FwpmCalloutUnsubscribeChanges0
|
||||
FwpmDiagnoseNetFailure0
|
||||
FwpmEngineClose0
|
||||
FwpmEngineGetOption0
|
||||
FwpmEngineGetSecurityInfo0
|
||||
FwpmEngineOpen0
|
||||
FwpmEngineSetOption0
|
||||
FwpmEngineSetSecurityInfo0
|
||||
FwpmEventProviderCreate0
|
||||
FwpmEventProviderDestroy0
|
||||
FwpmEventProviderFireNetEvent0
|
||||
FwpmEventProviderIsNetEventTypeEnabled0
|
||||
FwpmFilterAdd0
|
||||
FwpmFilterCreateEnumHandle0
|
||||
FwpmFilterDeleteById0
|
||||
FwpmFilterDeleteByKey0
|
||||
FwpmFilterDestroyEnumHandle0
|
||||
FwpmFilterEnum0
|
||||
FwpmFilterGetById0
|
||||
FwpmFilterGetByKey0
|
||||
FwpmFilterGetSecurityInfoByKey0
|
||||
FwpmFilterSetSecurityInfoByKey0
|
||||
FwpmFilterSubscribeChanges0
|
||||
FwpmFilterSubscriptionsGet0
|
||||
FwpmFilterUnsubscribeChanges0
|
||||
FwpmFreeMemory0
|
||||
FwpmGetAppIdFromFileName0
|
||||
FwpmIPsecTunnelAdd0
|
||||
FwpmIPsecTunnelDeleteByKey0
|
||||
FwpmLayerCreateEnumHandle0
|
||||
FwpmLayerDestroyEnumHandle0
|
||||
FwpmLayerEnum0
|
||||
FwpmLayerGetById0
|
||||
FwpmLayerGetByKey0
|
||||
FwpmLayerGetSecurityInfoByKey0
|
||||
FwpmLayerSetSecurityInfoByKey0
|
||||
FwpmNetEventCreateEnumHandle0
|
||||
FwpmNetEventDestroyEnumHandle0
|
||||
FwpmNetEventEnum0
|
||||
FwpmNetEventsGetSecurityInfo0
|
||||
FwpmNetEventsSetSecurityInfo0
|
||||
FwpmProviderAdd0
|
||||
FwpmProviderContextAdd0
|
||||
FwpmProviderContextCreateEnumHandle0
|
||||
FwpmProviderContextDeleteById0
|
||||
FwpmProviderContextDeleteByKey0
|
||||
FwpmProviderContextDestroyEnumHandle0
|
||||
FwpmProviderContextEnum0
|
||||
FwpmProviderContextGetById0
|
||||
FwpmProviderContextGetByKey0
|
||||
FwpmProviderContextGetSecurityInfoByKey0
|
||||
FwpmProviderContextSetSecurityInfoByKey0
|
||||
FwpmProviderContextSubscribeChanges0
|
||||
FwpmProviderContextSubscriptionsGet0
|
||||
FwpmProviderContextUnsubscribeChanges0
|
||||
FwpmProviderCreateEnumHandle0
|
||||
FwpmProviderDeleteByKey0
|
||||
FwpmProviderDestroyEnumHandle0
|
||||
FwpmProviderEnum0
|
||||
FwpmProviderGetByKey0
|
||||
FwpmProviderGetSecurityInfoByKey0
|
||||
FwpmProviderSetSecurityInfoByKey0
|
||||
FwpmProviderSubscribeChanges0
|
||||
FwpmProviderSubscriptionsGet0
|
||||
FwpmProviderUnsubscribeChanges0
|
||||
FwpmSessionCreateEnumHandle0
|
||||
FwpmSessionDestroyEnumHandle0
|
||||
FwpmSessionEnum0
|
||||
FwpmSubLayerAdd0
|
||||
FwpmSubLayerCreateEnumHandle0
|
||||
FwpmSubLayerDeleteByKey0
|
||||
FwpmSubLayerDestroyEnumHandle0
|
||||
FwpmSubLayerEnum0
|
||||
FwpmSubLayerGetByKey0
|
||||
FwpmSubLayerGetSecurityInfoByKey0
|
||||
FwpmSubLayerSetSecurityInfoByKey0
|
||||
FwpmSubLayerSubscribeChanges0
|
||||
FwpmSubLayerSubscriptionsGet0
|
||||
FwpmSubLayerUnsubscribeChanges0
|
||||
FwpmTraceRestoreDefaults0
|
||||
FwpmTransactionAbort0
|
||||
FwpmTransactionBegin0
|
||||
FwpmTransactionCommit0
|
||||
FwpsAleExplicitCredentialsQuery0
|
||||
FwpsClassifyUser0
|
||||
FwpsFreeMemory0
|
||||
FwpsGetInProcReplicaOffset0
|
||||
FwpsLayerCreateInProcReplica0
|
||||
FwpsLayerReleaseInProcReplica0
|
||||
FwpsOpenToken0
|
||||
IPsecGetStatistics0
|
||||
IPsecKeyModuleAdd0
|
||||
IPsecKeyModuleCompleteAcquire0
|
||||
IPsecKeyModuleDelete0
|
||||
IPsecSaContextAddInbound0
|
||||
IPsecSaContextAddOutbound0
|
||||
IPsecSaContextCreate0
|
||||
IPsecSaContextCreateEnumHandle0
|
||||
IPsecSaContextDeleteById0
|
||||
IPsecSaContextDestroyEnumHandle0
|
||||
IPsecSaContextEnum0
|
||||
IPsecSaContextExpire0
|
||||
IPsecSaContextGetById0
|
||||
IPsecSaContextGetSpi0
|
||||
IPsecSaCreateEnumHandle0
|
||||
IPsecSaDbGetSecurityInfo0
|
||||
IPsecSaDbSetSecurityInfo0
|
||||
IPsecSaDestroyEnumHandle0
|
||||
IPsecSaEnum0
|
||||
IPsecSaInitiateAsync0
|
||||
IkeextGetConfigParameters0
|
||||
IkeextGetStatistics0
|
||||
IkeextSaCreateEnumHandle0
|
||||
IkeextSaDbGetSecurityInfo0
|
||||
IkeextSaDbSetSecurityInfo0
|
||||
IkeextSaDeleteById0
|
||||
IkeextSaDestroyEnumHandle0
|
||||
IkeextSaEnum0
|
||||
IkeextSaGetById0
|
||||
IkeextSetConfigParameters0
|
||||
WSADeleteSocketPeerTargetName
|
||||
WSAImpersonateSocketPeer
|
||||
WSAQuerySocketSecurity
|
||||
WSARevertImpersonation
|
||||
WSASetSocketPeerTargetName
|
||||
WSASetSocketSecurity
|
||||
wfpdiagW
|
||||
Vendored
-1447
@@ -1,1447 +0,0 @@
|
||||
;
|
||||
; Exports of file query.dll
|
||||
;
|
||||
; Autogenerated by gen_exportdef
|
||||
; Written by Kai Tietz, 2007
|
||||
;
|
||||
LIBRARY query.dll
|
||||
EXPORTS
|
||||
; class CCoTaskAllocator CoTaskAllocator
|
||||
?CoTaskAllocator@@3VCCoTaskAllocator@@A DATA
|
||||
; public: __cdecl CAllocStorageVariant::CAllocStorageVariant(struct tagPROPVARIANT & __ptr64,class PMemoryAllocator & __ptr64) __ptr64
|
||||
??0CAllocStorageVariant@@QEAA@AEAUtagPROPVARIANT@@AEAVPMemoryAllocator@@@Z
|
||||
; public: __cdecl CAllocStorageVariant::CAllocStorageVariant(class PDeSerStream & __ptr64,class PMemoryAllocator & __ptr64) __ptr64
|
||||
??0CAllocStorageVariant@@QEAA@AEAVPDeSerStream@@AEAVPMemoryAllocator@@@Z
|
||||
; public: __cdecl CAllocStorageVariant::CAllocStorageVariant(char const * __ptr64,class PMemoryAllocator & __ptr64) __ptr64
|
||||
??0CAllocStorageVariant@@QEAA@PEBDAEAVPMemoryAllocator@@@Z
|
||||
; public: __cdecl CAllocStorageVariant::CAllocStorageVariant(unsigned short const * __ptr64,class PMemoryAllocator & __ptr64) __ptr64
|
||||
??0CAllocStorageVariant@@QEAA@PEBGAEAVPMemoryAllocator@@@Z
|
||||
; public: __cdecl CAllocStorageVariant::CAllocStorageVariant(struct _GUID const * __ptr64,class PMemoryAllocator & __ptr64) __ptr64
|
||||
??0CAllocStorageVariant@@QEAA@PEBU_GUID@@AEAVPMemoryAllocator@@@Z
|
||||
; public: __cdecl CAllocStorageVariant::CAllocStorageVariant(enum VARENUM,unsigned long,class PMemoryAllocator & __ptr64) __ptr64
|
||||
??0CAllocStorageVariant@@QEAA@W4VARENUM@@KAEAVPMemoryAllocator@@@Z
|
||||
; public: __cdecl CCatState::CCatState(void) __ptr64
|
||||
??0CCatState@@QEAA@XZ
|
||||
; public: __cdecl CCategorizationSet::CCategorizationSet(class CCategorizationSet const & __ptr64) __ptr64
|
||||
??0CCategorizationSet@@QEAA@AEBV0@@Z
|
||||
; public: __cdecl CCategorizationSet::CCategorizationSet(unsigned int) __ptr64
|
||||
??0CCategorizationSet@@QEAA@I@Z
|
||||
; public: __cdecl CCiAdminParams::CCiAdminParams(class CLangList * __ptr64) __ptr64
|
||||
??0CCiAdminParams@@QEAA@PEAVCLangList@@@Z
|
||||
; public: __cdecl CCiRegParams::CCiRegParams(unsigned short const * __ptr64) __ptr64
|
||||
??0CCiRegParams@@QEAA@PEBG@Z
|
||||
; public: __cdecl CColumnSet::CColumnSet(unsigned int) __ptr64
|
||||
??0CColumnSet@@QEAA@I@Z
|
||||
; public: __cdecl CColumns::CColumns(class CColumns const & __ptr64) __ptr64
|
||||
??0CColumns@@QEAA@AEBV0@@Z
|
||||
; public: __cdecl CColumns::CColumns(unsigned int) __ptr64
|
||||
??0CColumns@@QEAA@I@Z
|
||||
; public: __cdecl CContentRestriction::CContentRestriction(unsigned short const * __ptr64,class CFullPropSpec const & __ptr64,unsigned long,unsigned long) __ptr64
|
||||
??0CContentRestriction@@QEAA@PEBGAEBVCFullPropSpec@@KK@Z
|
||||
; public: __cdecl CDFA::CDFA(unsigned short const * __ptr64,class CTimeLimit & __ptr64,unsigned char) __ptr64
|
||||
??0CDFA@@QEAA@PEBGAEAVCTimeLimit@@E@Z
|
||||
; public: __cdecl CDbColId::CDbColId(struct _GUID const & __ptr64,unsigned short const * __ptr64) __ptr64
|
||||
??0CDbColId@@QEAA@AEBU_GUID@@PEBG@Z
|
||||
; public: __cdecl CDbColId::CDbColId(struct tagDBID const & __ptr64) __ptr64
|
||||
??0CDbColId@@QEAA@AEBUtagDBID@@@Z
|
||||
; public: __cdecl CDbColId::CDbColId(class CDbColId const & __ptr64) __ptr64
|
||||
??0CDbColId@@QEAA@AEBV0@@Z
|
||||
; public: __cdecl CDbColId::CDbColId(void) __ptr64
|
||||
??0CDbColId@@QEAA@XZ
|
||||
; public: __cdecl CDbColumns::CDbColumns(unsigned int) __ptr64
|
||||
??0CDbColumns@@QEAA@I@Z
|
||||
; public: __cdecl CDbContentRestriction::CDbContentRestriction(unsigned short const * __ptr64,struct tagDBID const & __ptr64,unsigned long,unsigned long) __ptr64
|
||||
??0CDbContentRestriction@@QEAA@PEBGAEBUtagDBID@@KK@Z
|
||||
; public: __cdecl CDbContentRestriction::CDbContentRestriction(unsigned short const * __ptr64,class CDbColumnNode const & __ptr64,unsigned long,unsigned long) __ptr64
|
||||
??0CDbContentRestriction@@QEAA@PEBGAEBVCDbColumnNode@@KK@Z
|
||||
; public: __cdecl CDbNatLangRestriction::CDbNatLangRestriction(unsigned short const * __ptr64,struct tagDBID const & __ptr64,unsigned long) __ptr64
|
||||
??0CDbNatLangRestriction@@QEAA@PEBGAEBUtagDBID@@K@Z
|
||||
; public: __cdecl CDbNatLangRestriction::CDbNatLangRestriction(unsigned short const * __ptr64,class CDbColumnNode const & __ptr64,unsigned long) __ptr64
|
||||
??0CDbNatLangRestriction@@QEAA@PEBGAEBVCDbColumnNode@@K@Z
|
||||
; public: __cdecl CDbQueryResults::CDbQueryResults(void) __ptr64
|
||||
??0CDbQueryResults@@QEAA@XZ
|
||||
; public: __cdecl CDbSelectNode::CDbSelectNode(void) __ptr64
|
||||
??0CDbSelectNode@@QEAA@XZ
|
||||
; public: __cdecl CDbSortSet::CDbSortSet(unsigned int) __ptr64
|
||||
??0CDbSortSet@@QEAA@I@Z
|
||||
; public: __cdecl CDefColumnRegEntry::CDefColumnRegEntry(void) __ptr64
|
||||
??0CDefColumnRegEntry@@QEAA@XZ
|
||||
; public: __cdecl CDriveInfo::CDriveInfo(unsigned short const * __ptr64,unsigned long) __ptr64
|
||||
??0CDriveInfo@@QEAA@PEBGK@Z
|
||||
; public: __cdecl CDynStream::CDynStream(class PMmStream * __ptr64) __ptr64
|
||||
??0CDynStream@@QEAA@PEAVPMmStream@@@Z
|
||||
; public: __cdecl CEventItem::CEventItem(unsigned short,unsigned short,unsigned long,unsigned short,unsigned long,void const * __ptr64) __ptr64
|
||||
??0CEventItem@@QEAA@GGKGKPEBX@Z
|
||||
; public: __cdecl CEventLog::CEventLog(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
|
||||
??0CEventLog@@QEAA@PEBG0@Z
|
||||
; public: __cdecl CException::CException(long) __ptr64
|
||||
??0CException@@QEAA@J@Z
|
||||
; public: __cdecl CException::CException(void) __ptr64
|
||||
??0CException@@QEAA@XZ
|
||||
; public: __cdecl CFileBuffer::CFileBuffer(class CFileMapView & __ptr64,unsigned int) __ptr64
|
||||
??0CFileBuffer@@QEAA@AEAVCFileMapView@@I@Z
|
||||
; public: __cdecl CFileMapView::CFileMapView(unsigned short const * __ptr64) __ptr64
|
||||
??0CFileMapView@@QEAA@PEBG@Z
|
||||
; public: __cdecl CFilterDaemon::CFilterDaemon(class CiProxy & __ptr64,class CCiFrameworkParams & __ptr64,class CLangList & __ptr64,unsigned char * __ptr64,unsigned long,struct ICiCFilterClient * __ptr64) __ptr64
|
||||
??0CFilterDaemon@@QEAA@AEAVCiProxy@@AEAVCCiFrameworkParams@@AEAVCLangList@@PEAEKPEAUICiCFilterClient@@@Z
|
||||
; public: __cdecl CFullPath::CFullPath(unsigned short const * __ptr64) __ptr64
|
||||
??0CFullPath@@QEAA@PEBG@Z
|
||||
; public: __cdecl CFullPath::CFullPath(unsigned short const * __ptr64,unsigned int) __ptr64
|
||||
??0CFullPath@@QEAA@PEBGI@Z
|
||||
; public: __cdecl CFullPropSpec::CFullPropSpec(class PDeSerStream & __ptr64) __ptr64
|
||||
??0CFullPropSpec@@QEAA@AEAVPDeSerStream@@@Z
|
||||
; public: __cdecl CFullPropSpec::CFullPropSpec(class CFullPropSpec const & __ptr64) __ptr64
|
||||
??0CFullPropSpec@@QEAA@AEBV0@@Z
|
||||
; public: __cdecl CFullPropSpec::CFullPropSpec(void) __ptr64
|
||||
??0CFullPropSpec@@QEAA@XZ
|
||||
; public: __cdecl CFwAsyncWorkItem::CFwAsyncWorkItem(class CWorkManager & __ptr64,class CWorkQueue & __ptr64) __ptr64
|
||||
??0CFwAsyncWorkItem@@QEAA@AEAVCWorkManager@@AEAVCWorkQueue@@@Z
|
||||
; public: __cdecl CFwEventItem::CFwEventItem(unsigned short,unsigned long,unsigned short,unsigned long,void * __ptr64) __ptr64
|
||||
??0CFwEventItem@@QEAA@GKGKPEAX@Z
|
||||
; public: __cdecl CGenericCiProxy::CGenericCiProxy(class CSharedNameGen & __ptr64,unsigned long,unsigned long) __ptr64
|
||||
??0CGenericCiProxy@@QEAA@AEAVCSharedNameGen@@KK@Z
|
||||
; public: __cdecl CGetDbProps::CGetDbProps(void) __ptr64
|
||||
??0CGetDbProps@@QEAA@XZ
|
||||
; public: __cdecl CImpersonateRemoteAccess::CImpersonateRemoteAccess(class CImpersonationTokenCache * __ptr64) __ptr64
|
||||
??0CImpersonateRemoteAccess@@QEAA@PEAVCImpersonationTokenCache@@@Z
|
||||
; public: __cdecl CImpersonationTokenCache::CImpersonationTokenCache(unsigned short const * __ptr64) __ptr64
|
||||
??0CImpersonationTokenCache@@QEAA@PEBG@Z
|
||||
; public: __cdecl CIndexTable::CIndexTable(class CiStorage & __ptr64,class CTransaction & __ptr64) __ptr64
|
||||
??0CIndexTable@@QEAA@AEAVCiStorage@@AEAVCTransaction@@@Z
|
||||
; public: __cdecl CInternalPropertyRestriction::CInternalPropertyRestriction(unsigned long,unsigned long,class CStorageVariant const & __ptr64,class CRestriction * __ptr64) __ptr64
|
||||
??0CInternalPropertyRestriction@@QEAA@KKAEBVCStorageVariant@@PEAVCRestriction@@@Z
|
||||
; public: __cdecl CKeyArray::CKeyArray(int,int) __ptr64
|
||||
??0CKeyArray@@QEAA@HH@Z
|
||||
; public: __cdecl CLangList::CLangList(struct ICiCLangRes * __ptr64,unsigned long) __ptr64
|
||||
??0CLangList@@QEAA@PEAUICiCLangRes@@K@Z
|
||||
; public: __cdecl CLocalGlobalPropertyList::CLocalGlobalPropertyList(unsigned long) __ptr64
|
||||
??0CLocalGlobalPropertyList@@QEAA@K@Z
|
||||
; public: __cdecl CLocalGlobalPropertyList::CLocalGlobalPropertyList(class CEmptyPropertyList * __ptr64,int,unsigned short const * __ptr64,unsigned long) __ptr64
|
||||
??0CLocalGlobalPropertyList@@QEAA@PEAVCEmptyPropertyList@@HPEBGK@Z
|
||||
; public: __cdecl CMachineAdmin::CMachineAdmin(unsigned short const * __ptr64,int) __ptr64
|
||||
??0CMachineAdmin@@QEAA@PEBGH@Z
|
||||
; public: __cdecl CMemSerStream::CMemSerStream(unsigned int) __ptr64
|
||||
??0CMemSerStream@@QEAA@I@Z
|
||||
; public: __cdecl CMemSerStream::CMemSerStream(unsigned char * __ptr64,unsigned long) __ptr64
|
||||
??0CMemSerStream@@QEAA@PEAEK@Z
|
||||
; public: __cdecl CMetaDataMgr::CMetaDataMgr(int,enum CiVRootTypeEnum,unsigned long,unsigned short const * __ptr64) __ptr64
|
||||
??0CMetaDataMgr@@QEAA@HW4CiVRootTypeEnum@@KPEBG@Z
|
||||
; public: __cdecl CMmStream::CMmStream(unsigned long,int) __ptr64
|
||||
??0CMmStream@@QEAA@KH@Z
|
||||
; public: __cdecl CMmStreamConsecBuf::CMmStreamConsecBuf(void) __ptr64
|
||||
??0CMmStreamConsecBuf@@QEAA@XZ
|
||||
; public: __cdecl CNatLanguageRestriction::CNatLanguageRestriction(unsigned short const * __ptr64,class CFullPropSpec const & __ptr64,unsigned long) __ptr64
|
||||
??0CNatLanguageRestriction@@QEAA@PEBGAEBVCFullPropSpec@@K@Z
|
||||
; public: __cdecl CNodeRestriction::CNodeRestriction(unsigned long,unsigned int) __ptr64
|
||||
??0CNodeRestriction@@QEAA@KI@Z
|
||||
; public: __cdecl CNormalizer::CNormalizer(class PNoiseList & __ptr64) __ptr64
|
||||
??0CNormalizer@@QEAA@AEAVPNoiseList@@@Z
|
||||
; public: __cdecl CPathParser::CPathParser(unsigned short const * __ptr64,unsigned long) __ptr64
|
||||
??0CPathParser@@QEAA@PEBGK@Z
|
||||
; public: __cdecl CPerfMon::CPerfMon(unsigned short const * __ptr64) __ptr64
|
||||
??0CPerfMon@@QEAA@PEBG@Z
|
||||
; public: __cdecl CPersDeComp::CPersDeComp(class PDirectory & __ptr64,unsigned long,class CPhysIndex & __ptr64,unsigned long,int,int) __ptr64
|
||||
??0CPersDeComp@@QEAA@AEAVPDirectory@@KAEAVCPhysIndex@@KHH@Z
|
||||
; protected: __cdecl CPhysStorage::CPhysStorage(class PStorage & __ptr64,class PStorageObject & __ptr64,unsigned long,unsigned int,class PMmStream * __ptr64,int,unsigned int,int) __ptr64
|
||||
??0CPhysStorage@@IEAA@AEAVPStorage@@AEAVPStorageObject@@KIPEAVPMmStream@@HIH@Z
|
||||
; protected: __cdecl CPhysStorage::CPhysStorage(class PStorage & __ptr64,class PStorageObject & __ptr64,unsigned long,class PMmStream * __ptr64,enum CPhysStorage::EOpenMode,int,unsigned int,int) __ptr64
|
||||
??0CPhysStorage@@IEAA@AEAVPStorage@@AEAVPStorageObject@@KPEAVPMmStream@@W4EOpenMode@1@HIH@Z
|
||||
; public: __cdecl CPidLookupTable::CPidLookupTable(void) __ptr64
|
||||
??0CPidLookupTable@@QEAA@XZ
|
||||
; public: __cdecl CPidRemapper::CPidRemapper(class XInterface<struct IPropertyMapper> & __ptr64) __ptr64
|
||||
??0CPidRemapper@@QEAA@AEAV?$XInterface@UIPropertyMapper@@@@@Z
|
||||
; public: __cdecl CPidRemapper::CPidRemapper(class CPidMapper const & __ptr64,class XInterface<struct IPropertyMapper> & __ptr64,class CRestriction * __ptr64,class CColumnSet * __ptr64,class CSortSet * __ptr64) __ptr64
|
||||
??0CPidRemapper@@QEAA@AEBVCPidMapper@@AEAV?$XInterface@UIPropertyMapper@@@@PEAVCRestriction@@PEAVCColumnSet@@PEAVCSortSet@@@Z
|
||||
; public: __cdecl CPropListFile::CPropListFile(class CEmptyPropertyList * __ptr64,int,unsigned short const * __ptr64,unsigned long) __ptr64
|
||||
??0CPropListFile@@QEAA@PEAVCEmptyPropertyList@@HPEBGK@Z
|
||||
; public: __cdecl CPropNameArray::CPropNameArray(class PDeSerStream & __ptr64) __ptr64
|
||||
??0CPropNameArray@@QEAA@AEAVPDeSerStream@@@Z
|
||||
; public: __cdecl CPropNameArray::CPropNameArray(unsigned int) __ptr64
|
||||
??0CPropNameArray@@QEAA@I@Z
|
||||
; public: __cdecl CPropStoreManager::CPropStoreManager(unsigned long) __ptr64
|
||||
??0CPropStoreManager@@QEAA@K@Z
|
||||
; public: __cdecl CPropertyRestriction::CPropertyRestriction(unsigned long,class CFullPropSpec const & __ptr64,class CStorageVariant const & __ptr64) __ptr64
|
||||
??0CPropertyRestriction@@QEAA@KAEBVCFullPropSpec@@AEBVCStorageVariant@@@Z
|
||||
; public: __cdecl CPropertyRestriction::CPropertyRestriction(void) __ptr64
|
||||
??0CPropertyRestriction@@QEAA@XZ
|
||||
; public: __cdecl CPropertyStoreWids::CPropertyStoreWids(class CPropStoreManager & __ptr64) __ptr64
|
||||
??0CPropertyStoreWids@@QEAA@AEAVCPropStoreManager@@@Z
|
||||
; public: __cdecl CPropertyValueParser::CPropertyValueParser(class CQueryScanner & __ptr64,unsigned short,unsigned long) __ptr64
|
||||
??0CPropertyValueParser@@QEAA@AEAVCQueryScanner@@GK@Z
|
||||
; public: __cdecl CQueryScanner::CQueryScanner(unsigned short const * __ptr64,int,unsigned long,int) __ptr64
|
||||
??0CQueryScanner@@QEAA@PEBGHKH@Z
|
||||
; public: __cdecl CRangeKeyRepository::CRangeKeyRepository(void) __ptr64
|
||||
??0CRangeKeyRepository@@QEAA@XZ
|
||||
; public: __cdecl CRcovStrmAppendTrans::CRcovStrmAppendTrans(class PRcovStorageObj & __ptr64) __ptr64
|
||||
??0CRcovStrmAppendTrans@@QEAA@AEAVPRcovStorageObj@@@Z
|
||||
; public: __cdecl CRcovStrmMDTrans::CRcovStrmMDTrans(class PRcovStorageObj & __ptr64,enum CRcovStrmMDTrans::MDOp,unsigned long) __ptr64
|
||||
??0CRcovStrmMDTrans@@QEAA@AEAVPRcovStorageObj@@W4MDOp@0@K@Z
|
||||
; protected: __cdecl CRcovStrmTrans::CRcovStrmTrans(class PRcovStorageObj & __ptr64,enum RcovOpType) __ptr64
|
||||
??0CRcovStrmTrans@@IEAA@AEAVPRcovStorageObj@@W4RcovOpType@@@Z
|
||||
; public: __cdecl CRegAccess::CRegAccess(unsigned long,unsigned short const * __ptr64) __ptr64
|
||||
??0CRegAccess@@QEAA@KPEBG@Z
|
||||
; public: __cdecl CRegChangeEvent::CRegChangeEvent(unsigned short const * __ptr64,int) __ptr64
|
||||
??0CRegChangeEvent@@QEAA@PEBGH@Z
|
||||
; public: __cdecl CRegNotify::CRegNotify(unsigned short const * __ptr64) __ptr64
|
||||
??0CRegNotify@@QEAA@PEBG@Z
|
||||
; public: __cdecl CRequestClient::CRequestClient(unsigned short const * __ptr64,struct IDBProperties * __ptr64) __ptr64
|
||||
??0CRequestClient@@QEAA@PEBGPEAUIDBProperties@@@Z
|
||||
; public: __cdecl CRequestQueue::CRequestQueue(unsigned int,unsigned int,unsigned int,int,unsigned int,unsigned int,struct _GUID const & __ptr64) __ptr64
|
||||
??0CRequestQueue@@QEAA@IIIHIIAEBU_GUID@@@Z
|
||||
; public: __cdecl CScopeRestriction::CScopeRestriction(unsigned short const * __ptr64,int,int) __ptr64
|
||||
??0CScopeRestriction@@QEAA@PEBGHH@Z
|
||||
; public: __cdecl CSdidLookupTable::CSdidLookupTable(void) __ptr64
|
||||
??0CSdidLookupTable@@QEAA@XZ
|
||||
; public: __cdecl CSizeSerStream::CSizeSerStream(void) __ptr64
|
||||
??0CSizeSerStream@@QEAA@XZ
|
||||
; public: __cdecl CSort::CSort(unsigned int) __ptr64
|
||||
??0CSort@@QEAA@I@Z
|
||||
; public: __cdecl CSortSet::CSortSet(unsigned int) __ptr64
|
||||
??0CSortSet@@QEAA@I@Z
|
||||
; public: __cdecl CStandardPropMapper::CStandardPropMapper(void) __ptr64
|
||||
??0CStandardPropMapper@@QEAA@XZ
|
||||
; public: __cdecl CSvcQuery::CSvcQuery(unsigned short const * __ptr64,struct IDBProperties * __ptr64) __ptr64
|
||||
??0CSvcQuery@@QEAA@PEBGPEAUIDBProperties@@@Z
|
||||
; public: __cdecl CSynRestriction::CSynRestriction(class CKey const & __ptr64,unsigned long,unsigned long,unsigned long,int) __ptr64
|
||||
??0CSynRestriction@@QEAA@AEBVCKey@@KKKH@Z
|
||||
; public: __cdecl CTimeLimit::CTimeLimit(unsigned long,unsigned long) __ptr64
|
||||
??0CTimeLimit@@QEAA@KK@Z
|
||||
; public: __cdecl CTransaction::CTransaction(void) __ptr64
|
||||
??0CTransaction@@QEAA@XZ
|
||||
; public: __cdecl CUnfilteredRestriction::CUnfilteredRestriction(void) __ptr64
|
||||
??0CUnfilteredRestriction@@QEAA@XZ
|
||||
; public: __cdecl CValueNormalizer::CValueNormalizer(class PKeyRepository & __ptr64) __ptr64
|
||||
??0CValueNormalizer@@QEAA@AEAVPKeyRepository@@@Z
|
||||
; public: __cdecl CVirtualString::CVirtualString(unsigned int) __ptr64
|
||||
??0CVirtualString@@QEAA@I@Z
|
||||
; public: __cdecl CWin32RegAccess::CWin32RegAccess(struct HKEY__ * __ptr64,unsigned short const * __ptr64) __ptr64
|
||||
??0CWin32RegAccess@@QEAA@PEAUHKEY__@@PEBG@Z
|
||||
; public: __cdecl CWordRestriction::CWordRestriction(class CKeyBuf const & __ptr64,unsigned long,unsigned long,unsigned long,int) __ptr64
|
||||
??0CWordRestriction@@QEAA@AEBVCKeyBuf@@KKKH@Z
|
||||
; public: __cdecl CWorkQueue::CWorkQueue(unsigned int,enum CWorkQueue::WorkQueueType) __ptr64
|
||||
??0CWorkQueue@@QEAA@IW4WorkQueueType@0@@Z
|
||||
; public: __cdecl CiStorage::CiStorage(unsigned short const * __ptr64,struct ICiCAdviseStatus & __ptr64,unsigned long,unsigned long,int) __ptr64
|
||||
??0CiStorage@@QEAA@PEBGAEAUICiCAdviseStatus@@KKH@Z
|
||||
; public: __cdecl SStorageObject::SStorageObject(class PStorageObject * __ptr64) __ptr64
|
||||
??0SStorageObject@@QEAA@PEAVPStorageObject@@@Z
|
||||
; protected: __cdecl CAllocStorageVariant::~CAllocStorageVariant(void) __ptr64
|
||||
??1CAllocStorageVariant@@IEAA@XZ
|
||||
; public: __cdecl CCatState::~CCatState(void) __ptr64
|
||||
??1CCatState@@QEAA@XZ
|
||||
; public: __cdecl CCatalogAdmin::~CCatalogAdmin(void) __ptr64
|
||||
??1CCatalogAdmin@@QEAA@XZ
|
||||
; public: __cdecl CCatalogEnum::~CCatalogEnum(void) __ptr64
|
||||
??1CCatalogEnum@@QEAA@XZ
|
||||
; public: __cdecl CColumns::~CColumns(void) __ptr64
|
||||
??1CColumns@@QEAA@XZ
|
||||
; public: __cdecl CContentRestriction::~CContentRestriction(void) __ptr64
|
||||
??1CContentRestriction@@QEAA@XZ
|
||||
; public: __cdecl CDFA::~CDFA(void) __ptr64
|
||||
??1CDFA@@QEAA@XZ
|
||||
; public: __cdecl CDbCmdTreeNode::~CDbCmdTreeNode(void) __ptr64
|
||||
??1CDbCmdTreeNode@@QEAA@XZ
|
||||
; public: __cdecl CDbColumns::~CDbColumns(void) __ptr64
|
||||
??1CDbColumns@@QEAA@XZ
|
||||
; public: __cdecl CDbPropSet::~CDbPropSet(void) __ptr64
|
||||
??1CDbPropSet@@QEAA@XZ
|
||||
; public: __cdecl CDbQueryResults::~CDbQueryResults(void) __ptr64
|
||||
??1CDbQueryResults@@QEAA@XZ
|
||||
; public: __cdecl CDbSortSet::~CDbSortSet(void) __ptr64
|
||||
??1CDbSortSet@@QEAA@XZ
|
||||
; public: __cdecl CDynStream::~CDynStream(void) __ptr64
|
||||
??1CDynStream@@QEAA@XZ
|
||||
; public: __cdecl CEventItem::~CEventItem(void) __ptr64
|
||||
??1CEventItem@@QEAA@XZ
|
||||
; public: __cdecl CEventLog::~CEventLog(void) __ptr64
|
||||
??1CEventLog@@QEAA@XZ
|
||||
; public: __cdecl CFileMapView::~CFileMapView(void) __ptr64
|
||||
??1CFileMapView@@QEAA@XZ
|
||||
; public: __cdecl CFilterDaemon::~CFilterDaemon(void) __ptr64
|
||||
??1CFilterDaemon@@QEAA@XZ
|
||||
; public: virtual __cdecl CFwAsyncWorkItem::~CFwAsyncWorkItem(void) __ptr64
|
||||
??1CFwAsyncWorkItem@@UEAA@XZ
|
||||
; public: __cdecl CFwEventItem::~CFwEventItem(void) __ptr64
|
||||
??1CFwEventItem@@QEAA@XZ
|
||||
; public: virtual __cdecl CGenericCiProxy::~CGenericCiProxy(void) __ptr64
|
||||
??1CGenericCiProxy@@UEAA@XZ
|
||||
; public: __cdecl CImpersonateClient::~CImpersonateClient(void) __ptr64
|
||||
??1CImpersonateClient@@QEAA@XZ
|
||||
; public: __cdecl CImpersonateSystem::~CImpersonateSystem(void) __ptr64
|
||||
??1CImpersonateSystem@@QEAA@XZ
|
||||
; public: __cdecl CImpersonationTokenCache::~CImpersonationTokenCache(void) __ptr64
|
||||
??1CImpersonationTokenCache@@QEAA@XZ
|
||||
; public: __cdecl CInternalPropertyRestriction::~CInternalPropertyRestriction(void) __ptr64
|
||||
??1CInternalPropertyRestriction@@QEAA@XZ
|
||||
; public: __cdecl CKeyArray::~CKeyArray(void) __ptr64
|
||||
??1CKeyArray@@QEAA@XZ
|
||||
; public: __cdecl CLangList::~CLangList(void) __ptr64
|
||||
??1CLangList@@QEAA@XZ
|
||||
; public: __cdecl CMachineAdmin::~CMachineAdmin(void) __ptr64
|
||||
??1CMachineAdmin@@QEAA@XZ
|
||||
; public: virtual __cdecl CMemSerStream::~CMemSerStream(void) __ptr64
|
||||
??1CMemSerStream@@UEAA@XZ
|
||||
; public: __cdecl CMetaDataMgr::~CMetaDataMgr(void) __ptr64
|
||||
??1CMetaDataMgr@@QEAA@XZ
|
||||
; public: virtual __cdecl CMmStream::~CMmStream(void) __ptr64
|
||||
??1CMmStream@@UEAA@XZ
|
||||
; public: __cdecl CMmStreamConsecBuf::~CMmStreamConsecBuf(void) __ptr64
|
||||
??1CMmStreamConsecBuf@@QEAA@XZ
|
||||
; public: __cdecl CNatLanguageRestriction::~CNatLanguageRestriction(void) __ptr64
|
||||
??1CNatLanguageRestriction@@QEAA@XZ
|
||||
; public: __cdecl CNodeRestriction::~CNodeRestriction(void) __ptr64
|
||||
??1CNodeRestriction@@QEAA@XZ
|
||||
; public: __cdecl CNotRestriction::~CNotRestriction(void) __ptr64
|
||||
??1CNotRestriction@@QEAA@XZ
|
||||
; public: __cdecl COccRestriction::~COccRestriction(void) __ptr64
|
||||
??1COccRestriction@@QEAA@XZ
|
||||
; public: __cdecl CParseCommandTree::~CParseCommandTree(void) __ptr64
|
||||
??1CParseCommandTree@@QEAA@XZ
|
||||
; public: __cdecl CPerfMon::~CPerfMon(void) __ptr64
|
||||
??1CPerfMon@@QEAA@XZ
|
||||
; public: __cdecl CPhraseRestriction::~CPhraseRestriction(void) __ptr64
|
||||
??1CPhraseRestriction@@QEAA@XZ
|
||||
; public: virtual __cdecl CPhysStorage::~CPhysStorage(void) __ptr64
|
||||
??1CPhysStorage@@UEAA@XZ
|
||||
; public: __cdecl CPidLookupTable::~CPidLookupTable(void) __ptr64
|
||||
??1CPidLookupTable@@QEAA@XZ
|
||||
; public: __cdecl CPidRemapper::~CPidRemapper(void) __ptr64
|
||||
??1CPidRemapper@@QEAA@XZ
|
||||
; public: __cdecl CProcess::~CProcess(void) __ptr64
|
||||
??1CProcess@@QEAA@XZ
|
||||
; public: __cdecl CPropStoreManager::~CPropStoreManager(void) __ptr64
|
||||
??1CPropStoreManager@@QEAA@XZ
|
||||
; public: virtual __cdecl CPropertyList::~CPropertyList(void) __ptr64
|
||||
??1CPropertyList@@UEAA@XZ
|
||||
; public: __cdecl CPropertyRestriction::~CPropertyRestriction(void) __ptr64
|
||||
??1CPropertyRestriction@@QEAA@XZ
|
||||
; public: __cdecl CPropertyStore::~CPropertyStore(void) __ptr64
|
||||
??1CPropertyStore@@QEAA@XZ
|
||||
; public: __cdecl CPropertyStoreWids::~CPropertyStoreWids(void) __ptr64
|
||||
??1CPropertyStoreWids@@QEAA@XZ
|
||||
; public: __cdecl CQueryUnknown::~CQueryUnknown(void) __ptr64
|
||||
??1CQueryUnknown@@QEAA@XZ
|
||||
; public: virtual __cdecl CRangeKeyRepository::~CRangeKeyRepository(void) __ptr64
|
||||
??1CRangeKeyRepository@@UEAA@XZ
|
||||
; public: __cdecl CRegChangeEvent::~CRegChangeEvent(void) __ptr64
|
||||
??1CRegChangeEvent@@QEAA@XZ
|
||||
; protected: virtual __cdecl CRegNotify::~CRegNotify(void) __ptr64
|
||||
??1CRegNotify@@MEAA@XZ
|
||||
; public: __cdecl CRestriction::~CRestriction(void) __ptr64
|
||||
??1CRestriction@@QEAA@XZ
|
||||
; public: __cdecl CScopeAdmin::~CScopeAdmin(void) __ptr64
|
||||
??1CScopeAdmin@@QEAA@XZ
|
||||
; public: __cdecl CScopeEnum::~CScopeEnum(void) __ptr64
|
||||
??1CScopeEnum@@QEAA@XZ
|
||||
; public: __cdecl CScopeRestriction::~CScopeRestriction(void) __ptr64
|
||||
??1CScopeRestriction@@QEAA@XZ
|
||||
; public: __cdecl CSdidLookupTable::~CSdidLookupTable(void) __ptr64
|
||||
??1CSdidLookupTable@@QEAA@XZ
|
||||
; public: virtual __cdecl CSizeSerStream::~CSizeSerStream(void) __ptr64
|
||||
??1CSizeSerStream@@UEAA@XZ
|
||||
; public: __cdecl CSort::~CSort(void) __ptr64
|
||||
??1CSort@@QEAA@XZ
|
||||
; public: __cdecl CSynRestriction::~CSynRestriction(void) __ptr64
|
||||
??1CSynRestriction@@QEAA@XZ
|
||||
; public: __cdecl CVirtualString::~CVirtualString(void) __ptr64
|
||||
??1CVirtualString@@QEAA@XZ
|
||||
; public: __cdecl CWin32RegAccess::~CWin32RegAccess(void) __ptr64
|
||||
??1CWin32RegAccess@@QEAA@XZ
|
||||
; public: __cdecl CWordRestriction::~CWordRestriction(void) __ptr64
|
||||
??1CWordRestriction@@QEAA@XZ
|
||||
; public: __cdecl CWorkManager::~CWorkManager(void) __ptr64
|
||||
??1CWorkManager@@QEAA@XZ
|
||||
; public: __cdecl CWorkQueue::~CWorkQueue(void) __ptr64
|
||||
??1CWorkQueue@@QEAA@XZ
|
||||
; public: __cdecl SStorageObject::~SStorageObject(void) __ptr64
|
||||
??1SStorageObject@@QEAA@XZ
|
||||
; public: class CDbColId & __ptr64 __cdecl CDbColId::operator=(class CDbColId const & __ptr64) __ptr64
|
||||
??4CDbColId@@QEAAAEAV0@AEBV0@@Z
|
||||
; public: int __cdecl CDbColId::operator==(class CDbColId const & __ptr64)const __ptr64
|
||||
??8CDbColId@@QEBAHAEBV0@@Z
|
||||
; public: void __cdecl CWorkManager::AbortWorkItems(void) __ptr64
|
||||
?AbortWorkItems@CWorkManager@@QEAAXXZ
|
||||
; public: void __cdecl CQueryScanner::Accept(void) __ptr64
|
||||
?Accept@CQueryScanner@@QEAAXXZ
|
||||
; public: void __cdecl CQueryScanner::AcceptCommand(void) __ptr64
|
||||
?AcceptCommand@CQueryScanner@@QEAAXXZ
|
||||
; public: void __cdecl CQueryScanner::AcceptWord(void) __ptr64
|
||||
?AcceptWord@CQueryScanner@@QEAAXXZ
|
||||
; public: int __cdecl CSdidLookupTable::AccessCheck(unsigned long,void * __ptr64,unsigned long,int & __ptr64) __ptr64
|
||||
?AccessCheck@CSdidLookupTable@@QEAAHKPEAXKAEAH@Z
|
||||
; public: unsigned short * __ptr64 __cdecl CQueryScanner::AcqLine(int) __ptr64
|
||||
?AcqLine@CQueryScanner@@QEAAPEAGH@Z
|
||||
; public: unsigned short * __ptr64 __cdecl CQueryScanner::AcqPath(void) __ptr64
|
||||
?AcqPath@CQueryScanner@@QEAAPEAGXZ
|
||||
; public: unsigned short * __ptr64 __cdecl CQueryScanner::AcqPhrase(void) __ptr64
|
||||
?AcqPhrase@CQueryScanner@@QEAAPEAGXZ
|
||||
; public: class CRangeRestriction * __ptr64 __cdecl CRangeKeyRepository::AcqRst(void) __ptr64
|
||||
?AcqRst@CRangeKeyRepository@@QEAAPEAVCRangeRestriction@@XZ
|
||||
; public: unsigned short * __ptr64 __cdecl CQueryScanner::AcqWord(void) __ptr64
|
||||
?AcqWord@CQueryScanner@@QEAAPEAGXZ
|
||||
; private: void __cdecl CPropertyStore::AcquireRead(class CReadWriteLockRecord & __ptr64) __ptr64
|
||||
?AcquireRead@CPropertyStore@@AEAAXAEAVCReadWriteLockRecord@@@Z
|
||||
; public: int __cdecl CDbColumns::Add(class CDbColId const & __ptr64,unsigned int) __ptr64
|
||||
?Add@CDbColumns@@QEAAHAEBVCDbColId@@I@Z
|
||||
; public: void __cdecl CDbQueryResults::Add(unsigned short * __ptr64,unsigned long) __ptr64
|
||||
?Add@CDbQueryResults@@QEAAXPEAGK@Z
|
||||
; public: int __cdecl CDbSortSet::Add(class CDbColId const & __ptr64,unsigned long,unsigned int) __ptr64
|
||||
?Add@CDbSortSet@@QEAAHAEBVCDbColId@@KI@Z
|
||||
; public: int __cdecl CDbSortSet::Add(class CDbSortKey const & __ptr64,unsigned int) __ptr64
|
||||
?Add@CDbSortSet@@QEAAHAEBVCDbSortKey@@I@Z
|
||||
; public: int __cdecl CKeyArray::Add(int,class CKey const & __ptr64) __ptr64
|
||||
?Add@CKeyArray@@QEAAHHAEBVCKey@@@Z
|
||||
; public: int __cdecl CKeyArray::Add(int,class CKeyBuf const & __ptr64) __ptr64
|
||||
?Add@CKeyArray@@QEAAHHAEBVCKeyBuf@@@Z
|
||||
; public: void __cdecl CWorkQueue::Add(class PWorkItem * __ptr64) __ptr64
|
||||
?Add@CWorkQueue@@QEAAXPEAVPWorkItem@@@Z
|
||||
; public: void __cdecl CEventItem::AddArg(unsigned long) __ptr64
|
||||
?AddArg@CEventItem@@QEAAXK@Z
|
||||
; public: void __cdecl CEventItem::AddArg(unsigned short const * __ptr64) __ptr64
|
||||
?AddArg@CEventItem@@QEAAXPEBG@Z
|
||||
; public: void __cdecl CFwEventItem::AddArg(unsigned long) __ptr64
|
||||
?AddArg@CFwEventItem@@QEAAXK@Z
|
||||
; public: void __cdecl CFwEventItem::AddArg(unsigned short const * __ptr64) __ptr64
|
||||
?AddArg@CFwEventItem@@QEAAXPEBG@Z
|
||||
; public: void __cdecl CCatalogAdmin::AddCachedProperty(class CFullPropSpec const & __ptr64,unsigned long,unsigned long,unsigned long,int) __ptr64
|
||||
?AddCachedProperty@CCatalogAdmin@@QEAAXAEBVCFullPropSpec@@KKKH@Z
|
||||
; public: void __cdecl CCatState::AddCatalog(class XPtrST<unsigned short> & __ptr64) __ptr64
|
||||
?AddCatalog@CCatState@@QEAAXAEAV?$XPtrST@G@@@Z
|
||||
; public: void __cdecl CMachineAdmin::AddCatalog(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
|
||||
?AddCatalog@CMachineAdmin@@QEAAXPEBG0@Z
|
||||
; public: void __cdecl CNodeRestriction::AddChild(class CRestriction * __ptr64,unsigned int & __ptr64) __ptr64
|
||||
?AddChild@CNodeRestriction@@QEAAXPEAVCRestriction@@AEAI@Z
|
||||
; public: void __cdecl CCatState::AddDir(class XPtrST<unsigned short> & __ptr64) __ptr64
|
||||
?AddDir@CCatState@@QEAAXAEAV?$XPtrST@G@@@Z
|
||||
; public: virtual void __cdecl CPropertyList::AddEntry(class CPropEntry * __ptr64,int) __ptr64
|
||||
?AddEntry@CPropertyList@@UEAAXPEAVCPropEntry@@H@Z
|
||||
; public: void __cdecl CEventItem::AddError(unsigned long) __ptr64
|
||||
?AddError@CEventItem@@QEAAXK@Z
|
||||
; public: void __cdecl CSynRestriction::AddKey(class CKeyBuf const & __ptr64) __ptr64
|
||||
?AddKey@CSynRestriction@@QEAAXAEBVCKeyBuf@@@Z
|
||||
; public: void __cdecl CCatState::AddMachine(class XPtrST<unsigned short> & __ptr64) __ptr64
|
||||
?AddMachine@CCatState@@QEAAXAEAV?$XPtrST@G@@@Z
|
||||
; public: virtual unsigned long __cdecl CDbProperties::AddRef(void) __ptr64
|
||||
?AddRef@CDbProperties@@UEAAKXZ
|
||||
; public: virtual unsigned long __cdecl CEmptyPropertyList::AddRef(void) __ptr64
|
||||
?AddRef@CEmptyPropertyList@@UEAAKXZ
|
||||
; public: virtual unsigned long __cdecl CEnumString::AddRef(void) __ptr64
|
||||
?AddRef@CEnumString@@UEAAKXZ
|
||||
; public: virtual unsigned long __cdecl CEnumWorkid::AddRef(void) __ptr64
|
||||
?AddRef@CEnumWorkid@@UEAAKXZ
|
||||
; public: virtual unsigned long __cdecl CFwPropertyMapper::AddRef(void) __ptr64
|
||||
?AddRef@CFwPropertyMapper@@UEAAKXZ
|
||||
; public: virtual unsigned long __cdecl CQueryUnknown::AddRef(void) __ptr64
|
||||
?AddRef@CQueryUnknown@@UEAAKXZ
|
||||
; public: void __cdecl CWorkQueue::AddRefWorkThreads(void) __ptr64
|
||||
?AddRefWorkThreads@CWorkQueue@@QEAAXXZ
|
||||
; public: void __cdecl CCatalogAdmin::AddScope(unsigned short const * __ptr64,unsigned short const * __ptr64,int,unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
|
||||
?AddScope@CCatalogAdmin@@QEAAXPEBG0H00@Z
|
||||
; public: int __cdecl CDbSortNode::AddSortColumn(struct tagDBID const & __ptr64,int,unsigned long) __ptr64
|
||||
?AddSortColumn@CDbSortNode@@QEAAHAEBUtagDBID@@HK@Z
|
||||
; public: int __cdecl CDbNestingNode::AddTable(class CDbCmdTreeNode * __ptr64) __ptr64
|
||||
?AddTable@CDbNestingNode@@QEAAHPEAVCDbCmdTreeNode@@@Z
|
||||
; public: void __cdecl CWorkManager::AddToWorkList(class CFwAsyncWorkItem * __ptr64) __ptr64
|
||||
?AddToWorkList@CWorkManager@@QEAAXPEAVCFwAsyncWorkItem@@@Z
|
||||
; public: void __cdecl CFwAsyncWorkItem::AddToWorkQueue(void) __ptr64
|
||||
?AddToWorkQueue@CFwAsyncWorkItem@@QEAAXXZ
|
||||
; public: static unsigned short * __ptr64 __cdecl CDbCmdTreeNode::AllocAndCopyWString(unsigned short const * __ptr64)
|
||||
?AllocAndCopyWString@CDbCmdTreeNode@@SAPEAGPEBG@Z
|
||||
; unsigned short * __ptr64 __cdecl AllocHeapAndCopy(unsigned short const * __ptr64,unsigned long & __ptr64)
|
||||
?AllocHeapAndCopy@@YAPEAGPEBGAEAK@Z
|
||||
; unsigned short * __ptr64 __cdecl AllocHeapAndGetWString(class PDeSerStream & __ptr64)
|
||||
?AllocHeapAndGetWString@@YAPEAGAEAVPDeSerStream@@@Z
|
||||
; public: void __cdecl CEnumString::Append(unsigned short const * __ptr64) __ptr64
|
||||
?Append@CEnumString@@QEAAXPEBG@Z
|
||||
; public: void __cdecl CEnumWorkid::Append(unsigned long) __ptr64
|
||||
?Append@CEnumWorkid@@QEAAXK@Z
|
||||
; protected: void __cdecl CDbCmdTreeNode::AppendChild(class CDbCmdTreeNode * __ptr64) __ptr64
|
||||
?AppendChild@CDbCmdTreeNode@@IEAAXPEAV1@@Z
|
||||
; protected: int __cdecl CDbListAnchor::AppendListElement(unsigned short,struct tagDBID const & __ptr64) __ptr64
|
||||
?AppendListElement@CDbListAnchor@@IEAAHGAEBUtagDBID@@@Z
|
||||
; protected: int __cdecl CDbListAnchor::AppendListElement(class CDbCmdTreeNode * __ptr64) __ptr64
|
||||
?AppendListElement@CDbListAnchor@@IEAAHPEAVCDbCmdTreeNode@@@Z
|
||||
; public: int __cdecl CDbProjectListAnchor::AppendListElement(struct tagDBID const & __ptr64,unsigned short * __ptr64) __ptr64
|
||||
?AppendListElement@CDbProjectListAnchor@@QEAAHAEBUtagDBID@@PEAG@Z
|
||||
; public: unsigned __int64 __cdecl CPropStoreManager::BeginTransaction(void) __ptr64
|
||||
?BeginTransaction@CPropStoreManager@@QEAA_KXZ
|
||||
; public: static long __cdecl CCiOle::BindIFilter(unsigned short const * __ptr64,struct IUnknown * __ptr64,struct _GUID const & __ptr64,struct IFilter * __ptr64 * __ptr64,int)
|
||||
?BindIFilter@CCiOle@@SAJPEBGPEAUIUnknown@@AEBU_GUID@@PEAPEAUIFilter@@H@Z
|
||||
; public: static long __cdecl CCiOle::BindIFilter(unsigned short const * __ptr64,struct IUnknown * __ptr64,struct IFilter * __ptr64 * __ptr64,int)
|
||||
?BindIFilter@CCiOle@@SAJPEBGPEAUIUnknown@@PEAPEAUIFilter@@H@Z
|
||||
; public: unsigned long * __ptr64 __cdecl CPhysStorage::BorrowBuffer(unsigned long,int,int) __ptr64
|
||||
?BorrowBuffer@CPhysStorage@@QEAAPEAKKHH@Z
|
||||
; public: unsigned long * __ptr64 __cdecl CPhysStorage::BorrowNewBuffer(unsigned long) __ptr64
|
||||
?BorrowNewBuffer@CPhysStorage@@QEAAPEAKK@Z
|
||||
; void __cdecl BuildRegistryPropertiesKey(class XArray<unsigned short> & __ptr64,unsigned short const * __ptr64)
|
||||
?BuildRegistryPropertiesKey@@YAXAEAV?$XArray@G@@PEBG@Z
|
||||
; void __cdecl BuildRegistryScopesKey(class XArray<unsigned short> & __ptr64,unsigned short const * __ptr64)
|
||||
?BuildRegistryScopesKey@@YAXAEAV?$XArray@G@@PEBG@Z
|
||||
; void __cdecl CIShutdown(void)
|
||||
?CIShutdown@@YAXXZ
|
||||
; public: void __cdecl CCatState::ChangeCurrentCatalog(unsigned short const * __ptr64) __ptr64
|
||||
?ChangeCurrentCatalog@CCatState@@QEAAXPEBG@Z
|
||||
; public: void __cdecl CCatState::ChangeCurrentDepth(int) __ptr64
|
||||
?ChangeCurrentDepth@CCatState@@QEAAXH@Z
|
||||
; public: void __cdecl CCatState::ChangeCurrentMachine(unsigned short const * __ptr64) __ptr64
|
||||
?ChangeCurrentMachine@CCatState@@QEAAXPEBG@Z
|
||||
; public: void __cdecl CCatState::ChangeCurrentScope(unsigned short const * __ptr64) __ptr64
|
||||
?ChangeCurrentScope@CCatState@@QEAAXPEBG@Z
|
||||
; private: void __cdecl CPropStoreInfo::ChangeDirty(int) __ptr64
|
||||
?ChangeDirty@CPropStoreInfo@@AEAAXH@Z
|
||||
; public: long __cdecl CLocalGlobalPropertyList::CheckError(unsigned long & __ptr64,unsigned short * __ptr64 * __ptr64) __ptr64
|
||||
?CheckError@CLocalGlobalPropertyList@@QEAAJAEAKPEAPEAG@Z
|
||||
; public: long __cdecl CPropListFile::CheckError(unsigned long & __ptr64,unsigned short * __ptr64 * __ptr64) __ptr64
|
||||
?CheckError@CPropListFile@@QEAAJAEAKPEAPEAG@Z
|
||||
; public: static int __cdecl CiStorage::CheckHasIndexTable(unsigned short const * __ptr64)
|
||||
?CheckHasIndexTable@CiStorage@@SAHPEBG@Z
|
||||
CiCreateSecurityDescriptor
|
||||
; int __cdecl CiGetPassword(unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short * __ptr64)
|
||||
?CiGetPassword@@YAHPEBG0PEAG@Z
|
||||
; void * __ptr64 __cdecl CiNtOpen(unsigned short const * __ptr64,unsigned long,unsigned long,unsigned long)
|
||||
?CiNtOpen@@YAPEAXPEBGKKK@Z
|
||||
; long __cdecl CiNtOpenNoThrow(void * __ptr64 & __ptr64,unsigned short const * __ptr64,unsigned long,unsigned long,unsigned long)
|
||||
?CiNtOpenNoThrow@@YAJAEAPEAXPEBGKKK@Z
|
||||
; public: void __cdecl CDbColId::Cleanup(void) __ptr64
|
||||
?Cleanup@CDbColId@@QEAAXXZ
|
||||
; protected: void __cdecl CDbCmdTreeNode::CleanupDataValue(void) __ptr64
|
||||
?CleanupDataValue@CDbCmdTreeNode@@IEAAXXZ
|
||||
; public: void __cdecl CCombinedPropertyList::ClearList(void) __ptr64
|
||||
?ClearList@CCombinedPropertyList@@QEAAXXZ
|
||||
; public: void __cdecl CPropertyList::ClearList(void) __ptr64
|
||||
?ClearList@CPropertyList@@QEAAXXZ
|
||||
; public: class CDbCmdTreeNode * __ptr64 __cdecl CDbCmdTreeNode::Clone(int)const __ptr64
|
||||
?Clone@CDbCmdTreeNode@@QEBAPEAV1@H@Z
|
||||
; public: virtual long __cdecl CEnumString::Clone(struct IEnumString * __ptr64 * __ptr64) __ptr64
|
||||
?Clone@CEnumString@@UEAAJPEAPEAUIEnumString@@@Z
|
||||
; public: class CNodeRestriction * __ptr64 __cdecl CNodeRestriction::Clone(void)const __ptr64
|
||||
?Clone@CNodeRestriction@@QEBAPEAV1@XZ
|
||||
; public: class COccRestriction * __ptr64 __cdecl COccRestriction::Clone(void)const __ptr64
|
||||
?Clone@COccRestriction@@QEBAPEAV1@XZ
|
||||
; public: class CRestriction * __ptr64 __cdecl CRestriction::Clone(void)const __ptr64
|
||||
?Clone@CRestriction@@QEBAPEAV1@XZ
|
||||
; public: void __cdecl CPhysStorage::Close(void) __ptr64
|
||||
?Close@CPhysStorage@@QEAAXXZ
|
||||
; protected: void __cdecl CPipeClient::Close(void) __ptr64
|
||||
?Close@CPipeClient@@IEAAXXZ
|
||||
; public: void __cdecl COLEPropManager::CPropSetMap::Close(void) __ptr64
|
||||
?Close@CPropSetMap@COLEPropManager@@QEAAXXZ
|
||||
; public: void __cdecl CPropStoreManager::CloseRecord(class CCompositePropRecord * __ptr64) __ptr64
|
||||
?CloseRecord@CPropStoreManager@@QEAAXPEAVCCompositePropRecord@@@Z
|
||||
; public: void __cdecl CPropStoreManager::CloseRecord(class CCompositePropRecordForWrites * __ptr64) __ptr64
|
||||
?CloseRecord@CPropStoreManager@@QEAAXPEAVCCompositePropRecordForWrites@@@Z
|
||||
; public: void __cdecl CRcovStrmAppendTrans::Commit(void) __ptr64
|
||||
?Commit@CRcovStrmAppendTrans@@QEAAXXZ
|
||||
; public: void __cdecl CRcovStrmMDTrans::Commit(void) __ptr64
|
||||
?Commit@CRcovStrmMDTrans@@QEAAXXZ
|
||||
; public: void __cdecl CRcovStrmWriteTrans::Commit(void) __ptr64
|
||||
?Commit@CRcovStrmWriteTrans@@QEAAXXZ
|
||||
; public: static int __cdecl CDriveInfo::ContainsDrive(unsigned short const * __ptr64)
|
||||
?ContainsDrive@CDriveInfo@@SAHPEBG@Z
|
||||
; public: void __cdecl CMachineAdmin::CreateSubdirs(unsigned short const * __ptr64) __ptr64
|
||||
?CreateSubdirs@CMachineAdmin@@QEAAXPEBG@Z
|
||||
; public: void __cdecl CRequestClient::DataWriteRead(void * __ptr64,unsigned long,void * __ptr64,unsigned long,unsigned long & __ptr64) __ptr64
|
||||
?DataWriteRead@CRequestClient@@QEAAXPEAXK0KAEAK@Z
|
||||
; void __cdecl DecodeEscapes(unsigned short * __ptr64,unsigned long & __ptr64,unsigned short * __ptr64)
|
||||
?DecodeEscapes@@YAXPEAGAEAK0@Z
|
||||
; void __cdecl DecodeHtmlNumeric(unsigned short * __ptr64)
|
||||
?DecodeHtmlNumeric@@YAXPEAG@Z
|
||||
; void __cdecl DecodeURLEscapes(unsigned char * __ptr64,unsigned long & __ptr64,unsigned short * __ptr64,unsigned long)
|
||||
?DecodeURLEscapes@@YAXPEAEAEAKPEAGK@Z
|
||||
; public: void __cdecl CPropStoreManager::DeleteRecord(unsigned long) __ptr64
|
||||
?DeleteRecord@CPropStoreManager@@QEAAXK@Z
|
||||
; public: void __cdecl CCatalogAdmin::DeleteRegistryParamNoThrow(unsigned short const * __ptr64) __ptr64
|
||||
?DeleteRegistryParamNoThrow@CCatalogAdmin@@QEAAXPEBG@Z
|
||||
; public: static unsigned int __cdecl CiStorage::DetermineDriveType(unsigned short const * __ptr64)
|
||||
?DetermineDriveType@CiStorage@@SAIPEBG@Z
|
||||
; public: int __cdecl CMachineAdmin::DisableCI(void) __ptr64
|
||||
?DisableCI@CMachineAdmin@@QEAAHXZ
|
||||
; public: void __cdecl CRegNotify::DisableNotification(void) __ptr64
|
||||
?DisableNotification@CRegNotify@@QEAAXXZ
|
||||
; public: void __cdecl CMetaDataMgr::DisableVPathNotify(void) __ptr64
|
||||
?DisableVPathNotify@CMetaDataMgr@@QEAAXXZ
|
||||
; public: void __cdecl CRequestClient::Disconnect(void) __ptr64
|
||||
?Disconnect@CRequestClient@@QEAAXXZ
|
||||
; public: long __cdecl CCopyRcovObject::DoIt(void) __ptr64
|
||||
?DoIt@CCopyRcovObject@@QEAAJXZ
|
||||
; public: long __cdecl CFilterDaemon::DoUpdates(void) __ptr64
|
||||
?DoUpdates@CFilterDaemon@@QEAAJXZ
|
||||
; public: void __cdecl CFwAsyncWorkItem::Done(void) __ptr64
|
||||
?Done@CFwAsyncWorkItem@@QEAAXXZ
|
||||
; long __cdecl DumpWorkId(unsigned short const * __ptr64,unsigned long,unsigned char * __ptr64,unsigned long & __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned long)
|
||||
?DumpWorkId@@YAJPEBGKPEAEAEAK00K@Z
|
||||
; public: void __cdecl CPidLookupTable::Empty(void) __ptr64
|
||||
?Empty@CPidLookupTable@@QEAAXXZ
|
||||
; public: void __cdecl CPropStoreManager::Empty(void) __ptr64
|
||||
?Empty@CPropStoreManager@@QEAAXXZ
|
||||
; public: void __cdecl CRcovStrmWriteTrans::Empty(void) __ptr64
|
||||
?Empty@CRcovStrmWriteTrans@@QEAAXXZ
|
||||
; public: void __cdecl CSdidLookupTable::Empty(void) __ptr64
|
||||
?Empty@CSdidLookupTable@@QEAAXXZ
|
||||
; public: int __cdecl CMachineAdmin::EnableCI(void) __ptr64
|
||||
?EnableCI@CMachineAdmin@@QEAAHXZ
|
||||
; public: void __cdecl CMetaDataMgr::EnableVPathNotify(class CMetaDataVPathChangeCallBack * __ptr64) __ptr64
|
||||
?EnableVPathNotify@CMetaDataMgr@@QEAAXPEAVCMetaDataVPathChangeCallBack@@@Z
|
||||
; public: void __cdecl CPropStoreManager::EndTransaction(unsigned __int64,int,unsigned long,unsigned long) __ptr64
|
||||
?EndTransaction@CPropStoreManager@@QEAAX_KHKK@Z
|
||||
; public: int __cdecl CWin32RegAccess::Enum(unsigned short * __ptr64,unsigned long) __ptr64
|
||||
?Enum@CWin32RegAccess@@QEAAHPEAGK@Z
|
||||
; public: virtual long __cdecl CEmptyPropertyList::EnumPropInfo(unsigned long,unsigned short const * __ptr64 * __ptr64,struct tagDBID * __ptr64 * __ptr64,unsigned short * __ptr64,unsigned int * __ptr64) __ptr64
|
||||
?EnumPropInfo@CEmptyPropertyList@@UEAAJKPEAPEBGPEAPEAUtagDBID@@PEAGPEAI@Z
|
||||
; public: void __cdecl CMetaDataMgr::EnumVPaths(class CMetaDataCallBack & __ptr64) __ptr64
|
||||
?EnumVPaths@CMetaDataMgr@@QEAAXAEAVCMetaDataCallBack@@@Z
|
||||
; public: void __cdecl CMetaDataMgr::EnumVServers(class CMetaDataVirtualServerCallBack & __ptr64) __ptr64
|
||||
?EnumVServers@CMetaDataMgr@@QEAAXAEAVCMetaDataVirtualServerCallBack@@@Z
|
||||
; public: static void __cdecl CiStorage::EnumerateFilesInDir(unsigned short const * __ptr64,class CEnumString & __ptr64)
|
||||
?EnumerateFilesInDir@CiStorage@@SAXPEBGAEAVCEnumString@@@Z
|
||||
; public: int __cdecl CPidLookupTable::EnumerateProperty(class CFullPropSpec & __ptr64,unsigned int & __ptr64) __ptr64
|
||||
?EnumerateProperty@CPidLookupTable@@QEAAHAEAVCFullPropSpec@@AEAI@Z
|
||||
; public: void __cdecl CRegAccess::EnumerateValues(unsigned short * __ptr64,class CRegCallBack & __ptr64) __ptr64
|
||||
?EnumerateValues@CRegAccess@@QEAAXPEAGAEAVCRegCallBack@@@Z
|
||||
; public: int __cdecl CMmStreamConsecBuf::Eof(void) __ptr64
|
||||
?Eof@CMmStreamConsecBuf@@QEAAHXZ
|
||||
; public: int __cdecl CMetaDataMgr::ExtensionHasScriptMap(unsigned short const * __ptr64) __ptr64
|
||||
?ExtensionHasScriptMap@CMetaDataMgr@@QEAAHPEBG@Z
|
||||
; public: virtual long __cdecl CPidConverter::FPSToPROPID(class CFullPropSpec const & __ptr64,unsigned long & __ptr64) __ptr64
|
||||
?FPSToPROPID@CPidConverter@@UEAAJAEBVCFullPropSpec@@AEAK@Z
|
||||
; public: void __cdecl CPropStoreManager::FastInit(class CiStorage * __ptr64) __ptr64
|
||||
?FastInit@CPropStoreManager@@QEAAXPEAVCiStorage@@@Z
|
||||
; public: void __cdecl COLEPropManager::FetchProperty(struct _GUID const & __ptr64,struct tagPROPSPEC const & __ptr64,struct tagPROPVARIANT * __ptr64,unsigned int * __ptr64) __ptr64
|
||||
?FetchProperty@COLEPropManager@@QEAAXAEBU_GUID@@AEBUtagPROPSPEC@@PEAUtagPROPVARIANT@@PEAI@Z
|
||||
; public: int __cdecl CKeyArray::FillMax(int) __ptr64
|
||||
?FillMax@CKeyArray@@QEAAHH@Z
|
||||
; public: class CPropEntry const * __ptr64 __cdecl CEmptyPropertyList::Find(class CDbColId const & __ptr64) __ptr64
|
||||
?Find@CEmptyPropertyList@@QEAAPEBVCPropEntry@@AEBVCDbColId@@@Z
|
||||
; public: virtual class CPropEntry const * __ptr64 __cdecl CPropertyList::Find(class CDbColId const & __ptr64) __ptr64
|
||||
?Find@CPropertyList@@UEAAPEBVCPropEntry@@AEBVCDbColId@@@Z
|
||||
; public: virtual class CPropEntry const * __ptr64 __cdecl CPropertyList::Find(unsigned short const * __ptr64) __ptr64
|
||||
?Find@CPropertyList@@UEAAPEBVCPropEntry@@PEBG@Z
|
||||
; public: int __cdecl CPidLookupTable::FindPropid(class CFullPropSpec const & __ptr64,unsigned long & __ptr64,int) __ptr64
|
||||
?FindPropid@CPidLookupTable@@QEAAHAEBVCFullPropSpec@@AEAKH@Z
|
||||
; public: void __cdecl CDynStream::Flush(void) __ptr64
|
||||
?Flush@CDynStream@@QEAAXXZ
|
||||
; public: void __cdecl CPhysStorage::Flush(int) __ptr64
|
||||
?Flush@CPhysStorage@@QEAAXH@Z
|
||||
; public: void __cdecl CPropStoreManager::Flush(void) __ptr64
|
||||
?Flush@CPropStoreManager@@QEAAXXZ
|
||||
; public: static void __cdecl CCiOle::FlushIdle(void)
|
||||
?FlushIdle@CCiOle@@SAXXZ
|
||||
; public: struct tagDBCOMMANDTREE * __ptr64 __cdecl CTextToTree::FormFullTree(void) __ptr64
|
||||
?FormFullTree@CTextToTree@@QEAAPEAUtagDBCOMMANDTREE@@XZ
|
||||
; class CDbCmdTreeNode * __ptr64 __cdecl FormQueryTree(class CDbCmdTreeNode & __ptr64,class CCatState & __ptr64,struct IColumnMapper * __ptr64,int,int)
|
||||
?FormQueryTree@@YAPEAVCDbCmdTreeNode@@AEAV1@AEAVCCatState@@PEAUIColumnMapper@@HH@Z
|
||||
FsCiShutdown
|
||||
; public: unsigned long __cdecl CRegAccess::Get(unsigned short const * __ptr64) __ptr64
|
||||
?Get@CRegAccess@@QEAAKPEBG@Z
|
||||
; public: void __cdecl CRegAccess::Get(unsigned short const * __ptr64,unsigned short * __ptr64,unsigned int) __ptr64
|
||||
?Get@CRegAccess@@QEAAXPEBGPEAGI@Z
|
||||
; public: int __cdecl CWin32RegAccess::Get(unsigned short const * __ptr64,unsigned long & __ptr64) __ptr64
|
||||
?Get@CWin32RegAccess@@QEAAHPEBGAEAK@Z
|
||||
; public: int __cdecl CWin32RegAccess::Get(unsigned short const * __ptr64,unsigned short * __ptr64,unsigned int,int) __ptr64
|
||||
?Get@CWin32RegAccess@@QEAAHPEBGPEAGIH@Z
|
||||
; public: virtual long __cdecl CPropertyList::GetAllEntries(class CPropEntry * __ptr64 * __ptr64,unsigned long) __ptr64
|
||||
?GetAllEntries@CPropertyList@@UEAAJPEAPEAVCPropEntry@@K@Z
|
||||
; public: short __cdecl CAllocStorageVariant::GetBOOL(unsigned int)const __ptr64
|
||||
?GetBOOL@CAllocStorageVariant@@QEBAFI@Z
|
||||
; public: unsigned long __cdecl CPropStoreManager::GetBackupSize(unsigned long) __ptr64
|
||||
?GetBackupSize@CPropStoreManager@@QEAAKK@Z
|
||||
; public: virtual void __cdecl CMemDeSerStream::GetBlob(unsigned char * __ptr64,unsigned long) __ptr64
|
||||
?GetBlob@CMemDeSerStream@@UEAAXPEAEK@Z
|
||||
; unsigned long __cdecl GetBrowserCodepage(class CWebServer & __ptr64,unsigned long)
|
||||
?GetBrowserCodepage@@YAKAEAVCWebServer@@K@Z
|
||||
; public: virtual unsigned char __cdecl CMemDeSerStream::GetByte(void) __ptr64
|
||||
?GetByte@CMemDeSerStream@@UEAAEXZ
|
||||
; public: unsigned short const * __ptr64 __cdecl CCatState::GetCD(void) __ptr64
|
||||
?GetCD@CCatState@@QEAAPEBGXZ
|
||||
; public: int __cdecl CWebServer::GetCGIVariable(char const * __ptr64,class XArray<unsigned short> & __ptr64,unsigned long & __ptr64) __ptr64
|
||||
?GetCGIVariable@CWebServer@@QEAAHPEBDAEAV?$XArray@G@@AEAK@Z
|
||||
; public: int __cdecl CWebServer::GetCGIVariableW(unsigned short const * __ptr64,class XArray<unsigned short> & __ptr64,unsigned long & __ptr64) __ptr64
|
||||
?GetCGIVariableW@CWebServer@@QEAAHPEBGAEAV?$XArray@G@@AEAK@Z
|
||||
; public: struct _GUID __cdecl CAllocStorageVariant::GetCLSID(unsigned int)const __ptr64
|
||||
?GetCLSID@CAllocStorageVariant@@QEBA?AU_GUID@@I@Z
|
||||
; public: union tagCY __cdecl CAllocStorageVariant::GetCY(unsigned int)const __ptr64
|
||||
?GetCY@CAllocStorageVariant@@QEBA?ATtagCY@@I@Z
|
||||
; public: unsigned short const * __ptr64 __cdecl CCatState::GetCategory(unsigned int)const __ptr64
|
||||
?GetCategory@CCatState@@QEBAPEBGI@Z
|
||||
; public: virtual void __cdecl CMemDeSerStream::GetChar(char * __ptr64,unsigned long) __ptr64
|
||||
?GetChar@CMemDeSerStream@@UEAAXPEADK@Z
|
||||
; public: unsigned short const * __ptr64 __cdecl CCatState::GetColumn(unsigned int)const __ptr64
|
||||
?GetColumn@CCatState@@QEBAPEBGI@Z
|
||||
; public: unsigned short __cdecl CQueryScanner::GetCommandChar(void) __ptr64
|
||||
?GetCommandChar@CQueryScanner@@QEAAGXZ
|
||||
; public: double __cdecl CAllocStorageVariant::GetDATE(unsigned int)const __ptr64
|
||||
?GetDATE@CAllocStorageVariant@@QEBANI@Z
|
||||
; public: int __cdecl CCatalogAdmin::GetDWORDParam(unsigned short const * __ptr64,unsigned long & __ptr64) __ptr64
|
||||
?GetDWORDParam@CCatalogAdmin@@QEAAHPEBGAEAK@Z
|
||||
; public: int __cdecl CMachineAdmin::GetDWORDParam(unsigned short const * __ptr64,unsigned long & __ptr64) __ptr64
|
||||
?GetDWORDParam@CMachineAdmin@@QEAAHPEBGAEAK@Z
|
||||
; public: void __cdecl CDriveInfo::GetDiskSpace(__int64 & __ptr64,__int64 & __ptr64) __ptr64
|
||||
?GetDiskSpace@CDriveInfo@@QEAAXAEA_J0@Z
|
||||
; public: virtual double __cdecl CMemDeSerStream::GetDouble(void) __ptr64
|
||||
?GetDouble@CMemDeSerStream@@UEAANXZ
|
||||
; public: static void __cdecl CDriveInfo::GetDrive(unsigned short const * __ptr64,unsigned short * __ptr64)
|
||||
?GetDrive@CDriveInfo@@SAXPEBGPEAG@Z
|
||||
; public: unsigned char * __ptr64 __cdecl CGenericCiProxy::GetEntryBuffer(unsigned long & __ptr64) __ptr64
|
||||
?GetEntryBuffer@CGenericCiProxy@@QEAAPEAEAEAK@Z
|
||||
; public: struct _FILETIME __cdecl CAllocStorageVariant::GetFILETIME(unsigned int)const __ptr64
|
||||
?GetFILETIME@CAllocStorageVariant@@QEBA?AU_FILETIME@@I@Z
|
||||
; public: int __cdecl CPathParser::GetFileName(unsigned short * __ptr64,unsigned long & __ptr64)const __ptr64
|
||||
?GetFileName@CPathParser@@QEBAHPEAGAEAK@Z
|
||||
; public: enum CDriveInfo::eFileSystem __cdecl CDriveInfo::GetFileSystem(int) __ptr64
|
||||
?GetFileSystem@CDriveInfo@@QEAA?AW4eFileSystem@1@H@Z
|
||||
; public: virtual float __cdecl CMemDeSerStream::GetFloat(void) __ptr64
|
||||
?GetFloat@CMemDeSerStream@@UEAAMXZ
|
||||
; public: virtual void __cdecl CMemDeSerStream::GetGUID(struct _GUID & __ptr64) __ptr64
|
||||
?GetGUID@CMemDeSerStream@@UEAAXAEAU_GUID@@@Z
|
||||
; class CPropListFile * __ptr64 __cdecl GetGlobalPropListFile(void)
|
||||
?GetGlobalPropListFile@@YAPEAVCPropListFile@@XZ
|
||||
; class CStaticPropertyList * __ptr64 __cdecl GetGlobalStaticPropertyList(void)
|
||||
?GetGlobalStaticPropertyList@@YAPEAVCStaticPropertyList@@XZ
|
||||
; public: short __cdecl CAllocStorageVariant::GetI2(unsigned int)const __ptr64
|
||||
?GetI2@CAllocStorageVariant@@QEBAFI@Z
|
||||
; public: long __cdecl CAllocStorageVariant::GetI4(unsigned int)const __ptr64
|
||||
?GetI4@CAllocStorageVariant@@QEBAJI@Z
|
||||
; public: union _LARGE_INTEGER __cdecl CAllocStorageVariant::GetI8(unsigned int)const __ptr64
|
||||
?GetI8@CAllocStorageVariant@@QEBA?AT_LARGE_INTEGER@@I@Z
|
||||
; unsigned long __cdecl GetLCIDFromString(unsigned short * __ptr64)
|
||||
?GetLCIDFromString@@YAKPEAG@Z
|
||||
; public: char * __ptr64 __cdecl CAllocStorageVariant::GetLPSTR(unsigned int)const __ptr64
|
||||
?GetLPSTR@CAllocStorageVariant@@QEBAPEADI@Z
|
||||
; public: unsigned short * __ptr64 __cdecl CAllocStorageVariant::GetLPWSTR(unsigned int)const __ptr64
|
||||
?GetLPWSTR@CAllocStorageVariant@@QEBAPEAGI@Z
|
||||
; public: unsigned short const * __ptr64 __cdecl CCatalogAdmin::GetLocation(void) __ptr64
|
||||
?GetLocation@CCatalogAdmin@@QEAAPEBGXZ
|
||||
; public: virtual long __cdecl CMemDeSerStream::GetLong(void) __ptr64
|
||||
?GetLong@CMemDeSerStream@@UEAAJXZ
|
||||
; public: int __cdecl CQueryScanner::GetNumber(unsigned long & __ptr64,int & __ptr64) __ptr64
|
||||
?GetNumber@CQueryScanner@@QEAAHAEAKAEAH@Z
|
||||
; public: int __cdecl CQueryScanner::GetNumber(double & __ptr64) __ptr64
|
||||
?GetNumber@CQueryScanner@@QEAAHAEAN@Z
|
||||
; public: int __cdecl CQueryScanner::GetNumber(__int64 & __ptr64,int & __ptr64) __ptr64
|
||||
?GetNumber@CQueryScanner@@QEAAHAEA_JAEAH@Z
|
||||
; public: int __cdecl CQueryScanner::GetNumber(unsigned __int64 & __ptr64,int & __ptr64) __ptr64
|
||||
?GetNumber@CQueryScanner@@QEAAHAEA_KAEAH@Z
|
||||
; public: void __cdecl CKeyDeComp::GetOffset(struct BitOffset & __ptr64) __ptr64
|
||||
?GetOffset@CKeyDeComp@@QEAAXAEAUBitOffset@@@Z
|
||||
; long __cdecl GetOleDBErrorInfo(struct IUnknown * __ptr64,struct _GUID const & __ptr64,unsigned long,unsigned int,struct tagERRORINFO * __ptr64,struct IErrorInfo * __ptr64 * __ptr64)
|
||||
?GetOleDBErrorInfo@@YAJPEAUIUnknown@@AEBU_GUID@@KIPEAUtagERRORINFO@@PEAPEAUIErrorInfo@@@Z
|
||||
; long __cdecl GetOleError(class CException & __ptr64)
|
||||
?GetOleError@@YAJAEAVCException@@@Z
|
||||
; public: unsigned long __cdecl CWebServer::GetPhysicalPath(unsigned short const * __ptr64,unsigned short * __ptr64,unsigned long,unsigned long) __ptr64
|
||||
?GetPhysicalPath@CWebServer@@QEAAKPEBGPEAGKK@Z
|
||||
; public: int __cdecl CEmptyPropertyList::GetPropInfo(class CDbColId const & __ptr64,unsigned short const * __ptr64 * __ptr64,unsigned short * __ptr64,unsigned int * __ptr64) __ptr64
|
||||
?GetPropInfo@CEmptyPropertyList@@QEAAHAEBVCDbColId@@PEAPEBGPEAGPEAI@Z
|
||||
; public: int __cdecl CEmptyPropertyList::GetPropInfo(unsigned short const * __ptr64,class CDbColId * __ptr64 * __ptr64,unsigned short * __ptr64,unsigned int * __ptr64) __ptr64
|
||||
?GetPropInfo@CEmptyPropertyList@@QEAAHPEBGPEAPEAVCDbColId@@PEAGPEAI@Z
|
||||
; public: virtual long __cdecl CEmptyPropertyList::GetPropInfoFromId(struct tagDBID const * __ptr64,unsigned short * __ptr64 * __ptr64,unsigned short * __ptr64,unsigned int * __ptr64) __ptr64
|
||||
?GetPropInfoFromId@CEmptyPropertyList@@UEAAJPEBUtagDBID@@PEAPEAGPEAGPEAI@Z
|
||||
; public: virtual long __cdecl CEmptyPropertyList::GetPropInfoFromName(unsigned short const * __ptr64,struct tagDBID * __ptr64 * __ptr64,unsigned short * __ptr64,unsigned int * __ptr64) __ptr64
|
||||
?GetPropInfoFromName@CEmptyPropertyList@@UEAAJPEBGPEAPEAUtagDBID@@PEAGPEAI@Z
|
||||
; public: static unsigned short __cdecl CEmptyPropertyList::GetPropType(unsigned int)
|
||||
?GetPropType@CEmptyPropertyList@@SAGI@Z
|
||||
; public: static unsigned int __cdecl CEmptyPropertyList::GetPropTypeCount(void)
|
||||
?GetPropTypeCount@CEmptyPropertyList@@SAIXZ
|
||||
; public: static unsigned short const * __ptr64 __cdecl CEmptyPropertyList::GetPropTypeName(unsigned int)
|
||||
?GetPropTypeName@CEmptyPropertyList@@SAPEBGI@Z
|
||||
; public: virtual long __cdecl CDbProperties::GetProperties(unsigned long,struct tagDBPROPIDSET const * __ptr64 const,unsigned long * __ptr64,struct tagDBPROPSET * __ptr64 * __ptr64) __ptr64
|
||||
?GetProperties@CDbProperties@@UEAAJKQEBUtagDBPROPIDSET@@PEAKPEAPEAUtagDBPROPSET@@@Z
|
||||
; public: void __cdecl CGetDbProps::GetProperties(struct IDBProperties * __ptr64,unsigned long) __ptr64
|
||||
?GetProperties@CGetDbProps@@QEAAXPEAUIDBProperties@@K@Z
|
||||
; public: virtual long __cdecl CDbProperties::GetPropertyInfo(unsigned long,struct tagDBPROPIDSET const * __ptr64 const,unsigned long * __ptr64,struct tagDBPROPINFOSET * __ptr64 * __ptr64,unsigned short * __ptr64 * __ptr64) __ptr64
|
||||
?GetPropertyInfo@CDbProperties@@UEAAJKQEBUtagDBPROPIDSET@@PEAKPEAPEAUtagDBPROPINFOSET@@PEAPEAG@Z
|
||||
; public: float __cdecl CAllocStorageVariant::GetR4(unsigned int)const __ptr64
|
||||
?GetR4@CAllocStorageVariant@@QEBAMI@Z
|
||||
; public: double __cdecl CAllocStorageVariant::GetR8(unsigned int)const __ptr64
|
||||
?GetR8@CAllocStorageVariant@@QEBANI@Z
|
||||
; public: int __cdecl CMachineAdmin::GetSZParam(unsigned short const * __ptr64,unsigned short * __ptr64,unsigned long) __ptr64
|
||||
?GetSZParam@CMachineAdmin@@QEAAHPEBGPEAGK@Z
|
||||
; long __cdecl GetScodeError(class CException & __ptr64)
|
||||
?GetScodeError@@YAJAEAVCException@@@Z
|
||||
; int __cdecl GetSecret(unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short * __ptr64 * __ptr64,unsigned long * __ptr64)
|
||||
?GetSecret@@YAHPEBG0PEAPEAGPEAK@Z
|
||||
; public: unsigned long __cdecl CDriveInfo::GetSectorSize(void) __ptr64
|
||||
?GetSectorSize@CDriveInfo@@QEAAKXZ
|
||||
; public: void __cdecl CCatState::GetSortProp(unsigned int,unsigned short const * __ptr64 * __ptr64,enum SORTDIR * __ptr64)const __ptr64
|
||||
?GetSortProp@CCatState@@QEBAXIPEAPEBGPEAW4SORTDIR@@@Z
|
||||
; void __cdecl GetStackTrace(char * __ptr64,unsigned long)
|
||||
?GetStackTrace@@YAXPEADK@Z
|
||||
; public: unsigned char const * __ptr64 __cdecl CGenericCiProxy::GetStartupData(struct _GUID & __ptr64,unsigned long & __ptr64) __ptr64
|
||||
?GetStartupData@CGenericCiProxy@@QEAAPEBEAEAU_GUID@@AEAK@Z
|
||||
; public: class PStorage & __ptr64 __cdecl CPropStoreManager::GetStorage(unsigned long) __ptr64
|
||||
?GetStorage@CPropStoreManager@@QEAAAEAVPStorage@@K@Z
|
||||
; public: unsigned short * __ptr64 __cdecl CKey::GetStr(void)const __ptr64
|
||||
?GetStr@CKey@@QEBAPEAGXZ
|
||||
; public: unsigned short * __ptr64 __cdecl CKeyBuf::GetStr(void)const __ptr64
|
||||
?GetStr@CKeyBuf@@QEBAPEAGXZ
|
||||
; public: virtual char * __ptr64 __cdecl CMemDeSerStream::GetString(void) __ptr64
|
||||
?GetString@CMemDeSerStream@@UEAAPEADXZ
|
||||
; class CDbRestriction * __ptr64 __cdecl GetStringDbRestriction(unsigned short const * __ptr64,unsigned long,struct IColumnMapper * __ptr64,unsigned long)
|
||||
?GetStringDbRestriction@@YAPEAVCDbRestriction@@PEBGKPEAUIColumnMapper@@K@Z
|
||||
; void __cdecl GetStringFromLCID(unsigned long,unsigned short * __ptr64)
|
||||
?GetStringFromLCID@@YAXKPEAG@Z
|
||||
; public: unsigned long __cdecl CPropStoreManager::GetTotalSizeInKB(void) __ptr64
|
||||
?GetTotalSizeInKB@CPropStoreManager@@QEAAKXZ
|
||||
; public: unsigned long __cdecl CPropertyStore::GetTotalSizeInKB(void) __ptr64
|
||||
?GetTotalSizeInKB@CPropertyStore@@QEAAKXZ
|
||||
; public: virtual unsigned long __cdecl CMemDeSerStream::GetULong(void) __ptr64
|
||||
?GetULong@CMemDeSerStream@@UEAAKXZ
|
||||
; public: virtual unsigned short __cdecl CMemDeSerStream::GetUShort(void) __ptr64
|
||||
?GetUShort@CMemDeSerStream@@UEAAGXZ
|
||||
; public: void __cdecl CIndexTable::GetUserHdrInfo(unsigned int & __ptr64,int & __ptr64) __ptr64
|
||||
?GetUserHdrInfo@CIndexTable@@QEAAXAEAIAEAH@Z
|
||||
; public: unsigned long __cdecl CMetaDataMgr::GetVPathAccess(unsigned short const * __ptr64) __ptr64
|
||||
?GetVPathAccess@CMetaDataMgr@@QEAAKPEBG@Z
|
||||
; public: unsigned long __cdecl CMetaDataMgr::GetVPathAuthorization(unsigned short const * __ptr64) __ptr64
|
||||
?GetVPathAuthorization@CMetaDataMgr@@QEAAKPEBG@Z
|
||||
; public: unsigned long __cdecl CMetaDataMgr::GetVPathSSLAccess(unsigned short const * __ptr64) __ptr64
|
||||
?GetVPathSSLAccess@CMetaDataMgr@@QEAAKPEBG@Z
|
||||
; public: unsigned short const * __ptr64 __cdecl CDriveInfo::GetVolumeName(int) __ptr64
|
||||
?GetVolumeName@CDriveInfo@@QEAAPEBGH@Z
|
||||
; public: virtual void __cdecl CMemDeSerStream::GetWChar(unsigned short * __ptr64,unsigned long) __ptr64
|
||||
?GetWChar@CMemDeSerStream@@UEAAXPEAGK@Z
|
||||
; public: virtual unsigned short * __ptr64 __cdecl CMemDeSerStream::GetWString(void) __ptr64
|
||||
?GetWString@CMemDeSerStream@@UEAAPEAGXZ
|
||||
; public: long __cdecl CDbCmdTreeNode::GetWeight(void)const __ptr64
|
||||
?GetWeight@CDbCmdTreeNode@@QEBAJXZ
|
||||
; public: void __cdecl CDynStream::Grow(class PStorage & __ptr64,unsigned long) __ptr64
|
||||
?Grow@CDynStream@@QEAAXAEAVPStorage@@K@Z
|
||||
; private: void __cdecl CVirtualString::GrowBuffer(unsigned long) __ptr64
|
||||
?GrowBuffer@CVirtualString@@AEAAXK@Z
|
||||
; void __cdecl HTMLEscapeW(unsigned short const * __ptr64,class CVirtualString & __ptr64,unsigned long)
|
||||
?HTMLEscapeW@@YAXPEBGAEAVCVirtualString@@K@Z
|
||||
; private: void __cdecl CImpersonateClient::Impersonate(void) __ptr64
|
||||
?Impersonate@CImpersonateClient@@AEAAXXZ
|
||||
; public: void __cdecl CFileMapView::Init(void) __ptr64
|
||||
?Init@CFileMapView@@QEAAXXZ
|
||||
; public: void __cdecl CMmStreamConsecBuf::Init(class PMmStream * __ptr64) __ptr64
|
||||
?Init@CMmStreamConsecBuf@@QEAAXPEAVPMmStream@@@Z
|
||||
; public: int __cdecl CPidLookupTable::Init(class PRcovStorageObj * __ptr64) __ptr64
|
||||
?Init@CPidLookupTable@@QEAAHPEAVPRcovStorageObj@@@Z
|
||||
; public: void __cdecl CRcovStorageHdr::Init(unsigned long) __ptr64
|
||||
?Init@CRcovStorageHdr@@QEAAXK@Z
|
||||
; public: void __cdecl CRegChangeEvent::Init(void) __ptr64
|
||||
?Init@CRegChangeEvent@@QEAAXXZ
|
||||
; public: int __cdecl CSdidLookupTable::Init(class CiStorage * __ptr64) __ptr64
|
||||
?Init@CSdidLookupTable@@QEAAHPEAVCiStorage@@@Z
|
||||
; public: virtual void __cdecl CPropertyList::InitIterator(void) __ptr64
|
||||
?InitIterator@CPropertyList@@UEAAXXZ
|
||||
; public: void __cdecl CImpersonationTokenCache::Initialize(unsigned short const * __ptr64,int,int,int,unsigned long,unsigned long,unsigned long) __ptr64
|
||||
?Initialize@CImpersonationTokenCache@@QEAAXPEBGHHHKKK@Z
|
||||
; public: void __cdecl CDynStream::InitializeForRead(void) __ptr64
|
||||
?InitializeForRead@CDynStream@@QEAAXXZ
|
||||
; public: void __cdecl CDynStream::InitializeForWrite(unsigned long) __ptr64
|
||||
?InitializeForWrite@CDynStream@@QEAAXK@Z
|
||||
; protected: void __cdecl CDbCmdTreeNode::InsertChild(class CDbCmdTreeNode * __ptr64) __ptr64
|
||||
?InsertChild@CDbCmdTreeNode@@IEAAXPEAV1@@Z
|
||||
; public: int __cdecl CMachineAdmin::IsCIEnabled(void) __ptr64
|
||||
?IsCIEnabled@CMachineAdmin@@QEAAHXZ
|
||||
; public: int __cdecl CMachineAdmin::IsCIPaused(void) __ptr64
|
||||
?IsCIPaused@CMachineAdmin@@QEAAHXZ
|
||||
; public: int __cdecl CMachineAdmin::IsCIStarted(void) __ptr64
|
||||
?IsCIStarted@CMachineAdmin@@QEAAHXZ
|
||||
; public: int __cdecl CMachineAdmin::IsCIStopped(void) __ptr64
|
||||
?IsCIStopped@CMachineAdmin@@QEAAHXZ
|
||||
; public: int __cdecl CCatalogAdmin::IsCatalogInactive(void) __ptr64
|
||||
?IsCatalogInactive@CCatalogAdmin@@QEAAHXZ
|
||||
; int __cdecl IsDirectoryWritable(unsigned short const * __ptr64)
|
||||
?IsDirectoryWritable@@YAHPEBG@Z
|
||||
; public: static int __cdecl CMetaDataMgr::IsIISAdminUp(int & __ptr64)
|
||||
?IsIISAdminUp@CMetaDataMgr@@SAHAEAH@Z
|
||||
; public: static int __cdecl CImpersonateSystem::IsImpersonated(void)
|
||||
?IsImpersonated@CImpersonateSystem@@SAHXZ
|
||||
; public: int __cdecl CRestriction::IsLeaf(void)const __ptr64
|
||||
?IsLeaf@CRestriction@@QEBAHXZ
|
||||
; int __cdecl IsNullPointerVariant(struct tagPROPVARIANT * __ptr64)
|
||||
?IsNullPointerVariant@@YAHPEAUtagPROPVARIANT@@@Z
|
||||
; public: int __cdecl CCatalogAdmin::IsPaused(void) __ptr64
|
||||
?IsPaused@CCatalogAdmin@@QEAAHXZ
|
||||
; public: static int __cdecl CImpersonateSystem::IsRunningAsSystem(void)
|
||||
?IsRunningAsSystem@CImpersonateSystem@@SAHXZ
|
||||
; public: int __cdecl CDriveInfo::IsSameDrive(unsigned short const * __ptr64) __ptr64
|
||||
?IsSameDrive@CDriveInfo@@QEAAHPEBG@Z
|
||||
; long __cdecl IsScopeValid(unsigned short const * __ptr64,unsigned int,int)
|
||||
?IsScopeValid@@YAJPEBGIH@Z
|
||||
; public: int __cdecl CCatalogAdmin::IsStarted(void) __ptr64
|
||||
?IsStarted@CCatalogAdmin@@QEAAHXZ
|
||||
; public: int __cdecl CCatalogAdmin::IsStopped(void) __ptr64
|
||||
?IsStopped@CCatalogAdmin@@QEAAHXZ
|
||||
; public: int __cdecl CAllocStorageVariant::IsValid(void)const __ptr64
|
||||
?IsValid@CAllocStorageVariant@@QEBAHXZ
|
||||
; public: int __cdecl CNodeRestriction::IsValid(void)const __ptr64
|
||||
?IsValid@CNodeRestriction@@QEBAHXZ
|
||||
; public: int __cdecl COccRestriction::IsValid(void)const __ptr64
|
||||
?IsValid@COccRestriction@@QEBAHXZ
|
||||
; public: int __cdecl CRestriction::IsValid(void)const __ptr64
|
||||
?IsValid@CRestriction@@QEBAHXZ
|
||||
; public: int __cdecl CFilterDaemon::IsWaitingForDocument(void) __ptr64
|
||||
?IsWaitingForDocument@CFilterDaemon@@QEAAHXZ
|
||||
; public: int __cdecl CDriveInfo::IsWriteProtected(void) __ptr64
|
||||
?IsWriteProtected@CDriveInfo@@QEAAHXZ
|
||||
; public: void __cdecl CLocalGlobalPropertyList::Load(unsigned short const * __ptr64 const) __ptr64
|
||||
?Load@CLocalGlobalPropertyList@@QEAAXQEBG@Z
|
||||
; unsigned long __cdecl LocaleToCodepage(unsigned long)
|
||||
?LocaleToCodepage@@YAKK@Z
|
||||
; private: unsigned long __cdecl CPropertyStore::LokNewWorkId(unsigned long,int,int) __ptr64
|
||||
?LokNewWorkId@CPropertyStore@@AEAAKKHH@Z
|
||||
; public: int __cdecl CCatStateInfo::LokUpdate(void) __ptr64
|
||||
?LokUpdate@CCatStateInfo@@QEAAHXZ
|
||||
; public: void __cdecl CPropStoreManager::LongInit(int & __ptr64,unsigned long & __ptr64,void (__cdecl*)(unsigned long,int,void const * __ptr64),void const * __ptr64) __ptr64
|
||||
?LongInit@CPropStoreManager@@QEAAXAEAHAEAKP6AXKHPEBX@Z2@Z
|
||||
; private: unsigned int __cdecl CPropStoreInfo::Lookup(unsigned long) __ptr64
|
||||
?Lookup@CPropStoreInfo@@AEAAIK@Z
|
||||
; public: unsigned long __cdecl CSdidLookupTable::LookupSDID(void * __ptr64,unsigned long) __ptr64
|
||||
?LookupSDID@CSdidLookupTable@@QEAAKPEAXK@Z
|
||||
; public: void __cdecl CPhysStorage::MakeBackupCopy(class CPhysStorage & __ptr64,class PSaveProgressTracker & __ptr64) __ptr64
|
||||
?MakeBackupCopy@CPhysStorage@@QEAAXAEAV1@AEAVPSaveProgressTracker@@@Z
|
||||
; public: void __cdecl CPidLookupTable::MakeBackupCopy(class PRcovStorageObj & __ptr64,class PSaveProgressTracker & __ptr64) __ptr64
|
||||
?MakeBackupCopy@CPidLookupTable@@QEAAXAEAVPRcovStorageObj@@AEAVPSaveProgressTracker@@@Z
|
||||
; public: void __cdecl CPropStoreManager::MakeBackupCopy(struct IProgressNotify * __ptr64,int & __ptr64,class CiStorage & __ptr64,struct ICiEnumWorkids * __ptr64,struct IEnumString * __ptr64 * __ptr64) __ptr64
|
||||
?MakeBackupCopy@CPropStoreManager@@QEAAXPEAUIProgressNotify@@AEAHAEAVCiStorage@@PEAUICiEnumWorkids@@PEAPEAUIEnumString@@@Z
|
||||
; long __cdecl MakeICommand(struct IUnknown * __ptr64 * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,struct IUnknown * __ptr64)
|
||||
?MakeICommand@@YAJPEAPEAUIUnknown@@PEBG1PEAU1@@Z
|
||||
; long __cdecl MakeISearch(struct ISearchQueryHits * __ptr64 * __ptr64,class CDbRestriction * __ptr64,unsigned short const * __ptr64)
|
||||
?MakeISearch@@YAJPEAPEAUISearchQueryHits@@PEAVCDbRestriction@@PEBG@Z
|
||||
; long __cdecl MakeLocalICommand(struct IUnknown * __ptr64 * __ptr64,struct ICiCDocStore * __ptr64,struct IUnknown * __ptr64)
|
||||
?MakeLocalICommand@@YAJPEAPEAUIUnknown@@PEAUICiCDocStore@@PEAU1@@Z
|
||||
; long __cdecl MakeMetadataICommand(struct IUnknown * __ptr64 * __ptr64,enum CiMetaData,unsigned short const * __ptr64,unsigned short const * __ptr64,struct IUnknown * __ptr64)
|
||||
?MakeMetadataICommand@@YAJPEAPEAUIUnknown@@W4CiMetaData@@PEBG2PEAU1@@Z
|
||||
; public: void __cdecl CFullPath::MakePath(unsigned short const * __ptr64) __ptr64
|
||||
?MakePath@CFullPath@@QEAAXPEBG@Z
|
||||
; public: void __cdecl CFullPath::MakePath(unsigned short const * __ptr64,unsigned int) __ptr64
|
||||
?MakePath@CFullPath@@QEAAXPEBGI@Z
|
||||
; private: void __cdecl CImpersonateSystem::MakePrivileged(void) __ptr64
|
||||
?MakePrivileged@CImpersonateSystem@@AEAAXXZ
|
||||
; public: void __cdecl CMmStreamConsecBuf::Map(unsigned long) __ptr64
|
||||
?Map@CMmStreamConsecBuf@@QEAAXK@Z
|
||||
; public: int __cdecl CDynStream::MarkDirty(void) __ptr64
|
||||
?MarkDirty@CDynStream@@QEAAHXZ
|
||||
; public: void __cdecl CBaseStorageVariant::Marshall(class PSerStream & __ptr64)const __ptr64
|
||||
?Marshall@CBaseStorageVariant@@QEBAXAEAVPSerStream@@@Z
|
||||
; public: void __cdecl CContentRestriction::Marshall(class PSerStream & __ptr64)const __ptr64
|
||||
?Marshall@CContentRestriction@@QEBAXAEAVPSerStream@@@Z
|
||||
; public: void __cdecl CDbCmdTreeNode::Marshall(class PSerStream & __ptr64)const __ptr64
|
||||
?Marshall@CDbCmdTreeNode@@QEBAXAEAVPSerStream@@@Z
|
||||
; public: void __cdecl CFullPropSpec::Marshall(class PSerStream & __ptr64)const __ptr64
|
||||
?Marshall@CFullPropSpec@@QEBAXAEAVPSerStream@@@Z
|
||||
; public: void __cdecl CNatLanguageRestriction::Marshall(class PSerStream & __ptr64)const __ptr64
|
||||
?Marshall@CNatLanguageRestriction@@QEBAXAEAVPSerStream@@@Z
|
||||
; public: void __cdecl CNodeRestriction::Marshall(class PSerStream & __ptr64)const __ptr64
|
||||
?Marshall@CNodeRestriction@@QEBAXAEAVPSerStream@@@Z
|
||||
; public: void __cdecl CNotRestriction::Marshall(class PSerStream & __ptr64)const __ptr64
|
||||
?Marshall@CNotRestriction@@QEBAXAEAVPSerStream@@@Z
|
||||
; public: void __cdecl CPropNameArray::Marshall(class PSerStream & __ptr64)const __ptr64
|
||||
?Marshall@CPropNameArray@@QEBAXAEAVPSerStream@@@Z
|
||||
; public: void __cdecl CPropertyRestriction::Marshall(class PSerStream & __ptr64)const __ptr64
|
||||
?Marshall@CPropertyRestriction@@QEBAXAEAVPSerStream@@@Z
|
||||
; public: void __cdecl CRestriction::Marshall(class PSerStream & __ptr64)const __ptr64
|
||||
?Marshall@CRestriction@@QEBAXAEAVPSerStream@@@Z
|
||||
; public: void __cdecl CVectorRestriction::Marshall(class PSerStream & __ptr64)const __ptr64
|
||||
?Marshall@CVectorRestriction@@QEBAXAEAVPSerStream@@@Z
|
||||
; public: int __cdecl CBufferCache::MinPageInUse(unsigned long & __ptr64) __ptr64
|
||||
?MinPageInUse@CBufferCache@@QEAAHAEAK@Z
|
||||
; public: int __cdecl CPhysStorage::MinPageInUse(unsigned long & __ptr64) __ptr64
|
||||
?MinPageInUse@CPhysStorage@@QEAAHAEAK@Z
|
||||
; unsigned long __cdecl MultiByteToXArrayWideChar(unsigned char const * __ptr64,unsigned long,unsigned int,class XArray<unsigned short> & __ptr64)
|
||||
?MultiByteToXArrayWideChar@@YAKPEBEKIAEAV?$XArray@G@@@Z
|
||||
; unsigned __int64 __cdecl My_wcstoui64(unsigned short const * __ptr64,unsigned short * __ptr64 * __ptr64,int)
|
||||
?My_wcstoui64@@YA_KPEBGPEAPEAGH@Z
|
||||
; public: unsigned long __cdecl CPidRemapper::NameToReal(class CFullPropSpec const * __ptr64) __ptr64
|
||||
?NameToReal@CPidRemapper@@QEAAKPEBVCFullPropSpec@@@Z
|
||||
; public: static struct IStemmer * __ptr64 __cdecl CCiOle::NewStemmer(struct _GUID const & __ptr64)
|
||||
?NewStemmer@CCiOle@@SAPEAUIStemmer@@AEBU_GUID@@@Z
|
||||
; public: static struct IWordBreaker * __ptr64 __cdecl CCiOle::NewWordBreaker(struct _GUID const & __ptr64)
|
||||
?NewWordBreaker@CCiOle@@SAPEAUIWordBreaker@@AEBU_GUID@@@Z
|
||||
; public: int __cdecl CCatalogEnum::Next(void) __ptr64
|
||||
?Next@CCatalogEnum@@QEAAHXZ
|
||||
; public: virtual long __cdecl CEnumString::Next(unsigned long,unsigned short * __ptr64 * __ptr64,unsigned long * __ptr64) __ptr64
|
||||
?Next@CEnumString@@UEAAJKPEAPEAGPEAK@Z
|
||||
; public: virtual long __cdecl CEnumWorkid::Next(unsigned long,unsigned long * __ptr64,unsigned long * __ptr64) __ptr64
|
||||
?Next@CEnumWorkid@@UEAAJKPEAK0@Z
|
||||
; public: virtual class CPropEntry const * __ptr64 __cdecl CPropertyList::Next(void) __ptr64
|
||||
?Next@CPropertyList@@UEAAPEBVCPropEntry@@XZ
|
||||
; public: int __cdecl CScopeEnum::Next(void) __ptr64
|
||||
?Next@CScopeEnum@@QEAAHXZ
|
||||
; public: unsigned long __cdecl CPropertyStoreWids::NextWorkId(void) __ptr64
|
||||
?NextWorkId@CPropertyStoreWids@@QEAAKXZ
|
||||
; public: unsigned int __cdecl CCatState::NumberOfColumns(void)const __ptr64
|
||||
?NumberOfColumns@CCatState@@QEBAIXZ
|
||||
; public: unsigned int __cdecl CCatState::NumberOfSortProps(void)const __ptr64
|
||||
?NumberOfSortProps@CCatState@@QEBAIXZ
|
||||
; public: void __cdecl CMmStream::Open(unsigned short const * __ptr64,unsigned long,unsigned long,unsigned long,unsigned long,int) __ptr64
|
||||
?Open@CMmStream@@QEAAXPEBGKKKKH@Z
|
||||
; public: int __cdecl COLEPropManager::Open(class CFunnyPath const & __ptr64) __ptr64
|
||||
?Open@COLEPropManager@@QEAAHAEBVCFunnyPath@@@Z
|
||||
; public: void __cdecl CMmStream::OpenExclusive(unsigned short * __ptr64,int) __ptr64
|
||||
?OpenExclusive@CMmStream@@QEAAXPEAGH@Z
|
||||
; struct _iobuf * __ptr64 __cdecl OpenFileFromPath(unsigned short const * __ptr64)
|
||||
?OpenFileFromPath@@YAPEAU_iobuf@@PEBG@Z
|
||||
; public: class CCompositePropRecord * __ptr64 __cdecl CPropStoreManager::OpenRecord(unsigned long,unsigned char * __ptr64) __ptr64
|
||||
?OpenRecord@CPropStoreManager@@QEAAPEAVCCompositePropRecord@@KPEAE@Z
|
||||
; public: class CCompositePropRecordForWrites * __ptr64 __cdecl CPropStoreManager::OpenRecordForWrites(unsigned long,unsigned char * __ptr64) __ptr64
|
||||
?OpenRecordForWrites@CPropStoreManager@@QEAAPEAVCCompositePropRecordForWrites@@KPEAE@Z
|
||||
; long __cdecl ParseCatalogURL(unsigned short const * __ptr64,class XPtrST<unsigned short> & __ptr64,class XPtrST<unsigned short> & __ptr64)
|
||||
?ParseCatalogURL@@YAJPEBGAEAV?$XPtrST@G@@1@Z
|
||||
; public: class CRestriction * __ptr64 __cdecl CParseCommandTree::ParseExpression(class CDbCmdTreeNode * __ptr64) __ptr64
|
||||
?ParseExpression@CParseCommandTree@@QEAAPEAVCRestriction@@PEAVCDbCmdTreeNode@@@Z
|
||||
; public: static void __cdecl CPropertyList::ParseOneLine(class CQueryScanner & __ptr64,int,class XPtr<class CPropEntry> & __ptr64)
|
||||
?ParseOneLine@CPropertyList@@SAXAEAVCQueryScanner@@HAEAV?$XPtr@VCPropEntry@@@@@Z
|
||||
; public: class CDbRestriction * __ptr64 __cdecl CQueryParser::ParseQueryPhrase(void) __ptr64
|
||||
?ParseQueryPhrase@CQueryParser@@QEAAPEAVCDbRestriction@@XZ
|
||||
; class CDbColumns * __ptr64 __cdecl ParseStringColumns(unsigned short const * __ptr64,struct IColumnMapper * __ptr64,unsigned long,class PVariableSet * __ptr64,class CDynArray<unsigned short> * __ptr64)
|
||||
?ParseStringColumns@@YAPEAVCDbColumns@@PEBGPEAUIColumnMapper@@KPEAVPVariableSet@@PEAV?$CDynArray@G@@@Z
|
||||
; public: int __cdecl CCatalogAdmin::Pause(void) __ptr64
|
||||
?Pause@CCatalogAdmin@@QEAAHXZ
|
||||
; public: int __cdecl CMachineAdmin::PauseCI(void) __ptr64
|
||||
?PauseCI@CMachineAdmin@@QEAAHXZ
|
||||
; public: virtual unsigned long __cdecl CMemDeSerStream::PeekULong(void) __ptr64
|
||||
?PeekULong@CMemDeSerStream@@UEAAKXZ
|
||||
; public: unsigned long __cdecl CPidMapper::PidToRealPid(unsigned long) __ptr64
|
||||
?PidToRealPid@CPidMapper@@QEAAKK@Z
|
||||
; public: unsigned long __cdecl CStandardPropMapper::PropertyToPropId(class CFullPropSpec const & __ptr64,int) __ptr64
|
||||
?PropertyToPropId@CStandardPropMapper@@QEAAKAEBVCFullPropSpec@@H@Z
|
||||
; public: virtual long __cdecl CFwPropertyMapper::PropertyToPropid(struct tagFULLPROPSPEC const * __ptr64,int,unsigned long * __ptr64) __ptr64
|
||||
?PropertyToPropid@CFwPropertyMapper@@UEAAJPEBUtagFULLPROPSPEC@@HPEAK@Z
|
||||
; public: void __cdecl CValueNormalizer::PutMaxValue(unsigned long,unsigned long & __ptr64,enum VARENUM) __ptr64
|
||||
?PutMaxValue@CValueNormalizer@@QEAAXKAEAKW4VARENUM@@@Z
|
||||
; public: void __cdecl CValueNormalizer::PutMinValue(unsigned long,unsigned long & __ptr64,enum VARENUM) __ptr64
|
||||
?PutMinValue@CValueNormalizer@@QEAAXKAEAKW4VARENUM@@@Z
|
||||
; public: void __cdecl CValueNormalizer::PutValue(unsigned long,unsigned long & __ptr64,class CStorageVariant const & __ptr64) __ptr64
|
||||
?PutValue@CValueNormalizer@@QEAAXKAEAKAEBVCStorageVariant@@@Z
|
||||
; void __cdecl PutWString(class PSerStream & __ptr64,unsigned short const * __ptr64)
|
||||
?PutWString@@YAXAEAVPSerStream@@PEBG@Z
|
||||
; private: class CDbRestriction * __ptr64 __cdecl CQueryParser::Query(class CDbNodeRestriction * __ptr64) __ptr64
|
||||
?Query@CQueryParser@@AEAAPEAVCDbRestriction@@PEAVCDbNodeRestriction@@@Z
|
||||
; public: class CCatalogAdmin * __ptr64 __cdecl CCatalogEnum::QueryCatalogAdmin(void) __ptr64
|
||||
?QueryCatalogAdmin@CCatalogEnum@@QEAAPEAVCCatalogAdmin@@XZ
|
||||
; public: class CCatalogAdmin * __ptr64 __cdecl CMachineAdmin::QueryCatalogAdmin(unsigned short const * __ptr64) __ptr64
|
||||
?QueryCatalogAdmin@CMachineAdmin@@QEAAPEAVCCatalogAdmin@@PEBG@Z
|
||||
; public: class CCatalogEnum * __ptr64 __cdecl CMachineAdmin::QueryCatalogEnum(void) __ptr64
|
||||
?QueryCatalogEnum@CMachineAdmin@@QEAAPEAVCCatalogEnum@@XZ
|
||||
; public: virtual long __cdecl CDbProperties::QueryInterface(struct _GUID const & __ptr64,void * __ptr64 * __ptr64) __ptr64
|
||||
?QueryInterface@CDbProperties@@UEAAJAEBU_GUID@@PEAPEAX@Z
|
||||
; public: virtual long __cdecl CEmptyPropertyList::QueryInterface(struct _GUID const & __ptr64,void * __ptr64 * __ptr64) __ptr64
|
||||
?QueryInterface@CEmptyPropertyList@@UEAAJAEBU_GUID@@PEAPEAX@Z
|
||||
; public: virtual long __cdecl CEnumString::QueryInterface(struct _GUID const & __ptr64,void * __ptr64 * __ptr64) __ptr64
|
||||
?QueryInterface@CEnumString@@UEAAJAEBU_GUID@@PEAPEAX@Z
|
||||
; public: virtual long __cdecl CEnumWorkid::QueryInterface(struct _GUID const & __ptr64,void * __ptr64 * __ptr64) __ptr64
|
||||
?QueryInterface@CEnumWorkid@@UEAAJAEBU_GUID@@PEAPEAX@Z
|
||||
; public: virtual long __cdecl CFwPropertyMapper::QueryInterface(struct _GUID const & __ptr64,void * __ptr64 * __ptr64) __ptr64
|
||||
?QueryInterface@CFwPropertyMapper@@UEAAJAEBU_GUID@@PEAPEAX@Z
|
||||
; public: virtual long __cdecl CQueryUnknown::QueryInterface(struct _GUID const & __ptr64,void * __ptr64 * __ptr64) __ptr64
|
||||
?QueryInterface@CQueryUnknown@@UEAAJAEBU_GUID@@PEAPEAX@Z
|
||||
; public: class PRcovStorageObj * __ptr64 __cdecl CiStorage::QueryPidLookupTable(unsigned long) __ptr64
|
||||
?QueryPidLookupTable@CiStorage@@QEAAPEAVPRcovStorageObj@@K@Z
|
||||
; public: class CScopeAdmin * __ptr64 __cdecl CCatalogAdmin::QueryScopeAdmin(unsigned short const * __ptr64) __ptr64
|
||||
?QueryScopeAdmin@CCatalogAdmin@@QEAAPEAVCScopeAdmin@@PEBG@Z
|
||||
; public: class CScopeAdmin * __ptr64 __cdecl CScopeEnum::QueryScopeAdmin(void) __ptr64
|
||||
?QueryScopeAdmin@CScopeEnum@@QEAAPEAVCScopeAdmin@@XZ
|
||||
; public: class CScopeEnum * __ptr64 __cdecl CCatalogAdmin::QueryScopeEnum(void) __ptr64
|
||||
?QueryScopeEnum@CCatalogAdmin@@QEAAPEAVCScopeEnum@@XZ
|
||||
; public: class PRcovStorageObj * __ptr64 __cdecl CiStorage::QueryScopeList(unsigned long) __ptr64
|
||||
?QueryScopeList@CiStorage@@QEAAPEAVPRcovStorageObj@@K@Z
|
||||
; public: class PRcovStorageObj * __ptr64 __cdecl CiStorage::QuerySdidLookupTable(unsigned long) __ptr64
|
||||
?QuerySdidLookupTable@CiStorage@@QEAAPEAVPRcovStorageObj@@K@Z
|
||||
; public: class PRcovStorageObj * __ptr64 __cdecl CiStorage::QueryVirtualScopeList(unsigned long) __ptr64
|
||||
?QueryVirtualScopeList@CiStorage@@QEAAPEAVPRcovStorageObj@@K@Z
|
||||
; public: void __cdecl CPidRemapper::ReBuild(class CPidMapper const & __ptr64) __ptr64
|
||||
?ReBuild@CPidRemapper@@QEAAXAEBVCPidMapper@@@Z
|
||||
; public: void __cdecl CQueryUnknown::ReInit(unsigned long,class CRowset * __ptr64 * __ptr64) __ptr64
|
||||
?ReInit@CQueryUnknown@@QEAAXKPEAPEAVCRowset@@@Z
|
||||
; public: void __cdecl CImpersonationTokenCache::ReInitializeIISScopes(void) __ptr64
|
||||
?ReInitializeIISScopes@CImpersonationTokenCache@@QEAAXXZ
|
||||
; private: virtual void __cdecl CPhysIndex::ReOpenStream(void) __ptr64
|
||||
?ReOpenStream@CPhysIndex@@EEAAXXZ
|
||||
; public: unsigned long __cdecl CDynStream::Read(void * __ptr64,unsigned long) __ptr64
|
||||
?Read@CDynStream@@QEAAKPEAXK@Z
|
||||
; public: unsigned long __cdecl CRcovStrmTrans::Read(void * __ptr64,unsigned long) __ptr64
|
||||
?Read@CRcovStrmTrans@@QEAAKPEAXK@Z
|
||||
; public: unsigned long __cdecl CRegAccess::Read(unsigned short const * __ptr64,unsigned long) __ptr64
|
||||
?Read@CRegAccess@@QEAAKPEBGK@Z
|
||||
; public: unsigned short * __ptr64 __cdecl CRegAccess::Read(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
|
||||
?Read@CRegAccess@@QEAAPEAGPEBG0@Z
|
||||
; public: int __cdecl CPropStoreManager::ReadPrimaryProperty(unsigned long,unsigned long,struct tagPROPVARIANT & __ptr64) __ptr64
|
||||
?ReadPrimaryProperty@CPropStoreManager@@QEAAHKKAEAUtagPROPVARIANT@@@Z
|
||||
; public: int __cdecl COLEPropManager::ReadProperty(class CFullPropSpec const & __ptr64,struct tagPROPVARIANT & __ptr64) __ptr64
|
||||
?ReadProperty@COLEPropManager@@QEAAHAEBVCFullPropSpec@@AEAUtagPROPVARIANT@@@Z
|
||||
; public: int __cdecl CPropStoreManager::ReadProperty(class CCompositePropRecord & __ptr64,unsigned long,struct tagPROPVARIANT & __ptr64) __ptr64
|
||||
?ReadProperty@CPropStoreManager@@QEAAHAEAVCCompositePropRecord@@KAEAUtagPROPVARIANT@@@Z
|
||||
; public: int __cdecl CPropStoreManager::ReadProperty(class CCompositePropRecord & __ptr64,unsigned long,struct tagPROPVARIANT & __ptr64,unsigned char * __ptr64,unsigned int * __ptr64) __ptr64
|
||||
?ReadProperty@CPropStoreManager@@QEAAHAEAVCCompositePropRecord@@KAEAUtagPROPVARIANT@@PEAEPEAI@Z
|
||||
; public: int __cdecl CPropStoreManager::ReadProperty(class CCompositePropRecord & __ptr64,unsigned long,struct tagPROPVARIANT * __ptr64,unsigned int * __ptr64) __ptr64
|
||||
?ReadProperty@CPropStoreManager@@QEAAHAEAVCCompositePropRecord@@KPEAUtagPROPVARIANT@@PEAI@Z
|
||||
; public: int __cdecl CPropStoreManager::ReadProperty(unsigned long,unsigned long,struct tagPROPVARIANT & __ptr64) __ptr64
|
||||
?ReadProperty@CPropStoreManager@@QEAAHKKAEAUtagPROPVARIANT@@@Z
|
||||
; public: int __cdecl CPropStoreManager::ReadProperty(unsigned long,unsigned long,struct tagPROPVARIANT & __ptr64,unsigned char * __ptr64,unsigned int * __ptr64) __ptr64
|
||||
?ReadProperty@CPropStoreManager@@QEAAHKKAEAUtagPROPVARIANT@@PEAEPEAI@Z
|
||||
; public: int __cdecl CPropStoreManager::ReadProperty(unsigned long,unsigned long,struct tagPROPVARIANT * __ptr64,unsigned int * __ptr64) __ptr64
|
||||
?ReadProperty@CPropStoreManager@@QEAAHKKPEAUtagPROPVARIANT@@PEAI@Z
|
||||
; public: int __cdecl CPropertyStore::ReadProperty(class CPropRecordNoLock & __ptr64,unsigned long,struct tagPROPVARIANT * __ptr64,unsigned int * __ptr64) __ptr64
|
||||
?ReadProperty@CPropertyStore@@QEAAHAEAVCPropRecordNoLock@@KPEAUtagPROPVARIANT@@PEAI@Z
|
||||
; public: int __cdecl CPropertyStore::ReadProperty(unsigned long,unsigned long,struct tagPROPVARIANT & __ptr64) __ptr64
|
||||
?ReadProperty@CPropertyStore@@QEAAHKKAEAUtagPROPVARIANT@@@Z
|
||||
; public: unsigned char __cdecl CDFA::Recognize(unsigned short const * __ptr64) __ptr64
|
||||
?Recognize@CDFA@@QEAAEPEBG@Z
|
||||
; public: void __cdecl CCiRegParams::Refresh(struct ICiAdminParams * __ptr64,int) __ptr64
|
||||
?Refresh@CCiRegParams@@QEAAXPEAUICiAdminParams@@H@Z
|
||||
; public: void __cdecl CDefColumnRegEntry::Refresh(int) __ptr64
|
||||
?Refresh@CDefColumnRegEntry@@QEAAXH@Z
|
||||
; public: void __cdecl CWorkQueue::RefreshParams(unsigned long,unsigned long) __ptr64
|
||||
?RefreshParams@CWorkQueue@@QEAAXKK@Z
|
||||
; public: virtual unsigned long __cdecl CDbProperties::Release(void) __ptr64
|
||||
?Release@CDbProperties@@UEAAKXZ
|
||||
; public: virtual unsigned long __cdecl CEmptyPropertyList::Release(void) __ptr64
|
||||
?Release@CEmptyPropertyList@@UEAAKXZ
|
||||
; public: virtual unsigned long __cdecl CEnumString::Release(void) __ptr64
|
||||
?Release@CEnumString@@UEAAKXZ
|
||||
; public: virtual unsigned long __cdecl CEnumWorkid::Release(void) __ptr64
|
||||
?Release@CEnumWorkid@@UEAAKXZ
|
||||
; public: virtual unsigned long __cdecl CFwPropertyMapper::Release(void) __ptr64
|
||||
?Release@CFwPropertyMapper@@UEAAKXZ
|
||||
; public: void __cdecl CImpersonateRemoteAccess::Release(void) __ptr64
|
||||
?Release@CImpersonateRemoteAccess@@QEAAXXZ
|
||||
; public: virtual unsigned long __cdecl CQueryUnknown::Release(void) __ptr64
|
||||
?Release@CQueryUnknown@@UEAAKXZ
|
||||
; public: void __cdecl CWorkQueue::Release(class CWorkThread * __ptr64) __ptr64
|
||||
?Release@CWorkQueue@@QEAAXPEAVCWorkThread@@@Z
|
||||
; private: void __cdecl CPropertyStore::ReleaseRead(class CReadWriteLockRecord & __ptr64) __ptr64
|
||||
?ReleaseRead@CPropertyStore@@AEAAXAEAVCReadWriteLockRecord@@@Z
|
||||
; public: void __cdecl CWorkQueue::ReleaseWorkThreads(void) __ptr64
|
||||
?ReleaseWorkThreads@CWorkQueue@@QEAAXXZ
|
||||
; public: void __cdecl CColumns::Remove(unsigned int) __ptr64
|
||||
?Remove@CColumns@@QEAAXI@Z
|
||||
; public: void __cdecl CDbSortSet::Remove(unsigned int) __ptr64
|
||||
?Remove@CDbSortSet@@QEAAXI@Z
|
||||
; public: void __cdecl CSort::Remove(unsigned int) __ptr64
|
||||
?Remove@CSort@@QEAAXI@Z
|
||||
; private: void __cdecl CWorkQueue::Remove(class CWorkThread & __ptr64) __ptr64
|
||||
?Remove@CWorkQueue@@AEAAXAEAVCWorkThread@@@Z
|
||||
; public: void __cdecl CWorkQueue::Remove(class PWorkItem * __ptr64) __ptr64
|
||||
?Remove@CWorkQueue@@QEAAXPEAVPWorkItem@@@Z
|
||||
; public: void __cdecl CMachineAdmin::RemoveCatalog(unsigned short const * __ptr64,int) __ptr64
|
||||
?RemoveCatalog@CMachineAdmin@@QEAAXPEBGH@Z
|
||||
; public: void __cdecl CMachineAdmin::RemoveCatalogFiles(unsigned short const * __ptr64) __ptr64
|
||||
?RemoveCatalogFiles@CMachineAdmin@@QEAAXPEBG@Z
|
||||
; public: class CRestriction * __ptr64 __cdecl CNodeRestriction::RemoveChild(unsigned int) __ptr64
|
||||
?RemoveChild@CNodeRestriction@@QEAAPEAVCRestriction@@I@Z
|
||||
; protected: class CDbCmdTreeNode * __ptr64 __cdecl CDbCmdTreeNode::RemoveFirstChild(void) __ptr64
|
||||
?RemoveFirstChild@CDbCmdTreeNode@@IEAAPEAV1@XZ
|
||||
; public: void __cdecl CCatalogAdmin::RemoveScope(unsigned short const * __ptr64) __ptr64
|
||||
?RemoveScope@CCatalogAdmin@@QEAAXPEBG@Z
|
||||
; public: void __cdecl CPhysStorage::Reopen(int) __ptr64
|
||||
?Reopen@CPhysStorage@@QEAAXH@Z
|
||||
; public: void __cdecl CEventLog::ReportEventW(class CEventItem & __ptr64) __ptr64
|
||||
?ReportEventW@CEventLog@@QEAAXAEAVCEventItem@@@Z
|
||||
; public: void __cdecl CFwEventItem::ReportEventW(struct ICiCAdviseStatus & __ptr64) __ptr64
|
||||
?ReportEventW@CFwEventItem@@QEAAXAEAUICiCAdviseStatus@@@Z
|
||||
; public: int __cdecl CPhysStorage::RequiresFlush(unsigned long) __ptr64
|
||||
?RequiresFlush@CPhysStorage@@QEAAHK@Z
|
||||
; public: void __cdecl CRegChangeEvent::Reset(void) __ptr64
|
||||
?Reset@CRegChangeEvent@@QEAAXXZ
|
||||
; public: void __cdecl CQueryScanner::ResetBuffer(unsigned short const * __ptr64) __ptr64
|
||||
?ResetBuffer@CQueryScanner@@QEAAXPEBG@Z
|
||||
; protected: void __cdecl CAllocStorageVariant::ResetType(class PMemoryAllocator & __ptr64) __ptr64
|
||||
?ResetType@CAllocStorageVariant@@IEAAXAEAVPMemoryAllocator@@@Z
|
||||
; public: void __cdecl CProcess::Resume(void) __ptr64
|
||||
?Resume@CProcess@@QEAAXXZ
|
||||
; public: void __cdecl CPhysStorage::ReturnBuffer(unsigned long,int,int) __ptr64
|
||||
?ReturnBuffer@CPhysStorage@@QEAAXKHH@Z
|
||||
; public: void __cdecl CMmStreamConsecBuf::Rewind(void) __ptr64
|
||||
?Rewind@CMmStreamConsecBuf@@QEAAXXZ
|
||||
; unsigned long __cdecl SaComputeSize(unsigned short,struct tagSAFEARRAY & __ptr64)
|
||||
?SaComputeSize@@YAKGAEAUtagSAFEARRAY@@@Z
|
||||
; int __cdecl SaCreateAndCopy(class PMemoryAllocator & __ptr64,struct tagSAFEARRAY * __ptr64,struct tagSAFEARRAY * __ptr64 * __ptr64)
|
||||
?SaCreateAndCopy@@YAHAEAVPMemoryAllocator@@PEAUtagSAFEARRAY@@PEAPEAU2@@Z
|
||||
; int __cdecl SaCreateData(class PVarAllocator & __ptr64,unsigned short,struct tagSAFEARRAY & __ptr64,struct tagSAFEARRAY & __ptr64,int)
|
||||
?SaCreateData@@YAHAEAVPVarAllocator@@GAEAUtagSAFEARRAY@@1H@Z
|
||||
; public: int __cdecl CRcovStrmTrans::Seek(unsigned long) __ptr64
|
||||
?Seek@CRcovStrmTrans@@QEAAHK@Z
|
||||
; public: void __cdecl CDbQueryResults::Serialize(class PSerStream & __ptr64)const __ptr64
|
||||
?Serialize@CDbQueryResults@@QEBAXAEAVPSerStream@@@Z
|
||||
; public: void __cdecl CPidRemapper::Set(class XArray<unsigned long> & __ptr64) __ptr64
|
||||
?Set@CPidRemapper@@QEAAXAEAV?$XArray@K@@@Z
|
||||
; public: void __cdecl CScopeAdmin::SetAlias(unsigned short const * __ptr64) __ptr64
|
||||
?SetAlias@CScopeAdmin@@QEAAXPEBG@Z
|
||||
; public: void __cdecl CStorageVariant::SetBOOL(short,unsigned int) __ptr64
|
||||
?SetBOOL@CStorageVariant@@QEAAXFI@Z
|
||||
; public: void __cdecl CAllocStorageVariant::SetBSTR(unsigned short * __ptr64,class PMemoryAllocator & __ptr64) __ptr64
|
||||
?SetBSTR@CAllocStorageVariant@@QEAAXPEAGAEAVPMemoryAllocator@@@Z
|
||||
; public: void __cdecl CStorageVariant::SetBSTR(unsigned short * __ptr64,unsigned int) __ptr64
|
||||
?SetBSTR@CStorageVariant@@QEAAXPEAGI@Z
|
||||
; public: void __cdecl CPropStoreManager::SetBackupSize(unsigned long,unsigned long) __ptr64
|
||||
?SetBackupSize@CPropStoreManager@@QEAAXKK@Z
|
||||
; public: void __cdecl CCatState::SetCD(unsigned short const * __ptr64) __ptr64
|
||||
?SetCD@CCatState@@QEAAXPEBG@Z
|
||||
; public: void __cdecl CStorageVariant::SetCLSID(struct _GUID const * __ptr64) __ptr64
|
||||
?SetCLSID@CStorageVariant@@QEAAXPEBU_GUID@@@Z
|
||||
; public: void __cdecl CStorageVariant::SetCLSID(struct _GUID,unsigned int) __ptr64
|
||||
?SetCLSID@CStorageVariant@@QEAAXU_GUID@@I@Z
|
||||
; public: void __cdecl CStorageVariant::SetCY(union tagCY,unsigned int) __ptr64
|
||||
?SetCY@CStorageVariant@@QEAAXTtagCY@@I@Z
|
||||
; public: void __cdecl CCatState::SetCatalog(unsigned short const * __ptr64) __ptr64
|
||||
?SetCatalog@CCatState@@QEAAXPEBG@Z
|
||||
; public: void __cdecl CCatState::SetColumn(unsigned short const * __ptr64,unsigned int) __ptr64
|
||||
?SetColumn@CCatState@@QEAAXPEBGI@Z
|
||||
; private: void __cdecl CQueryParser::SetCurrentProperty(unsigned short const * __ptr64,enum PropertyType) __ptr64
|
||||
?SetCurrentProperty@CQueryParser@@AEAAXPEBGW4PropertyType@@@Z
|
||||
; public: void __cdecl CStorageVariant::SetDATE(double,unsigned int) __ptr64
|
||||
?SetDATE@CStorageVariant@@QEAAXNI@Z
|
||||
; public: void __cdecl CCatalogAdmin::SetDWORDParam(unsigned short const * __ptr64,unsigned long) __ptr64
|
||||
?SetDWORDParam@CCatalogAdmin@@QEAAXPEBGK@Z
|
||||
; public: void __cdecl CMachineAdmin::SetDWORDParam(unsigned short const * __ptr64,unsigned long) __ptr64
|
||||
?SetDWORDParam@CMachineAdmin@@QEAAXPEBGK@Z
|
||||
; public: void __cdecl CCatState::SetDefaultProperty(unsigned short const * __ptr64) __ptr64
|
||||
?SetDefaultProperty@CCatState@@QEAAXPEBG@Z
|
||||
; public: void __cdecl CScopeAdmin::SetExclude(int) __ptr64
|
||||
?SetExclude@CScopeAdmin@@QEAAXH@Z
|
||||
; public: void __cdecl CStorageVariant::SetFILETIME(struct _FILETIME,unsigned int) __ptr64
|
||||
?SetFILETIME@CStorageVariant@@QEAAXU_FILETIME@@I@Z
|
||||
; public: void __cdecl CStorageVariant::SetI2(short,unsigned int) __ptr64
|
||||
?SetI2@CStorageVariant@@QEAAXFI@Z
|
||||
; public: void __cdecl CStorageVariant::SetI4(long,unsigned int) __ptr64
|
||||
?SetI4@CStorageVariant@@QEAAXJI@Z
|
||||
; public: void __cdecl CStorageVariant::SetI8(union _LARGE_INTEGER,unsigned int) __ptr64
|
||||
?SetI8@CStorageVariant@@QEAAXT_LARGE_INTEGER@@I@Z
|
||||
; public: void __cdecl CStorageVariant::SetLPSTR(char const * __ptr64,unsigned int) __ptr64
|
||||
?SetLPSTR@CStorageVariant@@QEAAXPEBDI@Z
|
||||
; public: void __cdecl CStorageVariant::SetLPWSTR(unsigned short const * __ptr64,unsigned int) __ptr64
|
||||
?SetLPWSTR@CStorageVariant@@QEAAXPEBGI@Z
|
||||
; public: void __cdecl CCatState::SetLocale(unsigned short const * __ptr64) __ptr64
|
||||
?SetLocale@CCatState@@QEAAXPEBG@Z
|
||||
; public: void __cdecl CScopeAdmin::SetLogonInfo(unsigned short const * __ptr64,unsigned short const * __ptr64,class CCatalogAdmin & __ptr64) __ptr64
|
||||
?SetLogonInfo@CScopeAdmin@@QEAAXPEBG0AEAVCCatalogAdmin@@@Z
|
||||
; public: void __cdecl CPropStoreManager::SetMappedCacheSize(unsigned long,unsigned long) __ptr64
|
||||
?SetMappedCacheSize@CPropStoreManager@@QEAAXKK@Z
|
||||
; public: void __cdecl CCatState::SetNumberOfColumns(unsigned int) __ptr64
|
||||
?SetNumberOfColumns@CCatState@@QEAAXI@Z
|
||||
; public: void __cdecl CCatState::SetNumberOfSortProps(unsigned int) __ptr64
|
||||
?SetNumberOfSortProps@CCatState@@QEAAXI@Z
|
||||
; public: void __cdecl CScopeAdmin::SetPath(unsigned short const * __ptr64) __ptr64
|
||||
?SetPath@CScopeAdmin@@QEAAXPEBG@Z
|
||||
; public: void __cdecl CContentRestriction::SetPhrase(unsigned short const * __ptr64) __ptr64
|
||||
?SetPhrase@CContentRestriction@@QEAAXPEBG@Z
|
||||
; public: void __cdecl CNatLanguageRestriction::SetPhrase(unsigned short const * __ptr64) __ptr64
|
||||
?SetPhrase@CNatLanguageRestriction@@QEAAXPEBG@Z
|
||||
; public: void __cdecl CGenericCiProxy::SetPriority(unsigned long,unsigned long) __ptr64
|
||||
?SetPriority@CGenericCiProxy@@QEAAXKK@Z
|
||||
; public: virtual long __cdecl CDbProperties::SetProperties(unsigned long,struct tagDBPROPSET * __ptr64 const) __ptr64
|
||||
?SetProperties@CDbProperties@@UEAAJKQEAUtagDBPROPSET@@@Z
|
||||
; public: int __cdecl CDbColId::SetProperty(unsigned short const * __ptr64) __ptr64
|
||||
?SetProperty@CDbColId@@QEAAHPEBG@Z
|
||||
; public: int __cdecl CDbPropBaseRestriction::SetProperty(struct tagDBID const & __ptr64) __ptr64
|
||||
?SetProperty@CDbPropBaseRestriction@@QEAAHAEBUtagDBID@@@Z
|
||||
; public: int __cdecl CDbPropBaseRestriction::SetProperty(class CDbColumnNode const & __ptr64) __ptr64
|
||||
?SetProperty@CDbPropBaseRestriction@@QEAAHAEBVCDbColumnNode@@@Z
|
||||
; public: int __cdecl CFullPropSpec::SetProperty(unsigned short const * __ptr64) __ptr64
|
||||
?SetProperty@CFullPropSpec@@QEAAHPEBG@Z
|
||||
; public: void __cdecl CFullPropSpec::SetProperty(unsigned long) __ptr64
|
||||
?SetProperty@CFullPropSpec@@QEAAXK@Z
|
||||
; public: void __cdecl CStorageVariant::SetR4(float,unsigned int) __ptr64
|
||||
?SetR4@CStorageVariant@@QEAAXMI@Z
|
||||
; public: void __cdecl CStorageVariant::SetR8(double,unsigned int) __ptr64
|
||||
?SetR8@CStorageVariant@@QEAAXNI@Z
|
||||
; public: int __cdecl CDbSelectNode::SetRestriction(class CDbCmdTreeNode * __ptr64) __ptr64
|
||||
?SetRestriction@CDbSelectNode@@QEAAHPEAVCDbCmdTreeNode@@@Z
|
||||
; public: static void __cdecl CImpersonateSystem::SetRunningAsSystem(void)
|
||||
?SetRunningAsSystem@CImpersonateSystem@@SAXXZ
|
||||
; public: void __cdecl CMachineAdmin::SetSZParam(unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned long) __ptr64
|
||||
?SetSZParam@CMachineAdmin@@QEAAXPEBG0K@Z
|
||||
; void __cdecl SetScopeProperties(struct ICommand * __ptr64,unsigned int,unsigned short const * __ptr64 const * __ptr64,unsigned long const * __ptr64,unsigned short const * __ptr64 const * __ptr64,unsigned short const * __ptr64 const * __ptr64)
|
||||
?SetScopeProperties@@YAXPEAUICommand@@IPEBQEBGPEBK11@Z
|
||||
; long __cdecl SetScopePropertiesNoThrow(struct ICommand * __ptr64,unsigned int,unsigned short const * __ptr64 const * __ptr64,unsigned long const * __ptr64,unsigned short const * __ptr64 const * __ptr64,unsigned short const * __ptr64 const * __ptr64)
|
||||
?SetScopePropertiesNoThrow@@YAJPEAUICommand@@IPEBQEBGPEBK11@Z
|
||||
; void __cdecl SetSecret(unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned long)
|
||||
?SetSecret@@YAXPEBG00K@Z
|
||||
; public: void __cdecl CCatState::SetSortProp(unsigned short const * __ptr64,enum SORTDIR,unsigned int) __ptr64
|
||||
?SetSortProp@CCatState@@QEAAXPEBGW4SORTDIR@@I@Z
|
||||
; public: void __cdecl CStorageVariant::SetUI1(unsigned char,unsigned int) __ptr64
|
||||
?SetUI1@CStorageVariant@@QEAAXEI@Z
|
||||
; public: void __cdecl CStorageVariant::SetUI2(unsigned short,unsigned int) __ptr64
|
||||
?SetUI2@CStorageVariant@@QEAAXGI@Z
|
||||
; public: void __cdecl CStorageVariant::SetUI4(unsigned long,unsigned int) __ptr64
|
||||
?SetUI4@CStorageVariant@@QEAAXKI@Z
|
||||
; public: void __cdecl CStorageVariant::SetUI8(union _ULARGE_INTEGER,unsigned int) __ptr64
|
||||
?SetUI8@CStorageVariant@@QEAAXT_ULARGE_INTEGER@@I@Z
|
||||
; public: void __cdecl CPropertyRestriction::SetValue(struct tagBLOB & __ptr64) __ptr64
|
||||
?SetValue@CPropertyRestriction@@QEAAXAEAUtagBLOB@@@Z
|
||||
; public: void __cdecl CPropertyRestriction::SetValue(unsigned short * __ptr64) __ptr64
|
||||
?SetValue@CPropertyRestriction@@QEAAXPEAG@Z
|
||||
; public: void __cdecl CPropertyRestriction::SetValue(struct _GUID * __ptr64) __ptr64
|
||||
?SetValue@CPropertyRestriction@@QEAAXPEAU_GUID@@@Z
|
||||
; public: void __cdecl CDbCmdTreeNode::SetWeight(long) __ptr64
|
||||
?SetWeight@CDbCmdTreeNode@@QEAAXJ@Z
|
||||
; public: void __cdecl CPropStoreManager::Setup(unsigned long,unsigned long,unsigned long,unsigned __int64,int,unsigned long) __ptr64
|
||||
?Setup@CPropStoreManager@@QEAAXKKK_KHK@Z
|
||||
; public: void __cdecl CDynStream::Shrink(class PStorage & __ptr64,unsigned long) __ptr64
|
||||
?Shrink@CDynStream@@QEAAXAEAVPStorage@@K@Z
|
||||
; public: unsigned long __cdecl CPhysStorage::ShrinkFromFront(unsigned long,unsigned long) __ptr64
|
||||
?ShrinkFromFront@CPhysStorage@@QEAAKKK@Z
|
||||
; public: void __cdecl CPhysStorage::ShrinkToFit(void) __ptr64
|
||||
?ShrinkToFit@CPhysStorage@@QEAAXXZ
|
||||
; public: static void __cdecl CCiOle::Shutdown(void)
|
||||
?Shutdown@CCiOle@@SAXXZ
|
||||
; public: void __cdecl CPropStoreManager::Shutdown(void) __ptr64
|
||||
?Shutdown@CPropStoreManager@@QEAAXXZ
|
||||
; public: void __cdecl CWorkQueue::Shutdown(void) __ptr64
|
||||
?Shutdown@CWorkQueue@@QEAAXXZ
|
||||
; public: unsigned long __cdecl CDbQueryResults::Size(void) __ptr64
|
||||
?Size@CDbQueryResults@@QEAAKXZ
|
||||
; public: virtual long __cdecl CEnumString::Skip(unsigned long) __ptr64
|
||||
?Skip@CEnumString@@UEAAJK@Z
|
||||
; public: virtual long __cdecl CEnumWorkid::Skip(unsigned long) __ptr64
|
||||
?Skip@CEnumWorkid@@UEAAJK@Z
|
||||
; public: virtual void __cdecl CMemDeSerStream::SkipBlob(unsigned long) __ptr64
|
||||
?SkipBlob@CMemDeSerStream@@UEAAXK@Z
|
||||
; public: virtual void __cdecl CMemDeSerStream::SkipByte(void) __ptr64
|
||||
?SkipByte@CMemDeSerStream@@UEAAXXZ
|
||||
; public: virtual void __cdecl CMemDeSerStream::SkipChar(unsigned long) __ptr64
|
||||
?SkipChar@CMemDeSerStream@@UEAAXK@Z
|
||||
; public: virtual void __cdecl CMemDeSerStream::SkipDouble(void) __ptr64
|
||||
?SkipDouble@CMemDeSerStream@@UEAAXXZ
|
||||
; public: virtual void __cdecl CMemDeSerStream::SkipFloat(void) __ptr64
|
||||
?SkipFloat@CMemDeSerStream@@UEAAXXZ
|
||||
; public: virtual void __cdecl CMemDeSerStream::SkipGUID(void) __ptr64
|
||||
?SkipGUID@CMemDeSerStream@@UEAAXXZ
|
||||
; public: virtual void __cdecl CMemDeSerStream::SkipLong(void) __ptr64
|
||||
?SkipLong@CMemDeSerStream@@UEAAXXZ
|
||||
; public: virtual void __cdecl CMemDeSerStream::SkipULong(void) __ptr64
|
||||
?SkipULong@CMemDeSerStream@@UEAAXXZ
|
||||
; public: virtual void __cdecl CMemDeSerStream::SkipUShort(void) __ptr64
|
||||
?SkipUShort@CMemDeSerStream@@UEAAXXZ
|
||||
; public: virtual void __cdecl CMemDeSerStream::SkipWChar(unsigned long) __ptr64
|
||||
?SkipWChar@CMemDeSerStream@@UEAAXK@Z
|
||||
; public: int __cdecl CCatalogAdmin::Start(void) __ptr64
|
||||
?Start@CCatalogAdmin@@QEAAHXZ
|
||||
; public: int __cdecl CMachineAdmin::StartCI(void) __ptr64
|
||||
?StartCI@CMachineAdmin@@QEAAHXZ
|
||||
; public: int __cdecl CCatalogAdmin::Stop(void) __ptr64
|
||||
?Stop@CCatalogAdmin@@QEAAHXZ
|
||||
; public: int __cdecl CMachineAdmin::StopCI(void) __ptr64
|
||||
?StopCI@CMachineAdmin@@QEAAHXZ
|
||||
; public: void __cdecl CFilterDaemon::StopFiltering(void) __ptr64
|
||||
?StopFiltering@CFilterDaemon@@QEAAXXZ
|
||||
; public: unsigned int __cdecl CKey::StrLen(void)const __ptr64
|
||||
?StrLen@CKey@@QEBAIXZ
|
||||
; public: unsigned int __cdecl CKeyBuf::StrLen(void)const __ptr64
|
||||
?StrLen@CKeyBuf@@QEBAIXZ
|
||||
; void __cdecl SystemExceptionTranslator(unsigned int,struct _EXCEPTION_POINTERS * __ptr64)
|
||||
?SystemExceptionTranslator@@YAXIPEAU_EXCEPTION_POINTERS@@@Z
|
||||
; public: unsigned long __cdecl CRestriction::TreeCount(void)const __ptr64
|
||||
?TreeCount@CRestriction@@QEBAKXZ
|
||||
; public: void __cdecl CMachineAdmin::TunePerformance(int,unsigned short,unsigned short) __ptr64
|
||||
?TunePerformance@CMachineAdmin@@QEAAXHGG@Z
|
||||
; void __cdecl URLEscapeW(unsigned short const * __ptr64,class CVirtualString & __ptr64,unsigned long,int)
|
||||
?URLEscapeW@@YAXPEBGAEAVCVirtualString@@KH@Z
|
||||
; public: int __cdecl CDbProperties::UnMarshall(class PDeSerStream & __ptr64) __ptr64
|
||||
?UnMarshall@CDbProperties@@QEAAHAEAVPDeSerStream@@@Z
|
||||
; public: static class CRestriction * __ptr64 __cdecl CRestriction::UnMarshall(class PDeSerStream & __ptr64)
|
||||
?UnMarshall@CRestriction@@SAPEAV1@AEAVPDeSerStream@@@Z
|
||||
; public: static class CDbCmdTreeNode * __ptr64 __cdecl CDbCmdTreeNode::UnMarshallTree(class PDeSerStream & __ptr64)
|
||||
?UnMarshallTree@CDbCmdTreeNode@@SAPEAV1@AEAVPDeSerStream@@@Z
|
||||
; void __cdecl UnPickle(int,class XPtr<class CColumnSet> & __ptr64,class XPtr<class CRestriction> & __ptr64,class XPtr<class CSortSet> & __ptr64,class XPtr<class CCategorizationSet> & __ptr64,class CRowsetProperties & __ptr64,class XPtr<class CPidMapper> & __ptr64,unsigned char * __ptr64,unsigned long)
|
||||
?UnPickle@@YAXHAEAV?$XPtr@VCColumnSet@@@@AEAV?$XPtr@VCRestriction@@@@AEAV?$XPtr@VCSortSet@@@@AEAV?$XPtr@VCCategorizationSet@@@@AEAVCRowsetProperties@@AEAV?$XPtr@VCPidMapper@@@@PEAEK@Z
|
||||
; protected: void __cdecl CRcovStrmTrans::Unmap(enum CRcovStorageHdr::DataCopyNum) __ptr64
|
||||
?Unmap@CRcovStrmTrans@@IEAAXW4DataCopyNum@CRcovStorageHdr@@@Z
|
||||
; unsigned long __cdecl UpdateContentIndex(unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,int)
|
||||
?UpdateContentIndex@@YAKPEBG00H@Z
|
||||
; public: void __cdecl CDiskFreeStatus::UpdateDiskLowInfo(void) __ptr64
|
||||
?UpdateDiskLowInfo@CDiskFreeStatus@@QEAAXXZ
|
||||
; int __cdecl VT_VARIANT_EQ(struct tagPROPVARIANT const & __ptr64,struct tagPROPVARIANT const & __ptr64)
|
||||
?VT_VARIANT_EQ@@YAHAEBUtagPROPVARIANT@@0@Z
|
||||
; int __cdecl VT_VARIANT_GE(struct tagPROPVARIANT const & __ptr64,struct tagPROPVARIANT const & __ptr64)
|
||||
?VT_VARIANT_GE@@YAHAEBUtagPROPVARIANT@@0@Z
|
||||
; int __cdecl VT_VARIANT_GT(struct tagPROPVARIANT const & __ptr64,struct tagPROPVARIANT const & __ptr64)
|
||||
?VT_VARIANT_GT@@YAHAEBUtagPROPVARIANT@@0@Z
|
||||
; int __cdecl VT_VARIANT_LE(struct tagPROPVARIANT const & __ptr64,struct tagPROPVARIANT const & __ptr64)
|
||||
?VT_VARIANT_LE@@YAHAEBUtagPROPVARIANT@@0@Z
|
||||
; int __cdecl VT_VARIANT_LT(struct tagPROPVARIANT const & __ptr64,struct tagPROPVARIANT const & __ptr64)
|
||||
?VT_VARIANT_LT@@YAHAEBUtagPROPVARIANT@@0@Z
|
||||
; int __cdecl VT_VARIANT_NE(struct tagPROPVARIANT const & __ptr64,struct tagPROPVARIANT const & __ptr64)
|
||||
?VT_VARIANT_NE@@YAHAEBUtagPROPVARIANT@@0@Z
|
||||
; int __cdecl ValidateScopeRestriction(class CRestriction * __ptr64)
|
||||
?ValidateScopeRestriction@@YAHPEAVCRestriction@@@Z
|
||||
; public: void __cdecl PRcovStorageObj::VerifyConsistency(void) __ptr64
|
||||
?VerifyConsistency@PRcovStorageObj@@QEAAXXZ
|
||||
; void __cdecl VerifyThreadHasAdminPrivilege(void)
|
||||
?VerifyThreadHasAdminPrivilege@@YAXXZ
|
||||
; unsigned long __cdecl WideCharToXArrayMultiByte(unsigned short const * __ptr64,unsigned long,unsigned int,class XArray<unsigned char> & __ptr64)
|
||||
?WideCharToXArrayMultiByte@@YAKPEBGKIAEAV?$XArray@E@@@Z
|
||||
; public: void __cdecl CDynStream::Write(void * __ptr64,unsigned long) __ptr64
|
||||
?Write@CDynStream@@QEAAXPEAXK@Z
|
||||
; protected: void __cdecl CRcovStrmTrans::Write(void const * __ptr64,unsigned long) __ptr64
|
||||
?Write@CRcovStrmTrans@@IEAAXPEBXK@Z
|
||||
; public: long __cdecl CPropStoreManager::WritePrimaryProperty(class CCompositePropRecordForWrites & __ptr64,unsigned long,class CStorageVariant const & __ptr64) __ptr64
|
||||
?WritePrimaryProperty@CPropStoreManager@@QEAAJAEAVCCompositePropRecordForWrites@@KAEBVCStorageVariant@@@Z
|
||||
; public: long __cdecl CPropStoreManager::WritePrimaryProperty(unsigned long,unsigned long,class CStorageVariant const & __ptr64) __ptr64
|
||||
?WritePrimaryProperty@CPropStoreManager@@QEAAJKKAEBVCStorageVariant@@@Z
|
||||
; public: long __cdecl CPropStoreManager::WriteProperty(class CCompositePropRecordForWrites & __ptr64,unsigned long,class CStorageVariant const & __ptr64) __ptr64
|
||||
?WriteProperty@CPropStoreManager@@QEAAJAEAVCCompositePropRecordForWrites@@KAEBVCStorageVariant@@@Z
|
||||
; public: long __cdecl CPropStoreManager::WriteProperty(unsigned long,unsigned long,class CStorageVariant const & __ptr64) __ptr64
|
||||
?WriteProperty@CPropStoreManager@@QEAAJKKAEBVCStorageVariant@@@Z
|
||||
; public: unsigned long __cdecl CPropStoreManager::WritePropertyInNewRecord(unsigned long,class CStorageVariant const & __ptr64) __ptr64
|
||||
?WritePropertyInNewRecord@CPropStoreManager@@QEAAKKAEBVCStorageVariant@@@Z
|
||||
; private: class CDbProjectListAnchor * __ptr64 __cdecl CDbNestingNode::_FindGroupListAnchor(void) __ptr64
|
||||
?_FindGroupListAnchor@CDbNestingNode@@AEAAPEAVCDbProjectListAnchor@@XZ
|
||||
; private: class CDbProjectListAnchor * __ptr64 __cdecl CDbProjectNode::_FindOrAddAnchor(void) __ptr64
|
||||
?_FindOrAddAnchor@CDbProjectNode@@AEAAPEAVCDbProjectListAnchor@@XZ
|
||||
; private: class CDbSortListAnchor * __ptr64 __cdecl CDbSortNode::_FindOrAddAnchor(void) __ptr64
|
||||
?_FindOrAddAnchor@CDbSortNode@@AEAAPEAVCDbSortListAnchor@@XZ
|
||||
; private: class CDbScalarValue * __ptr64 __cdecl CDbPropertyRestriction::_FindOrAddValueNode(void) __ptr64
|
||||
?_FindOrAddValueNode@CDbPropertyRestriction@@AEAAPEAVCDbScalarValue@@XZ
|
||||
; private: int __cdecl CImpersonateRemoteAccess::_ImpersonateIf(unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned long) __ptr64
|
||||
?_ImpersonateIf@CImpersonateRemoteAccess@@AEAAHPEBG0K@Z
|
||||
; unsigned __int64 __cdecl _wcstoui64(unsigned short const * __ptr64,unsigned short * __ptr64 * __ptr64,int)
|
||||
?_wcstoui64@@YA_KPEBGPEAPEAGH@Z
|
||||
; void __cdecl ciDelete(void * __ptr64)
|
||||
?ciDelete@@YAXPEAX@Z
|
||||
; int __cdecl ciIsValidPointer(void const * __ptr64)
|
||||
?ciIsValidPointer@@YAHPEBX@Z
|
||||
; void * __ptr64 __cdecl ciNew(unsigned __int64)
|
||||
?ciNew@@YAPEAX_K@Z
|
||||
; public: unsigned long __cdecl CFileBuffer::fgetsw(class XGrowable<unsigned short,260> & __ptr64) __ptr64
|
||||
?fgetsw@CFileBuffer@@QEAAKAEAV?$XGrowable@G$0BAE@@@@Z
|
||||
; unsigned short * __ptr64 __cdecl wcsipattern(unsigned short * __ptr64,unsigned short const * __ptr64)
|
||||
?wcsipattern@@YAPEAGPEAGPEBG@Z
|
||||
AbortMerges
|
||||
BeginCacheTransaction
|
||||
BindIFilterFromStorage
|
||||
BindIFilterFromStream
|
||||
CIBuildQueryNode
|
||||
CIBuildQueryTree
|
||||
CICreateCommand
|
||||
CIGetGlobalPropertyList
|
||||
CIMakeICommand
|
||||
CIRestrictionToFullTree
|
||||
CIState
|
||||
CITextToFullTree
|
||||
CITextToFullTreeEx
|
||||
CITextToSelectTree
|
||||
CITextToSelectTreeEx
|
||||
CiSvcMain
|
||||
CollectCIISAPIPerformanceData
|
||||
CollectCIPerformanceData
|
||||
CollectFILTERPerformanceData
|
||||
DllCanUnloadNow
|
||||
DllGetClassObject
|
||||
DllRegisterServer
|
||||
DllUnregisterServer
|
||||
DoneCIISAPIPerformanceData
|
||||
DoneCIPerformanceData
|
||||
DoneFILTERPerformanceData
|
||||
EndCacheTransaction
|
||||
ForceMasterMerge
|
||||
InitializeCIISAPIPerformanceData
|
||||
InitializeCIPerformanceData
|
||||
InitializeFILTERPerformanceData
|
||||
LoadBHIFilter
|
||||
LoadBinaryFilter
|
||||
LoadIFilter
|
||||
LoadIFilterEx
|
||||
LoadTextFilter
|
||||
LocateCatalogs
|
||||
LocateCatalogsA
|
||||
LocateCatalogsW
|
||||
SetCatalogState
|
||||
SetupCache
|
||||
SetupCacheEx
|
||||
StartFWCiSvcWork
|
||||
StopFWCiSvcWork
|
||||
SvcEntry_CiSvc
|
||||
Vendored
-51
@@ -1,51 +0,0 @@
|
||||
;
|
||||
; Definition file of query.dll
|
||||
; Automatic generated by gendef
|
||||
; written by Kai Tietz 2008-2014
|
||||
;
|
||||
LIBRARY "query.dll"
|
||||
EXPORTS
|
||||
BeginCacheTransaction
|
||||
CIBuildQueryNode
|
||||
CIBuildQueryTree
|
||||
CICreateCommand
|
||||
CIGetGlobalPropertyList
|
||||
CIMakeICommand
|
||||
CIRestrictionToFullTree
|
||||
CIState
|
||||
CITextToFullTree
|
||||
CITextToFullTreeEx
|
||||
CITextToSelectTree
|
||||
CITextToSelectTreeEx
|
||||
CiCreateSecurityDescriptor
|
||||
CiSvcMain
|
||||
CollectCIISAPIPerformanceData
|
||||
CollectCIPerformanceData
|
||||
CollectFILTERPerformanceData
|
||||
DoneCIISAPIPerformanceData
|
||||
DoneCIPerformanceData
|
||||
DoneFILTERPerformanceData
|
||||
EndCacheTransaction
|
||||
FsCiShutdown
|
||||
InitializeCIISAPIPerformanceData
|
||||
InitializeCIPerformanceData
|
||||
InitializeFILTERPerformanceData
|
||||
LoadBinaryFilter
|
||||
LoadTextFilter
|
||||
SetCatalogState
|
||||
SetupCache
|
||||
SetupCacheEx
|
||||
SvcEntry_CiSvc
|
||||
BindIFilterFromStorage
|
||||
BindIFilterFromStream
|
||||
CIRevertToSelf
|
||||
CIShutdown
|
||||
InternalBindIFilterFromDocCLSID
|
||||
InternalBindIFilterFromFileName
|
||||
InternalBindIFilterFromStorage
|
||||
InternalBindIFilterFromStream
|
||||
LoadIFilter
|
||||
LoadIFilterEx
|
||||
LocateCatalogs
|
||||
LocateCatalogsA
|
||||
LocateCatalogsW
|
||||
Vendored
-1283
@@ -1,1283 +0,0 @@
|
||||
/**
|
||||
* This file has no copyright assigned and is placed in the Public Domain.
|
||||
* This file is part of the mingw-w64 runtime package.
|
||||
* No warranty is given; refer to the file DISCLAIMER.PD within this package.
|
||||
*/
|
||||
#include "cephes_emath.h"
|
||||
|
||||
/*
|
||||
* The constants are for 64 bit precision.
|
||||
*/
|
||||
|
||||
|
||||
/* Move in external format number,
|
||||
* converting it to internal format.
|
||||
*/
|
||||
void __emovi(const short unsigned int * __restrict__ a,
|
||||
short unsigned int * __restrict__ b)
|
||||
{
|
||||
register const unsigned short *p;
|
||||
register unsigned short *q;
|
||||
int i;
|
||||
|
||||
q = b;
|
||||
p = a + (NE-1); /* point to last word of external number */
|
||||
/* get the sign bit */
|
||||
if (*p & 0x8000)
|
||||
*q++ = 0xffff;
|
||||
else
|
||||
*q++ = 0;
|
||||
/* get the exponent */
|
||||
*q = *p--;
|
||||
*q++ &= 0x7fff; /* delete the sign bit */
|
||||
#ifdef INFINITY
|
||||
if ((*(q - 1) & 0x7fff) == 0x7fff)
|
||||
{
|
||||
#ifdef NANS
|
||||
if (__eisnan(a))
|
||||
{
|
||||
*q++ = 0;
|
||||
for (i = 3; i < NI; i++ )
|
||||
*q++ = *p--;
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
for (i = 2; i < NI; i++)
|
||||
*q++ = 0;
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
/* clear high guard word */
|
||||
*q++ = 0;
|
||||
/* move in the significand */
|
||||
for (i = 0; i < NE - 1; i++ )
|
||||
*q++ = *p--;
|
||||
/* clear low guard word */
|
||||
*q = 0;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
; Add significands
|
||||
; x + y replaces y
|
||||
*/
|
||||
|
||||
void __eaddm(const short unsigned int * __restrict__ x,
|
||||
short unsigned int * __restrict__ y)
|
||||
{
|
||||
register unsigned long a;
|
||||
int i;
|
||||
unsigned int carry;
|
||||
|
||||
x += NI - 1;
|
||||
y += NI - 1;
|
||||
carry = 0;
|
||||
for (i = M; i < NI; i++)
|
||||
{
|
||||
a = (unsigned long)(*x) + (unsigned long)(*y) + carry;
|
||||
if (a & 0x10000)
|
||||
carry = 1;
|
||||
else
|
||||
carry = 0;
|
||||
*y = (unsigned short)a;
|
||||
--x;
|
||||
--y;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
; Subtract significands
|
||||
; y - x replaces y
|
||||
*/
|
||||
|
||||
void __esubm(const short unsigned int * __restrict__ x,
|
||||
short unsigned int * __restrict__ y)
|
||||
{
|
||||
unsigned long a;
|
||||
int i;
|
||||
unsigned int carry;
|
||||
|
||||
x += NI - 1;
|
||||
y += NI - 1;
|
||||
carry = 0;
|
||||
for (i = M; i < NI; i++)
|
||||
{
|
||||
a = (unsigned long)(*y) - (unsigned long)(*x) - carry;
|
||||
if (a & 0x10000)
|
||||
carry = 1;
|
||||
else
|
||||
carry = 0;
|
||||
*y = (unsigned short)a;
|
||||
--x;
|
||||
--y;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* Multiply significand of e-type number b
|
||||
by 16-bit quantity a, e-type result to c. */
|
||||
|
||||
static void __m16m(short unsigned int a,
|
||||
short unsigned int * __restrict__ b,
|
||||
short unsigned int * __restrict__ c)
|
||||
{
|
||||
register unsigned short *pp;
|
||||
register unsigned long carry;
|
||||
unsigned short *ps;
|
||||
unsigned short p[NI];
|
||||
unsigned long aa, m;
|
||||
int i;
|
||||
|
||||
aa = a;
|
||||
pp = &p[NI - 2];
|
||||
*pp++ = 0;
|
||||
*pp = 0;
|
||||
ps = &b[NI - 1];
|
||||
|
||||
for(i = M + 1; i < NI; i++)
|
||||
{
|
||||
if (*ps == 0)
|
||||
{
|
||||
--ps;
|
||||
--pp;
|
||||
*(pp - 1) = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
m = (unsigned long) aa * *ps--;
|
||||
carry = (m & 0xffff) + *pp;
|
||||
*pp-- = (unsigned short)carry;
|
||||
carry = (carry >> 16) + (m >> 16) + *pp;
|
||||
*pp = (unsigned short)carry;
|
||||
*(pp - 1) = carry >> 16;
|
||||
}
|
||||
}
|
||||
for (i = M; i < NI; i++)
|
||||
c[i] = p[i];
|
||||
}
|
||||
|
||||
|
||||
/* Divide significands. Neither the numerator nor the denominator
|
||||
is permitted to have its high guard word nonzero. */
|
||||
|
||||
int __edivm(short unsigned int * __restrict__ den,
|
||||
short unsigned int * __restrict__ num)
|
||||
{
|
||||
int i;
|
||||
register unsigned short *p;
|
||||
unsigned long tnum;
|
||||
unsigned short j, tdenm, tquot;
|
||||
unsigned short tprod[NI + 1];
|
||||
unsigned short equot[NI];
|
||||
|
||||
p = &equot[0];
|
||||
*p++ = num[0];
|
||||
*p++ = num[1];
|
||||
|
||||
for (i = M; i < NI; i++)
|
||||
{
|
||||
*p++ = 0;
|
||||
}
|
||||
__eshdn1(num);
|
||||
tdenm = den[M + 1];
|
||||
for (i = M; i < NI; i++)
|
||||
{
|
||||
/* Find trial quotient digit (the radix is 65536). */
|
||||
tnum = (((unsigned long) num[M]) << 16) + num[M + 1];
|
||||
|
||||
/* Do not execute the divide instruction if it will overflow. */
|
||||
if ((tdenm * 0xffffUL) < tnum)
|
||||
tquot = 0xffff;
|
||||
else
|
||||
tquot = tnum / tdenm;
|
||||
|
||||
/* Prove that the divide worked. */
|
||||
/*
|
||||
tcheck = (unsigned long)tquot * tdenm;
|
||||
if (tnum - tcheck > tdenm)
|
||||
tquot = 0xffff;
|
||||
*/
|
||||
/* Multiply denominator by trial quotient digit. */
|
||||
__m16m(tquot, den, tprod);
|
||||
/* The quotient digit may have been overestimated. */
|
||||
if (__ecmpm(tprod, num) > 0)
|
||||
{
|
||||
tquot -= 1;
|
||||
__esubm(den, tprod);
|
||||
if(__ecmpm(tprod, num) > 0)
|
||||
{
|
||||
tquot -= 1;
|
||||
__esubm(den, tprod);
|
||||
}
|
||||
}
|
||||
__esubm(tprod, num);
|
||||
equot[i] = tquot;
|
||||
__eshup6(num);
|
||||
}
|
||||
/* test for nonzero remainder after roundoff bit */
|
||||
p = &num[M];
|
||||
j = 0;
|
||||
for (i = M; i < NI; i++)
|
||||
{
|
||||
j |= *p++;
|
||||
}
|
||||
if (j)
|
||||
j = 1;
|
||||
|
||||
for (i = 0; i < NI; i++)
|
||||
num[i] = equot[i];
|
||||
|
||||
return ( (int)j );
|
||||
}
|
||||
|
||||
|
||||
/* Multiply significands */
|
||||
int __emulm(const short unsigned int * __restrict__ a,
|
||||
short unsigned int * __restrict__ b)
|
||||
{
|
||||
const unsigned short *p;
|
||||
unsigned short *q;
|
||||
unsigned short pprod[NI];
|
||||
unsigned short equot[NI];
|
||||
unsigned short j;
|
||||
int i;
|
||||
|
||||
equot[0] = b[0];
|
||||
equot[1] = b[1];
|
||||
for (i = M; i < NI; i++)
|
||||
equot[i] = 0;
|
||||
|
||||
j = 0;
|
||||
p = &a[NI - 1];
|
||||
q = &equot[NI - 1];
|
||||
for (i = M + 1; i < NI; i++)
|
||||
{
|
||||
if (*p == 0)
|
||||
{
|
||||
--p;
|
||||
}
|
||||
else
|
||||
{
|
||||
__m16m(*p--, b, pprod);
|
||||
__eaddm(pprod, equot);
|
||||
}
|
||||
j |= *q;
|
||||
__eshdn6(equot);
|
||||
}
|
||||
|
||||
for (i = 0; i < NI; i++)
|
||||
b[i] = equot[i];
|
||||
|
||||
/* return flag for lost nonzero bits */
|
||||
return ( (int)j );
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Normalize and round off.
|
||||
*
|
||||
* The internal format number to be rounded is "s".
|
||||
* Input "lost" indicates whether the number is exact.
|
||||
* This is the so-called sticky bit.
|
||||
*
|
||||
* Input "subflg" indicates whether the number was obtained
|
||||
* by a subtraction operation. In that case if lost is nonzero
|
||||
* then the number is slightly smaller than indicated.
|
||||
*
|
||||
* Input "expo" is the biased exponent, which may be negative.
|
||||
* the exponent field of "s" is ignored but is replaced by
|
||||
* "expo" as adjusted by normalization and rounding.
|
||||
*
|
||||
* Input "rcntrl" is the rounding control.
|
||||
*
|
||||
* Input "rnprc" is precison control (64 or NBITS).
|
||||
*/
|
||||
|
||||
void __emdnorm(short unsigned int *s, int lost, int subflg, int expo, int rcntrl, int rndprc)
|
||||
{
|
||||
int i, j;
|
||||
unsigned short r;
|
||||
int rw = NI-1; /* low guard word */
|
||||
int re = NI-2;
|
||||
const unsigned short rmsk = 0xffff;
|
||||
const unsigned short rmbit = 0x8000;
|
||||
#if NE == 6
|
||||
unsigned short rbit[NI] = {0,0,0,0,0,0,0,1,0};
|
||||
#else
|
||||
unsigned short rbit[NI] = {0,0,0,0,0,0,0,0,0,0,0,1,0};
|
||||
#endif
|
||||
|
||||
/* Normalize */
|
||||
j = __enormlz(s);
|
||||
|
||||
/* a blank significand could mean either zero or infinity. */
|
||||
#ifndef INFINITY
|
||||
if (j > NBITS)
|
||||
{
|
||||
__ecleazs(s);
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
expo -= j;
|
||||
#ifndef INFINITY
|
||||
if (expo >= 32767L)
|
||||
goto overf;
|
||||
#else
|
||||
if ((j > NBITS) && (expo < 32767L))
|
||||
{
|
||||
__ecleazs(s);
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
if (expo < 0L)
|
||||
{
|
||||
if (expo > (long)(-NBITS - 1))
|
||||
{
|
||||
j = (int)expo;
|
||||
i = __eshift(s, j);
|
||||
if (i)
|
||||
lost = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
__ecleazs(s);
|
||||
return;
|
||||
}
|
||||
}
|
||||
/* Round off, unless told not to by rcntrl. */
|
||||
if (rcntrl == 0)
|
||||
goto mdfin;
|
||||
if (rndprc == 64)
|
||||
{
|
||||
rw = 7;
|
||||
re = 6;
|
||||
rbit[NI - 2] = 0;
|
||||
rbit[6] = 1;
|
||||
}
|
||||
|
||||
/* Shift down 1 temporarily if the data structure has an implied
|
||||
* most significant bit and the number is denormal.
|
||||
* For rndprc = 64 or NBITS, there is no implied bit.
|
||||
* But Intel long double denormals lose one bit of significance even so.
|
||||
*/
|
||||
#if IBMPC
|
||||
if ((expo <= 0) && (rndprc != NBITS))
|
||||
#else
|
||||
if ((expo <= 0) && (rndprc != 64) && (rndprc != NBITS))
|
||||
#endif
|
||||
{
|
||||
lost |= s[NI - 1] & 1;
|
||||
__eshdn1(s);
|
||||
}
|
||||
/* Clear out all bits below the rounding bit,
|
||||
* remembering in r if any were nonzero.
|
||||
*/
|
||||
r = s[rw] & rmsk;
|
||||
if (rndprc < NBITS)
|
||||
{
|
||||
i = rw + 1;
|
||||
while (i < NI)
|
||||
{
|
||||
if( s[i] )
|
||||
r |= 1;
|
||||
s[i] = 0;
|
||||
++i;
|
||||
}
|
||||
}
|
||||
s[rw] &= (rmsk ^ 0xffff);
|
||||
if ((r & rmbit) != 0)
|
||||
{
|
||||
if (r == rmbit)
|
||||
{
|
||||
if (lost == 0)
|
||||
{ /* round to even */
|
||||
if ((s[re] & 1) == 0)
|
||||
goto mddone;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (subflg != 0)
|
||||
goto mddone;
|
||||
}
|
||||
}
|
||||
__eaddm(rbit, s);
|
||||
}
|
||||
mddone:
|
||||
#if IBMPC
|
||||
if ((expo <= 0) && (rndprc != NBITS))
|
||||
#else
|
||||
if ((expo <= 0) && (rndprc != 64) && (rndprc != NBITS))
|
||||
#endif
|
||||
{
|
||||
__eshup1(s);
|
||||
}
|
||||
if (s[2] != 0)
|
||||
{ /* overflow on roundoff */
|
||||
__eshdn1(s);
|
||||
expo += 1;
|
||||
}
|
||||
mdfin:
|
||||
s[NI - 1] = 0;
|
||||
if (expo >= 32767L)
|
||||
{
|
||||
#ifndef INFINITY
|
||||
overf:
|
||||
#endif
|
||||
#ifdef INFINITY
|
||||
s[1] = 32767;
|
||||
for (i = 2; i < NI - 1; i++ )
|
||||
s[i] = 0;
|
||||
#else
|
||||
s[1] = 32766;
|
||||
s[2] = 0;
|
||||
for (i = M + 1; i < NI - 1; i++)
|
||||
s[i] = 0xffff;
|
||||
s[NI - 1] = 0;
|
||||
if ((rndprc < 64) || (rndprc == 113))
|
||||
s[rw] &= (rmsk ^ 0xffff);
|
||||
#endif
|
||||
return;
|
||||
}
|
||||
if (expo < 0)
|
||||
s[1] = 0;
|
||||
else
|
||||
s[1] = (unsigned short)expo;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
; Multiply.
|
||||
;
|
||||
; unsigned short a[NE], b[NE], c[NE];
|
||||
; emul( a, b, c ); c = b * a
|
||||
*/
|
||||
void __emul(const short unsigned int *a,
|
||||
const short unsigned int *b,
|
||||
short unsigned int *c)
|
||||
{
|
||||
unsigned short ai[NI], bi[NI];
|
||||
int i, j;
|
||||
long lt, lta, ltb;
|
||||
|
||||
#ifdef NANS
|
||||
/* NaN times anything is the same NaN. */
|
||||
if (__eisnan(a))
|
||||
{
|
||||
__emov(a, c);
|
||||
return;
|
||||
}
|
||||
if (__eisnan(b))
|
||||
{
|
||||
__emov(b, c);
|
||||
return;
|
||||
}
|
||||
/* Zero times infinity is a NaN. */
|
||||
if ((__eisinf(a) && __eiiszero(b))
|
||||
|| (__eisinf(b) && __eiiszero(a)))
|
||||
{
|
||||
mtherr( "emul", DOMAIN);
|
||||
__enan_NBITS(c);
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
/* Infinity times anything else is infinity. */
|
||||
#ifdef INFINITY
|
||||
if (__eisinf(a) || __eisinf(b))
|
||||
{
|
||||
if (__eisneg(a) ^ __eisneg(b))
|
||||
*(c + (NE-1)) = 0x8000;
|
||||
else
|
||||
*(c + (NE-1)) = 0;
|
||||
__einfin(c);
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
__emovi(a, ai);
|
||||
__emovi(b, bi);
|
||||
lta = ai[E];
|
||||
ltb = bi[E];
|
||||
if (ai[E] == 0)
|
||||
{
|
||||
for (i = 1; i < NI - 1; i++)
|
||||
{
|
||||
if (ai[i] != 0)
|
||||
{
|
||||
lta -= __enormlz( ai );
|
||||
goto mnzer1;
|
||||
}
|
||||
}
|
||||
__eclear(c);
|
||||
return;
|
||||
}
|
||||
mnzer1:
|
||||
|
||||
if (bi[E] == 0)
|
||||
{
|
||||
for (i = 1; i < NI - 1; i++)
|
||||
{
|
||||
if (bi[i] != 0)
|
||||
{
|
||||
ltb -= __enormlz(bi);
|
||||
goto mnzer2;
|
||||
}
|
||||
}
|
||||
__eclear(c);
|
||||
return;
|
||||
}
|
||||
mnzer2:
|
||||
|
||||
/* Multiply significands */
|
||||
j = __emulm(ai, bi);
|
||||
/* calculate exponent */
|
||||
lt = lta + ltb - (EXONE - 1);
|
||||
__emdnorm(bi, j, 0, lt, 64, NBITS);
|
||||
/* calculate sign of product */
|
||||
if (ai[0] == bi[0])
|
||||
bi[0] = 0;
|
||||
else
|
||||
bi[0] = 0xffff;
|
||||
__emovo(bi, c);
|
||||
}
|
||||
|
||||
|
||||
/* move out internal format to ieee long double */
|
||||
void __toe64(short unsigned int *a, short unsigned int *b)
|
||||
{
|
||||
register unsigned short *p, *q;
|
||||
unsigned short i;
|
||||
|
||||
#ifdef NANS
|
||||
if (__eiisnan(a))
|
||||
{
|
||||
__enan_64(b);
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
#ifdef IBMPC
|
||||
/* Shift Intel denormal significand down 1. */
|
||||
if (a[E] == 0)
|
||||
__eshdn1(a);
|
||||
#endif
|
||||
p = a;
|
||||
#ifdef MIEEE
|
||||
q = b;
|
||||
#else
|
||||
q = b + 4; /* point to output exponent */
|
||||
#if 1
|
||||
/* NOTE: if data type is 96 bits wide, clear the last word here. */
|
||||
*(q + 1)= 0;
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/* combine sign and exponent */
|
||||
i = *p++;
|
||||
#ifdef MIEEE
|
||||
if (i)
|
||||
*q++ = *p++ | 0x8000;
|
||||
else
|
||||
*q++ = *p++;
|
||||
*q++ = 0;
|
||||
#else
|
||||
if (i)
|
||||
*q-- = *p++ | 0x8000;
|
||||
else
|
||||
*q-- = *p++;
|
||||
#endif
|
||||
/* skip over guard word */
|
||||
++p;
|
||||
/* move the significand */
|
||||
#ifdef MIEEE
|
||||
for (i = 0; i < 4; i++)
|
||||
*q++ = *p++;
|
||||
#else
|
||||
#ifdef INFINITY
|
||||
if (__eiisinf(a))
|
||||
{
|
||||
/* Intel long double infinity. */
|
||||
*q-- = 0x8000;
|
||||
*q-- = 0;
|
||||
*q-- = 0;
|
||||
*q = 0;
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
for (i = 0; i < 4; i++)
|
||||
*q-- = *p++;
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
/* Compare two e type numbers.
|
||||
*
|
||||
* unsigned short a[NE], b[NE];
|
||||
* ecmp( a, b );
|
||||
*
|
||||
* returns +1 if a > b
|
||||
* 0 if a == b
|
||||
* -1 if a < b
|
||||
* -2 if either a or b is a NaN.
|
||||
*/
|
||||
int __ecmp(const short unsigned int * __restrict__ a,
|
||||
const short unsigned int * __restrict__ b)
|
||||
{
|
||||
unsigned short ai[NI], bi[NI];
|
||||
register unsigned short *p, *q;
|
||||
register int i;
|
||||
int msign;
|
||||
|
||||
#ifdef NANS
|
||||
if (__eisnan (a) || __eisnan (b))
|
||||
return (-2);
|
||||
#endif
|
||||
__emovi(a, ai);
|
||||
p = ai;
|
||||
__emovi(b, bi);
|
||||
q = bi;
|
||||
|
||||
if (*p != *q)
|
||||
{ /* the signs are different */
|
||||
/* -0 equals + 0 */
|
||||
for (i = 1; i < NI - 1; i++)
|
||||
{
|
||||
if (ai[i] != 0)
|
||||
goto nzro;
|
||||
if (bi[i] != 0)
|
||||
goto nzro;
|
||||
}
|
||||
return (0);
|
||||
nzro:
|
||||
if (*p == 0)
|
||||
return (1);
|
||||
else
|
||||
return (-1);
|
||||
}
|
||||
/* both are the same sign */
|
||||
if (*p == 0)
|
||||
msign = 1;
|
||||
else
|
||||
msign = -1;
|
||||
i = NI - 1;
|
||||
do
|
||||
{
|
||||
if (*p++ != *q++)
|
||||
{
|
||||
goto diff;
|
||||
}
|
||||
}
|
||||
while (--i > 0);
|
||||
|
||||
return (0); /* equality */
|
||||
|
||||
diff:
|
||||
if ( *(--p) > *(--q) )
|
||||
return (msign); /* p is bigger */
|
||||
else
|
||||
return (-msign); /* p is littler */
|
||||
}
|
||||
|
||||
/*
|
||||
; Shift significand
|
||||
;
|
||||
; Shifts significand area up or down by the number of bits
|
||||
; given by the variable sc.
|
||||
*/
|
||||
int __eshift(short unsigned int *x, int sc)
|
||||
{
|
||||
unsigned short lost;
|
||||
unsigned short *p;
|
||||
|
||||
if (sc == 0)
|
||||
return (0);
|
||||
|
||||
lost = 0;
|
||||
p = x + NI - 1;
|
||||
|
||||
if (sc < 0)
|
||||
{
|
||||
sc = -sc;
|
||||
while (sc >= 16)
|
||||
{
|
||||
lost |= *p; /* remember lost bits */
|
||||
__eshdn6(x);
|
||||
sc -= 16;
|
||||
}
|
||||
|
||||
while (sc >= 8)
|
||||
{
|
||||
lost |= *p & 0xff;
|
||||
__eshdn8(x);
|
||||
sc -= 8;
|
||||
}
|
||||
|
||||
while (sc > 0)
|
||||
{
|
||||
lost |= *p & 1;
|
||||
__eshdn1(x);
|
||||
sc -= 1;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
while (sc >= 16)
|
||||
{
|
||||
__eshup6(x);
|
||||
sc -= 16;
|
||||
}
|
||||
|
||||
while (sc >= 8)
|
||||
{
|
||||
__eshup8(x);
|
||||
sc -= 8;
|
||||
}
|
||||
|
||||
while (sc > 0)
|
||||
{
|
||||
__eshup1(x);
|
||||
sc -= 1;
|
||||
}
|
||||
}
|
||||
if (lost)
|
||||
lost = 1;
|
||||
return ( (int)lost );
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
; normalize
|
||||
;
|
||||
; Shift normalizes the significand area pointed to by argument
|
||||
; shift count (up = positive) is returned.
|
||||
*/
|
||||
int __enormlz(short unsigned int *x)
|
||||
{
|
||||
register unsigned short *p;
|
||||
int sc;
|
||||
|
||||
sc = 0;
|
||||
p = &x[M];
|
||||
if (*p != 0)
|
||||
goto normdn;
|
||||
++p;
|
||||
if (*p & 0x8000)
|
||||
return (0); /* already normalized */
|
||||
while (*p == 0)
|
||||
{
|
||||
__eshup6(x);
|
||||
sc += 16;
|
||||
/* With guard word, there are NBITS+16 bits available.
|
||||
* return true if all are zero.
|
||||
*/
|
||||
if (sc > NBITS)
|
||||
return (sc);
|
||||
}
|
||||
/* see if high byte is zero */
|
||||
while ((*p & 0xff00) == 0)
|
||||
{
|
||||
__eshup8(x);
|
||||
sc += 8;
|
||||
}
|
||||
/* now shift 1 bit at a time */
|
||||
while ((*p & 0x8000) == 0)
|
||||
{
|
||||
__eshup1(x);
|
||||
sc += 1;
|
||||
if (sc > (NBITS + 16))
|
||||
{
|
||||
mtherr( "enormlz", UNDERFLOW);
|
||||
return (sc);
|
||||
}
|
||||
}
|
||||
return (sc);
|
||||
|
||||
/* Normalize by shifting down out of the high guard word
|
||||
of the significand */
|
||||
normdn:
|
||||
if (*p & 0xff00)
|
||||
{
|
||||
__eshdn8(x);
|
||||
sc -= 8;
|
||||
}
|
||||
while (*p != 0)
|
||||
{
|
||||
__eshdn1(x);
|
||||
sc -= 1;
|
||||
|
||||
if (sc < -NBITS)
|
||||
{
|
||||
mtherr("enormlz", OVERFLOW);
|
||||
return (sc);
|
||||
}
|
||||
}
|
||||
return (sc);
|
||||
}
|
||||
|
||||
|
||||
/* Move internal format number out,
|
||||
* converting it to external format.
|
||||
*/
|
||||
void __emovo(const short unsigned int * __restrict__ a,
|
||||
short unsigned int * __restrict__ b)
|
||||
{
|
||||
register const unsigned short *p;
|
||||
register unsigned short *q;
|
||||
unsigned short i;
|
||||
|
||||
p = a;
|
||||
q = b + (NE - 1); /* point to output exponent */
|
||||
/* combine sign and exponent */
|
||||
i = *p++;
|
||||
if (i)
|
||||
*q-- = *p++ | 0x8000;
|
||||
else
|
||||
*q-- = *p++;
|
||||
#ifdef INFINITY
|
||||
if (*(p - 1) == 0x7fff)
|
||||
{
|
||||
#ifdef NANS
|
||||
if (__eiisnan(a))
|
||||
{
|
||||
__enan_NBITS(b);
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
__einfin(b);
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
/* skip over guard word */
|
||||
++p;
|
||||
/* move the significand */
|
||||
for (i = 0; i < NE - 1; i++)
|
||||
*q-- = *p++;
|
||||
}
|
||||
|
||||
|
||||
#if USE_LDTOA
|
||||
|
||||
void __eiremain(short unsigned int *den, short unsigned int *num,
|
||||
short unsigned int *equot )
|
||||
{
|
||||
long ld, ln;
|
||||
unsigned short j;
|
||||
|
||||
ld = den[E];
|
||||
ld -= __enormlz(den);
|
||||
ln = num[E];
|
||||
ln -= __enormlz(num);
|
||||
__ecleaz(equot);
|
||||
while (ln >= ld)
|
||||
{
|
||||
if(__ecmpm(den,num) <= 0)
|
||||
{
|
||||
__esubm(den, num);
|
||||
j = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
j = 0;
|
||||
}
|
||||
__eshup1(equot);
|
||||
equot[NI - 1] |= j;
|
||||
__eshup1(num);
|
||||
ln -= 1;
|
||||
}
|
||||
__emdnorm( num, 0, 0, ln, 0, NBITS );
|
||||
}
|
||||
|
||||
|
||||
void __eadd1(const short unsigned int * __restrict__ a,
|
||||
const short unsigned int * __restrict__ b,
|
||||
short unsigned int * __restrict__ c,
|
||||
int subflg)
|
||||
{
|
||||
unsigned short ai[NI], bi[NI], ci[NI];
|
||||
int i, lost, j, k;
|
||||
long lt, lta, ltb;
|
||||
|
||||
#ifdef INFINITY
|
||||
if (__eisinf(a))
|
||||
{
|
||||
__emov(a, c);
|
||||
if( subflg )
|
||||
__eneg(c);
|
||||
return;
|
||||
}
|
||||
if (__eisinf(b))
|
||||
{
|
||||
__emov(b, c);
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
__emovi(a, ai);
|
||||
__emovi(b, bi);
|
||||
if (sub)
|
||||
ai[0] = ~ai[0];
|
||||
|
||||
/* compare exponents */
|
||||
lta = ai[E];
|
||||
ltb = bi[E];
|
||||
lt = lta - ltb;
|
||||
if (lt > 0L)
|
||||
{ /* put the larger number in bi */
|
||||
__emovz(bi, ci);
|
||||
__emovz(ai, bi);
|
||||
__emovz(ci, ai);
|
||||
ltb = bi[E];
|
||||
lt = -lt;
|
||||
}
|
||||
lost = 0;
|
||||
if (lt != 0L)
|
||||
{
|
||||
if (lt < (long)(-NBITS - 1))
|
||||
goto done; /* answer same as larger addend */
|
||||
k = (int)lt;
|
||||
lost = __eshift(ai, k); /* shift the smaller number down */
|
||||
}
|
||||
else
|
||||
{
|
||||
/* exponents were the same, so must compare significands */
|
||||
i = __ecmpm(ai, bi);
|
||||
if (i == 0)
|
||||
{ /* the numbers are identical in magnitude */
|
||||
/* if different signs, result is zero */
|
||||
if (ai[0] != bi[0])
|
||||
{
|
||||
__eclear(c);
|
||||
return;
|
||||
}
|
||||
/* if same sign, result is double */
|
||||
/* double denomalized tiny number */
|
||||
if ((bi[E] == 0) && ((bi[3] & 0x8000) == 0))
|
||||
{
|
||||
__eshup1( bi );
|
||||
goto done;
|
||||
}
|
||||
/* add 1 to exponent unless both are zero! */
|
||||
for (j = 1; j < NI - 1; j++)
|
||||
{
|
||||
if (bi[j] != 0)
|
||||
{
|
||||
/* This could overflow, but let emovo take care of that. */
|
||||
ltb += 1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
bi[E] = (unsigned short )ltb;
|
||||
goto done;
|
||||
}
|
||||
if (i > 0)
|
||||
{ /* put the larger number in bi */
|
||||
__emovz(bi, ci);
|
||||
__emovz(ai, bi);
|
||||
__emovz(ci, ai);
|
||||
}
|
||||
}
|
||||
if (ai[0] == bi[0])
|
||||
{
|
||||
__eaddm(ai, bi);
|
||||
subflg = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
__esubm(ai, bi);
|
||||
subflg = 1;
|
||||
}
|
||||
__emdnorm(bi, lost, subflg, ltb, 64, NBITS);
|
||||
|
||||
done:
|
||||
__emovo(bi, c);
|
||||
}
|
||||
|
||||
|
||||
/* y = largest integer not greater than x
|
||||
* (truncated toward minus infinity)
|
||||
*
|
||||
* unsigned short x[NE], y[NE]
|
||||
*
|
||||
* efloor( x, y );
|
||||
*/
|
||||
|
||||
|
||||
void __efloor(short unsigned int *x, short unsigned int *y)
|
||||
{
|
||||
register unsigned short *p;
|
||||
int e, expon, i;
|
||||
unsigned short f[NE];
|
||||
const unsigned short bmask[] = {
|
||||
0xffff,
|
||||
0xfffe,
|
||||
0xfffc,
|
||||
0xfff8,
|
||||
0xfff0,
|
||||
0xffe0,
|
||||
0xffc0,
|
||||
0xff80,
|
||||
0xff00,
|
||||
0xfe00,
|
||||
0xfc00,
|
||||
0xf800,
|
||||
0xf000,
|
||||
0xe000,
|
||||
0xc000,
|
||||
0x8000,
|
||||
0x0000,
|
||||
};
|
||||
|
||||
__emov(x, f); /* leave in external format */
|
||||
expon = (int) f[NE - 1];
|
||||
e = (expon & 0x7fff) - (EXONE - 1);
|
||||
if (e <= 0)
|
||||
{
|
||||
__eclear(y);
|
||||
goto isitneg;
|
||||
}
|
||||
/* number of bits to clear out */
|
||||
e = NBITS - e;
|
||||
__emov(f, y);
|
||||
if (e <= 0)
|
||||
return;
|
||||
|
||||
p = &y[0];
|
||||
while (e >= 16)
|
||||
{
|
||||
*p++ = 0;
|
||||
e -= 16;
|
||||
}
|
||||
/* clear the remaining bits */
|
||||
*p &= bmask[e];
|
||||
/* truncate negatives toward minus infinity */
|
||||
isitneg:
|
||||
|
||||
if ((unsigned short)expon & (unsigned short)0x8000)
|
||||
{
|
||||
for (i = 0; i < NE - 1; i++)
|
||||
{
|
||||
if (f[i] != y[i])
|
||||
{
|
||||
__esub( __eone, y, y );
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
; Subtract external format numbers.
|
||||
;
|
||||
; unsigned short a[NE], b[NE], c[NE];
|
||||
; esub( a, b, c ); c = b - a
|
||||
*/
|
||||
|
||||
void __esub(const short unsigned int * a,
|
||||
const short unsigned int * b,
|
||||
short unsigned int * c)
|
||||
{
|
||||
#ifdef NANS
|
||||
if (__eisnan(a))
|
||||
{
|
||||
__emov (a, c);
|
||||
return;
|
||||
}
|
||||
if ( __eisnan(b))
|
||||
{
|
||||
__emov(b, c);
|
||||
return;
|
||||
}
|
||||
/* Infinity minus infinity is a NaN.
|
||||
* Test for subtracting infinities of the same sign.
|
||||
*/
|
||||
if (__eisinf(a) && __eisinf(b) && ((__eisneg (a) ^ __eisneg (b)) == 0))
|
||||
{
|
||||
mtherr("esub", DOMAIN);
|
||||
__enan_NBITS( c );
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
__eadd1(a, b, c, 1);
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
; Divide.
|
||||
;
|
||||
; unsigned short a[NI], b[NI], c[NI];
|
||||
; ediv( a, b, c ); c = b / a
|
||||
*/
|
||||
|
||||
void __ediv(const short unsigned int *a,
|
||||
const short unsigned int *b,
|
||||
short unsigned int *c)
|
||||
{
|
||||
unsigned short ai[NI], bi[NI];
|
||||
int i;
|
||||
long lt, lta, ltb;
|
||||
|
||||
#ifdef NANS
|
||||
/* Return any NaN input. */
|
||||
if (__eisnan(a))
|
||||
{
|
||||
__emov(a, c);
|
||||
return;
|
||||
}
|
||||
if (__eisnan(b))
|
||||
{
|
||||
__emov(b, c);
|
||||
return;
|
||||
}
|
||||
/* Zero over zero, or infinity over infinity, is a NaN. */
|
||||
if ((__eiszero(a) && __eiszero(b))
|
||||
|| (__eisinf (a) && __eisinf (b)))
|
||||
{
|
||||
mtherr("ediv", DOMAIN);
|
||||
__enan_NBITS( c );
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
/* Infinity over anything else is infinity. */
|
||||
#ifdef INFINITY
|
||||
if (__eisinf(b))
|
||||
{
|
||||
if (__eisneg(a) ^ __eisneg(b))
|
||||
*(c + (NE - 1)) = 0x8000;
|
||||
else
|
||||
*(c + (NE - 1)) = 0;
|
||||
__einfin(c);
|
||||
return;
|
||||
}
|
||||
if (__eisinf(a))
|
||||
{
|
||||
__eclear(c);
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
__emovi(a, ai);
|
||||
__emovi(b, bi);
|
||||
lta = ai[E];
|
||||
ltb = bi[E];
|
||||
if (bi[E] == 0)
|
||||
{ /* See if numerator is zero. */
|
||||
for (i = 1; i < NI - 1; i++)
|
||||
{
|
||||
if (bi[i] != 0)
|
||||
{
|
||||
ltb -= __enormlz(bi);
|
||||
goto dnzro1;
|
||||
}
|
||||
}
|
||||
__eclear(c);
|
||||
return;
|
||||
}
|
||||
dnzro1:
|
||||
|
||||
if (ai[E] == 0)
|
||||
{ /* possible divide by zero */
|
||||
for (i = 1; i < NI - 1; i++)
|
||||
{
|
||||
if (ai[i] != 0)
|
||||
{
|
||||
lta -= __enormlz(ai);
|
||||
goto dnzro2;
|
||||
}
|
||||
}
|
||||
if (ai[0] == bi[0])
|
||||
*(c + (NE - 1)) = 0;
|
||||
else
|
||||
*(c + (NE - 1)) = 0x8000;
|
||||
__einfin(c);
|
||||
mtherr("ediv", SING);
|
||||
return;
|
||||
}
|
||||
dnzro2:
|
||||
|
||||
i = __edivm(ai, bi);
|
||||
/* calculate exponent */
|
||||
lt = ltb - lta + EXONE;
|
||||
__emdnorm(bi, i, 0, lt, 64, NBITS);
|
||||
/* set the sign */
|
||||
if (ai[0] == bi[0])
|
||||
bi[0] = 0;
|
||||
else
|
||||
bi[0] = 0Xffff;
|
||||
__emovo(bi, c);
|
||||
}
|
||||
|
||||
void __e64toe(short unsigned int *pe, short unsigned int *y)
|
||||
{
|
||||
unsigned short yy[NI];
|
||||
unsigned short *p, *q, *e;
|
||||
int i;
|
||||
|
||||
e = pe;
|
||||
p = yy;
|
||||
for (i = 0; i < NE - 5; i++)
|
||||
*p++ = 0;
|
||||
#ifdef IBMPC
|
||||
for (i = 0; i < 5; i++)
|
||||
*p++ = *e++;
|
||||
#endif
|
||||
#ifdef DEC
|
||||
for (i = 0; i < 5; i++)
|
||||
*p++ = *e++;
|
||||
#endif
|
||||
#ifdef MIEEE
|
||||
p = &yy[0] + (NE - 1);
|
||||
*p-- = *e++;
|
||||
++e;
|
||||
for (i = 0; i < 4; i++)
|
||||
*p-- = *e++;
|
||||
#endif
|
||||
|
||||
#ifdef IBMPC
|
||||
/* For Intel long double, shift denormal significand up 1
|
||||
-- but only if the top significand bit is zero. */
|
||||
if ((yy[NE - 1] & 0x7fff) == 0 && (yy[NE - 2] & 0x8000) == 0)
|
||||
{
|
||||
unsigned short temp[NI + 1];
|
||||
__emovi(yy, temp);
|
||||
__eshup1(temp);
|
||||
__emovo(temp,y);
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
#ifdef INFINITY
|
||||
/* Point to the exponent field. */
|
||||
p = &yy[NE - 1];
|
||||
if (*p == 0x7fff)
|
||||
{
|
||||
#ifdef NANS
|
||||
#ifdef IBMPC
|
||||
for (i = 0; i < 4; i++)
|
||||
{
|
||||
if ((i != 3 && pe[i] != 0)
|
||||
/* Check for Intel long double infinity pattern. */
|
||||
|| (i == 3 && pe[i] != 0x8000))
|
||||
{
|
||||
__enan_NBITS(y);
|
||||
return;
|
||||
}
|
||||
}
|
||||
#else
|
||||
for (i = 1; i <= 4; i++)
|
||||
{
|
||||
if (pe[i] != 0)
|
||||
{
|
||||
__enan_NBITS(y);
|
||||
return;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
#endif /* NANS */
|
||||
__eclear(y);
|
||||
__einfin(y);
|
||||
if (*p & 0x8000)
|
||||
__eneg(y);
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
p = yy;
|
||||
q = y;
|
||||
for (i = 0; i < NE; i++)
|
||||
*q++ = *p++;
|
||||
}
|
||||
|
||||
#endif /* USE_LDTOA */
|
||||
Vendored
-719
@@ -1,719 +0,0 @@
|
||||
/**
|
||||
* This file has no copyright assigned and is placed in the Public Domain.
|
||||
* This file is part of the mingw-w64 runtime package.
|
||||
* No warranty is given; refer to the file DISCLAIMER.PD within this package.
|
||||
*/
|
||||
#ifndef _CEPHES_EMATH_H
|
||||
#define _CEPHES_EMATH_H
|
||||
|
||||
/**
|
||||
* This is a workaround for a gcc bug
|
||||
*/
|
||||
#define __restrict__
|
||||
|
||||
/* This file is extracted from S L Moshier's ioldoubl.c,
|
||||
* modified for use in MinGW
|
||||
*
|
||||
* Extended precision arithmetic functions for long double I/O.
|
||||
* This program has been placed in the public domain.
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* Revision history:
|
||||
*
|
||||
* 5 Jan 84 PDP-11 assembly language version
|
||||
* 6 Dec 86 C language version
|
||||
* 30 Aug 88 100 digit version, improved rounding
|
||||
* 15 May 92 80-bit long double support
|
||||
*
|
||||
* Author: S. L. Moshier.
|
||||
*
|
||||
* 6 Oct 02 Modified for MinGW by inlining utility routines,
|
||||
* removing global variables, and splitting out strtold
|
||||
* from _IO_ldtoa and _IO_ldtostr.
|
||||
*
|
||||
* Danny Smith <dannysmith@users.sourceforge.net>
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
/* ieee.c
|
||||
*
|
||||
* Extended precision IEEE binary floating point arithmetic routines
|
||||
*
|
||||
* Numbers are stored in C language as arrays of 16-bit unsigned
|
||||
* short integers. The arguments of the routines are pointers to
|
||||
* the arrays.
|
||||
*
|
||||
*
|
||||
* External e type data structure, simulates Intel 8087 chip
|
||||
* temporary real format but possibly with a larger significand:
|
||||
*
|
||||
* NE-1 significand words (least significant word first,
|
||||
* most significant bit is normally set)
|
||||
* exponent (value = EXONE for 1.0,
|
||||
* top bit is the sign)
|
||||
*
|
||||
*
|
||||
* Internal data structure of a number (a "word" is 16 bits):
|
||||
*
|
||||
* ei[0] sign word (0 for positive, 0xffff for negative)
|
||||
* ei[1] biased __exponent (value = EXONE for the number 1.0)
|
||||
* ei[2] high guard word (always zero after normalization)
|
||||
* ei[3]
|
||||
* to ei[NI-2] significand (NI-4 significand words,
|
||||
* most significant word first,
|
||||
* most significant bit is set)
|
||||
* ei[NI-1] low guard word (0x8000 bit is rounding place)
|
||||
*
|
||||
*
|
||||
*
|
||||
* Routines for external format numbers
|
||||
*
|
||||
* __asctoe64( string, &d ) ASCII string to long double
|
||||
* __asctoeg( string, e, prec ) ASCII string to specified precision
|
||||
* __e64toe( &d, e ) IEEE long double precision to e type
|
||||
* __eadd( a, b, c ) c = b + a
|
||||
* __eclear(e) e = 0
|
||||
* __ecmp (a, b) Returns 1 if a > b, 0 if a == b,
|
||||
* -1 if a < b, -2 if either a or b is a NaN.
|
||||
* __ediv( a, b, c ) c = b / a
|
||||
* __efloor( a, b ) truncate to integer, toward -infinity
|
||||
* __efrexp( a, exp, s ) extract exponent and significand
|
||||
* __eifrac( e, &l, frac ) e to long integer and e type fraction
|
||||
* __euifrac( e, &l, frac ) e to unsigned long integer and e type fraction
|
||||
* __einfin( e ) set e to infinity, leaving its sign alone
|
||||
* __eldexp( a, n, b ) multiply by 2**n
|
||||
* __emov( a, b ) b = a
|
||||
* __emul( a, b, c ) c = b * a
|
||||
* __eneg(e) e = -e
|
||||
* __eround( a, b ) b = nearest integer value to a
|
||||
* __esub( a, b, c ) c = b - a
|
||||
* __e24toasc( &f, str, n ) single to ASCII string, n digits after decimal
|
||||
* __e53toasc( &d, str, n ) double to ASCII string, n digits after decimal
|
||||
* __e64toasc( &d, str, n ) long double to ASCII string
|
||||
* __etoasc( e, str, n ) e to ASCII string, n digits after decimal
|
||||
* __etoe24( e, &f ) convert e type to IEEE single precision
|
||||
* __etoe53( e, &d ) convert e type to IEEE double precision
|
||||
* __etoe64( e, &d ) convert e type to IEEE long double precision
|
||||
* __eisneg( e ) 1 if sign bit of e != 0, else 0
|
||||
* __eisinf( e ) 1 if e has maximum exponent (non-IEEE)
|
||||
* or is infinite (IEEE)
|
||||
* __eisnan( e ) 1 if e is a NaN
|
||||
* __esqrt( a, b ) b = square root of a
|
||||
*
|
||||
*
|
||||
* Routines for internal format numbers
|
||||
*
|
||||
* __eaddm( ai, bi ) add significands, bi = bi + ai
|
||||
* __ecleaz(ei) ei = 0
|
||||
* __ecleazs(ei) set ei = 0 but leave its sign alone
|
||||
* __ecmpm( ai, bi ) compare significands, return 1, 0, or -1
|
||||
* __edivm( ai, bi ) divide significands, bi = bi / ai
|
||||
* __emdnorm(ai,l,s,exp) normalize and round off
|
||||
* __emovi( a, ai ) convert external a to internal ai
|
||||
* __emovo( ai, a ) convert internal ai to external a
|
||||
* __emovz( ai, bi ) bi = ai, low guard word of bi = 0
|
||||
* __emulm( ai, bi ) multiply significands, bi = bi * ai
|
||||
* __enormlz(ei) left-justify the significand
|
||||
* __eshdn1( ai ) shift significand and guards down 1 bit
|
||||
* __eshdn8( ai ) shift down 8 bits
|
||||
* __eshdn6( ai ) shift down 16 bits
|
||||
* __eshift( ai, n ) shift ai n bits up (or down if n < 0)
|
||||
* __eshup1( ai ) shift significand and guards up 1 bit
|
||||
* __eshup8( ai ) shift up 8 bits
|
||||
* __eshup6( ai ) shift up 16 bits
|
||||
* __esubm( ai, bi ) subtract significands, bi = bi - ai
|
||||
*
|
||||
*
|
||||
* The result is always normalized and rounded to NI-4 word precision
|
||||
* after each arithmetic operation.
|
||||
*
|
||||
* Exception flags are NOT fully supported.
|
||||
*
|
||||
* Define INFINITY in mconf.h for support of infinity; otherwise a
|
||||
* saturation arithmetic is implemented.
|
||||
*
|
||||
* Define NANS for support of Not-a-Number items; otherwise the
|
||||
* arithmetic will never produce a NaN output, and might be confused
|
||||
* by a NaN input.
|
||||
* If NaN's are supported, the output of ecmp(a,b) is -2 if
|
||||
* either a or b is a NaN. This means asking if(ecmp(a,b) < 0)
|
||||
* may not be legitimate. Use if(ecmp(a,b) == -1) for less-than
|
||||
* if in doubt.
|
||||
* Signaling NaN's are NOT supported; they are treated the same
|
||||
* as quiet NaN's.
|
||||
*
|
||||
* Denormals are always supported here where appropriate (e.g., not
|
||||
* for conversion to DEC numbers).
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <errno.h>
|
||||
#include <math.h>
|
||||
#include <locale.h>
|
||||
#include <ctype.h>
|
||||
|
||||
#undef alloca
|
||||
#define alloca __builtin_alloca
|
||||
|
||||
/* Don't build non-ANSI _IO_ldtoa. It is not thread safe. */
|
||||
#ifndef USE_LDTOA
|
||||
#define USE_LDTOA 0
|
||||
#endif
|
||||
|
||||
|
||||
/* Number of 16 bit words in external x type format */
|
||||
#define NE 6
|
||||
|
||||
/* Number of 16 bit words in internal format */
|
||||
#define NI (NE+3)
|
||||
|
||||
/* Array offset to exponent */
|
||||
#define E 1
|
||||
|
||||
/* Array offset to high guard word */
|
||||
#define M 2
|
||||
|
||||
/* Number of bits of precision */
|
||||
#define NBITS ((NI-4)*16)
|
||||
|
||||
/* Maximum number of decimal digits in ASCII conversion
|
||||
* = NBITS*log10(2)
|
||||
*/
|
||||
#define NDEC (NBITS*8/27)
|
||||
|
||||
/* The exponent of 1.0 */
|
||||
#define EXONE (0x3fff)
|
||||
|
||||
|
||||
#define mtherr(fname, code)
|
||||
|
||||
|
||||
extern long double strtold (const char * __restrict__ s, char ** __restrict__ se);
|
||||
extern int __asctoe64(const char * __restrict__ ss,
|
||||
short unsigned int * __restrict__ y);
|
||||
extern void __emul(const short unsigned int * a,
|
||||
const short unsigned int * b,
|
||||
short unsigned int * c);
|
||||
extern int __ecmp(const short unsigned int * __restrict__ a,
|
||||
const short unsigned int * __restrict__ b);
|
||||
extern int __enormlz(short unsigned int *x);
|
||||
extern int __eshift(short unsigned int *x, int sc);
|
||||
extern void __eaddm(const short unsigned int * __restrict__ x,
|
||||
short unsigned int * __restrict__ y);
|
||||
extern void __esubm(const short unsigned int * __restrict__ x,
|
||||
short unsigned int * __restrict__ y);
|
||||
extern void __emdnorm(short unsigned int *s, int lost, int subflg,
|
||||
int exp, int rcntrl, const int rndprc);
|
||||
extern void __toe64(short unsigned int * __restrict__ a,
|
||||
short unsigned int * __restrict__ b);
|
||||
extern int __edivm(short unsigned int * __restrict__ den,
|
||||
short unsigned int * __restrict__ num);
|
||||
extern int __emulm(const short unsigned int * __restrict__ a,
|
||||
short unsigned int * __restrict__ b);
|
||||
extern void __emovi(const short unsigned int * __restrict__ a,
|
||||
short unsigned int * __restrict__ b);
|
||||
extern void __emovo(const short unsigned int * __restrict__ a,
|
||||
short unsigned int * __restrict__ b);
|
||||
|
||||
#if USE_LDTOA
|
||||
|
||||
extern char * _IO_ldtoa(long double, int, int, int *, int *, char **);
|
||||
extern void _IO_ldtostr(long double *x, char *string, int ndigs,
|
||||
int flags, char fmt);
|
||||
|
||||
extern void __eiremain(short unsigned int * __restrict__ den,
|
||||
short unsigned int *__restrict__ num,
|
||||
short unsigned int *__restrict__ equot);
|
||||
extern void __efloor(short unsigned int *x, short unsigned int *y);
|
||||
extern void __eadd1(const short unsigned int * __restrict__ a,
|
||||
const short unsigned int * __restrict__ b,
|
||||
short unsigned int * __restrict__ c,
|
||||
int subflg);
|
||||
extern void __esub(const short unsigned int *a, const short unsigned int *b,
|
||||
short unsigned int *c);
|
||||
extern void __ediv(const short unsigned int *a, const short unsigned int *b,
|
||||
short unsigned int *c);
|
||||
extern void __e64toe(short unsigned int *pe, short unsigned int *y);
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
static __inline__ int __eisneg(const short unsigned int *x);
|
||||
static __inline__ int __eisinf(const short unsigned int *x);
|
||||
static __inline__ int __eisnan(const short unsigned int *x);
|
||||
static __inline__ int __eiszero(const short unsigned int *a);
|
||||
static __inline__ void __emovz(register const short unsigned int * __restrict__ a,
|
||||
register short unsigned int * __restrict__ b);
|
||||
static __inline__ void __eclear(register short unsigned int *x);
|
||||
static __inline__ void __ecleaz(register short unsigned int *xi);
|
||||
static __inline__ void __ecleazs(register short unsigned int *xi);
|
||||
static __inline__ int __eiisinf(const short unsigned int *x);
|
||||
static __inline__ int __eiisnan(const short unsigned int *x);
|
||||
static __inline__ int __eiiszero(const short unsigned int *x);
|
||||
static __inline__ void __enan_64(short unsigned int *nanptr);
|
||||
static __inline__ void __enan_NBITS (short unsigned int *nanptr);
|
||||
static __inline__ void __enan_NI16 (short unsigned int *nanptr);
|
||||
static __inline__ void __einfin(register short unsigned int *x);
|
||||
static __inline__ void __eneg(short unsigned int *x);
|
||||
static __inline__ void __eshup1(register short unsigned int *x);
|
||||
static __inline__ void __eshup8(register short unsigned int *x);
|
||||
static __inline__ void __eshup6(register short unsigned int *x);
|
||||
static __inline__ void __eshdn1(register short unsigned int *x);
|
||||
static __inline__ void __eshdn8(register short unsigned int *x);
|
||||
static __inline__ void __eshdn6(register short unsigned int *x);
|
||||
|
||||
|
||||
|
||||
/* Intel IEEE, low order words come first:
|
||||
*/
|
||||
#define IBMPC 1
|
||||
|
||||
/* Define 1 for ANSI C atan2() function
|
||||
* See atan.c and clog.c.
|
||||
*/
|
||||
#define ANSIC 1
|
||||
|
||||
/*define VOLATILE volatile*/
|
||||
#define VOLATILE
|
||||
|
||||
/* For 12-byte long doubles on an i386, pad a 16-bit short 0
|
||||
* to the end of real constants initialized by integer arrays.
|
||||
*
|
||||
* #define XPD 0,
|
||||
*
|
||||
* Otherwise, the type is 10 bytes long and XPD should be
|
||||
* defined blank.
|
||||
*
|
||||
* #define XPD
|
||||
*/
|
||||
#define XPD 0,
|
||||
/* #define XPD */
|
||||
#define NANS 1
|
||||
|
||||
/* NaN's require infinity support. */
|
||||
#ifdef NANS
|
||||
#ifndef INFINITY
|
||||
#define INFINITY
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/* This handles 64-bit long ints. */
|
||||
#define LONGBITS (8 * sizeof(long))
|
||||
|
||||
|
||||
#define NTEN 12
|
||||
#define MAXP 4096
|
||||
|
||||
/*
|
||||
; Clear out entire external format number.
|
||||
;
|
||||
; unsigned short x[];
|
||||
; eclear( x );
|
||||
*/
|
||||
|
||||
static __inline__ void __eclear(register short unsigned int *x)
|
||||
{
|
||||
memset(x, 0, NE * sizeof(unsigned short));
|
||||
}
|
||||
|
||||
|
||||
/* Move external format number from a to b.
|
||||
*
|
||||
* emov( a, b );
|
||||
*/
|
||||
|
||||
static __inline__ void __emov(register const short unsigned int * __restrict__ a,
|
||||
register short unsigned int * __restrict__ b)
|
||||
{
|
||||
memcpy(b, a, NE * sizeof(unsigned short));
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
; Negate external format number
|
||||
;
|
||||
; unsigned short x[NE];
|
||||
; eneg( x );
|
||||
*/
|
||||
|
||||
static __inline__ void __eneg(short unsigned int *x)
|
||||
{
|
||||
#ifdef NANS
|
||||
if (__eisnan(x))
|
||||
return;
|
||||
#endif
|
||||
x[NE-1] ^= 0x8000; /* Toggle the sign bit */
|
||||
}
|
||||
|
||||
|
||||
/* Return 1 if external format number is negative,
|
||||
* else return zero.
|
||||
*/
|
||||
static __inline__ int __eisneg(const short unsigned int *x)
|
||||
{
|
||||
#ifdef NANS
|
||||
if (__eisnan(x))
|
||||
return (0);
|
||||
#endif
|
||||
if (x[NE-1] & 0x8000)
|
||||
return (1);
|
||||
else
|
||||
return (0);
|
||||
}
|
||||
|
||||
|
||||
/* Return 1 if external format number has maximum possible exponent,
|
||||
* else return zero.
|
||||
*/
|
||||
static __inline__ int __eisinf(const short unsigned int *x)
|
||||
{
|
||||
if ((x[NE - 1] & 0x7fff) == 0x7fff)
|
||||
{
|
||||
#ifdef NANS
|
||||
if (__eisnan(x))
|
||||
return (0);
|
||||
#endif
|
||||
return (1);
|
||||
}
|
||||
else
|
||||
return (0);
|
||||
}
|
||||
|
||||
/* Check if e-type number is not a number.
|
||||
*/
|
||||
static __inline__ int __eisnan(const short unsigned int *x)
|
||||
{
|
||||
#ifdef NANS
|
||||
int i;
|
||||
/* NaN has maximum __exponent */
|
||||
if ((x[NE - 1] & 0x7fff) == 0x7fff)
|
||||
/* ... and non-zero significand field. */
|
||||
for (i = 0; i < NE - 1; i++)
|
||||
{
|
||||
if (*x++ != 0)
|
||||
return (1);
|
||||
}
|
||||
#endif
|
||||
return (0);
|
||||
}
|
||||
|
||||
/*
|
||||
; Fill __entire number, including __exponent and significand, with
|
||||
; largest possible number. These programs implement a saturation
|
||||
; value that is an ordinary, legal number. A special value
|
||||
; "infinity" may also be implemented; this would require tests
|
||||
; for that value and implementation of special rules for arithmetic
|
||||
; operations involving inifinity.
|
||||
*/
|
||||
|
||||
static __inline__ void __einfin(register short unsigned int *x)
|
||||
{
|
||||
register int i;
|
||||
#ifdef INFINITY
|
||||
for (i = 0; i < NE - 1; i++)
|
||||
*x++ = 0;
|
||||
*x |= 32767;
|
||||
#else
|
||||
for (i = 0; i < NE - 1; i++)
|
||||
*x++ = 0xffff;
|
||||
*x |= 32766;
|
||||
*(x - 5) = 0;
|
||||
#endif
|
||||
}
|
||||
|
||||
/* Clear out internal format number.
|
||||
*/
|
||||
|
||||
static __inline__ void __ecleaz(register short unsigned int *xi)
|
||||
{
|
||||
memset(xi, 0, NI * sizeof(unsigned short));
|
||||
}
|
||||
|
||||
/* same, but don't touch the sign. */
|
||||
|
||||
static __inline__ void __ecleazs(register short unsigned int *xi)
|
||||
{
|
||||
++xi;
|
||||
memset(xi, 0, (NI-1) * sizeof(unsigned short));
|
||||
}
|
||||
|
||||
/* Move internal format number from a to b.
|
||||
*/
|
||||
static __inline__ void __emovz(register const short unsigned int * __restrict__ a,
|
||||
register short unsigned int * __restrict__ b)
|
||||
{
|
||||
memcpy(b, a, (NI-1) * sizeof(unsigned short));
|
||||
b[NI - 1] = 0;
|
||||
}
|
||||
|
||||
/* Return nonzero if internal format number is a NaN.
|
||||
*/
|
||||
|
||||
static __inline__ int __eiisnan (const short unsigned int *x)
|
||||
{
|
||||
int i;
|
||||
|
||||
if ((x[E] & 0x7fff) == 0x7fff)
|
||||
{
|
||||
for (i = M + 1; i < NI; i++ )
|
||||
{
|
||||
if (x[i] != 0)
|
||||
return (1);
|
||||
}
|
||||
}
|
||||
return (0);
|
||||
}
|
||||
|
||||
/* Return nonzero if external format number is zero. */
|
||||
|
||||
static __inline__ int
|
||||
__eiszero(const short unsigned int * a)
|
||||
{
|
||||
union {
|
||||
long double ld;
|
||||
unsigned short sh[8];
|
||||
} av;
|
||||
av.ld = 0.0;
|
||||
memcpy (av.sh, a, 12);
|
||||
if (av.ld == 0.0)
|
||||
return (1);
|
||||
return (0);
|
||||
}
|
||||
|
||||
/* Return nonzero if internal format number is zero. */
|
||||
|
||||
static __inline__ int
|
||||
__eiiszero(const short unsigned int * ai)
|
||||
{
|
||||
int i;
|
||||
/* skip the sign word */
|
||||
for (i = 1; i < NI - 1; i++ )
|
||||
{
|
||||
if (ai[i] != 0)
|
||||
return (0);
|
||||
}
|
||||
return (1);
|
||||
}
|
||||
|
||||
|
||||
/* Return nonzero if internal format number is infinite. */
|
||||
|
||||
static __inline__ int
|
||||
__eiisinf (const unsigned short *x)
|
||||
{
|
||||
#ifdef NANS
|
||||
if (__eiisnan (x))
|
||||
return (0);
|
||||
#endif
|
||||
if ((x[E] & 0x7fff) == 0x7fff)
|
||||
return (1);
|
||||
return (0);
|
||||
}
|
||||
|
||||
/*
|
||||
; Compare significands of numbers in internal format.
|
||||
; Guard words are included in the comparison.
|
||||
;
|
||||
; unsigned short a[NI], b[NI];
|
||||
; cmpm( a, b );
|
||||
;
|
||||
; for the significands:
|
||||
; returns +1 if a > b
|
||||
; 0 if a == b
|
||||
; -1 if a < b
|
||||
*/
|
||||
static __inline__ int __ecmpm(register const short unsigned int * __restrict__ a,
|
||||
register const short unsigned int * __restrict__ b)
|
||||
{
|
||||
int i;
|
||||
|
||||
a += M; /* skip up to significand area */
|
||||
b += M;
|
||||
for (i = M; i < NI; i++)
|
||||
{
|
||||
if( *a++ != *b++ )
|
||||
goto difrnt;
|
||||
}
|
||||
return(0);
|
||||
|
||||
difrnt:
|
||||
if ( *(--a) > *(--b) )
|
||||
return (1);
|
||||
else
|
||||
return (-1);
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
; Shift significand down by 1 bit
|
||||
*/
|
||||
|
||||
static __inline__ void __eshdn1(register short unsigned int *x)
|
||||
{
|
||||
register unsigned short bits;
|
||||
int i;
|
||||
|
||||
x += M; /* point to significand area */
|
||||
|
||||
bits = 0;
|
||||
for (i = M; i < NI; i++ )
|
||||
{
|
||||
if (*x & 1)
|
||||
bits |= 1;
|
||||
*x >>= 1;
|
||||
if (bits & 2)
|
||||
*x |= 0x8000;
|
||||
bits <<= 1;
|
||||
++x;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
; Shift significand up by 1 bit
|
||||
*/
|
||||
|
||||
static __inline__ void __eshup1(register short unsigned int *x)
|
||||
{
|
||||
register unsigned short bits;
|
||||
int i;
|
||||
|
||||
x += NI-1;
|
||||
bits = 0;
|
||||
|
||||
for (i = M; i < NI; i++)
|
||||
{
|
||||
if (*x & 0x8000)
|
||||
bits |= 1;
|
||||
*x <<= 1;
|
||||
if (bits & 2)
|
||||
*x |= 1;
|
||||
bits <<= 1;
|
||||
--x;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
; Shift significand down by 8 bits
|
||||
*/
|
||||
|
||||
static __inline__ void __eshdn8(register short unsigned int *x)
|
||||
{
|
||||
register unsigned short newbyt, oldbyt;
|
||||
int i;
|
||||
|
||||
x += M;
|
||||
oldbyt = 0;
|
||||
for (i = M; i < NI; i++)
|
||||
{
|
||||
newbyt = *x << 8;
|
||||
*x >>= 8;
|
||||
*x |= oldbyt;
|
||||
oldbyt = newbyt;
|
||||
++x;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
; Shift significand up by 8 bits
|
||||
*/
|
||||
|
||||
static __inline__ void __eshup8(register short unsigned int *x)
|
||||
{
|
||||
int i;
|
||||
register unsigned short newbyt, oldbyt;
|
||||
|
||||
x += NI - 1;
|
||||
oldbyt = 0;
|
||||
|
||||
for (i = M; i < NI; i++)
|
||||
{
|
||||
newbyt = *x >> 8;
|
||||
*x <<= 8;
|
||||
*x |= oldbyt;
|
||||
oldbyt = newbyt;
|
||||
--x;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
; Shift significand up by 16 bits
|
||||
*/
|
||||
|
||||
static __inline__ void __eshup6(register short unsigned int *x)
|
||||
{
|
||||
int i;
|
||||
register unsigned short *p;
|
||||
|
||||
p = x + M;
|
||||
x += M + 1;
|
||||
|
||||
for (i = M; i < NI - 1; i++)
|
||||
*p++ = *x++;
|
||||
|
||||
*p = 0;
|
||||
}
|
||||
|
||||
/*
|
||||
; Shift significand down by 16 bits
|
||||
*/
|
||||
|
||||
static __inline__ void __eshdn6(register short unsigned int *x)
|
||||
{
|
||||
int i;
|
||||
register unsigned short *p;
|
||||
|
||||
x += NI - 1;
|
||||
p = x + 1;
|
||||
|
||||
for (i = M; i < NI - 1; i++)
|
||||
*(--p) = *(--x);
|
||||
|
||||
*(--p) = 0;
|
||||
}
|
||||
|
||||
/*
|
||||
; Add significands
|
||||
; x + y replaces y
|
||||
*/
|
||||
|
||||
static __inline__ void __enan_64(unsigned short* nanptr)
|
||||
{
|
||||
int i;
|
||||
for (i = 0; i < 3; i++)
|
||||
*nanptr++ = 0;
|
||||
*nanptr++ = 0xc000;
|
||||
*nanptr++ = 0x7fff;
|
||||
*nanptr = 0;
|
||||
return;
|
||||
}
|
||||
|
||||
static __inline__ void __enan_NBITS(unsigned short* nanptr)
|
||||
{
|
||||
int i;
|
||||
for (i = 0; i < NE - 2; i++)
|
||||
*nanptr++ = 0;
|
||||
*nanptr++ = 0xc000;
|
||||
*nanptr = 0x7fff;
|
||||
return;
|
||||
}
|
||||
|
||||
static __inline__ void __enan_NI16(unsigned short* nanptr)
|
||||
{
|
||||
int i;
|
||||
*nanptr++ = 0;
|
||||
*nanptr++ = 0x7fff;
|
||||
*nanptr++ = 0;
|
||||
*nanptr++ = 0xc000;
|
||||
for (i = 4; i < NI; i++)
|
||||
*nanptr++ = 0;
|
||||
return;
|
||||
}
|
||||
|
||||
#endif /* _CEPHES_EMATH_H */
|
||||
|
||||
Vendored
+48
-7
@@ -5,6 +5,7 @@
|
||||
*/
|
||||
#include <math.h>
|
||||
#include <errno.h>
|
||||
#include <float.h>
|
||||
#include "fastmath.h"
|
||||
|
||||
/* asinh(x) = copysign(log(fabs(x) + sqrt(x * x + 1.0)), x) */
|
||||
@@ -21,13 +22,53 @@ double asinh(double x)
|
||||
return x;
|
||||
#endif
|
||||
|
||||
/* Use log1p to avoid cancellation with small x. Put
|
||||
x * x in denom, so overflow is harmless.
|
||||
asinh(x) = log1p (x + sqrt (x * x + 1.0) - 1.0)
|
||||
= log1p (x + x * x / (sqrt (x * x + 1.0) + 1.0)) */
|
||||
/* NB the previous formula
|
||||
z = __fast_log1p (z + z * z / (__fast_sqrt (z * z + 1.0) + 1.0));
|
||||
was defective in two ways:
|
||||
1: It ommitted required brackets:
|
||||
z = __fast_log1p (z + z * (z / (__fast_sqrt (z * z + 1.0) + 1.0)));
|
||||
^ ^
|
||||
so would still overflow for large z.
|
||||
2: Even with the brackets, it still degraded quickly for large z
|
||||
(where z*z+1 == z*z).
|
||||
e.g. asinh (sinh 356.0)) gave 355.30685281944005
|
||||
*/
|
||||
|
||||
z = __fast_log1p (z + z * z / (__fast_sqrt (z * z + 1.0) + 1.0));
|
||||
const double asinhCutover = pow(2,DBL_MAX_EXP/2); // 1.3407807929943e+154
|
||||
|
||||
return ( x > 0.0 ? z : -z);
|
||||
if (z < asinhCutover)
|
||||
/* After excluding large values, the rearranged formula gives better results
|
||||
the original formula log(z + sqrt(z * z + 1.0)) for very small z.
|
||||
e.g. rearranged asinh(sinh 2e-301)) = 2e-301
|
||||
original asinh(sinh 2e-301)) = 0.
|
||||
asinh(z) = log (z + sqrt (z * z + 1.0))
|
||||
= log1p (z + sqrt (z * z + 1.0) - 1.0)
|
||||
= log1p (z + (sqrt (z * z + 1.0) - 1.0)
|
||||
* (sqrt (z * z + 1.0) + 1.0)
|
||||
/ (sqrt (z * z + 1.0) + 1.0))
|
||||
= log1p (z + ((z * z + 1.0) - 1.0)
|
||||
/ (sqrt (z * z + 1.0) + 1.0))
|
||||
= log1p (z + z * z / (sqrt (z * z + 1.0) + 1.0))
|
||||
*/
|
||||
z = __fast_log1p (z + z * (z / (__fast_sqrt (z * z + 1.0) + 1.0)));
|
||||
else
|
||||
/* above this, z*z+1 == z*z, so we can simplify
|
||||
(and avoid z*z being infinity).
|
||||
asinh(z) = log (z + sqrt (z * z + 1.0))
|
||||
= log (z + sqrt (z * z ))
|
||||
= log (2 * z)
|
||||
= log 2 + log z
|
||||
Choosing asinhCutover is a little tricky.
|
||||
We'd like something that's based on the nature of
|
||||
the numeric type (DBL_MAX_EXP, etc).
|
||||
If c = asinhCutover, then we need:
|
||||
(1) c*c == c*c + 1
|
||||
(2) log (2*c) = log 2 + log c.
|
||||
For float:
|
||||
9.490626562425156e7 is the smallest value that
|
||||
achieves (1), but it fails (2). (It only just fails,
|
||||
but enough to make the function erroneously non-monotonic).
|
||||
*/
|
||||
z = __fast_log(2) + __fast_log(z);
|
||||
return copysign(z, x); //ensure 0.0 -> 0.0 and -0.0 -> -0.0.
|
||||
}
|
||||
|
||||
|
||||
Vendored
+9
-8
@@ -5,6 +5,7 @@
|
||||
*/
|
||||
#include <math.h>
|
||||
#include <errno.h>
|
||||
#include <float.h>
|
||||
#include "fastmath.h"
|
||||
|
||||
/* asinh(x) = copysign(log(fabs(x) + sqrt(x * x + 1.0)), x) */
|
||||
@@ -21,13 +22,13 @@ float asinhf(float x)
|
||||
return x;
|
||||
#endif
|
||||
|
||||
/* See commentary in asinh */
|
||||
const float asinhCutover = pow(2,FLT_MAX_EXP/2);
|
||||
|
||||
/* Use log1p to avoid cancellation with small x. Put
|
||||
x * x in denom, so overflow is harmless.
|
||||
asinh(x) = log1p (x + sqrt (x * x + 1.0) - 1.0)
|
||||
= log1p (x + x * x / (sqrt (x * x + 1.0) + 1.0)) */
|
||||
|
||||
z = __fast_log1p (z + z * z / (__fast_sqrt (z * z + 1.0) + 1.0));
|
||||
|
||||
return ( x > 0.0 ? z : -z);
|
||||
if (z < asinhCutover)
|
||||
z = __fast_log1p (z + z * (z / (__fast_sqrt (z * z + 1.0) + 1.0)));
|
||||
//z = __fast_log(z + __fast_sqrt(z * z + 1.0));
|
||||
else
|
||||
z = __fast_log(2) + __fast_log(z);
|
||||
return copysignf(z, x); //ensure 0.0 -> 0.0 and -0.0 -> -0.0.
|
||||
}
|
||||
|
||||
Vendored
+8
-7
@@ -5,6 +5,7 @@
|
||||
*/
|
||||
#include <math.h>
|
||||
#include <errno.h>
|
||||
#include <float.h>
|
||||
#include "fastmath.h"
|
||||
|
||||
/* asinh(x) = copysign(log(fabs(x) + sqrt(x * x + 1.0)), x) */
|
||||
@@ -22,12 +23,12 @@ long double asinhl(long double x)
|
||||
return x;
|
||||
#endif
|
||||
|
||||
/* Use log1p to avoid cancellation with small x. Put
|
||||
x * x in denom, so overflow is harmless.
|
||||
asinh(x) = log1p (x + sqrt (x * x + 1.0) - 1.0)
|
||||
= log1p (x + x * x / (sqrt (x * x + 1.0) + 1.0)) */
|
||||
/* See commentary in asinh */
|
||||
const long double asinhCutover = powl(2,LDBL_MAX_EXP/2);
|
||||
|
||||
z = __fast_log1pl (z + z * z / (__fast_sqrtl (z * z + 1.0L) + 1.0L));
|
||||
|
||||
return ( x > 0.0 ? z : -z);
|
||||
if (z < asinhCutover)
|
||||
z = __fast_log1pl (z + z * (z / (__fast_sqrtl (z * z + 1.0) + 1.0)));
|
||||
else
|
||||
z = __fast_logl(2) + __fast_logl(z);
|
||||
return copysignl(z, x); //ensure 0.0 -> 0.0 and -0.0 -> -0.0.
|
||||
}
|
||||
|
||||
Vendored
+1
-1
@@ -32,5 +32,5 @@ double atanh(double x)
|
||||
= 0.5 * log1p ((1.0 + x - 1.0 + x) /(1.0 - x))
|
||||
= 0.5 * log1p ((2.0 * x ) / (1.0 - x)) */
|
||||
z = 0.5 * __fast_log1p ((z + z) / (1.0 - z));
|
||||
return x >= 0 ? z : -z;
|
||||
return copysign(z, x); //ensure 0.0 -> 0.0 and -0.0 -> -0.0.
|
||||
}
|
||||
|
||||
Vendored
+1
-1
@@ -31,5 +31,5 @@ float atanhf (float x)
|
||||
= 0.5 * log1p ((1.0 + x - 1.0 + x) /(1.0 - x))
|
||||
= 0.5 * log1p ((2.0 * x ) / (1.0 - x)) */
|
||||
z = 0.5 * __fast_log1p ((z + z) / (1.0 - z));
|
||||
return x >= 0 ? z : -z;
|
||||
return copysignf(z, x); //ensure 0.0 -> 0.0 and -0.0 -> -0.0.
|
||||
}
|
||||
|
||||
Vendored
+1
-1
@@ -30,5 +30,5 @@ long double atanhl (long double x)
|
||||
= 0.5 * log1p ((1.0 + x - 1.0 + x) /(1.0 - x))
|
||||
= 0.5 * log1p ((2.0 * x ) / (1.0 - x)) */
|
||||
z = 0.5L * __fast_log1pl ((z + z) / (1.0L - z));
|
||||
return x >= 0 ? z : -z;
|
||||
return copysignl(z, x); //ensure 0.0 -> 0.0 and -0.0 -> -0.0.
|
||||
}
|
||||
|
||||
Vendored
+4
-2
@@ -19,8 +19,10 @@ wint_t btowc (int c)
|
||||
{
|
||||
unsigned char ch = c;
|
||||
wchar_t wc = WEOF;
|
||||
MultiByteToWideChar (___lc_codepage_func(), MB_ERR_INVALID_CHARS,
|
||||
(char*)&ch, 1, &wc, 1);
|
||||
if (!MultiByteToWideChar (___lc_codepage_func(), MB_ERR_INVALID_CHARS,
|
||||
(char*)&ch, 1, &wc, 1))
|
||||
return WEOF;
|
||||
|
||||
return wc;
|
||||
}
|
||||
}
|
||||
|
||||
Vendored
+21
-12
@@ -2,18 +2,11 @@
|
||||
#define ___lc_codepage_func __dummy____lc_codepage_func
|
||||
#include <windows.h>
|
||||
#include <locale.h>
|
||||
#include <msvcrt.h>
|
||||
|
||||
#undef __lc_codepage
|
||||
#undef ___lc_codepage_func
|
||||
#include "mb_wc_common.h"
|
||||
|
||||
static unsigned int *msvcrt__lc_codepage;
|
||||
static unsigned int __cdecl msvcrt___lc_codepage_func(void)
|
||||
{
|
||||
return *msvcrt__lc_codepage;
|
||||
}
|
||||
|
||||
static unsigned int __cdecl setlocale_codepage_hack(void)
|
||||
{
|
||||
/* locale :: "lang[_country[.code_page]]" | ".code_page" */
|
||||
@@ -21,14 +14,23 @@ static unsigned int __cdecl setlocale_codepage_hack(void)
|
||||
return cp_str ? atoi(cp_str + 1) : 0;
|
||||
}
|
||||
|
||||
#ifndef __LIBMSVCRT_OS__
|
||||
|
||||
unsigned int (__cdecl *__MINGW_IMP_SYMBOL(___lc_codepage_func))(void) = setlocale_codepage_hack;
|
||||
|
||||
#else
|
||||
|
||||
#include <msvcrt.h>
|
||||
|
||||
static unsigned int *msvcrt__lc_codepage;
|
||||
static unsigned int __cdecl msvcrt___lc_codepage_func(void)
|
||||
{
|
||||
return *msvcrt__lc_codepage;
|
||||
}
|
||||
|
||||
static unsigned int __cdecl init_codepage_func(void);
|
||||
unsigned int (__cdecl *__MINGW_IMP_SYMBOL(___lc_codepage_func))(void) = init_codepage_func;
|
||||
|
||||
unsigned int __cdecl ___lc_codepage_func (void)
|
||||
{
|
||||
return __MINGW_IMP_SYMBOL(___lc_codepage_func) ();
|
||||
}
|
||||
|
||||
static unsigned int __cdecl init_codepage_func(void)
|
||||
{
|
||||
HMODULE msvcrt = __mingw_get_msvcrt_handle();
|
||||
@@ -48,3 +50,10 @@ static unsigned int __cdecl init_codepage_func(void)
|
||||
|
||||
return (__MINGW_IMP_SYMBOL(___lc_codepage_func) = func)();
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
unsigned int __cdecl ___lc_codepage_func(void)
|
||||
{
|
||||
return __MINGW_IMP_SYMBOL(___lc_codepage_func)();
|
||||
}
|
||||
|
||||
Vendored
+17
-1
@@ -1,4 +1,7 @@
|
||||
#include <stdio.h>
|
||||
#include <float.h>
|
||||
#include <errno.h>
|
||||
#include <math.h>
|
||||
|
||||
extern long double __cdecl
|
||||
__mingw_wcstold (const wchar_t * __restrict__ _Str, wchar_t ** __restrict__ _EndPtr);
|
||||
@@ -9,7 +12,20 @@ __mingw_wcstod (const wchar_t * __restrict__ _Str, wchar_t ** __restrict__ _EndP
|
||||
double __cdecl
|
||||
__mingw_wcstod (const wchar_t * __restrict__ _Str, wchar_t ** __restrict__ _EndPtr)
|
||||
{
|
||||
return (double) __mingw_wcstold (_Str, _EndPtr);
|
||||
long double ret = __mingw_wcstold (_Str, _EndPtr);
|
||||
if (isfinite(ret)) {
|
||||
/* Check for cases that aren't out of range for long doubles, but that are
|
||||
* for doubles. */
|
||||
if (ret > DBL_MAX)
|
||||
errno = ERANGE;
|
||||
else if (ret < -DBL_MAX)
|
||||
errno = ERANGE;
|
||||
else if (ret > 0 && ret < DBL_MIN)
|
||||
errno = ERANGE;
|
||||
else if (ret < 0 && ret > -DBL_MIN)
|
||||
errno = ERANGE;
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
|
||||
Vendored
+68
-26
@@ -1,32 +1,74 @@
|
||||
/**
|
||||
* This file has no copyright assigned and is placed in the Public Domain.
|
||||
* This file is part of the mingw-w64 runtime package.
|
||||
* No warranty is given; refer to the file DISCLAIMER.PD within this package.
|
||||
*/
|
||||
/* Wide char wrapper for strtold
|
||||
* Revision history:
|
||||
* 6 Nov 2002 Initial version.
|
||||
* 25 Aug 2006 Don't use strtold internal functions.
|
||||
*
|
||||
* Contributor: Danny Smith <dannysmith@users.sourceforege.net>
|
||||
*/
|
||||
|
||||
/* This routine has been placed in the public domain.*/
|
||||
|
||||
#ifndef WIN32_LEAN_AND_MEAN
|
||||
#define WIN32_LEAN_AND_MEAN
|
||||
#endif
|
||||
#include <windows.h>
|
||||
#include <stdio.h>
|
||||
#include <locale.h>
|
||||
#include <wchar.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <mbstring.h>
|
||||
|
||||
long double __cdecl
|
||||
__mingw_wcstold (const wchar_t * __restrict__ _Str, wchar_t ** __restrict__ _EndPtr);
|
||||
#include "mb_wc_common.h"
|
||||
|
||||
long double __cdecl
|
||||
__mingw_wcstold (const wchar_t * __restrict__ _Str, wchar_t ** __restrict__ _EndPtr)
|
||||
long double __mingw_wcstold (const wchar_t * __restrict__ wcs, wchar_t ** __restrict__ wcse)
|
||||
{
|
||||
long double r;
|
||||
char *n, *ep = NULL;
|
||||
size_t l, l2;
|
||||
char * cs;
|
||||
char * cse;
|
||||
unsigned int i;
|
||||
long double ret;
|
||||
const unsigned int cp = ___lc_codepage_func();
|
||||
|
||||
l = WideCharToMultiByte(CP_UTF8, 0, _Str, -1, NULL, 0, NULL, NULL);
|
||||
n = alloca (l + 1);
|
||||
if (l != 0) WideCharToMultiByte (CP_UTF8, 0, _Str, -1, n, l, NULL, NULL);
|
||||
n[l] = 0;
|
||||
r = __mingw_strtold (n, &ep);
|
||||
if (ep != NULL)
|
||||
{
|
||||
*ep = 0;
|
||||
l2 = MultiByteToWideChar(CP_UTF8, MB_ERR_INVALID_CHARS, n, -1, NULL, 0);
|
||||
if (l2 > 0)
|
||||
l2 -= 1; /* Remove zero terminator from length. */
|
||||
if (_EndPtr)
|
||||
*_EndPtr = (wchar_t *) &_Str[l2];
|
||||
}
|
||||
else if (_EndPtr)
|
||||
*_EndPtr = NULL;
|
||||
return r;
|
||||
/* Allocate enough room for (possibly) mb chars */
|
||||
cs = (char *) malloc ((wcslen(wcs)+1) * MB_CUR_MAX);
|
||||
|
||||
if (cp == 0) /* C locale */
|
||||
{
|
||||
for (i = 0; (wcs[i] != 0) && wcs[i] <= 255; i++)
|
||||
cs[i] = (char) wcs[i];
|
||||
cs[i] = '\0';
|
||||
}
|
||||
else
|
||||
{
|
||||
int nbytes = -1;
|
||||
int mb_len = 0;
|
||||
/* loop through till we hit null or invalid character */
|
||||
for (i = 0; (wcs[i] != 0) && (nbytes != 0); i++)
|
||||
{
|
||||
nbytes = WideCharToMultiByte(cp, WC_COMPOSITECHECK | WC_SEPCHARS,
|
||||
wcs + i, 1, cs + mb_len, MB_CUR_MAX,
|
||||
NULL, NULL);
|
||||
mb_len += nbytes;
|
||||
}
|
||||
cs[mb_len] = '\0';
|
||||
}
|
||||
|
||||
ret = strtold (cs, &cse);
|
||||
|
||||
if (wcse)
|
||||
{
|
||||
/* Make sure temp mbstring has 0 at cse. */
|
||||
*cse = '\0';
|
||||
i = MultiByteToWideChar (cp, MB_ERR_INVALID_CHARS, cs, -1, NULL, 0);
|
||||
if (i > 0)
|
||||
i -= 1; /* Remove zero terminator from length. */
|
||||
*wcse = (wchar_t *) wcs + i;
|
||||
}
|
||||
free (cs);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
Vendored
+9
-3
@@ -8,11 +8,17 @@
|
||||
errno_t __cdecl _set_errno (int _Value)
|
||||
{
|
||||
errno = _Value;
|
||||
return errno;
|
||||
return 0;
|
||||
}
|
||||
|
||||
errno_t __cdecl _get_errno (int *_Value)
|
||||
{
|
||||
if(_Value) *_Value=errno;
|
||||
return errno;
|
||||
if(!_Value)
|
||||
{
|
||||
errno = EINVAL;
|
||||
return EINVAL;
|
||||
}
|
||||
|
||||
*_Value = errno;
|
||||
return 0;
|
||||
}
|
||||
|
||||
Vendored
+2
@@ -50,6 +50,8 @@ __MINGW_USYMBOL(__intrinsic_setjmpex):
|
||||
movq %r15,0x48(%rcx) /* jmp_buf->R15 */
|
||||
movq (%rsp),%rax
|
||||
movq %rax,0x50(%rcx) /* jmp_buf->Rip */
|
||||
stmxcsr 0x58(%rcx) /* jmp_buf->MxCsr */
|
||||
fnstcw 0x5c(%rcx) /* jmp_buf->FpCsr */
|
||||
movdqa %xmm6,0x60(%rcx) /* jmp_buf->Xmm6 */
|
||||
movdqa %xmm7,0x70(%rcx) /* jmp_buf->Xmm7 */
|
||||
movdqa %xmm8,0x80(%rcx) /* jmp_buf->Xmm8 */
|
||||
|
||||
Vendored
-398
@@ -1,398 +0,0 @@
|
||||
/**
|
||||
* This file has no copyright assigned and is placed in the Public Domain.
|
||||
* This file is part of the mingw-w64 runtime package.
|
||||
* No warranty is given; refer to the file DISCLAIMER.PD within this package.
|
||||
*/
|
||||
|
||||
#include "math/cephes_emath.h"
|
||||
|
||||
#if NE == 10
|
||||
/* 1.0E0 */
|
||||
static const unsigned short __eone[NE] = {
|
||||
0x0000, 0x0000, 0x0000, 0x0000,
|
||||
0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0x3fff,
|
||||
};
|
||||
#else
|
||||
static const unsigned short __eone[NE] = {
|
||||
0, 0000000,0000000,0000000,0100000,0x3fff,
|
||||
};
|
||||
#endif
|
||||
|
||||
#if NE == 10
|
||||
static const unsigned short __etens[NTEN + 1][NE] =
|
||||
{
|
||||
{0x6576, 0x4a92, 0x804a, 0x153f,
|
||||
0xc94c, 0x979a, 0x8a20, 0x5202, 0xc460, 0x7525,}, /* 10**4096 */
|
||||
{0x6a32, 0xce52, 0x329a, 0x28ce,
|
||||
0xa74d, 0x5de4, 0xc53d, 0x3b5d, 0x9e8b, 0x5a92,}, /* 10**2048 */
|
||||
{0x526c, 0x50ce, 0xf18b, 0x3d28,
|
||||
0x650d, 0x0c17, 0x8175, 0x7586, 0xc976, 0x4d48,},
|
||||
{0x9c66, 0x58f8, 0xbc50, 0x5c54,
|
||||
0xcc65, 0x91c6, 0xa60e, 0xa0ae, 0xe319, 0x46a3,},
|
||||
{0x851e, 0xeab7, 0x98fe, 0x901b,
|
||||
0xddbb, 0xde8d, 0x9df9, 0xebfb, 0xaa7e, 0x4351,},
|
||||
{0x0235, 0x0137, 0x36b1, 0x336c,
|
||||
0xc66f, 0x8cdf, 0x80e9, 0x47c9, 0x93ba, 0x41a8,},
|
||||
{0x50f8, 0x25fb, 0xc76b, 0x6b71,
|
||||
0x3cbf, 0xa6d5, 0xffcf, 0x1f49, 0xc278, 0x40d3,},
|
||||
{0x0000, 0x0000, 0x0000, 0x0000,
|
||||
0xf020, 0xb59d, 0x2b70, 0xada8, 0x9dc5, 0x4069,},
|
||||
{0x0000, 0x0000, 0x0000, 0x0000,
|
||||
0x0000, 0x0000, 0x0400, 0xc9bf, 0x8e1b, 0x4034,},
|
||||
{0x0000, 0x0000, 0x0000, 0x0000,
|
||||
0x0000, 0x0000, 0x0000, 0x2000, 0xbebc, 0x4019,},
|
||||
{0x0000, 0x0000, 0x0000, 0x0000,
|
||||
0x0000, 0x0000, 0x0000, 0x0000, 0x9c40, 0x400c,},
|
||||
{0x0000, 0x0000, 0x0000, 0x0000,
|
||||
0x0000, 0x0000, 0x0000, 0x0000, 0xc800, 0x4005,},
|
||||
{0x0000, 0x0000, 0x0000, 0x0000,
|
||||
0x0000, 0x0000, 0x0000, 0x0000, 0xa000, 0x4002,}, /* 10**1 */
|
||||
};
|
||||
#else
|
||||
static const unsigned short __etens[NTEN+1][NE] = {
|
||||
{0xc94c,0x979a,0x8a20,0x5202,0xc460,0x7525,},/* 10**4096 */
|
||||
{0xa74d,0x5de4,0xc53d,0x3b5d,0x9e8b,0x5a92,},/* 10**2048 */
|
||||
{0x650d,0x0c17,0x8175,0x7586,0xc976,0x4d48,},
|
||||
{0xcc65,0x91c6,0xa60e,0xa0ae,0xe319,0x46a3,},
|
||||
{0xddbc,0xde8d,0x9df9,0xebfb,0xaa7e,0x4351,},
|
||||
{0xc66f,0x8cdf,0x80e9,0x47c9,0x93ba,0x41a8,},
|
||||
{0x3cbf,0xa6d5,0xffcf,0x1f49,0xc278,0x40d3,},
|
||||
{0xf020,0xb59d,0x2b70,0xada8,0x9dc5,0x4069,},
|
||||
{0x0000,0x0000,0x0400,0xc9bf,0x8e1b,0x4034,},
|
||||
{0x0000,0x0000,0x0000,0x2000,0xbebc,0x4019,},
|
||||
{0x0000,0x0000,0x0000,0x0000,0x9c40,0x400c,},
|
||||
{0x0000,0x0000,0x0000,0x0000,0xc800,0x4005,},
|
||||
{0x0000,0x0000,0x0000,0x0000,0xa000,0x4002,}, /* 10**1 */
|
||||
};
|
||||
#endif
|
||||
|
||||
int __asctoe64(const char * __restrict__ ss, short unsigned int * __restrict__ y)
|
||||
{
|
||||
unsigned short yy[NI], xt[NI], tt[NI];
|
||||
int esign, decflg, nexp, expo, lost;
|
||||
int k, c;
|
||||
int valid_lead_string = 0;
|
||||
int have_non_zero_mant = 0;
|
||||
int prec = 0;
|
||||
/* int trail = 0; */
|
||||
int lexp;
|
||||
unsigned short nsign = 0;
|
||||
const unsigned short *p;
|
||||
char *sp, *lstr;
|
||||
char *s;
|
||||
|
||||
const char dec_sym = *(localeconv ()->decimal_point);
|
||||
|
||||
int lenldstr = 0;
|
||||
|
||||
/* Copy the input string. */
|
||||
c = strlen (ss) + 2;
|
||||
lstr = (char *) alloca (c);
|
||||
s = (char *) ss;
|
||||
while( isspace ((int)(unsigned char)*s)) /* skip leading spaces */
|
||||
{
|
||||
++s;
|
||||
++lenldstr;
|
||||
}
|
||||
sp = lstr;
|
||||
for (k = 0; k < c; k++)
|
||||
{
|
||||
if ((*sp++ = *s++) == '\0')
|
||||
break;
|
||||
}
|
||||
*sp = '\0';
|
||||
s = lstr;
|
||||
|
||||
if (*s == '-')
|
||||
{
|
||||
nsign = 0xffff;
|
||||
++s;
|
||||
}
|
||||
else if (*s == '+')
|
||||
{
|
||||
++s;
|
||||
}
|
||||
|
||||
if (_strnicmp("INF", s , 3) == 0)
|
||||
{
|
||||
valid_lead_string = 1;
|
||||
s += 3;
|
||||
if ( _strnicmp ("INITY", s, 5) == 0)
|
||||
s += 5;
|
||||
__ecleaz(yy);
|
||||
yy[E] = 0x7fff; /* infinity */
|
||||
goto aexit;
|
||||
}
|
||||
else if(_strnicmp ("NAN", s, 3) == 0)
|
||||
{
|
||||
valid_lead_string = 1;
|
||||
s += 3;
|
||||
__enan_NI16( yy );
|
||||
goto aexit;
|
||||
}
|
||||
|
||||
/* FIXME: Handle case of strtold ("NAN(n_char_seq)",endptr) */
|
||||
|
||||
/* Now get some digits. */
|
||||
lost = 0;
|
||||
decflg = 0;
|
||||
nexp = 0;
|
||||
expo = 0;
|
||||
__ecleaz( yy );
|
||||
|
||||
/* Ignore leading zeros */
|
||||
while (*s == '0')
|
||||
{
|
||||
valid_lead_string = 1;
|
||||
s++;
|
||||
}
|
||||
|
||||
nxtcom:
|
||||
|
||||
k = *s - '0';
|
||||
if ((k >= 0) && (k <= 9))
|
||||
{
|
||||
#if 0
|
||||
/* The use of a special char as a flag for trailing zeroes causes problems when input
|
||||
actually contains the char */
|
||||
/* Identify and strip trailing zeros after the decimal point. */
|
||||
if ((trail == 0) && (decflg != 0))
|
||||
{
|
||||
sp = s;
|
||||
while ((*sp >= '0') && (*sp <= '9'))
|
||||
++sp;
|
||||
--sp;
|
||||
while (*sp == '0')
|
||||
{
|
||||
*sp-- = (char)-1;
|
||||
trail++;
|
||||
}
|
||||
if( *s == (char)-1 )
|
||||
goto donchr;
|
||||
}
|
||||
#endif
|
||||
|
||||
/* If enough digits were given to more than fill up the yy register,
|
||||
* continuing until overflow into the high guard word yy[2]
|
||||
* guarantees that there will be a roundoff bit at the top
|
||||
* of the low guard word after normalization.
|
||||
*/
|
||||
if (yy[2] == 0)
|
||||
{
|
||||
if( decflg )
|
||||
nexp += 1; /* count digits after decimal point */
|
||||
__eshup1( yy ); /* multiply current number by 10 */
|
||||
__emovz( yy, xt );
|
||||
__eshup1( xt );
|
||||
__eshup1( xt );
|
||||
__eaddm( xt, yy );
|
||||
__ecleaz( xt );
|
||||
xt[NI-2] = (unsigned short )k;
|
||||
__eaddm( xt, yy );
|
||||
}
|
||||
else
|
||||
{
|
||||
/* Mark any lost non-zero digit. */
|
||||
lost |= k;
|
||||
/* Count lost digits before the decimal point. */
|
||||
if (decflg == 0)
|
||||
nexp -= 1;
|
||||
}
|
||||
have_non_zero_mant |= k;
|
||||
prec ++;
|
||||
/* goto donchr; */
|
||||
}
|
||||
else if (*s == dec_sym)
|
||||
{
|
||||
if( decflg )
|
||||
goto daldone;
|
||||
++decflg;
|
||||
}
|
||||
else if ((*s == 'E') || (*s == 'e') )
|
||||
{
|
||||
if (prec || valid_lead_string)
|
||||
goto expnt;
|
||||
else
|
||||
goto daldone;
|
||||
}
|
||||
#if 0
|
||||
else if (*s == (char)-1)
|
||||
goto donchr;
|
||||
#endif
|
||||
else /* an invalid char */
|
||||
goto daldone;
|
||||
|
||||
/* donchr: */
|
||||
++s;
|
||||
goto nxtcom;
|
||||
|
||||
/* Exponent interpretation */
|
||||
expnt:
|
||||
|
||||
esign = 1;
|
||||
expo = 0;
|
||||
/* Save position in case we need to fall back. */
|
||||
sp = s;
|
||||
++s;
|
||||
/* check for + or - */
|
||||
if (*s == '-')
|
||||
{
|
||||
esign = -1;
|
||||
++s;
|
||||
}
|
||||
if (*s == '+')
|
||||
++s;
|
||||
|
||||
/* Check for valid exponent. */
|
||||
if (!(*s >= '0' && *s <= '9'))
|
||||
{
|
||||
s = sp;
|
||||
goto daldone;
|
||||
}
|
||||
|
||||
while ((*s >= '0') && (*s <= '9'))
|
||||
{
|
||||
/* Stop modifying exp if we are going to overflow anyway,
|
||||
but keep parsing the string. */
|
||||
if (expo < 4978)
|
||||
{
|
||||
expo *= 10;
|
||||
expo += *s - '0';
|
||||
}
|
||||
s++;
|
||||
}
|
||||
|
||||
if (esign < 0)
|
||||
expo = -expo;
|
||||
|
||||
if (expo > 4977) /* maybe overflow */
|
||||
{
|
||||
__ecleaz(yy);
|
||||
if (have_non_zero_mant)
|
||||
yy[E] = 0x7fff;
|
||||
goto aexit;
|
||||
}
|
||||
else if (expo < -4977) /* underflow */
|
||||
{
|
||||
__ecleaz(yy);
|
||||
goto aexit;
|
||||
}
|
||||
|
||||
daldone:
|
||||
|
||||
nexp = expo - nexp;
|
||||
|
||||
/* Pad trailing zeros to minimize power of 10, per IEEE spec. */
|
||||
while ((nexp > 0) && (yy[2] == 0))
|
||||
{
|
||||
__emovz( yy, xt );
|
||||
__eshup1( xt );
|
||||
__eshup1( xt );
|
||||
__eaddm( yy, xt );
|
||||
__eshup1( xt );
|
||||
if (xt[2] != 0)
|
||||
break;
|
||||
nexp -= 1;
|
||||
__emovz( xt, yy );
|
||||
}
|
||||
if ((k = __enormlz(yy)) > NBITS)
|
||||
{
|
||||
__ecleaz(yy);
|
||||
goto aexit;
|
||||
}
|
||||
lexp = (EXONE - 1 + NBITS) - k;
|
||||
__emdnorm( yy, lost, 0, lexp, 64, NBITS );
|
||||
/* convert to external format */
|
||||
|
||||
/* Multiply by 10**nexp. If precision is 64 bits,
|
||||
* the maximum relative error incurred in forming 10**n
|
||||
* for 0 <= n <= 324 is 8.2e-20, at 10**180.
|
||||
* For 0 <= n <= 999, the peak relative error is 1.4e-19 at 10**947.
|
||||
* For 0 >= n >= -999, it is -1.55e-19 at 10**-435.
|
||||
*/
|
||||
lexp = yy[E];
|
||||
if (nexp == 0)
|
||||
{
|
||||
k = 0;
|
||||
goto expdon;
|
||||
}
|
||||
esign = 1;
|
||||
if (nexp < 0)
|
||||
{
|
||||
nexp = -nexp;
|
||||
esign = -1;
|
||||
if (nexp > 4096)
|
||||
{ /* Punt. Can't handle this without 2 divides. */
|
||||
__emovi( __etens[0], tt );
|
||||
lexp -= tt[E];
|
||||
k = __edivm( tt, yy );
|
||||
lexp += EXONE;
|
||||
nexp -= 4096;
|
||||
}
|
||||
}
|
||||
p = &__etens[NTEN][0];
|
||||
__emov( __eone, xt );
|
||||
expo = 1;
|
||||
do
|
||||
{
|
||||
if (expo & nexp)
|
||||
__emul( p, xt, xt );
|
||||
p -= NE;
|
||||
expo = expo + expo;
|
||||
}
|
||||
while (expo <= MAXP);
|
||||
|
||||
__emovi( xt, tt );
|
||||
if (esign < 0)
|
||||
{
|
||||
lexp -= tt[E];
|
||||
k = __edivm( tt, yy );
|
||||
lexp += EXONE;
|
||||
}
|
||||
else
|
||||
{
|
||||
lexp += tt[E];
|
||||
k = __emulm( tt, yy );
|
||||
lexp -= EXONE - 1;
|
||||
}
|
||||
|
||||
expdon:
|
||||
|
||||
/* Round and convert directly to the destination type */
|
||||
|
||||
__emdnorm( yy, k, 0, lexp, 64, 64 );
|
||||
|
||||
aexit:
|
||||
|
||||
yy[0] = nsign;
|
||||
|
||||
__toe64( yy, y );
|
||||
|
||||
/* Check for overflow, undeflow */
|
||||
if (have_non_zero_mant &&
|
||||
(*((long double*) y) == 0.0L || isinf (*((long double*) y))))
|
||||
errno = ERANGE;
|
||||
|
||||
if (prec || valid_lead_string)
|
||||
return (lenldstr + (s - lstr));
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
long double strtold (const char * __restrict__ s, char ** __restrict__ se)
|
||||
{
|
||||
int lenldstr;
|
||||
union
|
||||
{
|
||||
unsigned short int us[6];
|
||||
long double ld;
|
||||
} xx = {{0}};
|
||||
|
||||
lenldstr = __asctoe64( s, xx.us);
|
||||
if (se)
|
||||
*se = (char*)s + lenldstr;
|
||||
|
||||
return xx.ld;
|
||||
}
|
||||
|
||||
Vendored
+1
-63
@@ -3,72 +3,10 @@
|
||||
* This file is part of the mingw-w64 runtime package.
|
||||
* No warranty is given; refer to the file DISCLAIMER.PD within this package.
|
||||
*/
|
||||
/* Wide char wrapper for strtold
|
||||
* Revision history:
|
||||
* 6 Nov 2002 Initial version.
|
||||
* 25 Aug 2006 Don't use strtold internal functions.
|
||||
*
|
||||
* Contributor: Danny Smith <dannysmith@users.sourceforege.net>
|
||||
*/
|
||||
|
||||
/* This routine has been placed in the public domain.*/
|
||||
|
||||
#ifndef WIN32_LEAN_AND_MEAN
|
||||
#define WIN32_LEAN_AND_MEAN
|
||||
#endif
|
||||
#include <windows.h>
|
||||
#include <locale.h>
|
||||
#include <wchar.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <mbstring.h>
|
||||
|
||||
#include "mb_wc_common.h"
|
||||
|
||||
long double wcstold (const wchar_t * __restrict__ wcs, wchar_t ** __restrict__ wcse)
|
||||
{
|
||||
char * cs;
|
||||
char * cse;
|
||||
unsigned int i;
|
||||
long double ret;
|
||||
const unsigned int cp = ___lc_codepage_func();
|
||||
|
||||
/* Allocate enough room for (possibly) mb chars */
|
||||
cs = (char *) malloc ((wcslen(wcs)+1) * MB_CUR_MAX);
|
||||
|
||||
if (cp == 0) /* C locale */
|
||||
{
|
||||
for (i = 0; (wcs[i] != 0) && wcs[i] <= 255; i++)
|
||||
cs[i] = (char) wcs[i];
|
||||
cs[i] = '\0';
|
||||
}
|
||||
else
|
||||
{
|
||||
int nbytes = -1;
|
||||
int mb_len = 0;
|
||||
/* loop through till we hit null or invalid character */
|
||||
for (i = 0; (wcs[i] != 0) && (nbytes != 0); i++)
|
||||
{
|
||||
nbytes = WideCharToMultiByte(cp, WC_COMPOSITECHECK | WC_SEPCHARS,
|
||||
wcs + i, 1, cs + mb_len, MB_CUR_MAX,
|
||||
NULL, NULL);
|
||||
mb_len += nbytes;
|
||||
}
|
||||
cs[mb_len] = '\0';
|
||||
}
|
||||
|
||||
ret = strtold (cs, &cse);
|
||||
|
||||
if (wcse)
|
||||
{
|
||||
/* Make sure temp mbstring has 0 at cse. */
|
||||
*cse = '\0';
|
||||
i = MultiByteToWideChar (cp, MB_ERR_INVALID_CHARS, cs, -1, NULL, 0);
|
||||
if (i > 0)
|
||||
i -= 1; /* Remove zero terminator from length. */
|
||||
*wcse = (wchar_t *) wcs + i;
|
||||
}
|
||||
free (cs);
|
||||
|
||||
return ret;
|
||||
return __mingw_wcstold(wcs, wcse);
|
||||
}
|
||||
|
||||
Vendored
-5
@@ -33,13 +33,8 @@ vsprintf_s (char *_DstBuf, size_t _Size, const char *_Format, va_list _ArgList)
|
||||
return _stub (_DstBuf, _Size, _Format, _ArgList);
|
||||
}
|
||||
|
||||
#pragma clang diagnostic push
|
||||
#pragma clang diagnostic ignored "-Wimplicit-function-declaration"
|
||||
|
||||
static int __cdecl
|
||||
_int_vsprintf_s (char *_DstBuf, size_t _Size, const char *_Format, va_list _ArgList)
|
||||
{
|
||||
return __ms_vsnprintf (_DstBuf, _Size, _Format, _ArgList);
|
||||
}
|
||||
|
||||
#pragma clang diagnostic pop
|
||||
|
||||
Vendored
+925
-837
@@ -212,7 +212,7 @@ typedef enum
|
||||
PFORMAT_SET_PRECISION,
|
||||
PFORMAT_END
|
||||
} __pformat_state_t;
|
||||
|
||||
|
||||
typedef enum
|
||||
{
|
||||
/* Argument length classification indices...
|
||||
@@ -289,8 +289,8 @@ typedef struct
|
||||
int precision;
|
||||
int rplen;
|
||||
wchar_t rpchr;
|
||||
int thousands_chr_len;
|
||||
wchar_t thousands_chr;
|
||||
int thousands_chr_len;
|
||||
wchar_t thousands_chr;
|
||||
int count;
|
||||
int quota;
|
||||
int expmin;
|
||||
@@ -787,7 +787,7 @@ while( value.__pformat_ullong_t )
|
||||
{
|
||||
/* decomposing it into its constituent decimal digits,
|
||||
* in order from least significant to most significant, using
|
||||
* the local buffer as a LIFO queue in which to store them.
|
||||
* the local buffer as a LIFO queue in which to store them.
|
||||
*/
|
||||
if (p != buf && (stream->flags & PFORMAT_GROUPED) != 0 && stream->thousands_chr != 0
|
||||
&& ((p - buf) % 4) == 3)
|
||||
@@ -833,7 +833,7 @@ while( value.__pformat_ullong_t )
|
||||
* to the left of the displayed value, with zeros.
|
||||
*/
|
||||
while( stream->width-- > 0 )
|
||||
*p++ = '0';
|
||||
*p++ = '0';
|
||||
|
||||
else if( (stream->flags & PFORMAT_LJUSTIFY) == 0 )
|
||||
/*
|
||||
@@ -842,7 +842,7 @@ while( value.__pformat_ullong_t )
|
||||
* the value appears right justified within the output field.
|
||||
*/
|
||||
while( stream->width-- > 0 )
|
||||
__pformat_putc( '\x20', stream );
|
||||
__pformat_putc( '\x20', stream );
|
||||
}
|
||||
|
||||
if( stream->flags & PFORMAT_NEGATIVE )
|
||||
@@ -943,7 +943,7 @@ void __pformat_xint( int fmt, __pformat_intarg_t value, __pformat_t *stream )
|
||||
*/
|
||||
while( width-- > 0 )
|
||||
*p++ = '0';
|
||||
|
||||
|
||||
else if( (fmt == 'o') && (stream->flags & PFORMAT_HASHED) )
|
||||
/*
|
||||
* The field width specified for minimum `precision' has already
|
||||
@@ -1048,8 +1048,47 @@ typedef union
|
||||
*/
|
||||
#include "../gdtoa/gdtoa.h"
|
||||
|
||||
static __pformat_fpreg_t init_fpreg_ldouble( long double val )
|
||||
{
|
||||
__pformat_fpreg_t x;
|
||||
x.__pformat_fpreg_ldouble_t = val;
|
||||
|
||||
if( sizeof( double ) == sizeof( long double ) )
|
||||
{
|
||||
/* Here, __pformat_fpreg_t expects to be initialized with a 80 bit long
|
||||
* double, but this platform doesn't have long doubles that differ from
|
||||
* regular 64 bit doubles. Therefore manually convert the 64 bit float
|
||||
* value to an 80 bit float value.
|
||||
*/
|
||||
int exp = (x.__pformat_fpreg_mantissa >> 52) & 0x7ff;
|
||||
unsigned long long mant = x.__pformat_fpreg_mantissa & 0x000fffffffffffffULL;
|
||||
int topbit = exp ? 1 : 0;
|
||||
int signbit = x.__pformat_fpreg_mantissa >> 63;
|
||||
|
||||
if (exp == 0x7ff)
|
||||
exp = 0x7fff;
|
||||
else if (exp != 0)
|
||||
exp = exp - 1023 + 16383;
|
||||
else if (mant != 0) {
|
||||
/* Denormal when stored as a 64 bit double, but becomes a normal when
|
||||
* converted to 80 bit long double form. */
|
||||
exp = 1 - 1023 + 16383;
|
||||
while (!(mant & 0x0010000000000000ULL)) {
|
||||
/* Normalize the mantissa. */
|
||||
mant <<= 1;
|
||||
exp--;
|
||||
}
|
||||
topbit = 1; /* The top bit, which is implicit in the 64 bit form. */
|
||||
}
|
||||
x.__pformat_fpreg_mantissa = (mant << 11) | ((unsigned long long)topbit << 63);
|
||||
x.__pformat_fpreg_exponent = exp | (signbit << 15);
|
||||
}
|
||||
|
||||
return x;
|
||||
}
|
||||
|
||||
static
|
||||
char *__pformat_cvt( int mode, __pformat_fpreg_t x, int nd, int *dp, int *sign )
|
||||
char *__pformat_cvt( int mode, long double val, int nd, int *dp, int *sign )
|
||||
{
|
||||
/* Helper function, derived from David M. Gay's `g_xfmt()', calling
|
||||
* his `__gdtoa()' function in a manner to provide extended precision
|
||||
@@ -1057,29 +1096,9 @@ char *__pformat_cvt( int mode, __pformat_fpreg_t x, int nd, int *dp, int *sign )
|
||||
*/
|
||||
int k; unsigned int e = 0; char *ep;
|
||||
static FPI fpi = { 64, 1-16383-64+1, 32766-16383-64+1, FPI_Round_near, 0, 14 /* Int_max */ };
|
||||
|
||||
if( sizeof( double ) == sizeof( long double ) )
|
||||
{
|
||||
/* The caller has written into x.__pformat_fpreg_ldouble_t, which
|
||||
* actually isn't laid out in the way the rest of the union expects it.
|
||||
*/
|
||||
int exp = (x.__pformat_fpreg_mantissa >> 52) & 0x7ff;
|
||||
unsigned long long mant = x.__pformat_fpreg_mantissa & 0x000fffffffffffffULL;
|
||||
int integer = exp ? 1 : 0;
|
||||
int signbit = x.__pformat_fpreg_mantissa >> 63;
|
||||
|
||||
k = __fpclassify( x.__pformat_fpreg_double_t );
|
||||
|
||||
if (exp == 0x7ff)
|
||||
exp = 0x7fff;
|
||||
else if (exp != 0)
|
||||
exp = exp - 1023 + 16383;
|
||||
x.__pformat_fpreg_mantissa = (mant << 11) | ((unsigned long long)integer << 63);
|
||||
x.__pformat_fpreg_exponent = exp | (signbit << 15);
|
||||
}
|
||||
else
|
||||
k = __fpclassifyl( x.__pformat_fpreg_ldouble_t );
|
||||
__pformat_fpreg_t x = init_fpreg_ldouble( val );
|
||||
|
||||
k = __fpclassifyl( val );
|
||||
|
||||
/* Classify the argument into an appropriate `__gdtoa()' category...
|
||||
*/
|
||||
@@ -1130,8 +1149,7 @@ char *__pformat_ecvt( long double x, int precision, int *dp, int *sign )
|
||||
/* A convenience wrapper for the above...
|
||||
* it emulates `ecvt()', but takes a `long double' argument.
|
||||
*/
|
||||
__pformat_fpreg_t z; z.__pformat_fpreg_ldouble_t = x;
|
||||
return __pformat_cvt( 2, z, precision, dp, sign );
|
||||
return __pformat_cvt( 2, x, precision, dp, sign );
|
||||
}
|
||||
|
||||
static
|
||||
@@ -1140,8 +1158,7 @@ char *__pformat_fcvt( long double x, int precision, int *dp, int *sign )
|
||||
/* A convenience wrapper for the above...
|
||||
* it emulates `fcvt()', but takes a `long double' argument.
|
||||
*/
|
||||
__pformat_fpreg_t z; z.__pformat_fpreg_ldouble_t = x;
|
||||
return __pformat_cvt( 3, z, precision, dp, sign );
|
||||
return __pformat_cvt( 3, x, precision, dp, sign );
|
||||
}
|
||||
|
||||
/* The following are required, to clean up the `__gdtoa()' memory pool,
|
||||
@@ -1218,7 +1235,7 @@ void __pformat_emit_radix_point( __pformat_t *stream )
|
||||
* establish a multibyte to `wchar_t' converter...
|
||||
*/
|
||||
int len; wchar_t rpchr; mbstate_t state;
|
||||
|
||||
|
||||
/* Initialise the conversion state...
|
||||
*/
|
||||
memset( &state, 0, sizeof( state ) );
|
||||
@@ -1259,7 +1276,7 @@ void __pformat_emit_radix_point( __pformat_t *stream )
|
||||
*/
|
||||
char *p = buf;
|
||||
while( len-- > 0 )
|
||||
__pformat_putc( *p++, stream );
|
||||
__pformat_putc( *p++, stream );
|
||||
}
|
||||
|
||||
else
|
||||
@@ -1290,7 +1307,7 @@ void __pformat_emit_numeric_value( int c, __pformat_t *stream )
|
||||
{
|
||||
wchar_t wcs;
|
||||
if ((wcs = stream->thousands_chr) != 0)
|
||||
__pformat_wputchars (&wcs, 1, stream);
|
||||
__pformat_wputchars (&wcs, 1, stream);
|
||||
}
|
||||
else
|
||||
/* and passing all other characters through, unmodified.
|
||||
@@ -1468,8 +1485,8 @@ void __pformat_emit_float( int sign, char *value, int len, __pformat_t *stream )
|
||||
__pformat_putc( *value ? *value++ : '0', stream);
|
||||
--len;
|
||||
if (len != 0 && (stream->flags & PFORMAT_GROUPED) != 0 && stream->thousands_chr != 0
|
||||
&& (len % 3) == 0)
|
||||
__pformat_wputchars (&stream->thousands_chr, 1, stream);
|
||||
&& (len % 3) == 0)
|
||||
__pformat_wputchars (&stream->thousands_chr, 1, stream);
|
||||
}
|
||||
while (len > 0);
|
||||
}
|
||||
@@ -1539,7 +1556,7 @@ void __pformat_emit_efloat( int sign, char *value, int e, __pformat_t *stream )
|
||||
*/
|
||||
if( stream->width > (exp_width += 2) )
|
||||
stream->width -= exp_width;
|
||||
|
||||
|
||||
else
|
||||
/* ignoring the field width specification, if insufficient.
|
||||
*/
|
||||
@@ -1587,7 +1604,7 @@ void __pformat_float( long double x, __pformat_t *stream )
|
||||
* output in fixed point format.
|
||||
*/
|
||||
int sign, intlen; char *value;
|
||||
|
||||
|
||||
/* Establish the precision for the displayed value, defaulting to six
|
||||
* digits following the decimal point, if not explicitly specified.
|
||||
*/
|
||||
@@ -1847,7 +1864,7 @@ void __pformat_efloat( long double x, __pformat_t *stream )
|
||||
* output in floating point format.
|
||||
*/
|
||||
int sign, intlen; char *value;
|
||||
|
||||
|
||||
/* Establish the precision for the displayed value, defaulting to six
|
||||
* digits following the decimal point, if not explicitly specified.
|
||||
*/
|
||||
@@ -1885,7 +1902,7 @@ void __pformat_gfloat( long double x, __pformat_t *stream )
|
||||
* fixed or floating point format.
|
||||
*/
|
||||
int sign, intlen; char *value;
|
||||
|
||||
|
||||
/* Establish the precision for the displayed value, defaulting to
|
||||
* six significant digits, if not explicitly specified...
|
||||
*/
|
||||
@@ -1923,7 +1940,7 @@ void __pformat_gfloat( long double x, __pformat_t *stream )
|
||||
* the balance following it...
|
||||
*/
|
||||
stream->precision -= intlen;
|
||||
|
||||
|
||||
else
|
||||
/* The `#' flag is not in effect...
|
||||
* Here we adjust the precision to accommodate all digits which
|
||||
@@ -1932,12 +1949,12 @@ void __pformat_gfloat( long double x, __pformat_t *stream )
|
||||
*/
|
||||
if( ((stream->precision = strlen( value ) - intlen) < 0)
|
||||
/*
|
||||
* This may require a compensating adjustment to the field
|
||||
* width, to accommodate significant trailing zeros, which
|
||||
* precede the radix point...
|
||||
*/
|
||||
* This may require a compensating adjustment to the field
|
||||
* width, to accommodate significant trailing zeros, which
|
||||
* precede the radix point...
|
||||
*/
|
||||
&& (stream->width > 0) )
|
||||
stream->width += stream->precision;
|
||||
stream->width += stream->precision;
|
||||
|
||||
/* Now, we format the result as any other fixed point value.
|
||||
*/
|
||||
@@ -1996,6 +2013,17 @@ void __pformat_emit_xfloat( __pformat_fpreg_t value, __pformat_t *stream )
|
||||
char buf[18 + 6], *p = buf;
|
||||
__pformat_intarg_t exponent; short exp_width = 2;
|
||||
|
||||
if (value.__pformat_fpreg_mantissa != 0 ||
|
||||
value.__pformat_fpreg_exponent != 0)
|
||||
{
|
||||
/* Reduce the exponent since the leading digit emited will start at
|
||||
* the 4th bit from the highest order bit instead, the later being
|
||||
* the leading digit of the floating point. Don't do this adjustment
|
||||
* if the value is an actual zero.
|
||||
*/
|
||||
value.__pformat_fpreg_exponent -= 3;
|
||||
}
|
||||
|
||||
/* The mantissa field of the argument value representation can
|
||||
* accommodate at most 16 hexadecimal digits, of which one will
|
||||
* be placed before the radix point, leaving at most 15 digits
|
||||
@@ -2010,15 +2038,7 @@ void __pformat_emit_xfloat( __pformat_fpreg_t value, __pformat_t *stream )
|
||||
* for exactly one digit discarded, shifting 4 bits per
|
||||
* digit, with up to 14 additional digits, to consume the
|
||||
* full availability of 15 precision digits).
|
||||
*
|
||||
* However, before we perform the rounding operation, we
|
||||
* normalise the mantissa, shifting it to the left by as many
|
||||
* bit positions may be necessary, until its highest order bit
|
||||
* is set, thus preserving the maximum number of bits in the
|
||||
* rounded result as possible.
|
||||
*/
|
||||
while( value.__pformat_fpreg_mantissa < (LLONG_MAX + 1ULL) )
|
||||
value.__pformat_fpreg_mantissa <<= 1;
|
||||
|
||||
/* We then shift the mantissa one bit position back to the
|
||||
* right, to guard against possible overflow when the rounding
|
||||
@@ -2041,11 +2061,15 @@ void __pformat_emit_xfloat( __pformat_fpreg_t value, __pformat_t *stream )
|
||||
value.__pformat_fpreg_mantissa <<= 1;
|
||||
|
||||
else
|
||||
{
|
||||
/* Otherwise the rounding adjustment would have overflowed,
|
||||
* so the carry has already filled the vacated bit; the effect
|
||||
* of this is equivalent to an increment of the exponent.
|
||||
* of this is equivalent to an increment of the exponent. We will
|
||||
* discard a whole digit to match glibc's behavior.
|
||||
*/
|
||||
value.__pformat_fpreg_exponent++;
|
||||
value.__pformat_fpreg_exponent += 4;
|
||||
value.__pformat_fpreg_mantissa >>= 3;
|
||||
}
|
||||
|
||||
/* We now complete the rounding to the required precision, by
|
||||
* shifting the unwanted digits out, from the right hand end of
|
||||
@@ -2054,71 +2078,63 @@ void __pformat_emit_xfloat( __pformat_fpreg_t value, __pformat_t *stream )
|
||||
value.__pformat_fpreg_mantissa >>= 4 * (15 - stream->precision);
|
||||
}
|
||||
|
||||
/* Encode the significant digits of the mantissa in hexadecimal
|
||||
* ASCII notation, ready for transfer to the output stream...
|
||||
/* Don't print anything if mantissa is zero unless we have to satisfy
|
||||
* desired precision.
|
||||
*/
|
||||
while( value.__pformat_fpreg_mantissa )
|
||||
if( value.__pformat_fpreg_mantissa || stream->precision > 0 )
|
||||
{
|
||||
/* taking the rightmost digit in each pass...
|
||||
/* Encode the significant digits of the mantissa in hexadecimal
|
||||
* ASCII notation, ready for transfer to the output stream...
|
||||
*/
|
||||
unsigned c = value.__pformat_fpreg_mantissa & 0xF;
|
||||
if( c == value.__pformat_fpreg_mantissa)
|
||||
for( int i=stream->precision >= 15 || stream->precision < 0 ? 16 : stream->precision + 1; i>0; --i )
|
||||
{
|
||||
/* inserting the radix point, when we reach the last,
|
||||
* (i.e. the most significant digit), unless we found no
|
||||
* less significant digits, with no mandatory radix point
|
||||
* inclusion, and no additional required precision...
|
||||
/* taking the rightmost digit in each pass...
|
||||
*/
|
||||
if( (p > buf)
|
||||
|| (stream->flags & PFORMAT_HASHED) || (stream->precision > 0) )
|
||||
unsigned c = value.__pformat_fpreg_mantissa & 0xF;
|
||||
if( i == 1 )
|
||||
{
|
||||
/*
|
||||
* Internally, we represent the radix point as an ASCII '.';
|
||||
* we will replace it with any locale specific alternative,
|
||||
* at the time of transfer to the ultimate destination.
|
||||
*/
|
||||
*p++ = '.';
|
||||
/* inserting the radix point, when we reach the last,
|
||||
* (i.e. the most significant digit), unless we found no
|
||||
* less significant digits, with no mandatory radix point
|
||||
* inclusion, and no additional required precision...
|
||||
*/
|
||||
if( (p > buf)
|
||||
|| (stream->flags & PFORMAT_HASHED) || (stream->precision > 0) )
|
||||
{
|
||||
/*
|
||||
* Internally, we represent the radix point as an ASCII '.';
|
||||
* we will replace it with any locale specific alternative,
|
||||
* at the time of transfer to the ultimate destination.
|
||||
*/
|
||||
*p++ = '.';
|
||||
}
|
||||
}
|
||||
|
||||
/* If the most significant hexadecimal digit of the encoded
|
||||
* output value is greater than one, then the indicated value
|
||||
* will appear too large, by an additional binary exponent
|
||||
* corresponding to the number of higher order bit positions
|
||||
* which it occupies...
|
||||
*/
|
||||
while( value.__pformat_fpreg_mantissa > 1 )
|
||||
else if( stream->precision > 0 )
|
||||
/*
|
||||
* we have not yet fulfilled the desired precision,
|
||||
* and we have not yet found the most significant digit,
|
||||
* so account for the current digit, within the field
|
||||
* width required to meet the specified precision.
|
||||
*/
|
||||
stream->precision--;
|
||||
|
||||
if( (c > 0) || (p > buf) || (stream->precision >= 0) )
|
||||
{
|
||||
/* so reduce the exponent value to compensate...
|
||||
*/
|
||||
value.__pformat_fpreg_exponent--;
|
||||
value.__pformat_fpreg_mantissa >>= 1;
|
||||
/*
|
||||
* Ignoring insignificant trailing zeros, (unless required to
|
||||
* satisfy specified precision), store the current encoded digit
|
||||
* into the pending output buffer, in LIFO order, and using the
|
||||
* appropriate case for digits in the `A'..`F' range.
|
||||
*/
|
||||
*p++ = c > 9 ? (c - 10 + 'A') | (stream->flags & PFORMAT_XCASE) : c + '0';
|
||||
}
|
||||
}
|
||||
|
||||
else if( stream->precision > 0 )
|
||||
/*
|
||||
* we have not yet fulfilled the desired precision,
|
||||
* and we have not yet found the most significant digit,
|
||||
* so account for the current digit, within the field
|
||||
* width required to meet the specified precision.
|
||||
/* Shift out the current digit, (4-bit logical shift right),
|
||||
* to align the next more significant digit to be extracted,
|
||||
* and encoded in the next pass.
|
||||
*/
|
||||
stream->precision--;
|
||||
|
||||
if( (c > 0) || (p > buf) || (stream->precision >= 0) )
|
||||
{
|
||||
/*
|
||||
* Ignoring insignificant trailing zeros, (unless required to
|
||||
* satisfy specified precision), store the current encoded digit
|
||||
* into the pending output buffer, in LIFO order, and using the
|
||||
* appropriate case for digits in the `A'..`F' range.
|
||||
*/
|
||||
*p++ = c > 9 ? (c - 10 + 'A') | (stream->flags & PFORMAT_XCASE) : c + '0';
|
||||
value.__pformat_fpreg_mantissa >>= 4;
|
||||
}
|
||||
/* Shift out the current digit, (4-bit logical shift right),
|
||||
* to align the next more significant digit to be extracted,
|
||||
* and encoded in the next pass.
|
||||
*/
|
||||
value.__pformat_fpreg_mantissa >>= 4;
|
||||
}
|
||||
|
||||
if( p == buf )
|
||||
@@ -2169,7 +2185,7 @@ void __pformat_emit_xfloat( __pformat_fpreg_t value, __pformat_t *stream )
|
||||
min_width++;
|
||||
exp_width++;
|
||||
}
|
||||
|
||||
|
||||
if( stream->width > min_width )
|
||||
{
|
||||
/* When specified field width exceeds the minimum required,
|
||||
@@ -2180,8 +2196,8 @@ void __pformat_emit_xfloat( __pformat_fpreg_t value, __pformat_t *stream )
|
||||
/* and then emit any required left side padding spaces.
|
||||
*/
|
||||
if( (stream->flags & PFORMAT_JUSTIFY) == 0 )
|
||||
while( stream->width-- > 0 )
|
||||
__pformat_putc( '\x20', stream );
|
||||
while( stream->width-- > 0 )
|
||||
__pformat_putc( '\x20', stream );
|
||||
}
|
||||
|
||||
else
|
||||
@@ -2215,7 +2231,7 @@ void __pformat_emit_xfloat( __pformat_fpreg_t value, __pformat_t *stream )
|
||||
*/
|
||||
__pformat_putc( '0', stream );
|
||||
__pformat_putc( 'X' | (stream->flags & PFORMAT_XCASE), stream );
|
||||
|
||||
|
||||
/* If the `0' flag is in effect...
|
||||
* Zero padding, to fill out the field, goes here...
|
||||
*/
|
||||
@@ -2259,7 +2275,7 @@ void __pformat_xldouble( long double x, __pformat_t *stream )
|
||||
* value specified as `long double' type).
|
||||
*/
|
||||
unsigned sign_bit = 0;
|
||||
__pformat_fpreg_t z; z.__pformat_fpreg_ldouble_t = x;
|
||||
__pformat_fpreg_t z = init_fpreg_ldouble( x );
|
||||
|
||||
/* First check for NaN; it is emitted unsigned...
|
||||
*/
|
||||
@@ -2289,29 +2305,100 @@ void __pformat_xldouble( long double x, __pformat_t *stream )
|
||||
z.__pformat_fpreg_exponent &= 0x7FFF;
|
||||
if( z.__pformat_fpreg_exponent == 0 )
|
||||
{
|
||||
/* A biased exponent value of zero means either a
|
||||
* true zero value, if the mantissa field also has
|
||||
* a zero value, otherwise...
|
||||
*/
|
||||
if( z.__pformat_fpreg_mantissa != 0 )
|
||||
{
|
||||
/* ...this mantissa represents a subnormal value;
|
||||
* adjust the exponent, while shifting the mantissa
|
||||
* to the left, until its leading bit is 1.
|
||||
*/
|
||||
z.__pformat_fpreg_exponent = 1-0x3FFF;
|
||||
while( (z.__pformat_fpreg_mantissa & (LLONG_MAX + 1ULL)) == 0 )
|
||||
{
|
||||
z.__pformat_fpreg_mantissa <<= 1;
|
||||
--z.__pformat_fpreg_exponent;
|
||||
}
|
||||
}
|
||||
/* A biased exponent value of zero means either a
|
||||
* true zero value, if the mantissa field also has
|
||||
* a zero value, otherwise...
|
||||
*/
|
||||
if( z.__pformat_fpreg_mantissa != 0 )
|
||||
{
|
||||
/* ...this mantissa represents a subnormal value.
|
||||
*/
|
||||
z.__pformat_fpreg_exponent = 1 - 0x3FFF;
|
||||
}
|
||||
}
|
||||
else
|
||||
/* This argument represents a non-zero normal number;
|
||||
* eliminate the bias from the exponent...
|
||||
*/
|
||||
z.__pformat_fpreg_exponent -= 0x3FFF;
|
||||
/* This argument represents a non-zero normal number;
|
||||
* eliminate the bias from the exponent...
|
||||
*/
|
||||
z.__pformat_fpreg_exponent -= 0x3FFF;
|
||||
|
||||
/* Finally, hand the adjusted representation off to the
|
||||
* generalised hexadecimal floating point format handler...
|
||||
*/
|
||||
__pformat_emit_xfloat( z, stream );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static
|
||||
void __pformat_xdouble( double x, __pformat_t *stream )
|
||||
{
|
||||
/* Handler for `%la' and `%lA' format specifiers, (with argument
|
||||
* value specified as `double' type).
|
||||
*/
|
||||
unsigned sign_bit = 0;
|
||||
__pformat_fpreg_t z = init_fpreg_ldouble( (long double)x );
|
||||
|
||||
/* First check for NaN; it is emitted unsigned...
|
||||
*/
|
||||
if( isnan( x ) )
|
||||
__pformat_emit_inf_or_nan( sign_bit, "NaN", stream );
|
||||
|
||||
else
|
||||
{ /* Capture the sign bit up-front, so we can show it correctly
|
||||
* even when the argument value is zero or infinite.
|
||||
*/
|
||||
if( (sign_bit = (z.__pformat_fpreg_exponent & 0x8000)) != 0 )
|
||||
stream->flags |= PFORMAT_NEGATIVE;
|
||||
|
||||
/* Check for infinity, (positive or negative)...
|
||||
*/
|
||||
if( isinf( x ) )
|
||||
/*
|
||||
* displaying the appropriately signed indicator,
|
||||
* when appropriate.
|
||||
*/
|
||||
__pformat_emit_inf_or_nan( sign_bit, "Inf", stream );
|
||||
|
||||
else
|
||||
{ /* The argument value is a representable number...
|
||||
* extract the effective value of the biased exponent...
|
||||
*/
|
||||
z.__pformat_fpreg_exponent &= 0x7FFF;
|
||||
|
||||
/* If the double value was a denormalized number, it might have been renormalized by
|
||||
* the conversion to long double. We will redenormalize it.
|
||||
*/
|
||||
if( z.__pformat_fpreg_exponent != 0 && z.__pformat_fpreg_exponent <= (0x3FFF - 0x3FF) )
|
||||
{
|
||||
int shifted = (0x3FFF - 0x3FF) - z.__pformat_fpreg_exponent + 1;
|
||||
z.__pformat_fpreg_mantissa >>= shifted;
|
||||
z.__pformat_fpreg_exponent += shifted;
|
||||
}
|
||||
|
||||
if( z.__pformat_fpreg_exponent == 0 )
|
||||
{
|
||||
/* A biased exponent value of zero means either a
|
||||
* true zero value, if the mantissa field also has
|
||||
* a zero value, otherwise...
|
||||
*/
|
||||
if( z.__pformat_fpreg_mantissa != 0 )
|
||||
{
|
||||
/* ...this mantissa represents a subnormal value.
|
||||
*/
|
||||
z.__pformat_fpreg_exponent = 1 - 0x3FF + 3;
|
||||
}
|
||||
}
|
||||
else
|
||||
/* This argument represents a non-zero normal number;
|
||||
* eliminate the bias from the exponent...
|
||||
*/
|
||||
z.__pformat_fpreg_exponent -= 0x3FFF - 3;
|
||||
|
||||
/* Shift the mantissa so the leading 4 bits digit is 0 or 1.
|
||||
* The exponent was also adjusted by 3 previously.
|
||||
*/
|
||||
z.__pformat_fpreg_mantissa >>= 3;
|
||||
|
||||
/* Finally, hand the adjusted representation off to the
|
||||
* generalised hexadecimal floating point format handler...
|
||||
@@ -2332,17 +2419,17 @@ __pformat (int flags, void *dest, int max, const APICHAR *fmt, va_list argv)
|
||||
/* Create and initialise a format control block
|
||||
* for this output request.
|
||||
*/
|
||||
dest, /* output goes to here */
|
||||
flags &= PFORMAT_TO_FILE | PFORMAT_NOLIMIT, /* only these valid initially */
|
||||
PFORMAT_IGNORE, /* no field width yet */
|
||||
PFORMAT_IGNORE, /* nor any precision spec */
|
||||
PFORMAT_RPINIT, /* radix point uninitialised */
|
||||
(wchar_t)(0), /* leave it unspecified */
|
||||
dest, /* output goes to here */
|
||||
flags &= PFORMAT_TO_FILE | PFORMAT_NOLIMIT, /* only these valid initially */
|
||||
PFORMAT_IGNORE, /* no field width yet */
|
||||
PFORMAT_IGNORE, /* nor any precision spec */
|
||||
PFORMAT_RPINIT, /* radix point uninitialised */
|
||||
(wchar_t)(0), /* leave it unspecified */
|
||||
0,
|
||||
(wchar_t)(0), /* leave it unspecified */
|
||||
0, /* zero output char count */
|
||||
max, /* establish output limit */
|
||||
-1 /* exponent chars preferred;
|
||||
(wchar_t)(0), /* leave it unspecified */
|
||||
0, /* zero output char count */
|
||||
max, /* establish output limit */
|
||||
-1 /* exponent chars preferred;
|
||||
-1 means to be determined. */
|
||||
};
|
||||
|
||||
@@ -2390,793 +2477,794 @@ __pformat (int flags, void *dest, int max, const APICHAR *fmt, va_list argv)
|
||||
|
||||
while( *fmt )
|
||||
{
|
||||
switch( c = *fmt++ )
|
||||
{
|
||||
/* Data type specifiers...
|
||||
* All are terminal, so exit the conversion spec parsing loop
|
||||
* with a `goto format_scan', thus resuming at the outer level
|
||||
* in the regular format string parser.
|
||||
*/
|
||||
case '%':
|
||||
/*
|
||||
* Not strictly a data type specifier...
|
||||
* it simply converts as a literal `%' character.
|
||||
*
|
||||
* FIXME: should we require this to IMMEDIATELY follow the
|
||||
* initial `%' of the "conversion spec"? (glibc `printf()'
|
||||
* on GNU/Linux does NOT appear to require this, but POSIX
|
||||
* and SUSv3 do seem to demand it).
|
||||
*/
|
||||
switch( c = *fmt++ )
|
||||
{
|
||||
/* Data type specifiers...
|
||||
* All are terminal, so exit the conversion spec parsing loop
|
||||
* with a `goto format_scan', thus resuming at the outer level
|
||||
* in the regular format string parser.
|
||||
*/
|
||||
case '%':
|
||||
/*
|
||||
* Not strictly a data type specifier...
|
||||
* it simply converts as a literal `%' character.
|
||||
*
|
||||
* FIXME: should we require this to IMMEDIATELY follow the
|
||||
* initial `%' of the "conversion spec"? (glibc `printf()'
|
||||
* on GNU/Linux does NOT appear to require this, but POSIX
|
||||
* and SUSv3 do seem to demand it).
|
||||
*/
|
||||
#ifndef __BUILD_WIDEAPI
|
||||
__pformat_putc( c, &stream );
|
||||
__pformat_putc( c, &stream );
|
||||
#else
|
||||
stream.width = stream.precision = PFORMAT_IGNORE;
|
||||
__pformat_wputchars( L"%", 1, &stream );
|
||||
#endif
|
||||
goto format_scan;
|
||||
goto format_scan;
|
||||
|
||||
case 'C':
|
||||
/*
|
||||
* Equivalent to `%lc'; set `length' accordingly,
|
||||
* and simply fall through.
|
||||
*/
|
||||
length = PFORMAT_LENGTH_LONG;
|
||||
case 'C':
|
||||
/*
|
||||
* Equivalent to `%lc'; set `length' accordingly,
|
||||
* and simply fall through.
|
||||
*/
|
||||
length = PFORMAT_LENGTH_LONG;
|
||||
|
||||
case 'c':
|
||||
/*
|
||||
* Single, (or single multibyte), character output...
|
||||
*
|
||||
* We handle these by copying the argument into our local
|
||||
* `argval' buffer, and then we pass the address of that to
|
||||
* either `__pformat_putchars()' or `__pformat_wputchars()',
|
||||
* as appropriate, effectively formatting it as a string of
|
||||
* the appropriate type, with a length of one.
|
||||
*
|
||||
* A side effect of this method of handling character data
|
||||
* is that, if the user sets a precision of zero, then no
|
||||
* character is actually emitted; we don't want that, so we
|
||||
* forcibly override any user specified precision.
|
||||
*/
|
||||
stream.precision = PFORMAT_IGNORE;
|
||||
case 'c':
|
||||
/*
|
||||
* Single, (or single multibyte), character output...
|
||||
*
|
||||
* We handle these by copying the argument into our local
|
||||
* `argval' buffer, and then we pass the address of that to
|
||||
* either `__pformat_putchars()' or `__pformat_wputchars()',
|
||||
* as appropriate, effectively formatting it as a string of
|
||||
* the appropriate type, with a length of one.
|
||||
*
|
||||
* A side effect of this method of handling character data
|
||||
* is that, if the user sets a precision of zero, then no
|
||||
* character is actually emitted; we don't want that, so we
|
||||
* forcibly override any user specified precision.
|
||||
*/
|
||||
stream.precision = PFORMAT_IGNORE;
|
||||
|
||||
/* Now we invoke the appropriate format handler...
|
||||
*/
|
||||
if( (length == PFORMAT_LENGTH_LONG)
|
||||
|| (length == PFORMAT_LENGTH_LLONG) )
|
||||
{
|
||||
/* considering any `long' type modifier as a reference to
|
||||
* `wchar_t' data, (which is promoted to an `int' argument)...
|
||||
*/
|
||||
wchar_t iargval = (wchar_t)(va_arg( argv, int ));
|
||||
__pformat_wputchars( &iargval, 1, &stream );
|
||||
}
|
||||
else
|
||||
{ /* while anything else is simply taken as `char', (which
|
||||
* is also promoted to an `int' argument)...
|
||||
*/
|
||||
argval.__pformat_uchar_t = (unsigned char)(va_arg( argv, int ));
|
||||
__pformat_putchars( (char *)(&argval), 1, &stream );
|
||||
}
|
||||
goto format_scan;
|
||||
/* Now we invoke the appropriate format handler...
|
||||
*/
|
||||
if( (length == PFORMAT_LENGTH_LONG)
|
||||
|| (length == PFORMAT_LENGTH_LLONG) )
|
||||
{
|
||||
/* considering any `long' type modifier as a reference to
|
||||
* `wchar_t' data, (which is promoted to an `int' argument)...
|
||||
*/
|
||||
wchar_t iargval = (wchar_t)(va_arg( argv, int ));
|
||||
__pformat_wputchars( &iargval, 1, &stream );
|
||||
}
|
||||
else
|
||||
{ /* while anything else is simply taken as `char', (which
|
||||
* is also promoted to an `int' argument)...
|
||||
*/
|
||||
argval.__pformat_uchar_t = (unsigned char)(va_arg( argv, int ));
|
||||
__pformat_putchars( (char *)(&argval), 1, &stream );
|
||||
}
|
||||
goto format_scan;
|
||||
|
||||
case 'S':
|
||||
/*
|
||||
* Equivalent to `%ls'; set `length' accordingly,
|
||||
* and simply fall through.
|
||||
*/
|
||||
length = PFORMAT_LENGTH_LONG;
|
||||
case 'S':
|
||||
/*
|
||||
* Equivalent to `%ls'; set `length' accordingly,
|
||||
* and simply fall through.
|
||||
*/
|
||||
length = PFORMAT_LENGTH_LONG;
|
||||
|
||||
case 's':
|
||||
if( (length == PFORMAT_LENGTH_LONG)
|
||||
|| (length == PFORMAT_LENGTH_LLONG))
|
||||
{
|
||||
/* considering any `long' type modifier as a reference to
|
||||
* a `wchar_t' string...
|
||||
*/
|
||||
__pformat_wcputs( va_arg( argv, wchar_t * ), &stream );
|
||||
}
|
||||
else
|
||||
/* This is normal string output;
|
||||
* we simply invoke the appropriate handler...
|
||||
*/
|
||||
__pformat_puts( va_arg( argv, char * ), &stream );
|
||||
goto format_scan;
|
||||
case 'm': /* strerror (errno) */
|
||||
__pformat_puts (strerror (saved_errno), &stream);
|
||||
goto format_scan;
|
||||
case 's':
|
||||
if( (length == PFORMAT_LENGTH_LONG)
|
||||
|| (length == PFORMAT_LENGTH_LLONG))
|
||||
{
|
||||
/* considering any `long' type modifier as a reference to
|
||||
* a `wchar_t' string...
|
||||
*/
|
||||
__pformat_wcputs( va_arg( argv, wchar_t * ), &stream );
|
||||
}
|
||||
else
|
||||
/* This is normal string output;
|
||||
* we simply invoke the appropriate handler...
|
||||
*/
|
||||
__pformat_puts( va_arg( argv, char * ), &stream );
|
||||
goto format_scan;
|
||||
case 'm': /* strerror (errno) */
|
||||
__pformat_puts (strerror (saved_errno), &stream);
|
||||
goto format_scan;
|
||||
|
||||
case 'o':
|
||||
case 'u':
|
||||
case 'x':
|
||||
case 'X':
|
||||
/*
|
||||
* Unsigned integer values; octal, decimal or hexadecimal format...
|
||||
*/
|
||||
case 'o':
|
||||
case 'u':
|
||||
case 'x':
|
||||
case 'X':
|
||||
/*
|
||||
* Unsigned integer values; octal, decimal or hexadecimal format...
|
||||
*/
|
||||
stream.flags &= ~PFORMAT_POSITIVE;
|
||||
#if __ENABLE_PRINTF128
|
||||
argval.__pformat_u128_t.t128.digits[1] = 0LL; /* no sign extend needed */
|
||||
if( length == PFORMAT_LENGTH_LLONG128 )
|
||||
argval.__pformat_u128_t.t128 = va_arg( argv, __tI128 );
|
||||
else
|
||||
if( length == PFORMAT_LENGTH_LLONG128 )
|
||||
argval.__pformat_u128_t.t128 = va_arg( argv, __tI128 );
|
||||
else
|
||||
#endif
|
||||
if( length == PFORMAT_LENGTH_LLONG ) {
|
||||
/*
|
||||
* with an `unsigned long long' argument, which we
|
||||
* process `as is'...
|
||||
*/
|
||||
argval.__pformat_ullong_t = va_arg( argv, unsigned long long );
|
||||
/*
|
||||
* with an `unsigned long long' argument, which we
|
||||
* process `as is'...
|
||||
*/
|
||||
argval.__pformat_ullong_t = va_arg( argv, unsigned long long );
|
||||
|
||||
} else if( length == PFORMAT_LENGTH_LONG ) {
|
||||
/*
|
||||
* or with an `unsigned long', which we promote to
|
||||
* `unsigned long long'...
|
||||
*/
|
||||
argval.__pformat_ullong_t = va_arg( argv, unsigned long );
|
||||
} else if( length == PFORMAT_LENGTH_LONG ) {
|
||||
/*
|
||||
* or with an `unsigned long', which we promote to
|
||||
* `unsigned long long'...
|
||||
*/
|
||||
argval.__pformat_ullong_t = va_arg( argv, unsigned long );
|
||||
|
||||
} else
|
||||
{ /* or for any other size, which will have been promoted
|
||||
* to `unsigned int', we select only the appropriately sized
|
||||
* least significant segment, and again promote to the same
|
||||
* size as `unsigned long long'...
|
||||
*/
|
||||
argval.__pformat_ullong_t = va_arg( argv, unsigned int );
|
||||
if( length == PFORMAT_LENGTH_SHORT )
|
||||
/*
|
||||
* from `unsigned short'...
|
||||
*/
|
||||
argval.__pformat_ullong_t = argval.__pformat_ushort_t;
|
||||
} else
|
||||
{ /* or for any other size, which will have been promoted
|
||||
* to `unsigned int', we select only the appropriately sized
|
||||
* least significant segment, and again promote to the same
|
||||
* size as `unsigned long long'...
|
||||
*/
|
||||
argval.__pformat_ullong_t = va_arg( argv, unsigned int );
|
||||
if( length == PFORMAT_LENGTH_SHORT )
|
||||
/*
|
||||
* from `unsigned short'...
|
||||
*/
|
||||
argval.__pformat_ullong_t = argval.__pformat_ushort_t;
|
||||
|
||||
else if( length == PFORMAT_LENGTH_CHAR )
|
||||
/*
|
||||
* or even from `unsigned char'...
|
||||
*/
|
||||
argval.__pformat_ullong_t = argval.__pformat_uchar_t;
|
||||
}
|
||||
else if( length == PFORMAT_LENGTH_CHAR )
|
||||
/*
|
||||
* or even from `unsigned char'...
|
||||
*/
|
||||
argval.__pformat_ullong_t = argval.__pformat_uchar_t;
|
||||
}
|
||||
|
||||
/* so we can pass any size of argument to either of two
|
||||
* common format handlers...
|
||||
*/
|
||||
if( c == 'u' )
|
||||
/*
|
||||
* depending on whether output is to be encoded in
|
||||
* decimal format...
|
||||
*/
|
||||
__pformat_int( argval, &stream );
|
||||
/* so we can pass any size of argument to either of two
|
||||
* common format handlers...
|
||||
*/
|
||||
if( c == 'u' )
|
||||
/*
|
||||
* depending on whether output is to be encoded in
|
||||
* decimal format...
|
||||
*/
|
||||
__pformat_int( argval, &stream );
|
||||
|
||||
else
|
||||
/* or in octal or hexadecimal format...
|
||||
*/
|
||||
__pformat_xint( c, argval, &stream );
|
||||
else
|
||||
/* or in octal or hexadecimal format...
|
||||
*/
|
||||
__pformat_xint( c, argval, &stream );
|
||||
|
||||
goto format_scan;
|
||||
goto format_scan;
|
||||
|
||||
case 'd':
|
||||
case 'i':
|
||||
/*
|
||||
* Signed integer values; decimal format...
|
||||
* This is similar to `u', but must process `argval' as signed,
|
||||
* and be prepared to handle negative numbers.
|
||||
*/
|
||||
stream.flags |= PFORMAT_NEGATIVE;
|
||||
case 'd':
|
||||
case 'i':
|
||||
/*
|
||||
* Signed integer values; decimal format...
|
||||
* This is similar to `u', but must process `argval' as signed,
|
||||
* and be prepared to handle negative numbers.
|
||||
*/
|
||||
stream.flags |= PFORMAT_NEGATIVE;
|
||||
#if __ENABLE_PRINTF128
|
||||
if( length == PFORMAT_LENGTH_LLONG128 ) {
|
||||
argval.__pformat_u128_t.t128 = va_arg( argv, __tI128 );
|
||||
if( length == PFORMAT_LENGTH_LLONG128 ) {
|
||||
argval.__pformat_u128_t.t128 = va_arg( argv, __tI128 );
|
||||
goto skip_sign; /* skip sign extend */
|
||||
} else
|
||||
} else
|
||||
#endif
|
||||
if( length == PFORMAT_LENGTH_LLONG ){
|
||||
/*
|
||||
* The argument is a `long long' type...
|
||||
*/
|
||||
argval.__pformat_u128_t.t128.digits[0] = va_arg( argv, long long );
|
||||
} else if( length == PFORMAT_LENGTH_LONG ) {
|
||||
/*
|
||||
* or here, a `long' type...
|
||||
*/
|
||||
argval.__pformat_u128_t.t128.digits[0] = va_arg( argv, long );
|
||||
} else
|
||||
{ /* otherwise, it's an `int' type...
|
||||
*/
|
||||
argval.__pformat_u128_t.t128.digits[0] = va_arg( argv, int );
|
||||
if( length == PFORMAT_LENGTH_SHORT )
|
||||
/*
|
||||
* but it was promoted from a `short' type...
|
||||
*/
|
||||
argval.__pformat_u128_t.t128.digits[0] = argval.__pformat_short_t;
|
||||
else if( length == PFORMAT_LENGTH_CHAR )
|
||||
/*
|
||||
* or even from a `char' type...
|
||||
*/
|
||||
argval.__pformat_u128_t.t128.digits[0] = argval.__pformat_char_t;
|
||||
}
|
||||
|
||||
/* In any case, all share a common handler...
|
||||
*/
|
||||
if( length == PFORMAT_LENGTH_LLONG ){
|
||||
/*
|
||||
* The argument is a `long long' type...
|
||||
*/
|
||||
argval.__pformat_u128_t.t128.digits[0] = va_arg( argv, long long );
|
||||
} else if( length == PFORMAT_LENGTH_LONG ) {
|
||||
/*
|
||||
* or here, a `long' type...
|
||||
*/
|
||||
argval.__pformat_u128_t.t128.digits[0] = va_arg( argv, long );
|
||||
} else
|
||||
{ /* otherwise, it's an `int' type...
|
||||
*/
|
||||
argval.__pformat_u128_t.t128.digits[0] = va_arg( argv, int );
|
||||
if( length == PFORMAT_LENGTH_SHORT )
|
||||
/*
|
||||
* but it was promoted from a `short' type...
|
||||
*/
|
||||
argval.__pformat_u128_t.t128.digits[0] = argval.__pformat_short_t;
|
||||
else if( length == PFORMAT_LENGTH_CHAR )
|
||||
/*
|
||||
* or even from a `char' type...
|
||||
*/
|
||||
argval.__pformat_u128_t.t128.digits[0] = argval.__pformat_char_t;
|
||||
}
|
||||
|
||||
/* In any case, all share a common handler...
|
||||
*/
|
||||
argval.__pformat_u128_t.t128.digits[1] = (argval.__pformat_llong_t < 0) ? -1LL : 0LL;
|
||||
#if __ENABLE_PRINTF128
|
||||
skip_sign:
|
||||
#endif
|
||||
__pformat_int( argval, &stream );
|
||||
goto format_scan;
|
||||
__pformat_int( argval, &stream );
|
||||
goto format_scan;
|
||||
|
||||
case 'p':
|
||||
/*
|
||||
* Pointer argument; format as hexadecimal, subject to...
|
||||
*/
|
||||
if( (state == PFORMAT_INIT) && (stream.flags == flags) )
|
||||
{
|
||||
/* Here, the user didn't specify any particular
|
||||
* formatting attributes. We must choose a default
|
||||
* which will be compatible with Microsoft's (broken)
|
||||
* scanf() implementation, (i.e. matching the default
|
||||
* used by MSVCRT's printf(), which appears to resemble
|
||||
* "%0.8X" for 32-bit pointers); in particular, we MUST
|
||||
* NOT adopt a GNU-like format resembling "%#x", because
|
||||
* Microsoft's scanf() will choke on the "0x" prefix.
|
||||
*/
|
||||
stream.flags |= PFORMAT_ZEROFILL;
|
||||
stream.precision = 2 * sizeof( uintptr_t );
|
||||
}
|
||||
argval.__pformat_u128_t.t128.digits[0] = va_arg( argv, uintptr_t );
|
||||
argval.__pformat_u128_t.t128.digits[1] = 0;
|
||||
__pformat_xint( 'x', argval, &stream );
|
||||
goto format_scan;
|
||||
case 'p':
|
||||
/*
|
||||
* Pointer argument; format as hexadecimal, subject to...
|
||||
*/
|
||||
if( (state == PFORMAT_INIT) && (stream.flags == flags) )
|
||||
{
|
||||
/* Here, the user didn't specify any particular
|
||||
* formatting attributes. We must choose a default
|
||||
* which will be compatible with Microsoft's (broken)
|
||||
* scanf() implementation, (i.e. matching the default
|
||||
* used by MSVCRT's printf(), which appears to resemble
|
||||
* "%0.8X" for 32-bit pointers); in particular, we MUST
|
||||
* NOT adopt a GNU-like format resembling "%#x", because
|
||||
* Microsoft's scanf() will choke on the "0x" prefix.
|
||||
*/
|
||||
stream.flags |= PFORMAT_ZEROFILL;
|
||||
stream.precision = 2 * sizeof( uintptr_t );
|
||||
}
|
||||
argval.__pformat_u128_t.t128.digits[0] = va_arg( argv, uintptr_t );
|
||||
argval.__pformat_u128_t.t128.digits[1] = 0;
|
||||
__pformat_xint( 'x', argval, &stream );
|
||||
goto format_scan;
|
||||
|
||||
case 'e':
|
||||
/*
|
||||
* Floating point format, with lower case exponent indicator
|
||||
* and lower case `inf' or `nan' representation when required;
|
||||
* select lower case mode, and simply fall through...
|
||||
*/
|
||||
stream.flags |= PFORMAT_XCASE;
|
||||
case 'e':
|
||||
/*
|
||||
* Floating point format, with lower case exponent indicator
|
||||
* and lower case `inf' or `nan' representation when required;
|
||||
* select lower case mode, and simply fall through...
|
||||
*/
|
||||
stream.flags |= PFORMAT_XCASE;
|
||||
|
||||
case 'E':
|
||||
/*
|
||||
* Floating point format, with upper case exponent indicator
|
||||
* and upper case `INF' or `NAN' representation when required,
|
||||
* (or lower case for all of these, on fall through from above);
|
||||
* select lower case mode, and simply fall through...
|
||||
*/
|
||||
case 'E':
|
||||
/*
|
||||
* Floating point format, with upper case exponent indicator
|
||||
* and upper case `INF' or `NAN' representation when required,
|
||||
* (or lower case for all of these, on fall through from above);
|
||||
* select lower case mode, and simply fall through...
|
||||
*/
|
||||
#ifdef __ENABLE_DFP
|
||||
if( stream.flags & PFORMAT_DECIM32 )
|
||||
/* Is a 32bit decimal float */
|
||||
__pformat_efloat_decimal((_Decimal128)va_arg( argv, _Decimal32 ), &stream );
|
||||
else if( stream.flags & PFORMAT_DECIM64 )
|
||||
/*
|
||||
* Is a 64bit decimal float
|
||||
*/
|
||||
__pformat_efloat_decimal((_Decimal128)va_arg( argv, _Decimal64 ), &stream );
|
||||
else if( stream.flags & PFORMAT_DECIM128 )
|
||||
/*
|
||||
* Is a 128bit decimal float
|
||||
*/
|
||||
__pformat_efloat_decimal(va_arg( argv, _Decimal128 ), &stream );
|
||||
else
|
||||
if( stream.flags & PFORMAT_DECIM32 )
|
||||
/* Is a 32bit decimal float */
|
||||
__pformat_efloat_decimal((_Decimal128)va_arg( argv, _Decimal32 ), &stream );
|
||||
else if( stream.flags & PFORMAT_DECIM64 )
|
||||
/*
|
||||
* Is a 64bit decimal float
|
||||
*/
|
||||
__pformat_efloat_decimal((_Decimal128)va_arg( argv, _Decimal64 ), &stream );
|
||||
else if( stream.flags & PFORMAT_DECIM128 )
|
||||
/*
|
||||
* Is a 128bit decimal float
|
||||
*/
|
||||
__pformat_efloat_decimal(va_arg( argv, _Decimal128 ), &stream );
|
||||
else
|
||||
#endif /* __ENABLE_DFP */
|
||||
if( stream.flags & PFORMAT_LDOUBLE )
|
||||
/*
|
||||
* for a `long double' argument...
|
||||
*/
|
||||
__pformat_efloat( va_arg( argv, long double ), &stream );
|
||||
if( stream.flags & PFORMAT_LDOUBLE )
|
||||
/*
|
||||
* for a `long double' argument...
|
||||
*/
|
||||
__pformat_efloat( va_arg( argv, long double ), &stream );
|
||||
|
||||
else
|
||||
/* or just a `double', which we promote to `long double',
|
||||
* so the two may share a common format handler.
|
||||
*/
|
||||
__pformat_efloat( (long double)(va_arg( argv, double )), &stream );
|
||||
else
|
||||
/* or just a `double', which we promote to `long double',
|
||||
* so the two may share a common format handler.
|
||||
*/
|
||||
__pformat_efloat( (long double)(va_arg( argv, double )), &stream );
|
||||
|
||||
goto format_scan;
|
||||
goto format_scan;
|
||||
|
||||
case 'f':
|
||||
/*
|
||||
* Fixed point format, using lower case for `inf' and
|
||||
* `nan', when appropriate; select lower case mode, and
|
||||
* simply fall through...
|
||||
*/
|
||||
stream.flags |= PFORMAT_XCASE;
|
||||
case 'f':
|
||||
/*
|
||||
* Fixed point format, using lower case for `inf' and
|
||||
* `nan', when appropriate; select lower case mode, and
|
||||
* simply fall through...
|
||||
*/
|
||||
stream.flags |= PFORMAT_XCASE;
|
||||
|
||||
case 'F':
|
||||
/*
|
||||
* Fixed case format using upper case, or lower case on
|
||||
* fall through from above, for `INF' and `NAN'...
|
||||
*/
|
||||
case 'F':
|
||||
/*
|
||||
* Fixed case format using upper case, or lower case on
|
||||
* fall through from above, for `INF' and `NAN'...
|
||||
*/
|
||||
#ifdef __ENABLE_DFP
|
||||
if( stream.flags & PFORMAT_DECIM32 )
|
||||
/* Is a 32bit decimal float */
|
||||
__pformat_float_decimal((_Decimal128)va_arg( argv, _Decimal32 ), &stream );
|
||||
else if( stream.flags & PFORMAT_DECIM64 )
|
||||
/*
|
||||
* Is a 64bit decimal float
|
||||
*/
|
||||
__pformat_float_decimal((_Decimal128)va_arg( argv, _Decimal64 ), &stream );
|
||||
else if( stream.flags & PFORMAT_DECIM128 )
|
||||
/*
|
||||
* Is a 128bit decimal float
|
||||
*/
|
||||
__pformat_float_decimal(va_arg( argv, _Decimal128 ), &stream );
|
||||
else
|
||||
if( stream.flags & PFORMAT_DECIM32 )
|
||||
/* Is a 32bit decimal float */
|
||||
__pformat_float_decimal((_Decimal128)va_arg( argv, _Decimal32 ), &stream );
|
||||
else if( stream.flags & PFORMAT_DECIM64 )
|
||||
/*
|
||||
* Is a 64bit decimal float
|
||||
*/
|
||||
__pformat_float_decimal((_Decimal128)va_arg( argv, _Decimal64 ), &stream );
|
||||
else if( stream.flags & PFORMAT_DECIM128 )
|
||||
/*
|
||||
* Is a 128bit decimal float
|
||||
*/
|
||||
__pformat_float_decimal(va_arg( argv, _Decimal128 ), &stream );
|
||||
else
|
||||
#endif /* __ENABLE_DFP */
|
||||
if( stream.flags & PFORMAT_LDOUBLE )
|
||||
/*
|
||||
* for a `long double' argument...
|
||||
*/
|
||||
__pformat_float( va_arg( argv, long double ), &stream );
|
||||
if( stream.flags & PFORMAT_LDOUBLE )
|
||||
/*
|
||||
* for a `long double' argument...
|
||||
*/
|
||||
__pformat_float( va_arg( argv, long double ), &stream );
|
||||
|
||||
else
|
||||
/* or just a `double', which we promote to `long double',
|
||||
* so the two may share a common format handler.
|
||||
*/
|
||||
__pformat_float( (long double)(va_arg( argv, double )), &stream );
|
||||
else
|
||||
/* or just a `double', which we promote to `long double',
|
||||
* so the two may share a common format handler.
|
||||
*/
|
||||
__pformat_float( (long double)(va_arg( argv, double )), &stream );
|
||||
|
||||
goto format_scan;
|
||||
goto format_scan;
|
||||
|
||||
case 'g':
|
||||
/*
|
||||
* Generalised floating point format, with lower case
|
||||
* exponent indicator when required; select lower case
|
||||
* mode, and simply fall through...
|
||||
*/
|
||||
stream.flags |= PFORMAT_XCASE;
|
||||
case 'g':
|
||||
/*
|
||||
* Generalised floating point format, with lower case
|
||||
* exponent indicator when required; select lower case
|
||||
* mode, and simply fall through...
|
||||
*/
|
||||
stream.flags |= PFORMAT_XCASE;
|
||||
|
||||
case 'G':
|
||||
/*
|
||||
* Generalised floating point format, with upper case,
|
||||
* or on fall through from above, with lower case exponent
|
||||
* indicator when required...
|
||||
*/
|
||||
case 'G':
|
||||
/*
|
||||
* Generalised floating point format, with upper case,
|
||||
* or on fall through from above, with lower case exponent
|
||||
* indicator when required...
|
||||
*/
|
||||
#ifdef __ENABLE_DFP
|
||||
if( stream.flags & PFORMAT_DECIM32 )
|
||||
/* Is a 32bit decimal float */
|
||||
__pformat_gfloat_decimal((_Decimal128)va_arg( argv, _Decimal32 ), &stream );
|
||||
else if( stream.flags & PFORMAT_DECIM64 )
|
||||
/*
|
||||
* Is a 64bit decimal float
|
||||
*/
|
||||
__pformat_gfloat_decimal((_Decimal128)va_arg( argv, _Decimal64 ), &stream );
|
||||
else if( stream.flags & PFORMAT_DECIM128 )
|
||||
/*
|
||||
* Is a 128bit decimal float
|
||||
*/
|
||||
__pformat_gfloat_decimal(va_arg( argv, _Decimal128 ), &stream );
|
||||
else
|
||||
if( stream.flags & PFORMAT_DECIM32 )
|
||||
/* Is a 32bit decimal float */
|
||||
__pformat_gfloat_decimal((_Decimal128)va_arg( argv, _Decimal32 ), &stream );
|
||||
else if( stream.flags & PFORMAT_DECIM64 )
|
||||
/*
|
||||
* Is a 64bit decimal float
|
||||
*/
|
||||
__pformat_gfloat_decimal((_Decimal128)va_arg( argv, _Decimal64 ), &stream );
|
||||
else if( stream.flags & PFORMAT_DECIM128 )
|
||||
/*
|
||||
* Is a 128bit decimal float
|
||||
*/
|
||||
__pformat_gfloat_decimal(va_arg( argv, _Decimal128 ), &stream );
|
||||
else
|
||||
#endif /* __ENABLE_DFP */
|
||||
if( stream.flags & PFORMAT_LDOUBLE )
|
||||
/*
|
||||
* for a `long double' argument...
|
||||
*/
|
||||
__pformat_gfloat( va_arg( argv, long double ), &stream );
|
||||
if( stream.flags & PFORMAT_LDOUBLE )
|
||||
/*
|
||||
* for a `long double' argument...
|
||||
*/
|
||||
__pformat_gfloat( va_arg( argv, long double ), &stream );
|
||||
|
||||
else
|
||||
/* or just a `double', which we promote to `long double',
|
||||
* so the two may share a common format handler.
|
||||
*/
|
||||
__pformat_gfloat( (long double)(va_arg( argv, double )), &stream );
|
||||
else
|
||||
/* or just a `double', which we promote to `long double',
|
||||
* so the two may share a common format handler.
|
||||
*/
|
||||
__pformat_gfloat( (long double)(va_arg( argv, double )), &stream );
|
||||
|
||||
goto format_scan;
|
||||
goto format_scan;
|
||||
|
||||
case 'a':
|
||||
/*
|
||||
* Hexadecimal floating point format, with lower case radix
|
||||
* and exponent indicators; select the lower case mode, and
|
||||
* fall through...
|
||||
*/
|
||||
stream.flags |= PFORMAT_XCASE;
|
||||
case 'a':
|
||||
/*
|
||||
* Hexadecimal floating point format, with lower case radix
|
||||
* and exponent indicators; select the lower case mode, and
|
||||
* fall through...
|
||||
*/
|
||||
stream.flags |= PFORMAT_XCASE;
|
||||
|
||||
case 'A':
|
||||
/*
|
||||
* Hexadecimal floating point format; handles radix and
|
||||
* exponent indicators in either upper or lower case...
|
||||
*/
|
||||
if( stream.flags & PFORMAT_LDOUBLE )
|
||||
/*
|
||||
* with a `long double' argument...
|
||||
*/
|
||||
__pformat_xldouble( va_arg( argv, long double ), &stream );
|
||||
case 'A':
|
||||
/*
|
||||
* Hexadecimal floating point format; handles radix and
|
||||
* exponent indicators in either upper or lower case...
|
||||
*/
|
||||
if( sizeof( double ) != sizeof( long double ) && stream.flags & PFORMAT_LDOUBLE )
|
||||
/*
|
||||
* with a `long double' argument...
|
||||
*/
|
||||
__pformat_xldouble( va_arg( argv, long double ), &stream );
|
||||
|
||||
else
|
||||
/* or just a `double'.
|
||||
*/
|
||||
__pformat_xldouble( (long double)(va_arg( argv, double )), &stream );
|
||||
else
|
||||
/* or just a `double'.
|
||||
*/
|
||||
__pformat_xdouble( va_arg( argv, double ), &stream );
|
||||
|
||||
goto format_scan;
|
||||
goto format_scan;
|
||||
|
||||
case 'n':
|
||||
/*
|
||||
* Save current output character count...
|
||||
*/
|
||||
if( length == PFORMAT_LENGTH_CHAR )
|
||||
/*
|
||||
* to a signed `char' destination...
|
||||
*/
|
||||
*va_arg( argv, char * ) = stream.count;
|
||||
case 'n':
|
||||
/*
|
||||
* Save current output character count...
|
||||
*/
|
||||
if( length == PFORMAT_LENGTH_CHAR )
|
||||
/*
|
||||
* to a signed `char' destination...
|
||||
*/
|
||||
*va_arg( argv, char * ) = stream.count;
|
||||
|
||||
else if( length == PFORMAT_LENGTH_SHORT )
|
||||
/*
|
||||
* or to a signed `short'...
|
||||
*/
|
||||
*va_arg( argv, short * ) = stream.count;
|
||||
else if( length == PFORMAT_LENGTH_SHORT )
|
||||
/*
|
||||
* or to a signed `short'...
|
||||
*/
|
||||
*va_arg( argv, short * ) = stream.count;
|
||||
|
||||
else if( length == PFORMAT_LENGTH_LONG )
|
||||
/*
|
||||
* or to a signed `long'...
|
||||
*/
|
||||
*va_arg( argv, long * ) = stream.count;
|
||||
else if( length == PFORMAT_LENGTH_LONG )
|
||||
/*
|
||||
* or to a signed `long'...
|
||||
*/
|
||||
*va_arg( argv, long * ) = stream.count;
|
||||
|
||||
else if( length == PFORMAT_LENGTH_LLONG )
|
||||
/*
|
||||
* or to a signed `long long'...
|
||||
*/
|
||||
*va_arg( argv, long long * ) = stream.count;
|
||||
else if( length == PFORMAT_LENGTH_LLONG )
|
||||
/*
|
||||
* or to a signed `long long'...
|
||||
*/
|
||||
*va_arg( argv, long long * ) = stream.count;
|
||||
|
||||
else
|
||||
/*
|
||||
* or, by default, to a signed `int'.
|
||||
*/
|
||||
*va_arg( argv, int * ) = stream.count;
|
||||
else
|
||||
/*
|
||||
* or, by default, to a signed `int'.
|
||||
*/
|
||||
*va_arg( argv, int * ) = stream.count;
|
||||
|
||||
goto format_scan;
|
||||
goto format_scan;
|
||||
|
||||
/* Argument length modifiers...
|
||||
* These are non-terminal; each sets the format parser
|
||||
* into the PFORMAT_END state, and ends with a `break'.
|
||||
*/
|
||||
case 'h':
|
||||
/*
|
||||
* Interpret the argument as explicitly of a `short'
|
||||
* or `char' data type, truncated from the standard
|
||||
* length defined for integer promotion.
|
||||
*/
|
||||
if( *fmt == 'h' )
|
||||
{
|
||||
/* Modifier is `hh'; data type is `char' sized...
|
||||
* Skip the second `h', and set length accordingly.
|
||||
*/
|
||||
++fmt;
|
||||
length = PFORMAT_LENGTH_CHAR;
|
||||
}
|
||||
/* Argument length modifiers...
|
||||
* These are non-terminal; each sets the format parser
|
||||
* into the PFORMAT_END state, and ends with a `break'.
|
||||
*/
|
||||
case 'h':
|
||||
/*
|
||||
* Interpret the argument as explicitly of a `short'
|
||||
* or `char' data type, truncated from the standard
|
||||
* length defined for integer promotion.
|
||||
*/
|
||||
if( *fmt == 'h' )
|
||||
{
|
||||
/* Modifier is `hh'; data type is `char' sized...
|
||||
* Skip the second `h', and set length accordingly.
|
||||
*/
|
||||
++fmt;
|
||||
length = PFORMAT_LENGTH_CHAR;
|
||||
}
|
||||
|
||||
else
|
||||
/* Modifier is `h'; data type is `short' sized...
|
||||
*/
|
||||
length = PFORMAT_LENGTH_SHORT;
|
||||
else
|
||||
/* Modifier is `h'; data type is `short' sized...
|
||||
*/
|
||||
length = PFORMAT_LENGTH_SHORT;
|
||||
|
||||
state = PFORMAT_END;
|
||||
break;
|
||||
state = PFORMAT_END;
|
||||
break;
|
||||
|
||||
case 'j':
|
||||
/*
|
||||
* Interpret the argument as being of the same size as
|
||||
* a `intmax_t' entity...
|
||||
*/
|
||||
length = __pformat_arg_length( intmax_t );
|
||||
state = PFORMAT_END;
|
||||
break;
|
||||
|
||||
# ifdef _WIN32
|
||||
case 'j':
|
||||
/*
|
||||
* Interpret the argument as being of the same size as
|
||||
* a `intmax_t' entity...
|
||||
*/
|
||||
length = __pformat_arg_length( intmax_t );
|
||||
state = PFORMAT_END;
|
||||
break;
|
||||
|
||||
case 'I':
|
||||
/*
|
||||
* The MSVCRT implementation of the printf() family of
|
||||
* functions explicitly uses...
|
||||
*/
|
||||
# ifdef _WIN32
|
||||
|
||||
case 'I':
|
||||
/*
|
||||
* The MSVCRT implementation of the printf() family of
|
||||
* functions explicitly uses...
|
||||
*/
|
||||
#ifdef __ENABLE_PRINTF128
|
||||
if( (fmt[0] == '1') && (fmt[1] == '2') && (fmt[2] == '8')){
|
||||
length = PFORMAT_LENGTH_LLONG128;
|
||||
fmt += 3;
|
||||
} else
|
||||
if( (fmt[0] == '1') && (fmt[1] == '2') && (fmt[2] == '8')){
|
||||
length = PFORMAT_LENGTH_LLONG128;
|
||||
fmt += 3;
|
||||
} else
|
||||
#endif
|
||||
if( (fmt[0] == '6') && (fmt[1] == '4') )
|
||||
{
|
||||
/* I64' instead of `ll',
|
||||
* when referring to `long long' integer types...
|
||||
*/
|
||||
length = PFORMAT_LENGTH_LLONG;
|
||||
fmt += 2;
|
||||
} else
|
||||
if( (fmt[0] == '3') && (fmt[1] == '2') )
|
||||
{
|
||||
/* and `I32' instead of `l',
|
||||
* when referring to `long' integer types...
|
||||
*/
|
||||
length = PFORMAT_LENGTH_LONG;
|
||||
fmt += 2;
|
||||
}
|
||||
if( (fmt[0] == '6') && (fmt[1] == '4') )
|
||||
{
|
||||
/* I64' instead of `ll',
|
||||
* when referring to `long long' integer types...
|
||||
*/
|
||||
length = PFORMAT_LENGTH_LLONG;
|
||||
fmt += 2;
|
||||
} else
|
||||
if( (fmt[0] == '3') && (fmt[1] == '2') )
|
||||
{
|
||||
/* and `I32' instead of `l',
|
||||
* when referring to `long' integer types...
|
||||
*/
|
||||
length = PFORMAT_LENGTH_LONG;
|
||||
fmt += 2;
|
||||
}
|
||||
|
||||
else
|
||||
/* or unqualified `I' instead of `t' or `z',
|
||||
* when referring to `ptrdiff_t' or `size_t' entities;
|
||||
* (we will choose to map it to `ptrdiff_t').
|
||||
*/
|
||||
length = __pformat_arg_length( ptrdiff_t );
|
||||
else
|
||||
/* or unqualified `I' instead of `t' or `z',
|
||||
* when referring to `ptrdiff_t' or `size_t' entities;
|
||||
* (we will choose to map it to `ptrdiff_t').
|
||||
*/
|
||||
length = __pformat_arg_length( ptrdiff_t );
|
||||
|
||||
state = PFORMAT_END;
|
||||
break;
|
||||
state = PFORMAT_END;
|
||||
break;
|
||||
|
||||
# endif
|
||||
|
||||
# endif
|
||||
|
||||
#ifdef __ENABLE_DFP
|
||||
case 'H':
|
||||
stream.flags |= PFORMAT_DECIM32;
|
||||
state = PFORMAT_END;
|
||||
break;
|
||||
case 'H':
|
||||
stream.flags |= PFORMAT_DECIM32;
|
||||
state = PFORMAT_END;
|
||||
break;
|
||||
|
||||
case 'D':
|
||||
/*
|
||||
* Interpret the argument as explicitly of a
|
||||
* `_Decimal64' or `_Decimal128' data type.
|
||||
*/
|
||||
if( *fmt == 'D' )
|
||||
{
|
||||
/* Modifier is `DD'; data type is `_Decimal128' sized...
|
||||
* Skip the second `D', and set length accordingly.
|
||||
*/
|
||||
++fmt;
|
||||
stream.flags |= PFORMAT_DECIM128;
|
||||
}
|
||||
case 'D':
|
||||
/*
|
||||
* Interpret the argument as explicitly of a
|
||||
* `_Decimal64' or `_Decimal128' data type.
|
||||
*/
|
||||
if( *fmt == 'D' )
|
||||
{
|
||||
/* Modifier is `DD'; data type is `_Decimal128' sized...
|
||||
* Skip the second `D', and set length accordingly.
|
||||
*/
|
||||
++fmt;
|
||||
stream.flags |= PFORMAT_DECIM128;
|
||||
}
|
||||
|
||||
else
|
||||
/* Modifier is `D'; data type is `_Decimal64' sized...
|
||||
*/
|
||||
stream.flags |= PFORMAT_DECIM64;
|
||||
else
|
||||
/* Modifier is `D'; data type is `_Decimal64' sized...
|
||||
*/
|
||||
stream.flags |= PFORMAT_DECIM64;
|
||||
|
||||
state = PFORMAT_END;
|
||||
break;
|
||||
state = PFORMAT_END;
|
||||
break;
|
||||
#endif /* __ENABLE_DFP */
|
||||
case 'l':
|
||||
/*
|
||||
* Interpret the argument as explicitly of a
|
||||
* `long' or `long long' data type.
|
||||
*/
|
||||
if( *fmt == 'l' )
|
||||
{
|
||||
/* Modifier is `ll'; data type is `long long' sized...
|
||||
* Skip the second `l', and set length accordingly.
|
||||
*/
|
||||
++fmt;
|
||||
length = PFORMAT_LENGTH_LLONG;
|
||||
}
|
||||
case 'l':
|
||||
/*
|
||||
* Interpret the argument as explicitly of a
|
||||
* `long' or `long long' data type.
|
||||
*/
|
||||
if( *fmt == 'l' )
|
||||
{
|
||||
/* Modifier is `ll'; data type is `long long' sized...
|
||||
* Skip the second `l', and set length accordingly.
|
||||
*/
|
||||
++fmt;
|
||||
length = PFORMAT_LENGTH_LLONG;
|
||||
}
|
||||
|
||||
else
|
||||
/* Modifier is `l'; data type is `long' sized...
|
||||
*/
|
||||
length = PFORMAT_LENGTH_LONG;
|
||||
else
|
||||
/* Modifier is `l'; data type is `long' sized...
|
||||
*/
|
||||
length = PFORMAT_LENGTH_LONG;
|
||||
|
||||
state = PFORMAT_END;
|
||||
break;
|
||||
state = PFORMAT_END;
|
||||
break;
|
||||
|
||||
case 'L':
|
||||
/*
|
||||
* Identify the appropriate argument as a `long double',
|
||||
* when associated with `%a', `%A', `%e', `%E', `%f', `%F',
|
||||
* `%g' or `%G' format specifications.
|
||||
*/
|
||||
stream.flags |= PFORMAT_LDOUBLE;
|
||||
state = PFORMAT_END;
|
||||
break;
|
||||
|
||||
case 't':
|
||||
/*
|
||||
* Interpret the argument as being of the same size as
|
||||
* a `ptrdiff_t' entity...
|
||||
*/
|
||||
length = __pformat_arg_length( ptrdiff_t );
|
||||
state = PFORMAT_END;
|
||||
break;
|
||||
|
||||
case 'z':
|
||||
/*
|
||||
* Interpret the argument as being of the same size as
|
||||
* a `size_t' entity...
|
||||
*/
|
||||
length = __pformat_arg_length( size_t );
|
||||
state = PFORMAT_END;
|
||||
break;
|
||||
|
||||
/* Precision indicator...
|
||||
* May appear once only; it must precede any modifier
|
||||
* for argument length, or any data type specifier.
|
||||
*/
|
||||
case '.':
|
||||
if( state < PFORMAT_GET_PRECISION )
|
||||
{
|
||||
/* We haven't seen a precision specification yet,
|
||||
* so initialise it to zero, (in case no digits follow),
|
||||
* and accept any following digits as the precision.
|
||||
*/
|
||||
stream.precision = 0;
|
||||
width_spec = &stream.precision;
|
||||
state = PFORMAT_GET_PRECISION;
|
||||
}
|
||||
case 'L':
|
||||
/*
|
||||
* Identify the appropriate argument as a `long double',
|
||||
* when associated with `%a', `%A', `%e', `%E', `%f', `%F',
|
||||
* `%g' or `%G' format specifications.
|
||||
*/
|
||||
stream.flags |= PFORMAT_LDOUBLE;
|
||||
state = PFORMAT_END;
|
||||
break;
|
||||
|
||||
else
|
||||
/* We've already seen a precision specification,
|
||||
* so this is just junk; proceed to end game.
|
||||
*/
|
||||
state = PFORMAT_END;
|
||||
case 't':
|
||||
/*
|
||||
* Interpret the argument as being of the same size as
|
||||
* a `ptrdiff_t' entity...
|
||||
*/
|
||||
length = __pformat_arg_length( ptrdiff_t );
|
||||
state = PFORMAT_END;
|
||||
break;
|
||||
|
||||
/* Either way, we must not fall through here.
|
||||
*/
|
||||
break;
|
||||
case 'z':
|
||||
/*
|
||||
* Interpret the argument as being of the same size as
|
||||
* a `size_t' entity...
|
||||
*/
|
||||
length = __pformat_arg_length( size_t );
|
||||
state = PFORMAT_END;
|
||||
break;
|
||||
|
||||
/* Variable field width, or precision specification,
|
||||
* derived from the argument list...
|
||||
*/
|
||||
case '*':
|
||||
/*
|
||||
* When this appears...
|
||||
*/
|
||||
if( width_spec
|
||||
&& ((state == PFORMAT_INIT) || (state == PFORMAT_GET_PRECISION)) )
|
||||
{
|
||||
/* in proper context; assign to field width
|
||||
* or precision, as appropriate.
|
||||
*/
|
||||
if( (*width_spec = va_arg( argv, int )) < 0 )
|
||||
{
|
||||
/* Assigned value was negative...
|
||||
*/
|
||||
if( state == PFORMAT_INIT )
|
||||
{
|
||||
/* For field width, this is equivalent to
|
||||
* a positive value with the `-' flag...
|
||||
*/
|
||||
stream.flags |= PFORMAT_LJUSTIFY;
|
||||
stream.width = -stream.width;
|
||||
}
|
||||
/* Precision indicator...
|
||||
* May appear once only; it must precede any modifier
|
||||
* for argument length, or any data type specifier.
|
||||
*/
|
||||
case '.':
|
||||
if( state < PFORMAT_GET_PRECISION )
|
||||
{
|
||||
/* We haven't seen a precision specification yet,
|
||||
* so initialise it to zero, (in case no digits follow),
|
||||
* and accept any following digits as the precision.
|
||||
*/
|
||||
stream.precision = 0;
|
||||
width_spec = &stream.precision;
|
||||
state = PFORMAT_GET_PRECISION;
|
||||
}
|
||||
|
||||
else
|
||||
/* while as a precision specification,
|
||||
* it should simply be ignored.
|
||||
*/
|
||||
stream.precision = PFORMAT_IGNORE;
|
||||
}
|
||||
}
|
||||
else
|
||||
/* We've already seen a precision specification,
|
||||
* so this is just junk; proceed to end game.
|
||||
*/
|
||||
state = PFORMAT_END;
|
||||
|
||||
else
|
||||
/* out of context; give up on width and precision
|
||||
* specifications for this conversion.
|
||||
*/
|
||||
state = PFORMAT_END;
|
||||
/* Either way, we must not fall through here.
|
||||
*/
|
||||
break;
|
||||
|
||||
/* Mark as processed...
|
||||
* we must not see `*' again, in this context.
|
||||
*/
|
||||
width_spec = NULL;
|
||||
break;
|
||||
/* Variable field width, or precision specification,
|
||||
* derived from the argument list...
|
||||
*/
|
||||
case '*':
|
||||
/*
|
||||
* When this appears...
|
||||
*/
|
||||
if( width_spec
|
||||
&& ((state == PFORMAT_INIT) || (state == PFORMAT_GET_PRECISION)) )
|
||||
{
|
||||
/* in proper context; assign to field width
|
||||
* or precision, as appropriate.
|
||||
*/
|
||||
if( (*width_spec = va_arg( argv, int )) < 0 )
|
||||
{
|
||||
/* Assigned value was negative...
|
||||
*/
|
||||
if( state == PFORMAT_INIT )
|
||||
{
|
||||
/* For field width, this is equivalent to
|
||||
* a positive value with the `-' flag...
|
||||
*/
|
||||
stream.flags |= PFORMAT_LJUSTIFY;
|
||||
stream.width = -stream.width;
|
||||
}
|
||||
|
||||
/* Formatting flags...
|
||||
* Must appear while in the PFORMAT_INIT state,
|
||||
* and are non-terminal, so again, end with `break'.
|
||||
*/
|
||||
case '#':
|
||||
/*
|
||||
* Select alternate PFORMAT_HASHED output style.
|
||||
*/
|
||||
if( state == PFORMAT_INIT )
|
||||
stream.flags |= PFORMAT_HASHED;
|
||||
break;
|
||||
else
|
||||
/* while as a precision specification,
|
||||
* it should simply be ignored.
|
||||
*/
|
||||
stream.precision = PFORMAT_IGNORE;
|
||||
}
|
||||
}
|
||||
|
||||
case '+':
|
||||
/*
|
||||
* Print a leading sign with numeric output,
|
||||
* for both positive and negative values.
|
||||
*/
|
||||
if( state == PFORMAT_INIT )
|
||||
stream.flags |= PFORMAT_POSITIVE;
|
||||
break;
|
||||
else
|
||||
/* out of context; give up on width and precision
|
||||
* specifications for this conversion.
|
||||
*/
|
||||
state = PFORMAT_END;
|
||||
|
||||
case '-':
|
||||
/*
|
||||
* Select left justification of displayed output
|
||||
* data, within the output field width, instead of
|
||||
* the default flush right justification.
|
||||
*/
|
||||
if( state == PFORMAT_INIT )
|
||||
stream.flags |= PFORMAT_LJUSTIFY;
|
||||
break;
|
||||
/* Mark as processed...
|
||||
* we must not see `*' again, in this context.
|
||||
*/
|
||||
width_spec = NULL;
|
||||
break;
|
||||
|
||||
case '\'':
|
||||
/*
|
||||
* This is an XSI extension to the POSIX standard,
|
||||
* which we do not support, at present.
|
||||
*/
|
||||
if (state == PFORMAT_INIT)
|
||||
{
|
||||
stream.flags |= PFORMAT_GROUPED; /* $$$$ */
|
||||
int len; wchar_t rpchr; mbstate_t cstate;
|
||||
memset (&cstate, 0, sizeof(state));
|
||||
if ((len = mbrtowc( &rpchr, localeconv()->thousands_sep, 16, &cstate)) > 0)
|
||||
stream.thousands_chr = rpchr;
|
||||
stream.thousands_chr_len = len;
|
||||
}
|
||||
break;
|
||||
/* Formatting flags...
|
||||
* Must appear while in the PFORMAT_INIT state,
|
||||
* and are non-terminal, so again, end with `break'.
|
||||
*/
|
||||
case '#':
|
||||
/*
|
||||
* Select alternate PFORMAT_HASHED output style.
|
||||
*/
|
||||
if( state == PFORMAT_INIT )
|
||||
stream.flags |= PFORMAT_HASHED;
|
||||
break;
|
||||
|
||||
case '\x20':
|
||||
/*
|
||||
* Reserve a single space, within the output field,
|
||||
* for display of the sign of signed data; this will
|
||||
* be occupied by the minus sign, if the data value
|
||||
* is negative, or by a plus sign if the data value
|
||||
* is positive AND the `+' flag is also present, or
|
||||
* by a space otherwise. (Technically, this flag
|
||||
* is redundant, if the `+' flag is present).
|
||||
*/
|
||||
if( state == PFORMAT_INIT )
|
||||
stream.flags |= PFORMAT_ADDSPACE;
|
||||
break;
|
||||
case '+':
|
||||
/*
|
||||
* Print a leading sign with numeric output,
|
||||
* for both positive and negative values.
|
||||
*/
|
||||
if( state == PFORMAT_INIT )
|
||||
stream.flags |= PFORMAT_POSITIVE;
|
||||
break;
|
||||
|
||||
case '0':
|
||||
/*
|
||||
* May represent a flag, to activate the `pad with zeros'
|
||||
* option, or it may simply be a digit in a width or in a
|
||||
* precision specification...
|
||||
*/
|
||||
if( state == PFORMAT_INIT )
|
||||
{
|
||||
/* This is the flag usage...
|
||||
*/
|
||||
stream.flags |= PFORMAT_ZEROFILL;
|
||||
break;
|
||||
}
|
||||
case '-':
|
||||
/*
|
||||
* Select left justification of displayed output
|
||||
* data, within the output field width, instead of
|
||||
* the default flush right justification.
|
||||
*/
|
||||
if( state == PFORMAT_INIT )
|
||||
stream.flags |= PFORMAT_LJUSTIFY;
|
||||
break;
|
||||
|
||||
default:
|
||||
/*
|
||||
* If we didn't match anything above, then we will check
|
||||
* for digits, which we may accumulate to generate field
|
||||
* width or precision specifications...
|
||||
*/
|
||||
if( (state < PFORMAT_END) && ('9' >= c) && (c >= '0') )
|
||||
{
|
||||
if( state == PFORMAT_INIT )
|
||||
/*
|
||||
* Initial digits explicitly relate to field width...
|
||||
*/
|
||||
state = PFORMAT_SET_WIDTH;
|
||||
case '\'':
|
||||
/*
|
||||
* This is an XSI extension to the POSIX standard,
|
||||
* which we do not support, at present.
|
||||
*/
|
||||
if (state == PFORMAT_INIT)
|
||||
{
|
||||
stream.flags |= PFORMAT_GROUPED; /* $$$$ */
|
||||
int len; wchar_t rpchr; mbstate_t cstate;
|
||||
memset (&cstate, 0, sizeof(state));
|
||||
if ((len = mbrtowc( &rpchr, localeconv()->thousands_sep, 16, &cstate)) > 0)
|
||||
stream.thousands_chr = rpchr;
|
||||
stream.thousands_chr_len = len;
|
||||
}
|
||||
break;
|
||||
|
||||
else if( state == PFORMAT_GET_PRECISION )
|
||||
/*
|
||||
* while those following a precision indicator
|
||||
* explicitly relate to precision.
|
||||
*/
|
||||
state = PFORMAT_SET_PRECISION;
|
||||
case '\x20':
|
||||
/*
|
||||
* Reserve a single space, within the output field,
|
||||
* for display of the sign of signed data; this will
|
||||
* be occupied by the minus sign, if the data value
|
||||
* is negative, or by a plus sign if the data value
|
||||
* is positive AND the `+' flag is also present, or
|
||||
* by a space otherwise. (Technically, this flag
|
||||
* is redundant, if the `+' flag is present).
|
||||
*/
|
||||
if( state == PFORMAT_INIT )
|
||||
stream.flags |= PFORMAT_ADDSPACE;
|
||||
break;
|
||||
|
||||
if( width_spec )
|
||||
{
|
||||
/* We are accepting a width or precision specification...
|
||||
*/
|
||||
if( *width_spec < 0 )
|
||||
/*
|
||||
* and accumulation hasn't started yet; we simply
|
||||
* initialise the accumulator with the current digit
|
||||
* value, converting from ASCII to decimal.
|
||||
*/
|
||||
*width_spec = c - '0';
|
||||
case '0':
|
||||
/*
|
||||
* May represent a flag, to activate the `pad with zeros'
|
||||
* option, or it may simply be a digit in a width or in a
|
||||
* precision specification...
|
||||
*/
|
||||
if( state == PFORMAT_INIT )
|
||||
{
|
||||
/* This is the flag usage...
|
||||
*/
|
||||
stream.flags |= PFORMAT_ZEROFILL;
|
||||
break;
|
||||
}
|
||||
|
||||
else
|
||||
/* Accumulation has already started; we perform a
|
||||
* `leftwise decimal digit shift' on the accumulator,
|
||||
* (i.e. multiply it by ten), then add the decimal
|
||||
* equivalent value of the current digit.
|
||||
*/
|
||||
*width_spec = *width_spec * 10 + c - '0';
|
||||
}
|
||||
}
|
||||
default:
|
||||
/*
|
||||
* If we didn't match anything above, then we will check
|
||||
* for digits, which we may accumulate to generate field
|
||||
* width or precision specifications...
|
||||
*/
|
||||
if( (state < PFORMAT_END) && ('9' >= c) && (c >= '0') )
|
||||
{
|
||||
if( state == PFORMAT_INIT )
|
||||
/*
|
||||
* Initial digits explicitly relate to field width...
|
||||
*/
|
||||
state = PFORMAT_SET_WIDTH;
|
||||
|
||||
else
|
||||
{
|
||||
/* We found a digit out of context, or some other character
|
||||
* with no designated meaning; reject this format specification,
|
||||
* backtrack, and emit it as literal text...
|
||||
*/
|
||||
fmt = backtrack;
|
||||
else if( state == PFORMAT_GET_PRECISION )
|
||||
/*
|
||||
* while those following a precision indicator
|
||||
* explicitly relate to precision.
|
||||
*/
|
||||
state = PFORMAT_SET_PRECISION;
|
||||
|
||||
if( width_spec )
|
||||
{
|
||||
/* We are accepting a width or precision specification...
|
||||
*/
|
||||
if( *width_spec < 0 )
|
||||
/*
|
||||
* and accumulation hasn't started yet; we simply
|
||||
* initialise the accumulator with the current digit
|
||||
* value, converting from ASCII to decimal.
|
||||
*/
|
||||
*width_spec = c - '0';
|
||||
|
||||
else
|
||||
/* Accumulation has already started; we perform a
|
||||
* `leftwise decimal digit shift' on the accumulator,
|
||||
* (i.e. multiply it by ten), then add the decimal
|
||||
* equivalent value of the current digit.
|
||||
*/
|
||||
*width_spec = *width_spec * 10 + c - '0';
|
||||
}
|
||||
}
|
||||
|
||||
else
|
||||
{
|
||||
/* We found a digit out of context, or some other character
|
||||
* with no designated meaning; reject this format specification,
|
||||
* backtrack, and emit it as literal text...
|
||||
*/
|
||||
fmt = backtrack;
|
||||
#ifndef __BUILD_WIDEAPI
|
||||
__pformat_putc( '%', &stream );
|
||||
__pformat_putc( '%', &stream );
|
||||
#else
|
||||
stream.width = stream.precision = PFORMAT_IGNORE;
|
||||
__pformat_wputchars( L"%", 1, &stream );
|
||||
#endif
|
||||
goto format_scan;
|
||||
}
|
||||
}
|
||||
goto format_scan;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Vendored
+81
-71
@@ -9,17 +9,14 @@
|
||||
The goal of this routine is to turn a call to v*scanf into a call to
|
||||
s*scanf. This is needed because mingw-w64 uses msvcr100.dll, which doesn't
|
||||
support the v*scanf functions instead of msvcr120.dll which does.
|
||||
Unfortunately, there is no defined way to know exactly how big a va_list
|
||||
is, so we use a hard-coded buffer.
|
||||
|
||||
I suppose a sufficiently-motivated person could try to parse the format
|
||||
to figure out how many tokens there are... */
|
||||
*/
|
||||
|
||||
/* The function prototype here is (essentially):
|
||||
|
||||
int __ms_vsscanf_internal (void *s,
|
||||
int __ms_v*scanf_internal (void *s,
|
||||
void *format,
|
||||
void *arg,
|
||||
size_t count,
|
||||
void *func);
|
||||
|
||||
I say 'essentially' because passing a function pointer as void in ISO
|
||||
@@ -37,19 +34,6 @@
|
||||
*/
|
||||
.def __argtos; .scl 2; .type 32; .endef
|
||||
|
||||
/* The max number of pointers we support. Must be an even number
|
||||
to keep the 64bit stack 16byte aligned. Must not be less than 4. */
|
||||
.equ entries, 30
|
||||
|
||||
/* 64bit pointers are 8 bytes. */
|
||||
.equ sizeof, 8
|
||||
|
||||
/* Size of our buffer. */
|
||||
.equ iBytes, entries * sizeof
|
||||
|
||||
/* Stack space for first 2 args to s*scanf. */
|
||||
.equ iOffset, (2 * sizeof)
|
||||
|
||||
.seh_proc __argtos
|
||||
__argtos:
|
||||
|
||||
@@ -58,48 +42,58 @@ __argtos:
|
||||
- format must be in rdx. That's where it is on entry.
|
||||
- The first pointer in arg must be in r8. arg is in r8 on entry.
|
||||
- The second pointer in arg must be in r9. arg is in r8 on entry.
|
||||
- The ($entries - 2) other pointers in arg must be on the stack,
|
||||
- The (count - 2) other pointers in arg must be on the stack,
|
||||
starting 32bytes into rsp. */
|
||||
|
||||
/* We need enough room to shadow (s + format)
|
||||
+ (enough room for all the other args). */
|
||||
subq $(iOffset + iBytes), %rsp
|
||||
.seh_stackalloc iOffset + iBytes
|
||||
pushq %rbp
|
||||
.seh_pushreg %rbp
|
||||
movq %rsp, %rbp
|
||||
.seh_setframe %rbp, 0
|
||||
|
||||
/* We need to always reserve space to shadow 4 parameters. */
|
||||
subq $32, %rsp
|
||||
.seh_stackalloc 32
|
||||
.seh_endprologue
|
||||
|
||||
/* We are going to copy $entries pointers from arg to our
|
||||
local stack. Except the first 2, since they will be
|
||||
loaded in registers. */
|
||||
movq $entries - 2, %r10 /* # of ptrs to copy. */
|
||||
movq 48(%rbp), %r10 /* func. */
|
||||
|
||||
/* The first 32 bytes are in registers, but by spec, space
|
||||
must still be reserved for them on the stack. Put the
|
||||
/* We need enough room to shadow all the other args.
|
||||
Except the first 2, since they will be loaded in registers. */
|
||||
cmpq $2, %r9 /* count. */
|
||||
jbe .SKIP
|
||||
subq $2, %r9 /* # of ptrs to copy. */
|
||||
/* Calculate stack size (arg is 8byte) and keep the stack 16byte aligned. */
|
||||
leaq 8(, %r9, 8), %rax /* %rax = (%r9 + 1) * 8 */
|
||||
andq $-16, %rax
|
||||
subq %rax, %rsp
|
||||
|
||||
/* We are going to copy parameters from arg to our local stack.
|
||||
The first 32 bytes are in registers, but by spec, space
|
||||
must still be reserved for them on the stack. Put the
|
||||
rest of the pointers in the stack after that. */
|
||||
lea 32(%rsp), %r11 /* dst. */
|
||||
|
||||
.LOOP:
|
||||
subq $1, %r10
|
||||
subq $1, %r9
|
||||
|
||||
/* Use 16 to skip over the first 2 pointers. */
|
||||
movq 16(%r8, %r10, 8), %rax
|
||||
movq %rax, (%r11, %r10, 8)
|
||||
movq 16(%r8, %r9, 8), %rax
|
||||
movq %rax, (%r11, %r9, 8)
|
||||
jnz .LOOP
|
||||
|
||||
/* r9 contains the routine we are going to call. Since we are about to
|
||||
overwrite it, move it somewhere safe. */
|
||||
movq %r9, %r10
|
||||
|
||||
.SKIP:
|
||||
/* The stack is now correctly populated, and so are rcx and rdx.
|
||||
But we need to load the last 2 regs before making the call. */
|
||||
movq 0x8(%r8), %r9 /* 2nd dest location (may be garbage if only 1 arg). */
|
||||
movq (%r8), %r8 /* 1st dest location. */
|
||||
movq (%r8), %r8 /* 1st dest location (may be garbage if no arg). */
|
||||
|
||||
/* Make the call. */
|
||||
callq *%r10
|
||||
|
||||
addq $(iOffset + iBytes), %rsp
|
||||
/* Restore stack. */
|
||||
movq %rbp, %rsp
|
||||
|
||||
popq %rbp
|
||||
retq
|
||||
.seh_endproc
|
||||
|
||||
@@ -113,31 +107,23 @@ __argtos:
|
||||
*/
|
||||
.def __argtos; .scl 2; .type 32; .endef
|
||||
|
||||
/* The max number of pointers we support. Must not be less than 1. */
|
||||
.equ entries, 30
|
||||
|
||||
/* 64bit pointers are 8 bytes. */
|
||||
.equ sizeof, 4
|
||||
|
||||
/* Size of our buffer. */
|
||||
.set iBytes, entries * sizeof
|
||||
|
||||
/* Stack space for first 2 args to s*scanf. */
|
||||
.equ iOffset, (2 * sizeof)
|
||||
|
||||
__argtos:
|
||||
pushl %ebp
|
||||
movl %esp, %ebp
|
||||
pushl %edi
|
||||
pushl %ebx
|
||||
|
||||
/* Reserve enough stack space for everything.
|
||||
|
||||
Stack usage will look like:
|
||||
4 bytes - s
|
||||
4 bytes - format
|
||||
(iBytes) bytes - variable # of parameters for sscanf (all ptrs). */
|
||||
4*count bytes - variable # of parameters for sscanf (all ptrs). */
|
||||
|
||||
subl $(iOffset + iBytes), %esp
|
||||
movl 20(%ebp), %ebx /* count. */
|
||||
addl $2, %ebx /* s + format. */
|
||||
sall $2, %ebx /* (count + 2) * 4. */
|
||||
subl %ebx, %esp
|
||||
|
||||
/* Write out s and format where they need to be for the sscanf call. */
|
||||
movl 8(%ebp), %eax
|
||||
@@ -145,10 +131,12 @@ __argtos:
|
||||
movl 12(%ebp), %edx
|
||||
movl %edx, 0x4(%esp) /* format. */
|
||||
|
||||
/* We are going to copy $entries pointers from arg to our
|
||||
/* We are going to copy _count_ pointers from arg to our
|
||||
local stack. */
|
||||
movl $entries, %ecx /* # of ptrs to copy. */
|
||||
lea iOffset(%esp), %edi /* dst. */
|
||||
movl 20(%ebp), %ecx /* # of ptrs to copy. */
|
||||
testl %ecx, %ecx
|
||||
jz .SKIP
|
||||
lea 8(%esp), %edi /* dst. */
|
||||
movl 16(%ebp), %edx /* src. */
|
||||
|
||||
.LOOP:
|
||||
@@ -158,13 +146,16 @@ __argtos:
|
||||
movl %eax, (%edi, %ecx, 4)
|
||||
jnz .LOOP
|
||||
|
||||
.SKIP:
|
||||
/* The stack is now correctly populated. */
|
||||
|
||||
/* Make the call. */
|
||||
call *20(%ebp)
|
||||
call *24(%ebp)
|
||||
|
||||
/* Restore stack. */
|
||||
addl $(iOffset + iBytes), %esp
|
||||
addl %ebx, %esp
|
||||
|
||||
popl %ebx
|
||||
popl %edi
|
||||
leave
|
||||
|
||||
@@ -178,25 +169,35 @@ __argtos:
|
||||
.globl __argtos
|
||||
|
||||
__argtos:
|
||||
push {r4-r7, lr}
|
||||
sub sp, sp, #128
|
||||
mov r12, r3
|
||||
mov r4, sp
|
||||
push {r4-r8, lr}
|
||||
ldr r12, [sp, #24]
|
||||
|
||||
ldr r5, [r2], #4
|
||||
ldr r6, [r2], #4
|
||||
|
||||
mov r3, #116
|
||||
subs r3, r3, #2
|
||||
mov r8, #0
|
||||
ble 2f
|
||||
|
||||
/* Round the number of entries to an even number, to maintain
|
||||
* 8 byte stack alignment. */
|
||||
mov r8, r3
|
||||
add r8, r8, #1
|
||||
bic r8, r8, #1
|
||||
sub sp, sp, r8, lsl #2
|
||||
mov r4, sp
|
||||
1: ldr r7, [r2], #4
|
||||
subs r3, r3, #1
|
||||
str r7, [r4], #4
|
||||
subs r3, r3, #4
|
||||
bne 1b
|
||||
|
||||
2:
|
||||
mov r2, r5
|
||||
mov r3, r6
|
||||
blx r12
|
||||
add sp, sp, #128
|
||||
pop {r4-r7, pc}
|
||||
|
||||
add sp, sp, r8, lsl #2
|
||||
pop {r4-r8, pc}
|
||||
|
||||
#elif defined (__aarch64__)
|
||||
|
||||
@@ -207,10 +208,9 @@ __argtos:
|
||||
__argtos:
|
||||
stp x29, x30, [sp, #-16]!
|
||||
mov x29, sp
|
||||
sub sp, sp, #256
|
||||
mov x9, sp
|
||||
mov x10, x2
|
||||
mov x11, x3
|
||||
mov x12, x4
|
||||
|
||||
ldr x2, [x10], #8
|
||||
ldr x3, [x10], #8
|
||||
@@ -219,13 +219,23 @@ __argtos:
|
||||
ldr x6, [x10], #8
|
||||
ldr x7, [x10], #8
|
||||
|
||||
mov x12, #240
|
||||
subs x11, x11, #6
|
||||
b.le 2f
|
||||
|
||||
/* Round the number of entries to an even number, to maintain
|
||||
* 16 byte stack alignment. */
|
||||
mov x13, x11
|
||||
add x13, x13, #1
|
||||
bic x13, x13, #1
|
||||
sub sp, sp, x13, lsl #3
|
||||
mov x9, sp
|
||||
1: ldr x13, [x10], #8
|
||||
subs x11, x11, #1
|
||||
str x13, [x9], #8
|
||||
subs x12, x12, #8
|
||||
b.ne 1b
|
||||
|
||||
blr x11
|
||||
2:
|
||||
blr x12
|
||||
mov sp, x29
|
||||
ldp x29, x30, [sp], #16
|
||||
ret
|
||||
|
||||
Vendored
+1
-21
@@ -12,27 +12,7 @@ int __cdecl __ms_snprintf(char* buffer, size_t n, const char *format, ...)
|
||||
va_list argptr;
|
||||
|
||||
va_start(argptr, format);
|
||||
|
||||
/* _vsnprintf() does not work with zero length buffer
|
||||
* so count number of character by _vscprintf() call */
|
||||
if (n == 0 || !buffer)
|
||||
{
|
||||
retval = _vscprintf(format, argptr);
|
||||
va_end(argptr);
|
||||
return retval;
|
||||
}
|
||||
|
||||
retval = _vsnprintf (buffer, n, format, argptr);
|
||||
|
||||
/* _vsnprintf() returns negative number if buffer is too small
|
||||
* so count number of character by _vscprintf() call */
|
||||
if (retval < 0)
|
||||
retval = _vscprintf(format, argptr);
|
||||
|
||||
/* _vsnprintf() does not fill trailing null byte if there is not place for it */
|
||||
if ((size_t)retval >= n)
|
||||
buffer[n-1] = '\0';
|
||||
|
||||
retval = __ms_vsnprintf(buffer, n, format, argptr);
|
||||
va_end(argptr);
|
||||
return retval;
|
||||
}
|
||||
|
||||
Vendored
+17
-1
@@ -4,8 +4,24 @@
|
||||
* No warranty is given; refer to the file DISCLAIMER.PD within this package.
|
||||
*/
|
||||
#include <stdlib.h>
|
||||
#include <float.h>
|
||||
#include <errno.h>
|
||||
#include <math.h>
|
||||
|
||||
float strtof( const char *nptr, char **endptr)
|
||||
{
|
||||
return (strtod(nptr, endptr));
|
||||
double ret = strtod(nptr, endptr);
|
||||
if (isfinite(ret)) {
|
||||
/* Check for cases that aren't out of range for doubles, but that are
|
||||
* for floats. */
|
||||
if (ret > FLT_MAX)
|
||||
errno = ERANGE;
|
||||
else if (ret < -FLT_MAX)
|
||||
errno = ERANGE;
|
||||
else if (ret > 0 && ret < FLT_MIN)
|
||||
errno = ERANGE;
|
||||
else if (ret < 0 && ret > -FLT_MIN)
|
||||
errno = ERANGE;
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
Vendored
+5
-1
@@ -11,18 +11,22 @@ extern int __ms_vfscanf_internal (
|
||||
FILE * s,
|
||||
const char * format,
|
||||
va_list arg,
|
||||
size_t count,
|
||||
int (*func)(FILE * __restrict__, const char * __restrict__, ...))
|
||||
asm("__argtos");
|
||||
|
||||
extern size_t __ms_scanf_max_arg_count_internal (const char * format);
|
||||
|
||||
int __ms_vfscanf (FILE * __restrict__ stream, const char * __restrict__ format, va_list arg)
|
||||
{
|
||||
size_t count = __ms_scanf_max_arg_count_internal (format);
|
||||
int ret;
|
||||
|
||||
#if defined(_AMD64_) || defined(__x86_64__) || \
|
||||
defined(_X86_) || defined(__i386__) || \
|
||||
defined(_ARM_) || defined(__arm__) || \
|
||||
defined(_ARM64_) || defined(__aarch64__)
|
||||
ret = __ms_vfscanf_internal (stream, format, arg, fscanf);
|
||||
ret = __ms_vfscanf_internal (stream, format, arg, count, fscanf);
|
||||
#else
|
||||
#error "unknown platform"
|
||||
#endif
|
||||
|
||||
Vendored
+5
-1
@@ -11,19 +11,23 @@ extern int __ms_vfwscanf_internal (
|
||||
FILE * s,
|
||||
const wchar_t * format,
|
||||
va_list arg,
|
||||
size_t count,
|
||||
int (*func)(FILE * __restrict__, const wchar_t * __restrict__, ...))
|
||||
asm("__argtos");
|
||||
|
||||
extern size_t __ms_wscanf_max_arg_count_internal (const wchar_t * format);
|
||||
|
||||
int __ms_vfwscanf (FILE * __restrict__ stream,
|
||||
const wchar_t * __restrict__ format, va_list arg)
|
||||
{
|
||||
size_t count = __ms_wscanf_max_arg_count_internal (format);
|
||||
int ret;
|
||||
|
||||
#if defined(_AMD64_) || defined(__x86_64__) || \
|
||||
defined(_X86_) || defined(__i386__) || \
|
||||
defined(_ARM_) || defined(__arm__) || \
|
||||
defined (_ARM64_) || defined (__aarch64__)
|
||||
ret = __ms_vfwscanf_internal (stream, format, arg, fwscanf);
|
||||
ret = __ms_vfwscanf_internal (stream, format, arg, count, fwscanf);
|
||||
#else
|
||||
#error "unknown platform"
|
||||
#endif
|
||||
|
||||
Vendored
+5
-5
@@ -13,19 +13,19 @@ int __cdecl __ms_vsnprintf (char *s,size_t n,const char *format,va_list arg)
|
||||
|
||||
/* _vsnprintf() does not work with zero length buffer
|
||||
* so count number of character by _vscprintf() call */
|
||||
if (n == 0 || !s)
|
||||
if (n == 0)
|
||||
return _vscprintf(format, arg);
|
||||
|
||||
retval = _vsnprintf(s, n, format, arg);
|
||||
|
||||
/* _vsnprintf() does not fill trailing null byte if there is not place for it */
|
||||
if (retval < 0 || (size_t)retval == n)
|
||||
s[n-1] = '\0';
|
||||
|
||||
/* _vsnprintf() returns negative number if buffer is too small
|
||||
* so count number of character by _vscprintf() call */
|
||||
if (retval < 0)
|
||||
retval = _vscprintf(format, arg);
|
||||
|
||||
/* _vsnprintf() does not fill trailing null byte if there is not place for it */
|
||||
if ((size_t)retval >= n)
|
||||
s[n-1] = '\0';
|
||||
|
||||
return retval;
|
||||
}
|
||||
|
||||
Vendored
+5
-1
@@ -11,19 +11,23 @@ extern int __ms_vsscanf_internal (
|
||||
const char * s,
|
||||
const char * format,
|
||||
va_list arg,
|
||||
size_t count,
|
||||
int (*func)(const char * __restrict__, const char * __restrict__, ...))
|
||||
asm("__argtos");
|
||||
|
||||
extern size_t __ms_scanf_max_arg_count_internal (const char * format);
|
||||
|
||||
int __ms_vsscanf (const char * __restrict__ s,
|
||||
const char * __restrict__ format, va_list arg)
|
||||
{
|
||||
size_t count = __ms_scanf_max_arg_count_internal (format);
|
||||
int ret;
|
||||
|
||||
#if defined(_AMD64_) || defined(__x86_64__) || \
|
||||
defined(_X86_) || defined(__i386__) || \
|
||||
defined(_ARM_) || defined(__arm__) || \
|
||||
defined(_ARM64_) || defined(__aarch64__)
|
||||
ret = __ms_vsscanf_internal (s, format, arg, sscanf);
|
||||
ret = __ms_vsscanf_internal (s, format, arg, count, sscanf);
|
||||
#else
|
||||
#error "unknown platform"
|
||||
#endif
|
||||
|
||||
Vendored
+5
-1
@@ -11,19 +11,23 @@ extern int __ms_vswscanf_internal (
|
||||
const wchar_t * s,
|
||||
const wchar_t * format,
|
||||
va_list arg,
|
||||
size_t count,
|
||||
int (*func)(const wchar_t * __restrict__, const wchar_t * __restrict__, ...))
|
||||
asm("__argtos");
|
||||
|
||||
extern size_t __ms_wscanf_max_arg_count_internal (const wchar_t * format);
|
||||
|
||||
int __ms_vswscanf(const wchar_t * __restrict__ s, const wchar_t * __restrict__ format,
|
||||
va_list arg)
|
||||
{
|
||||
size_t count = __ms_wscanf_max_arg_count_internal (format);
|
||||
int ret;
|
||||
|
||||
#if defined(_AMD64_) || defined(__x86_64__) || \
|
||||
defined(_X86_) || defined(__i386__) || \
|
||||
defined(_ARM_) || defined(__arm__) || \
|
||||
defined(_ARM64_) || defined(__aarch64__)
|
||||
ret = __ms_vswscanf_internal (s, format, arg, swscanf);
|
||||
ret = __ms_vswscanf_internal (s, format, arg, count, swscanf);
|
||||
#else
|
||||
#error "unknown platform"
|
||||
#endif
|
||||
|
||||
Vendored
-5
@@ -10,12 +10,7 @@
|
||||
#include <wchar.h>
|
||||
#include <stdio.h>
|
||||
|
||||
#pragma clang diagnostic push
|
||||
#pragma clang diagnostic ignored "-Wimplicit-function-declaration"
|
||||
|
||||
int __ms_vwscanf (const wchar_t * __restrict__ format, va_list arg)
|
||||
{
|
||||
return __ms_vfwscanf(stdin, format, arg);
|
||||
}
|
||||
|
||||
#pragma clang diagnostic pop
|
||||
|
||||
@@ -677,7 +677,6 @@ const mingwex_generic_src = [_][]const u8{
|
||||
"math" ++ path.sep_str ++ "cbrt.c",
|
||||
"math" ++ path.sep_str ++ "cbrtf.c",
|
||||
"math" ++ path.sep_str ++ "cbrtl.c",
|
||||
"math" ++ path.sep_str ++ "cephes_emath.c",
|
||||
"math" ++ path.sep_str ++ "copysign.c",
|
||||
"math" ++ path.sep_str ++ "copysignf.c",
|
||||
"math" ++ path.sep_str ++ "coshf.c",
|
||||
@@ -810,7 +809,6 @@ const mingwex_generic_src = [_][]const u8{
|
||||
"misc" ++ path.sep_str ++ "strnlen.c",
|
||||
"misc" ++ path.sep_str ++ "strsafe.c",
|
||||
"misc" ++ path.sep_str ++ "strtoimax.c",
|
||||
"misc" ++ path.sep_str ++ "strtold.c",
|
||||
"misc" ++ path.sep_str ++ "strtoumax.c",
|
||||
"misc" ++ path.sep_str ++ "tdelete.c",
|
||||
"misc" ++ path.sep_str ++ "tfind.c",
|
||||
|
||||
Reference in New Issue
Block a user