ReactOS 0.4.17-dev-1005-g171e1de
libmain.c File Reference
#include "precomp.h"
#include "C_asm_shared.inc"
#include "buildInfo.h"
Include dependency graph for libmain.c:

Go to the source code of this file.

Macros

#define SYMCRYPT_CHECK_ASM_OFFSET(a, b)   if( (a) != (b) ) {SymCryptFatal( b );}
 

Functions

VOID SYMCRYPT_CALL SymCryptInitEnvCommon (UINT32 version)
 
_Analysis_noreturn_ SYMCRYPT_NOINLINE VOID SYMCRYPT_CALL SymCryptFatalHang (UINT32 fatalCode)
 
VOID SYMCRYPT_CALL SymCryptWipe (_Out_writes_bytes_(cbData) PVOID pbData, SIZE_T cbData)
 
VOID SYMCRYPT_CALL SymCryptXorBytes (_In_reads_(cbBytes) PCBYTE pbSrc1, _In_reads_(cbBytes) PCBYTE pbSrc2, _Out_writes_(cbBytes) PBYTE pbResult, SIZE_T cbBytes)
 
UINT32 SymCryptUint32Bitsize (UINT32 value)
 
UINT32 SymCryptUint64Bitsize (UINT64 value)
 
UINT32 SymCryptUint32Bytesize (UINT32 value)
 
UINT32 SymCryptUint64Bytesize (UINT64 value)
 
SYMCRYPT_ERROR SYMCRYPT_CALL SymCryptLoadLsbFirstUint32 (_In_reads_(cbSrc) PCBYTE pbSrc, SIZE_T cbSrc, _Out_ PUINT32 pDst)
 
SYMCRYPT_ERROR SYMCRYPT_CALL SymCryptLoadLsbFirstUint64 (_In_reads_(cbSrc) PCBYTE pbSrc, SIZE_T cbSrc, _Out_ PUINT64 pDst)
 
SYMCRYPT_ERROR SYMCRYPT_CALL SymCryptLoadMsbFirstUint32 (_In_reads_(cbSrc) PCBYTE pbSrc, SIZE_T cbSrc, _Out_ PUINT32 pDst)
 
SYMCRYPT_ERROR SYMCRYPT_CALL SymCryptLoadMsbFirstUint64 (_In_reads_(cbSrc) PCBYTE pbSrc, SIZE_T cbSrc, _Out_ PUINT64 pDst)
 
SYMCRYPT_ERROR SYMCRYPT_CALL SymCryptStoreLsbFirstUint32 (UINT32 src, _Out_writes_(cbDst) PBYTE pbDst, SIZE_T cbDst)
 
SYMCRYPT_ERROR SYMCRYPT_CALL SymCryptStoreLsbFirstUint64 (UINT64 src, _Out_writes_(cbDst) PBYTE pbDst, SIZE_T cbDst)
 
SYMCRYPT_ERROR SYMCRYPT_CALL SymCryptStoreMsbFirstUint32 (UINT32 src, _Out_writes_(cbDst) PBYTE pbDst, SIZE_T cbDst)
 
SYMCRYPT_ERROR SYMCRYPT_CALL SymCryptStoreMsbFirstUint64 (UINT64 src, _Out_writes_(cbDst) PBYTE pbDst, SIZE_T cbDst)
 

Variables

UINT32 g_SymCryptFlags = 0
 
SYMCRYPT_CPU_FEATURES g_SymCryptCpuFeaturesNotPresent = (SYMCRYPT_CPU_FEATURES) ~0
 
SYMCRYPT_CPU_FEATURES g_SymCryptCpuFeaturesPresentCheck = 0
 
const CHAR *const SymCryptBuildString
 

Macro Definition Documentation

◆ SYMCRYPT_CHECK_ASM_OFFSET

#define SYMCRYPT_CHECK_ASM_OFFSET (   a,
  b 
)    if( (a) != (b) ) {SymCryptFatal( b );}

Function Documentation

◆ SymCryptFatalHang()

_Analysis_noreturn_ SYMCRYPT_NOINLINE VOID SYMCRYPT_CALL SymCryptFatalHang ( UINT32  fatalCode)

Definition at line 101 of file libmain.c.

106{
107 UINT32 fcode;
108
109 //
110 // Put the fatal code in a location we can find
111 //
112 SYMCRYPT_FORCE_WRITE32( &fcode, fatalCode );
113
114fatalInfiniteLoop:
115 goto fatalInfiniteLoop;
116}
#define SYMCRYPT_FORCE_WRITE32(_p, _v)
Definition: symcrypt.h:423
uint32_t UINT32
Definition: typedefs.h:59

Referenced by SymCryptFatalEnvWindowsUsermodeWin8_1nLater().

◆ SymCryptInitEnvCommon()

VOID SYMCRYPT_CALL SymCryptInitEnvCommon ( UINT32  version)

Definition at line 43 of file libmain.c.

45{
46 UINT32 tmp;
47
48 const CHAR * p;
49
50 // Assertion that verifies that the calling application was compiled with
51 // the same version header files as the library.
53 {
54 SymCryptFatal( 'apiv' );
55 }
56
57 //
58 // Use an interlocked to set the flag in case we add other flags
59 // that are modified by different threads.
60 //
61 SYMCRYPT_ATOMIC_OR32_PRE_RELAXED( &g_SymCryptFlags, SYMCRYPT_FLAG_LIB_INITIALIZED );
62
63 //
64 // Do a forced write of our code version. This ensures that the code
65 // version is part of the binary, so we can look at a binary and figure
66 // out which version of SymCrypt it was linked with.
67 //
69
70 //
71 // Force the build string to be in memory, because otherwise the
72 // compiler might get smart and remove it.
73 // This ensures we can always track back to the SymCrypt source code from
74 // any binary that links this library
75 //
76 for( p = SymCryptBuildString; *p!=0; p++ )
77 {
78 SYMCRYPT_FORCE_WRITE8( (PBYTE) &tmp, *p );
79 }
80
81 //
82 // Make an inverted copy of the CPU detection results.
83 // This helps us diagnose corruption of our flags
84 // Force-write otherwise the compiler optimizes it away
85 //
87
88 //
89 // Test that the C and assembler code agree on the various structure member offsets.
90 // This gets optimized away in FRE builds as all the values are compile-time computable.
91 //
92#define SYMCRYPT_CHECK_ASM_OFFSET( a, b ) if( (a) != (b) ) {SymCryptFatal( b );}
93 SYMCRYPT_CHECK_ASM_OFFSETS;
94#undef SYMCRYPT_CHECK_ASM_OFFSET
95}
static const WCHAR version[]
Definition: asmname.c:66
GLfloat GLfloat p
Definition: glext.h:8902
SYMCRYPT_CPU_FEATURES g_SymCryptCpuFeaturesNotPresent
Definition: libmain.c:20
UINT32 g_SymCryptFlags
Definition: libmain.c:18
const CHAR *const SymCryptBuildString
Definition: libmain.c:35
SYMCRYPT_CPU_FEATURES g_SymCryptCpuFeaturesPresentCheck
Definition: libmain.c:21
BYTE * PBYTE
Definition: pedump.c:66
char CHAR
Definition: pedump.c:57
#define SYMCRYPT_FLAG_LIB_INITIALIZED
Definition: sc_lib.h:22
#define SYMCRYPT_FORCE_WRITE8( _p, _v)
Definition: symcrypt.h:421
_Analysis_noreturn_ VOID SYMCRYPT_CALL SymCryptFatal(UINT32 fatalCode)
#define SYMCRYPT_API_VERSION
Definition: symcrypt.h:16

Referenced by SymCryptInitEnvWindowsUsermodeWin8_1nLater().

◆ SymCryptLoadLsbFirstUint32()

SYMCRYPT_ERROR SYMCRYPT_CALL SymCryptLoadLsbFirstUint32 ( _In_reads_(cbSrc) PCBYTE  pbSrc,
SIZE_T  cbSrc,
_Out_ PUINT32  pDst 
)

Definition at line 341 of file libmain.c.

345{
346 UINT64 v64;
347 UINT32 v32;
348 SYMCRYPT_ERROR scError;
349
350 scError = SymCryptLoadLsbFirstUint64( pbSrc, cbSrc, &v64 );
351 if( scError != SYMCRYPT_NO_ERROR )
352 {
353 goto cleanup;
354 }
355
356 v32 = (UINT32) v64;
357 if( v32 != v64 )
358 {
359 scError = SYMCRYPT_VALUE_TOO_LARGE;
360 goto cleanup;
361 }
362
363 *pDst = v32;
364
365cleanup:
366 return scError;
367}
COMPILER_DEPENDENT_UINT64 UINT64
Definition: actypes.h:131
static void cleanup(void)
Definition: main.c:1335
SYMCRYPT_ERROR SYMCRYPT_CALL SymCryptLoadLsbFirstUint64(_In_reads_(cbSrc) PCBYTE pbSrc, SIZE_T cbSrc, _Out_ PUINT64 pDst)
Definition: libmain.c:371
SYMCRYPT_ERROR
Definition: symcrypt.h:227
PCBYTE pbSrc

◆ SymCryptLoadLsbFirstUint64()

SYMCRYPT_ERROR SYMCRYPT_CALL SymCryptLoadLsbFirstUint64 ( _In_reads_(cbSrc) PCBYTE  pbSrc,
SIZE_T  cbSrc,
_Out_ PUINT64  pDst 
)

Definition at line 371 of file libmain.c.

375{
376 UINT64 v;
377 SYMCRYPT_ERROR scError = SYMCRYPT_NO_ERROR;
378
379 v = 0;
380 pbSrc += cbSrc;
381 while( cbSrc > 8 )
382 {
383 if( *--pbSrc != 0 )
384 {
385 scError = SYMCRYPT_VALUE_TOO_LARGE;
386 goto cleanup;
387 }
388 cbSrc--;
389 }
390
391 while( cbSrc > 0 )
392 {
393 v = (v << 8) | *--pbSrc;
394 cbSrc--;
395 }
396
397 *pDst = v;
398
399cleanup:
400 return scError;
401}
const GLdouble * v
Definition: gl.h:2040

Referenced by SymCryptLoadLsbFirstUint32().

◆ SymCryptLoadMsbFirstUint32()

SYMCRYPT_ERROR SYMCRYPT_CALL SymCryptLoadMsbFirstUint32 ( _In_reads_(cbSrc) PCBYTE  pbSrc,
SIZE_T  cbSrc,
_Out_ PUINT32  pDst 
)

Definition at line 405 of file libmain.c.

409{
410 UINT64 v64;
411 UINT32 v32;
412 SYMCRYPT_ERROR scError;
413
414 scError = SymCryptLoadMsbFirstUint64( pbSrc, cbSrc, &v64 );
415 if( scError != SYMCRYPT_NO_ERROR )
416 {
417 goto cleanup;
418 }
419
420 v32 = (UINT32) v64;
421 if( v32 != v64 )
422 {
423 scError = SYMCRYPT_VALUE_TOO_LARGE;
424 goto cleanup;
425 }
426
427 *pDst = v32;
428
429cleanup:
430 return scError;
431}
SYMCRYPT_ERROR SYMCRYPT_CALL SymCryptLoadMsbFirstUint64(_In_reads_(cbSrc) PCBYTE pbSrc, SIZE_T cbSrc, _Out_ PUINT64 pDst)
Definition: libmain.c:436

◆ SymCryptLoadMsbFirstUint64()

SYMCRYPT_ERROR SYMCRYPT_CALL SymCryptLoadMsbFirstUint64 ( _In_reads_(cbSrc) PCBYTE  pbSrc,
SIZE_T  cbSrc,
_Out_ PUINT64  pDst 
)

Definition at line 436 of file libmain.c.

440{
441 UINT64 v;
442 SYMCRYPT_ERROR scError = SYMCRYPT_NO_ERROR;
443
444 v = 0;
445 while( cbSrc > 8 )
446 {
447 if( *pbSrc++ != 0 )
448 {
449 scError = SYMCRYPT_VALUE_TOO_LARGE;
450 goto cleanup;
451 }
452 cbSrc--;
453 }
454
455 while( cbSrc > 0 )
456 {
457 v = (v << 8) | *pbSrc++;
458 cbSrc--;
459 }
460
461 *pDst = v;
462
463cleanup:
464 return scError;
465}

Referenced by SymCryptLoadMsbFirstUint32().

◆ SymCryptStoreLsbFirstUint32()

SYMCRYPT_ERROR SYMCRYPT_CALL SymCryptStoreLsbFirstUint32 ( UINT32  src,
_Out_writes_(cbDst) PBYTE  pbDst,
SIZE_T  cbDst 
)

Definition at line 470 of file libmain.c.

474{
475 return SymCryptStoreLsbFirstUint64( src, pbDst, cbDst );
476}
GLenum src
Definition: glext.h:6340
SYMCRYPT_ERROR SYMCRYPT_CALL SymCryptStoreLsbFirstUint64(UINT64 src, _Out_writes_(cbDst) PBYTE pbDst, SIZE_T cbDst)
Definition: libmain.c:480
PCBYTE PBYTE pbDst

◆ SymCryptStoreLsbFirstUint64()

SYMCRYPT_ERROR SYMCRYPT_CALL SymCryptStoreLsbFirstUint64 ( UINT64  src,
_Out_writes_(cbDst) PBYTE  pbDst,
SIZE_T  cbDst 
)

Definition at line 480 of file libmain.c.

484{
485 SYMCRYPT_ERROR scError = SYMCRYPT_NO_ERROR;
486
487 while( cbDst > 0 )
488 {
489 *pbDst++ = (BYTE) src;
490 src >>= 8;
491 cbDst--;
492 }
493
494 if( src != 0 )
495 {
496 scError = SYMCRYPT_VALUE_TOO_LARGE;
497 goto cleanup;
498 }
499
500cleanup:
501 return scError;
502}
unsigned char BYTE
Definition: xxhash.c:193

Referenced by SymCryptStoreLsbFirstUint32().

◆ SymCryptStoreMsbFirstUint32()

SYMCRYPT_ERROR SYMCRYPT_CALL SymCryptStoreMsbFirstUint32 ( UINT32  src,
_Out_writes_(cbDst) PBYTE  pbDst,
SIZE_T  cbDst 
)

Definition at line 506 of file libmain.c.

510{
511 return SymCryptStoreMsbFirstUint64( src, pbDst, cbDst );
512}
SYMCRYPT_ERROR SYMCRYPT_CALL SymCryptStoreMsbFirstUint64(UINT64 src, _Out_writes_(cbDst) PBYTE pbDst, SIZE_T cbDst)
Definition: libmain.c:516

◆ SymCryptStoreMsbFirstUint64()

SYMCRYPT_ERROR SYMCRYPT_CALL SymCryptStoreMsbFirstUint64 ( UINT64  src,
_Out_writes_(cbDst) PBYTE  pbDst,
SIZE_T  cbDst 
)

Definition at line 516 of file libmain.c.

520{
521 SYMCRYPT_ERROR scError = SYMCRYPT_NO_ERROR;
522
523 pbDst += cbDst;
524 while( cbDst > 0 )
525 {
526 *--pbDst = (BYTE) src;
527 src >>= 8;
528 cbDst--;
529 }
530
531 if( src != 0 )
532 {
533 scError = SYMCRYPT_VALUE_TOO_LARGE;
534 goto cleanup;
535 }
536
537cleanup:
538 return scError;
539}

Referenced by SymCryptStoreMsbFirstUint32().

◆ SymCryptUint32Bitsize()

UINT32 SymCryptUint32Bitsize ( UINT32  value)

Definition at line 262 of file libmain.c.

267{
268 UINT32 res;
269
270 res = 0;
271 while( value != 0 )
272 {
273 res += 1;
274 value >>= 1;
275 }
276
277 return res;
278}
GLuint res
Definition: glext.h:9613
Definition: pdh_main.c:64

Referenced by SymCryptUint64Bitsize().

◆ SymCryptUint32Bytesize()

UINT32 SymCryptUint32Bytesize ( UINT32  value)

Definition at line 299 of file libmain.c.

300{
301 if( value == 0 )
302 {
303 return 0;
304 }
305 if( value < 0x100 )
306 {
307 return 1;
308 }
309 if( value < 0x10000 )
310 {
311 return 2;
312 }
313 if( value < 0x1000000 )
314 {
315 return 3;
316 }
317 return 4;
318}

Referenced by SymCryptUint64Bytesize().

◆ SymCryptUint64Bitsize()

UINT32 SymCryptUint64Bitsize ( UINT64  value)

Definition at line 281 of file libmain.c.

282{
283 UINT32 res;
284 UINT32 upper;
285
286 upper = (UINT32)(value >> 32);
287
288 if( upper == 0 )
289 {
291 } else {
292 res = 32 + SymCryptUint32Bitsize( upper );
293 }
294
295 return res;
296}
UINT32 SymCryptUint32Bitsize(UINT32 value)
Definition: libmain.c:262

◆ SymCryptUint64Bytesize()

UINT32 SymCryptUint64Bytesize ( UINT64  value)

Definition at line 321 of file libmain.c.

322{
323 UINT32 res;
324 UINT32 upper;
325
326 upper = (UINT32)(value >> 32);
327
328 if( upper == 0 )
329 {
331 } else {
332 res = 4 + SymCryptUint32Bytesize( upper );
333 }
334
335 return res;
336}
UINT32 SymCryptUint32Bytesize(UINT32 value)
Definition: libmain.c:299

Referenced by SymCryptRsakeySizeofPublicExponent().

◆ SymCryptWipe()

VOID SYMCRYPT_CALL SymCryptWipe ( _Out_writes_bytes_(cbData) PVOID  pbData,
SIZE_T  cbData 
)

Definition at line 137 of file libmain.c.

138{
139 volatile BYTE * p = (volatile BYTE *) pbData;
140 SIZE_T i;
141
142 for( i=0; i<cbData; i++ ){
143 p[i] = 0;
144 }
145
146}
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
Definition: glfuncs.h:248
PCBYTE PBYTE SIZE_T cbData
PCBYTE pbData
ULONG_PTR SIZE_T
Definition: typedefs.h:80

Referenced by SymCrypt802_11SaeCustomCommitCreateGeneric(), SymCrypt802_11SaeCustomCommitProcessGeneric(), SymCrypt802_11SaeCustomCreatePTGeneric(), SymCrypt802_11SaeCustomInit(), SymCrypt802_11SaeCustomInitH2EGeneric(), SYMCRYPT_HmacXxxResult(), SymCryptAesCmacResult(), SymCryptAesKwDecrypt(), SymCryptAesKwEncrypt(), SymCryptAesKwpDecrypt(), SymCryptAesKwpEncrypt(), SymCryptCcmDecrypt(), SymCryptCcmDecryptFinal(), SymCryptCcmEncryptFinal(), SymCryptChaCha20Crypt(), SymCryptDhSecretAgreement(), SymCryptDivisorWipe(), SymCryptDlgroupGenerate(), SymCryptDlgroupGetValue(), SymCryptDlgroupSetValue(), SymCryptDlgroupSetValueSafePrime(), SymCryptDlgroupWipe(), SymCryptDlkeyGenerate(), SymCryptDlkeyGetValue(), SymCryptDlkeySetValue(), SymCryptDlkeyWipe(), SymCryptDsaSignEx(), SymCryptDsaVerify(), SymCryptEcDhSecretAgreement(), SymCryptEcDsaSignEx(), SymCryptEcDsaVerify(), SymCryptEckeyGetValue(), SymCryptEckeySetRandom(), SymCryptEckeySetValue(), SymCryptEckeyWipe(), SymCryptEcpointWipe(), SymCryptEcurveAllocate(), SymCryptEcurveFree(), SymCryptEcurveInitialize(), SymCryptFdefClaimScratch(), SymCryptFdefCreateTrialDivisionContext(), SymCryptFdefFreeTrialDivisionContext(), SymCryptFdefIntAddMixedSize(), SymCryptFdefIntCopyMixedSize(), SymCryptFdefIntDivMod(), SymCryptFdefIntDivPow2(), SymCryptFdefIntMulMixedSize(), SymCryptFdefIntMulPow2(), SymCryptFdefIntSetValueUint32(), SymCryptFdefIntSetValueUint64(), SymCryptFdefIntSquare(), SymCryptFdefModElementSetValueNegUint32(), SymCryptFdefModElementSetValueUint32Generic(), SymCryptFdefModElementToIntGeneric(), SymCryptFdefModElementWipe(), SymCryptFdefModInvMontgomery(), SymCryptFdefModPreGetMontgomery(), SymCryptFdefModSetRandomGeneric(), SymCryptFdefModulusInitMontgomeryInternal(), SymCryptFdefRawDivMod(), SymCryptFdefRawMulC(), SymCryptFdefRawSquareC(), SymCryptGcmDecrypt(), SymCryptGcmPadMacData(), SymCryptGenerateSmallPrimes(), SymCryptHash(), SymCryptHashCommonPaddingMd4Style(), SymCryptHashResult(), SymCryptIntWipe(), SymCryptLmskeyAllocate(), SymCryptMlDsaHintBitPack(), SymCryptMlDsakeyFree(), SymCryptMlDsakeyGenerate(), SymCryptMlDsakeyInitialize(), SymCryptMlDsaTemporariesAllocateAndInitialize(), SymCryptMlDsaTemporariesFree(), SymCryptMlKemDecapsulate(), SymCryptMlKemEncapsulateEx(), SymCryptMlKemkeyFree(), SymCryptMlKemkeyGenerate(), SymCryptMlKemkeySetValue(), SymCryptMlKemVectorSetZero(), SymCryptModMultiExpWnafWithInterleaving(), SymCryptModulusWipe(), SymCryptPoly1305Result(), SymCryptRc4Init(), SymCryptRngAesBcc(), SymCryptRngAesGenerateBlocks(), SymCryptRsakeyCreate(), SymCryptRsakeyGenerate(), SymCryptRsakeyGetCrtValue(), SymCryptRsakeySetValueInternal(), SymCryptRsakeyWipe(), SymCryptRsaOaepApplyEncryptionPadding(), SymCryptRsaOaepDecrypt(), SymCryptRsaOaepEncrypt(), SymCryptRsaPkcs1CheckSignaturePadding(), SymCryptRsaPkcs1Decrypt(), SymCryptRsaPkcs1Encrypt(), SymCryptRsaPkcs1Sign(), SymCryptRsaPkcs1Verify(), SymCryptRsaPssApplySignaturePadding(), SymCryptRsaPssSign(), SymCryptRsaPssVerify(), SymCryptRsaPssVerifySignaturePadding(), SymCryptRsaRawDecrypt(), SymCryptRsaRawEncrypt(), SymCryptScsTableWipe(), SymCryptSessionGcmDecrypt(), SymCryptSha256Result(), SymCryptSha512Result(), SymCryptSrtpKdfDerive(), SymCryptTlsCbcHmacVerifyCore(), SymCryptWipeKnownSize(), SymCryptXmssComputePublicRoot(), SymCryptXmsskeyAllocate(), SymCryptXmssPrfInit(), SymCryptXmssRandomizedHash(), SymCryptXmssSign(), and SymCryptXmssVerifyInternal().

◆ SymCryptXorBytes()

Variable Documentation

◆ g_SymCryptCpuFeaturesNotPresent

SYMCRYPT_CPU_FEATURES g_SymCryptCpuFeaturesNotPresent = (SYMCRYPT_CPU_FEATURES) ~0

Definition at line 20 of file libmain.c.

Referenced by SymCryptInitEnvCommon(), and SymCryptInitEnvWindowsUsermodeWin8_1nLater().

◆ g_SymCryptCpuFeaturesPresentCheck

SYMCRYPT_CPU_FEATURES g_SymCryptCpuFeaturesPresentCheck = 0

Definition at line 21 of file libmain.c.

Referenced by SymCryptInitEnvCommon().

◆ g_SymCryptFlags

UINT32 g_SymCryptFlags = 0

Definition at line 18 of file libmain.c.

Referenced by SymCryptInitEnvCommon(), and SymCryptInitEnvWindowsUsermodeWin8_1nLater().

◆ SymCryptBuildString

const CHAR* const SymCryptBuildString
Initial value:
=
#define SYMCRYPT_BUILD_INFO_VERSION
Definition: buildInfo.h:7
#define SYMCRYPT_BUILD_INFO_COMMIT
Definition: buildInfo.h:6
#define SYMCRYPT_BUILD_INFO_TIMESTAMP
Definition: buildInfo.h:8
#define SYMCRYPT_BUILD_INFO_BRANCH
Definition: buildInfo.h:5

Definition at line 35 of file libmain.c.

Referenced by SymCryptInitEnvCommon().