Win32-GenRandom v0.06 Perl 5 v5.36.1 x86_64-cygwin-threads-multi

Status
Unknown
From
Peter John Acklam (PJACKLAM)
Dist
Win32-GenRandom v0.06
Platform
Perl 5 v5.36.1 x86_64-cygwin-threads-multi
Date
2023-08-03 10:16:53
ID
06e44e95-6e2d-1014-a691-dcff913395d4
This distribution has been tested as part of the CPAN Testers
project, supporting the Perl programming language.  See
http://wiki.cpantesters.org/ for more information or email
questions to cpan-testers-discuss@perl.org


--
Dear Sisyphus,

This is a computer-generated report for Win32-GenRandom-0.06
on perl 5.36.1, created by CPAN-Reporter-1.2019.

Thank you for uploading your work to CPAN.  However, attempting to
test your distribution gave an inconclusive result.

This could be because your distribution had an error during the make/build
stage, did not define tests, tests could not be found, because your tests were
interrupted before they finished, or because the results of the tests could not
be parsed.  You may wish to consult the CPAN Testers Wiki:

http://wiki.cpantesters.org/wiki/CPANAuthorNotes

Sections of this report:

    * Tester comments
    * Program output
    * Prerequisites
    * Environment and other context

------------------------------
TESTER COMMENTS
------------------------------

Additional comments from tester:

none provided

------------------------------
PROGRAM OUTPUT
------------------------------

Output from '/usr/bin/make':

cp GenRandom.pod blib/lib/Win32/GenRandom.pod
cp GenRandom.pm blib/lib/Win32/GenRandom.pm
Running Mkbootstrap for GenRandom ()
chmod 644 "GenRandom.bs"
"/usr/bin/perl.exe" -MExtUtils::Command::MM -e 'cp_nonempty' -- GenRandom.bs blib/arch/auto/Win32/GenRandom/GenRandom.bs 644
"/usr/bin/perl.exe" "/usr/local/lib/perl5/ExtUtils/xsubpp"  -typemap '/usr/share/perl5/5.36/ExtUtils/typemap'  GenRandom.xs > GenRandom.xsc
mv GenRandom.xsc GenRandom.c
gcc -c   -DPERL_USE_SAFE_PUTENV -U__STRICT_ANSI__ -D_GNU_SOURCE -ggdb -O2 -pipe -Wall -Werror=format-security -D_FORTIFY_SOURCE=2 -fstack-protector-strong --param=ssp-buffer-size=4 -fdebug-prefix-map=/mnt/share/cygpkgs/perl/perl.x86_64/build=/usr/src/debug/perl-5.36.1-1 -fdebug-prefix-map=/mnt/share/cygpkgs/perl/perl.x86_64/src/perl-5.36.1=/usr/src/debug/perl-5.36.1-1 -fwrapv -fno-strict-aliasing -DUSEIMPORTLIB -O3   -DVERSION=\"0.06\" -DXS_VERSION=\"0.06\"  "-I/usr/lib/perl5/5.36/x86_64-cygwin-threads/CORE"   GenRandom.c
In file included from GenRandom.xs:16:
/usr/include/w32api/wincrypt.h:20:11: error: unknown type name 'LONG'
   20 |   typedef LONG HRESULT;
      |           ^~~~
In file included from GenRandom.xs:16:
/usr/include/w32api/wincrypt.h:283:11: error: unknown type name 'ULONG_PTR'
  283 |   typedef ULONG_PTR HCRYPTHASH;
      |           ^~~~~~~~~
/usr/include/w32api/wincrypt.h:284:11: error: unknown type name 'ULONG_PTR'
  284 |   typedef ULONG_PTR HCRYPTKEY;
      |           ^~~~~~~~~
/usr/include/w32api/wincrypt.h:285:11: error: unknown type name 'ULONG_PTR'
  285 |   typedef ULONG_PTR HCRYPTPROV;
      |           ^~~~~~~~~
/usr/include/w32api/wincrypt.h:628:5: error: unknown type name 'DWORD'
  628 |     DWORD dwVersion;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:630:5: error: unknown type name 'BYTE'
  630 |     BYTE *pbOID;
      |     ^~~~
/usr/include/w32api/wincrypt.h:631:5: error: unknown type name 'DWORD'
  631 |     DWORD cbOID;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:636:5: error: unknown type name 'BYTE'
  636 |     BYTE *pbInnerString;
      |     ^~~~
/usr/include/w32api/wincrypt.h:637:5: error: unknown type name 'DWORD'
  637 |     DWORD cbInnerString;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:638:5: error: unknown type name 'BYTE'
  638 |     BYTE *pbOuterString;
      |     ^~~~
/usr/include/w32api/wincrypt.h:639:5: error: unknown type name 'DWORD'
  639 |     DWORD cbOuterString;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:643:5: error: unknown type name 'DWORD'
  643 |     DWORD dwUse;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:645:5: error: unknown type name 'DWORD'
  645 |     DWORD cBits;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:646:5: error: unknown type name 'DWORD'
  646 |     DWORD dwFlags;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:647:5: error: unknown type name 'DWORD'
  647 |     DWORD dwReserved;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:656:5: error: unknown type name 'DWORD'
  656 |     DWORD dwBitLen;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:657:5: error: unknown type name 'DWORD'
  657 |     DWORD dwNameLen;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:658:5: error: unknown type name 'CHAR'
  658 |     CHAR szName[20];
      |     ^~~~
/usr/include/w32api/wincrypt.h:663:5: error: unknown type name 'DWORD'
  663 |     DWORD dwDefaultLen;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:664:5: error: unknown type name 'DWORD'
  664 |     DWORD dwMinLen;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:665:5: error: unknown type name 'DWORD'
  665 |     DWORD dwMaxLen;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:666:5: error: unknown type name 'DWORD'
  666 |     DWORD dwProtocols;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:667:5: error: unknown type name 'DWORD'
  667 |     DWORD dwNameLen;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:668:5: error: unknown type name 'CHAR'
  668 |     CHAR szName[20];
      |     ^~~~
/usr/include/w32api/wincrypt.h:669:5: error: unknown type name 'DWORD'
  669 |     DWORD dwLongNameLen;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:670:5: error: unknown type name 'CHAR'
  670 |     CHAR szLongName[40];
      |     ^~~~
/usr/include/w32api/wincrypt.h:674:5: error: unknown type name 'BYTE'
  674 |     BYTE bType;
      |     ^~~~
/usr/include/w32api/wincrypt.h:675:5: error: unknown type name 'BYTE'
  675 |     BYTE bVersion;
      |     ^~~~
/usr/include/w32api/wincrypt.h:676:5: error: unknown type name 'WORD'
  676 |     WORD reserved;
      |     ^~~~
/usr/include/w32api/wincrypt.h:681:5: error: unknown type name 'DWORD'
  681 |     DWORD magic;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:682:5: error: unknown type name 'DWORD'
  682 |     DWORD bitlen;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:683:5: error: unknown type name 'DWORD'
  683 |     DWORD pubexp;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:687:5: error: unknown type name 'DWORD'
  687 |     DWORD magic;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:688:5: error: unknown type name 'DWORD'
  688 |     DWORD bitlen;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:692:5: error: unknown type name 'DWORD'
  692 |     DWORD counter;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:693:5: error: unknown type name 'BYTE'
  693 |     BYTE seed[20];
      |     ^~~~
/usr/include/w32api/wincrypt.h:697:5: error: unknown type name 'DWORD'
  697 |     DWORD magic;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:698:5: error: unknown type name 'DWORD'
  698 |     DWORD bitlenP;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:699:5: error: unknown type name 'DWORD'
  699 |     DWORD bitlenQ;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:700:5: error: unknown type name 'DWORD'
  700 |     DWORD bitlenJ;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:705:5: error: unknown type name 'DWORD'
  705 |     DWORD magic;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:706:5: error: unknown type name 'DWORD'
  706 |     DWORD bitlenP;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:707:5: error: unknown type name 'DWORD'
  707 |     DWORD bitlenQ;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:708:5: error: unknown type name 'DWORD'
  708 |     DWORD bitlenJ;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:709:5: error: unknown type name 'DWORD'
  709 |     DWORD bitlenX;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:714:5: error: unknown type name 'DWORD'
  714 |     DWORD dwKeySpec;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:770:5: error: unknown type name 'DWORD'
  770 |     DWORD cbData;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:771:5: error: unknown type name 'BYTE'
  771 |     BYTE *pbData;
      |     ^~~~
In file included from GenRandom.xs:16:
/usr/include/w32api/wincrypt.h:777:26: error: expected ',' or ';' before 'CryptAcquireContextA'
  777 |   WINIMPM WINBOOL WINAPI CryptAcquireContextA (HCRYPTPROV *phProv, LPCSTR szContainer, LPCSTR szProvider, DWORD dwProvType, DWORD dwFlags);
      |                          ^~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:778:26: error: expected ',' or ';' before 'CryptAcquireContextW'
  778 |   WINIMPM WINBOOL WINAPI CryptAcquireContextW (HCRYPTPROV *phProv, LPCWSTR szContainer, LPCWSTR szProvider, DWORD dwProvType, DWORD dwFlags);
      |                          ^~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:780:26: error: expected ',' or ';' before 'CryptGenRandom'
  780 |   WINIMPM WINBOOL WINAPI CryptGenRandom (HCRYPTPROV hProv, DWORD dwLen, BYTE *pbBuffer);
      |                          ^~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:783:26: error: expected ',' or ';' before 'CryptReleaseContext'
  783 |   WINIMPM WINBOOL WINAPI CryptReleaseContext (HCRYPTPROV hProv, DWORD dwFlags);
      |                          ^~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:787:5: error: unknown type name 'DWORD'
  787 |     DWORD dwVersion;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:789:5: error: unknown type name 'LPSTR'
  789 |     LPSTR pszContentEncObjId;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:802:26: error: expected ',' or ';' before 'CryptGenKey'
  802 |   WINIMPM WINBOOL WINAPI CryptGenKey (HCRYPTPROV hProv, ALG_ID Algid, DWORD dwFlags, HCRYPTKEY *phKey);
      |                          ^~~~~~~~~~~
/usr/include/w32api/wincrypt.h:803:26: error: expected ',' or ';' before 'CryptDeriveKey'
  803 |   WINIMPM WINBOOL WINAPI CryptDeriveKey (HCRYPTPROV hProv, ALG_ID Algid, HCRYPTHASH hBaseData, DWORD dwFlags, HCRYPTKEY *phKey);
      |                          ^~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:804:26: error: expected ',' or ';' before 'CryptDestroyKey'
  804 |   WINIMPM WINBOOL WINAPI CryptDestroyKey (HCRYPTKEY hKey);
      |                          ^~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:805:26: error: expected ',' or ';' before 'CryptSetKeyParam'
  805 |   WINIMPM WINBOOL WINAPI CryptSetKeyParam (HCRYPTKEY hKey, DWORD dwParam, CONST BYTE *pbData, DWORD dwFlags);
      |                          ^~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:806:26: error: expected ',' or ';' before 'CryptGetKeyParam'
  806 |   WINIMPM WINBOOL WINAPI CryptGetKeyParam (HCRYPTKEY hKey, DWORD dwParam, BYTE *pbData, DWORD *pdwDataLen, DWORD dwFlags);
      |                          ^~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:807:26: error: expected ',' or ';' before 'CryptSetHashParam'
  807 |   WINIMPM WINBOOL WINAPI CryptSetHashParam (HCRYPTHASH hHash, DWORD dwParam, CONST BYTE *pbData, DWORD dwFlags);
      |                          ^~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:808:26: error: expected ',' or ';' before 'CryptGetHashParam'
  808 |   WINIMPM WINBOOL WINAPI CryptGetHashParam (HCRYPTHASH hHash, DWORD dwParam, BYTE *pbData, DWORD *pdwDataLen, DWORD dwFlags);
      |                          ^~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:809:26: error: expected ',' or ';' before 'CryptSetProvParam'
  809 |   WINIMPM WINBOOL WINAPI CryptSetProvParam (HCRYPTPROV hProv, DWORD dwParam, CONST BYTE *pbData, DWORD dwFlags);
      |                          ^~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:810:26: error: expected ',' or ';' before 'CryptGetProvParam'
  810 |   WINIMPM WINBOOL WINAPI CryptGetProvParam (HCRYPTPROV hProv, DWORD dwParam, BYTE *pbData, DWORD *pdwDataLen, DWORD dwFlags);
      |                          ^~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:811:26: error: expected ',' or ';' before 'CryptGetUserKey'
  811 |   WINIMPM WINBOOL WINAPI CryptGetUserKey (HCRYPTPROV hProv, DWORD dwKeySpec, HCRYPTKEY *phUserKey);
      |                          ^~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:812:26: error: expected ',' or ';' before 'CryptExportKey'
  812 |   WINIMPM WINBOOL WINAPI CryptExportKey (HCRYPTKEY hKey, HCRYPTKEY hExpKey, DWORD dwBlobType, DWORD dwFlags, BYTE *pbData, DWORD *pdwDataLen);
      |                          ^~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:813:26: error: expected ',' or ';' before 'CryptImportKey'
  813 |   WINIMPM WINBOOL WINAPI CryptImportKey (HCRYPTPROV hProv, CONST BYTE *pbData, DWORD dwDataLen, HCRYPTKEY hPubKey, DWORD dwFlags, HCRYPTKEY *phKey);
      |                          ^~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:814:26: error: expected ',' or ';' before 'CryptEncrypt'
  814 |   WINIMPM WINBOOL WINAPI CryptEncrypt (HCRYPTKEY hKey, HCRYPTHASH hHash, WINBOOL Final, DWORD dwFlags, BYTE *pbData, DWORD *pdwDataLen, DWORD dwBufLen);
      |                          ^~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:815:26: error: expected ',' or ';' before 'CryptDecrypt'
  815 |   WINIMPM WINBOOL WINAPI CryptDecrypt (HCRYPTKEY hKey, HCRYPTHASH hHash, WINBOOL Final, DWORD dwFlags, BYTE *pbData, DWORD *pdwDataLen);
      |                          ^~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:816:26: error: expected ',' or ';' before 'CryptCreateHash'
  816 |   WINIMPM WINBOOL WINAPI CryptCreateHash (HCRYPTPROV hProv, ALG_ID Algid, HCRYPTKEY hKey, DWORD dwFlags, HCRYPTHASH *phHash);
      |                          ^~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:817:26: error: expected ',' or ';' before 'CryptHashData'
  817 |   WINIMPM WINBOOL WINAPI CryptHashData (HCRYPTHASH hHash, CONST BYTE *pbData, DWORD dwDataLen, DWORD dwFlags);
      |                          ^~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:818:26: error: expected ',' or ';' before 'CryptHashSessionKey'
  818 |   WINIMPM WINBOOL WINAPI CryptHashSessionKey (HCRYPTHASH hHash, HCRYPTKEY hKey, DWORD dwFlags);
      |                          ^~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:819:26: error: expected ',' or ';' before 'CryptDestroyHash'
  819 |   WINIMPM WINBOOL WINAPI CryptDestroyHash (HCRYPTHASH hHash);
      |                          ^~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:820:26: error: expected ',' or ';' before 'CryptSignHashA'
  820 |   WINIMPM WINBOOL WINAPI CryptSignHashA (HCRYPTHASH hHash, DWORD dwKeySpec, LPCSTR szDescription, DWORD dwFlags, BYTE *pbSignature, DWORD *pdwSigLen);
      |                          ^~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:821:26: error: expected ',' or ';' before 'CryptSignHashW'
  821 |   WINIMPM WINBOOL WINAPI CryptSignHashW (HCRYPTHASH hHash, DWORD dwKeySpec, LPCWSTR szDescription, DWORD dwFlags, BYTE *pbSignature, DWORD *pdwSigLen);
      |                          ^~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:822:26: error: expected ',' or ';' before 'CryptVerifySignatureA'
  822 |   WINIMPM WINBOOL WINAPI CryptVerifySignatureA (HCRYPTHASH hHash, CONST BYTE *pbSignature, DWORD dwSigLen, HCRYPTKEY hPubKey, LPCSTR szDescription, DWORD dwFlags);
      |                          ^~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:823:26: error: expected ',' or ';' before 'CryptVerifySignatureW'
  823 |   WINIMPM WINBOOL WINAPI CryptVerifySignatureW (HCRYPTHASH hHash, CONST BYTE *pbSignature, DWORD dwSigLen, HCRYPTKEY hPubKey, LPCWSTR szDescription, DWORD dwFlags);
      |                          ^~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:824:26: error: expected ',' or ';' before 'CryptSetProviderA'
  824 |   WINIMPM WINBOOL WINAPI CryptSetProviderA (LPCSTR pszProvName, DWORD dwProvType);
      |                          ^~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:825:26: error: expected ',' or ';' before 'CryptSetProviderW'
  825 |   WINIMPM WINBOOL WINAPI CryptSetProviderW (LPCWSTR pszProvName, DWORD dwProvType);
      |                          ^~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:826:26: error: expected ',' or ';' before 'CryptSetProviderExA'
  826 |   WINIMPM WINBOOL WINAPI CryptSetProviderExA (LPCSTR pszProvName, DWORD dwProvType, DWORD *pdwReserved, DWORD dwFlags);
      |                          ^~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:827:26: error: expected ',' or ';' before 'CryptSetProviderExW'
  827 |   WINIMPM WINBOOL WINAPI CryptSetProviderExW (LPCWSTR pszProvName, DWORD dwProvType, DWORD *pdwReserved, DWORD dwFlags);
      |                          ^~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:828:26: error: expected ',' or ';' before 'CryptGetDefaultProviderA'
  828 |   WINIMPM WINBOOL WINAPI CryptGetDefaultProviderA (DWORD dwProvType, DWORD *pdwReserved, DWORD dwFlags, LPSTR pszProvName, DWORD *pcbProvName);
      |                          ^~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:829:26: error: expected ',' or ';' before 'CryptGetDefaultProviderW'
  829 |   WINIMPM WINBOOL WINAPI CryptGetDefaultProviderW (DWORD dwProvType, DWORD *pdwReserved, DWORD dwFlags, LPWSTR pszProvName, DWORD *pcbProvName);
      |                          ^~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:830:26: error: expected ',' or ';' before 'CryptEnumProviderTypesA'
  830 |   WINIMPM WINBOOL WINAPI CryptEnumProviderTypesA (DWORD dwIndex, DWORD *pdwReserved, DWORD dwFlags, DWORD *pdwProvType, LPSTR szTypeName, DWORD *pcbTypeName);
      |                          ^~~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:831:26: error: expected ',' or ';' before 'CryptEnumProviderTypesW'
  831 |   WINIMPM WINBOOL WINAPI CryptEnumProviderTypesW (DWORD dwIndex, DWORD *pdwReserved, DWORD dwFlags, DWORD *pdwProvType, LPWSTR szTypeName, DWORD *pcbTypeName);
      |                          ^~~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:832:26: error: expected ',' or ';' before 'CryptEnumProvidersA'
  832 |   WINIMPM WINBOOL WINAPI CryptEnumProvidersA (DWORD dwIndex, DWORD *pdwReserved, DWORD dwFlags, DWORD *pdwProvType, LPSTR szProvName, DWORD *pcbProvName);
      |                          ^~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:833:26: error: expected ',' or ';' before 'CryptEnumProvidersW'
  833 |   WINIMPM WINBOOL WINAPI CryptEnumProvidersW (DWORD dwIndex, DWORD *pdwReserved, DWORD dwFlags, DWORD *pdwProvType, LPWSTR szProvName, DWORD *pcbProvName);
      |                          ^~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:834:26: error: expected ',' or ';' before 'CryptContextAddRef'
  834 |   WINIMPM WINBOOL WINAPI CryptContextAddRef (HCRYPTPROV hProv, DWORD *pdwReserved, DWORD dwFlags);
      |                          ^~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:835:26: error: expected ',' or ';' before 'CryptDuplicateKey'
  835 |   WINIMPM WINBOOL WINAPI CryptDuplicateKey (HCRYPTKEY hKey, DWORD *pdwReserved, DWORD dwFlags, HCRYPTKEY *phKey);
      |                          ^~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:836:26: error: expected ',' or ';' before 'CryptDuplicateHash'
  836 |   WINIMPM WINBOOL WINAPI CryptDuplicateHash (HCRYPTHASH hHash, DWORD *pdwReserved, DWORD dwFlags, HCRYPTHASH *phHash);
      |                          ^~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:838:19: error: expected ',' or ';' before 'GetEncSChannel'
  838 |   WINBOOL __cdecl GetEncSChannel (BYTE **pData, DWORD *dwDecSize);
      |                   ^~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:843:11: error: unknown type name 'ULONG_PTR'
  843 |   typedef ULONG_PTR HCRYPTPROV_OR_NCRYPT_KEY_HANDLE;
      |           ^~~~~~~~~
/usr/include/w32api/wincrypt.h:844:11: error: unknown type name 'ULONG_PTR'
  844 |   typedef ULONG_PTR HCRYPTPROV_LEGACY;
      |           ^~~~~~~~~
In file included from /usr/include/w32api/wincrypt.h:846,
                 from GenRandom.xs:16:
/usr/include/w32api/bcrypt.h:27:11: error: unknown type name 'LONG'
   27 |   typedef LONG NTSTATUS,*PNTSTATUS;
      |           ^~~~
/usr/include/w32api/bcrypt.h:174:5: error: unknown type name 'ULONG'
  174 |     ULONG dwMinLength;
      |     ^~~~~
/usr/include/w32api/bcrypt.h:175:5: error: unknown type name 'ULONG'
  175 |     ULONG dwMaxLength;
      |     ^~~~~
/usr/include/w32api/bcrypt.h:176:5: error: unknown type name 'ULONG'
  176 |     ULONG dwIncrement;
      |     ^~~~~
/usr/include/w32api/bcrypt.h:182:5: error: unknown type name 'ULONG'
  182 |     ULONG cbOID;
      |     ^~~~~
/usr/include/w32api/bcrypt.h:183:5: error: unknown type name 'PUCHAR'
  183 |     PUCHAR pbOID;
      |     ^~~~~~
/usr/include/w32api/bcrypt.h:187:5: error: unknown type name 'ULONG'
  187 |     ULONG dwOIDCount;
      |     ^~~~~
/usr/include/w32api/bcrypt.h:192:5: error: unknown type name 'LPCWSTR'
  192 |     LPCWSTR pszAlgId;
      |     ^~~~~~~
/usr/include/w32api/bcrypt.h:196:5: error: unknown type name 'LPCWSTR'
  196 |     LPCWSTR pszAlgId;
      |     ^~~~~~~
/usr/include/w32api/bcrypt.h:197:5: error: unknown type name 'ULONG'
  197 |     ULONG cbSalt;
      |     ^~~~~
/usr/include/w32api/bcrypt.h:201:5: error: unknown type name 'LPCWSTR'
  201 |     LPCWSTR pszAlgId;
      |     ^~~~~~~
/usr/include/w32api/bcrypt.h:202:5: error: unknown type name 'PUCHAR'
  202 |     PUCHAR pbLabel;
      |     ^~~~~~
/usr/include/w32api/bcrypt.h:203:5: error: unknown type name 'ULONG'
  203 |     ULONG cbLabel;
      |     ^~~~~
/usr/include/w32api/bcrypt.h:207:5: error: unknown type name 'ULONG'
  207 |     ULONG cbSize;
      |     ^~~~~
/usr/include/w32api/bcrypt.h:208:5: error: unknown type name 'ULONG'
  208 |     ULONG dwInfoVersion;
      |     ^~~~~
/usr/include/w32api/bcrypt.h:209:5: error: unknown type name 'PUCHAR'
  209 |     PUCHAR pbNonce;
      |     ^~~~~~
/usr/include/w32api/bcrypt.h:210:5: error: unknown type name 'ULONG'
  210 |     ULONG cbNonce;
      |     ^~~~~
/usr/include/w32api/bcrypt.h:211:5: error: unknown type name 'PUCHAR'
  211 |     PUCHAR pbAuthData;
      |     ^~~~~~
/usr/include/w32api/bcrypt.h:212:5: error: unknown type name 'ULONG'
  212 |     ULONG cbAuthData;
      |     ^~~~~
/usr/include/w32api/bcrypt.h:213:5: error: unknown type name 'PUCHAR'
  213 |     PUCHAR pbTag;
      |     ^~~~~~
/usr/include/w32api/bcrypt.h:214:5: error: unknown type name 'ULONG'
  214 |     ULONG cbTag;
      |     ^~~~~
/usr/include/w32api/bcrypt.h:215:5: error: unknown type name 'PUCHAR'
  215 |     PUCHAR pbMacContext;
      |     ^~~~~~
/usr/include/w32api/bcrypt.h:216:5: error: unknown type name 'ULONG'
  216 |     ULONG cbMacContext;
      |     ^~~~~
/usr/include/w32api/bcrypt.h:217:5: error: unknown type name 'ULONG'
  217 |     ULONG cbAAD;
      |     ^~~~~
/usr/include/w32api/bcrypt.h:218:5: error: unknown type name 'ULONGLONG'
  218 |     ULONGLONG cbData;
      |     ^~~~~~~~~
/usr/include/w32api/bcrypt.h:219:5: error: unknown type name 'ULONG'
  219 |     ULONG dwFlags;
      |     ^~~~~
/usr/include/w32api/bcrypt.h:225:5: error: unknown type name 'ULONG'
  225 |     ULONG cbBuffer;
      |     ^~~~~
/usr/include/w32api/bcrypt.h:226:5: error: unknown type name 'ULONG'
  226 |     ULONG BufferType;
      |     ^~~~~
/usr/include/w32api/bcrypt.h:227:5: error: unknown type name 'PVOID'
  227 |     PVOID pvBuffer;
      |     ^~~~~
/usr/include/w32api/bcrypt.h:231:5: error: unknown type name 'ULONG'
  231 |     ULONG ulVersion;
      |     ^~~~~
/usr/include/w32api/bcrypt.h:232:5: error: unknown type name 'ULONG'
  232 |     ULONG cBuffers;
      |     ^~~~~
/usr/include/w32api/bcrypt.h:421:9: error: unknown type name 'PVOID'
  421 | typedef PVOID BCRYPT_HANDLE;
      |         ^~~~~
/usr/include/w32api/bcrypt.h:422:11: error: unknown type name 'PVOID'
  422 |   typedef PVOID BCRYPT_ALG_HANDLE;
      |           ^~~~~
/usr/include/w32api/bcrypt.h:423:11: error: unknown type name 'PVOID'
  423 |   typedef PVOID BCRYPT_KEY_HANDLE;
      |           ^~~~~
/usr/include/w32api/bcrypt.h:424:11: error: unknown type name 'PVOID'
  424 |   typedef PVOID BCRYPT_HASH_HANDLE;
      |           ^~~~~
/usr/include/w32api/bcrypt.h:425:11: error: unknown type name 'PVOID'
  425 |   typedef PVOID BCRYPT_SECRET_HANDLE;
      |           ^~~~~
/usr/include/w32api/bcrypt.h:428:5: error: unknown type name 'ULONG'
  428 |     ULONG Magic;
      |     ^~~~~
/usr/include/w32api/bcrypt.h:432:5: error: unknown type name 'ULONG'
  432 |     ULONG Magic;
      |     ^~~~~
/usr/include/w32api/bcrypt.h:433:5: error: unknown type name 'ULONG'
  433 |     ULONG BitLength;
      |     ^~~~~
/usr/include/w32api/bcrypt.h:434:5: error: unknown type name 'ULONG'
  434 |     ULONG cbPublicExp;
      |     ^~~~~
/usr/include/w32api/bcrypt.h:435:5: error: unknown type name 'ULONG'
  435 |     ULONG cbModulus;
      |     ^~~~~
/usr/include/w32api/bcrypt.h:436:5: error: unknown type name 'ULONG'
  436 |     ULONG cbPrime1;
      |     ^~~~~
/usr/include/w32api/bcrypt.h:437:5: error: unknown type name 'ULONG'
  437 |     ULONG cbPrime2;
      |     ^~~~~
/usr/include/w32api/bcrypt.h:441:5: error: unknown type name 'ULONG'
  441 |     ULONG dwMagic;
      |     ^~~~~
/usr/include/w32api/bcrypt.h:442:5: error: unknown type name 'ULONG'
  442 |     ULONG cbKey;
      |     ^~~~~
/usr/include/w32api/bcrypt.h:446:5: error: unknown type name 'ULONG'
  446 |     ULONG dwMagic;
      |     ^~~~~
/usr/include/w32api/bcrypt.h:447:5: error: unknown type name 'ULONG'
  447 |     ULONG cbKey;
      |     ^~~~~
/usr/include/w32api/bcrypt.h:451:5: error: unknown type name 'ULONG'
  451 |     ULONG cbLength;
      |     ^~~~~
/usr/include/w32api/bcrypt.h:452:5: error: unknown type name 'ULONG'
  452 |     ULONG dwMagic;
      |     ^~~~~
/usr/include/w32api/bcrypt.h:453:5: error: unknown type name 'ULONG'
  453 |     ULONG cbKeyLength;
      |     ^~~~~
/usr/include/w32api/bcrypt.h:457:5: error: unknown type name 'ULONG'
  457 |     ULONG dwMagic;
      |     ^~~~~
/usr/include/w32api/bcrypt.h:458:5: error: unknown type name 'ULONG'
  458 |     ULONG cbKey;
      |     ^~~~~
/usr/include/w32api/bcrypt.h:459:5: error: unknown type name 'UCHAR'
  459 |     UCHAR Count[4];
      |     ^~~~~
/usr/include/w32api/bcrypt.h:460:5: error: unknown type name 'UCHAR'
  460 |     UCHAR Seed[20];
      |     ^~~~~
/usr/include/w32api/bcrypt.h:461:5: error: unknown type name 'UCHAR'
  461 |     UCHAR q[20];
      |     ^~~~~
/usr/include/w32api/bcrypt.h:475:5: error: unknown type name 'ULONG'
  475 |     ULONG dwMagic;
      |     ^~~~~
/usr/include/w32api/bcrypt.h:476:5: error: unknown type name 'ULONG'
  476 |     ULONG cbKey;
      |     ^~~~~
/usr/include/w32api/bcrypt.h:479:5: error: unknown type name 'ULONG'
  479 |     ULONG cbSeedLength;
      |     ^~~~~
/usr/include/w32api/bcrypt.h:480:5: error: unknown type name 'ULONG'
  480 |     ULONG cbGroupSize;
      |     ^~~~~
/usr/include/w32api/bcrypt.h:481:5: error: unknown type name 'UCHAR'
  481 |     UCHAR Count[4];
      |     ^~~~~
/usr/include/w32api/bcrypt.h:485:5: error: unknown type name 'ULONG'
  485 |     ULONG dwMagic;
      |     ^~~~~
/usr/include/w32api/bcrypt.h:486:5: error: unknown type name 'ULONG'
  486 |     ULONG dwVersion;
      |     ^~~~~
/usr/include/w32api/bcrypt.h:487:5: error: unknown type name 'ULONG'
  487 |     ULONG cbKeyData;
      |     ^~~~~
/usr/include/w32api/bcrypt.h:491:5: error: unknown type name 'ULONG'
  491 |     ULONG cbLength;
      |     ^~~~~
/usr/include/w32api/bcrypt.h:492:5: error: unknown type name 'ULONG'
  492 |     ULONG dwMagic;
      |     ^~~~~
/usr/include/w32api/bcrypt.h:493:5: error: unknown type name 'ULONG'
  493 |     ULONG cbKeyLength;
      |     ^~~~~
/usr/include/w32api/bcrypt.h:494:5: error: unknown type name 'UCHAR'
  494 |     UCHAR Count[4];
      |     ^~~~~
/usr/include/w32api/bcrypt.h:495:5: error: unknown type name 'UCHAR'
  495 |     UCHAR Seed[20];
      |     ^~~~~
/usr/include/w32api/bcrypt.h:496:5: error: unknown type name 'UCHAR'
  496 |     UCHAR q[20];
      |     ^~~~~
/usr/include/w32api/bcrypt.h:500:5: error: unknown type name 'ULONG'
  500 |     ULONG cbLength;
      |     ^~~~~
/usr/include/w32api/bcrypt.h:501:5: error: unknown type name 'ULONG'
  501 |     ULONG dwMagic;
      |     ^~~~~
/usr/include/w32api/bcrypt.h:502:5: error: unknown type name 'ULONG'
  502 |     ULONG cbKeyLength;
      |     ^~~~~
/usr/include/w32api/bcrypt.h:505:5: error: unknown type name 'ULONG'
  505 |     ULONG cbSeedLength;
      |     ^~~~~
/usr/include/w32api/bcrypt.h:506:5: error: unknown type name 'ULONG'
  506 |     ULONG cbGroupSize;
      |     ^~~~~
/usr/include/w32api/bcrypt.h:507:5: error: unknown type name 'UCHAR'
  507 |     UCHAR Count[4];
      |     ^~~~~
/usr/include/w32api/bcrypt.h:511:5: error: unknown type name 'ULONG'
  511 |     ULONG dwEccCurveNames;
      |     ^~~~~
/usr/include/w32api/bcrypt.h:512:5: error: unknown type name 'LPWSTR'
  512 |     LPWSTR *pEccCurveNames;
      |     ^~~~~~
/usr/include/w32api/bcrypt.h:521:5: error: unknown type name 'ULONG'
  521 |     ULONG iHash;
      |     ^~~~~
/usr/include/w32api/bcrypt.h:523:5: error: unknown type name 'PUCHAR'
  523 |     PUCHAR pbBuffer;
      |     ^~~~~~
/usr/include/w32api/bcrypt.h:524:5: error: unknown type name 'ULONG'
  524 |     ULONG cbBuffer;
      |     ^~~~~
/usr/include/w32api/bcrypt.h:532:5: error: unknown type name 'ULONG'
  532 |     ULONG cbPerObject;
      |     ^~~~~
/usr/include/w32api/bcrypt.h:533:5: error: unknown type name 'ULONG'
  533 |     ULONG cbPerElement;
      |     ^~~~~
/usr/include/w32api/bcrypt.h:537:5: error: unknown type name 'LPWSTR'
  537 |     LPWSTR pszName;
      |     ^~~~~~
/usr/include/w32api/bcrypt.h:538:5: error: unknown type name 'ULONG'
  538 |     ULONG dwClass;
      |     ^~~~~
/usr/include/w32api/bcrypt.h:539:5: error: unknown type name 'ULONG'
  539 |     ULONG dwFlags;
      |     ^~~~~
/usr/include/w32api/bcrypt.h:543:5: error: unknown type name 'LPWSTR'
  543 |     LPWSTR pszProviderName;
      |     ^~~~~~
/usr/include/w32api/bcrypt.h:547:5: error: unknown type name 'USHORT'
  547 |     USHORT MajorVersion;
      |     ^~~~~~
/usr/include/w32api/bcrypt.h:548:5: error: unknown type name 'USHORT'
  548 |     USHORT MinorVersion;
      |     ^~~~~~
/usr/include/w32api/bcrypt.h:552:5: error: unknown type name 'ULONG'
  552 |     ULONG dwInterface;
      |     ^~~~~
/usr/include/w32api/bcrypt.h:553:5: error: unknown type name 'ULONG'
  553 |     ULONG dwFlags;
      |     ^~~~~
/usr/include/w32api/bcrypt.h:554:5: error: unknown type name 'ULONG'
  554 |     ULONG cFunctions;
      |     ^~~~~
/usr/include/w32api/bcrypt.h:555:5: error: unknown type name 'PWSTR'
  555 |     PWSTR *rgpszFunctions;
      |     ^~~~~
/usr/include/w32api/bcrypt.h:559:5: error: unknown type name 'PWSTR'
  559 |     PWSTR pszImage;
      |     ^~~~~
/usr/include/w32api/bcrypt.h:560:5: error: unknown type name 'ULONG'
  560 |     ULONG cInterfaces;
      |     ^~~~~
/usr/include/w32api/bcrypt.h:565:5: error: unknown type name 'ULONG'
  565 |     ULONG cAliases;
      |     ^~~~~
/usr/include/w32api/bcrypt.h:566:5: error: unknown type name 'PWSTR'
  566 |     PWSTR *rgpszAliases;
      |     ^~~~~
/usr/include/w32api/bcrypt.h:572:5: error: unknown type name 'ULONG'
  572 |     ULONG cProviders;
      |     ^~~~~
/usr/include/w32api/bcrypt.h:573:5: error: unknown type name 'PWSTR'
  573 |     PWSTR *rgpszProviders;
      |     ^~~~~
/usr/include/w32api/bcrypt.h:577:5: error: unknown type name 'ULONG'
  577 |     ULONG dwFlags;
      |     ^~~~~
/usr/include/w32api/bcrypt.h:578:5: error: unknown type name 'ULONG'
  578 |     ULONG dwReserved;
      |     ^~~~~
/usr/include/w32api/bcrypt.h:582:5: error: unknown type name 'ULONG'
  582 |     ULONG dwFlags;
      |     ^~~~~
/usr/include/w32api/bcrypt.h:583:5: error: unknown type name 'ULONG'
  583 |     ULONG dwReserved;
      |     ^~~~~
/usr/include/w32api/bcrypt.h:587:5: error: unknown type name 'ULONG'
  587 |     ULONG cContexts;
      |     ^~~~~
/usr/include/w32api/bcrypt.h:588:5: error: unknown type name 'PWSTR'
  588 |     PWSTR *rgpszContexts;
      |     ^~~~~
/usr/include/w32api/bcrypt.h:592:5: error: unknown type name 'ULONG'
  592 |     ULONG cFunctions;
      |     ^~~~~
/usr/include/w32api/bcrypt.h:593:5: error: unknown type name 'PWSTR'
  593 |     PWSTR *rgpszFunctions;
      |     ^~~~~
/usr/include/w32api/bcrypt.h:597:5: error: unknown type name 'ULONG'
  597 |     ULONG cProviders;
      |     ^~~~~
/usr/include/w32api/bcrypt.h:598:5: error: unknown type name 'PWSTR'
  598 |     PWSTR *rgpszProviders;
      |     ^~~~~
/usr/include/w32api/bcrypt.h:602:5: error: unknown type name 'PWSTR'
  602 |     PWSTR pszProperty;
      |     ^~~~~
/usr/include/w32api/bcrypt.h:603:5: error: unknown type name 'ULONG'
  603 |     ULONG cbValue;
      |     ^~~~~
/usr/include/w32api/bcrypt.h:604:5: error: unknown type name 'PUCHAR'
  604 |     PUCHAR pbValue;
      |     ^~~~~~
/usr/include/w32api/bcrypt.h:608:5: error: unknown type name 'PWSTR'
  608 |     PWSTR pszImage;
      |     ^~~~~
/usr/include/w32api/bcrypt.h:609:5: error: unknown type name 'ULONG'
  609 |     ULONG dwFlags;
      |     ^~~~~
/usr/include/w32api/bcrypt.h:613:5: error: unknown type name 'ULONG'
  613 |     ULONG dwInterface;
      |     ^~~~~
/usr/include/w32api/bcrypt.h:614:5: error: unknown type name 'PWSTR'
  614 |     PWSTR pszFunction;
      |     ^~~~~
/usr/include/w32api/bcrypt.h:615:5: error: unknown type name 'PWSTR'
  615 |     PWSTR pszProvider;
      |     ^~~~~
/usr/include/w32api/bcrypt.h:616:5: error: unknown type name 'ULONG'
  616 |     ULONG cProperties;
      |     ^~~~~
/usr/include/w32api/bcrypt.h:623:5: error: unknown type name 'ULONG'
  623 |     ULONG cProviders;
      |     ^~~~~
/usr/include/w32api/bcrypt.h:627:80: error: unknown type name 'LPCWSTR'
  627 |   NTSTATUS WINAPI BCryptOpenAlgorithmProvider (BCRYPT_ALG_HANDLE *phAlgorithm, LPCWSTR pszAlgId, LPCWSTR pszImplementation, ULONG dwFlags);
      |                                                                                ^~~~~~~
/usr/include/w32api/bcrypt.h:627:98: error: unknown type name 'LPCWSTR'
  627 |   NTSTATUS WINAPI BCryptOpenAlgorithmProvider (BCRYPT_ALG_HANDLE *phAlgorithm, LPCWSTR pszAlgId, LPCWSTR pszImplementation, ULONG dwFlags);
      |                                                                                                  ^~~~~~~
/usr/include/w32api/bcrypt.h:627:125: error: unknown type name 'ULONG'
  627 |   NTSTATUS WINAPI BCryptOpenAlgorithmProvider (BCRYPT_ALG_HANDLE *phAlgorithm, LPCWSTR pszAlgId, LPCWSTR pszImplementation, ULONG dwFlags);
      |                                                                                                                             ^~~~~
In file included from /usr/include/w32api/wincrypt.h:846,
                 from GenRandom.xs:16:
/usr/include/w32api/bcrypt.h:628:41: error: unknown type name 'ULONG'
  628 |   NTSTATUS WINAPI BCryptEnumAlgorithms (ULONG dwAlgOperations, ULONG *pAlgCount, BCRYPT_ALGORITHM_IDENTIFIER **ppAlgList, ULONG dwFlags);
      |                                         ^~~~~
/usr/include/w32api/bcrypt.h:628:64: error: unknown type name 'ULONG'
  628 |   NTSTATUS WINAPI BCryptEnumAlgorithms (ULONG dwAlgOperations, ULONG *pAlgCount, BCRYPT_ALGORITHM_IDENTIFIER **ppAlgList, ULONG dwFlags);
      |                                                                ^~~~~
/usr/include/w32api/bcrypt.h:628:123: error: unknown type name 'ULONG'
  628 |   NTSTATUS WINAPI BCryptEnumAlgorithms (ULONG dwAlgOperations, ULONG *pAlgCount, BCRYPT_ALGORITHM_IDENTIFIER **ppAlgList, ULONG dwFlags);
      |                                                                                                                           ^~~~~
/usr/include/w32api/bcrypt.h:629:40: error: unknown type name 'LPCWSTR'
  629 |   NTSTATUS WINAPI BCryptEnumProviders (LPCWSTR pszAlgId, ULONG *pImplCount, BCRYPT_PROVIDER_NAME **ppImplList, ULONG dwFlags);
      |                                        ^~~~~~~
/usr/include/w32api/bcrypt.h:629:58: error: unknown type name 'ULONG'
  629 |   NTSTATUS WINAPI BCryptEnumProviders (LPCWSTR pszAlgId, ULONG *pImplCount, BCRYPT_PROVIDER_NAME **ppImplList, ULONG dwFlags);
      |                                                          ^~~~~
/usr/include/w32api/bcrypt.h:629:112: error: unknown type name 'ULONG'
  629 |   NTSTATUS WINAPI BCryptEnumProviders (LPCWSTR pszAlgId, ULONG *pImplCount, BCRYPT_PROVIDER_NAME **ppImplList, ULONG dwFlags);
      |                                                                                                                ^~~~~
/usr/include/w32api/bcrypt.h:630:61: error: unknown type name 'LPCWSTR'
  630 |   NTSTATUS WINAPI BCryptGetProperty (BCRYPT_HANDLE hObject, LPCWSTR pszProperty, PUCHAR pbOutput, ULONG cbOutput, ULONG *pcbResult, ULONG dwFlags);
      |                                                             ^~~~~~~
/usr/include/w32api/bcrypt.h:630:82: error: unknown type name 'PUCHAR'
  630 |   NTSTATUS WINAPI BCryptGetProperty (BCRYPT_HANDLE hObject, LPCWSTR pszProperty, PUCHAR pbOutput, ULONG cbOutput, ULONG *pcbResult, ULONG dwFlags);
      |                                                                                  ^~~~~~
/usr/include/w32api/bcrypt.h:630:99: error: unknown type name 'ULONG'
  630 |   NTSTATUS WINAPI BCryptGetProperty (BCRYPT_HANDLE hObject, LPCWSTR pszProperty, PUCHAR pbOutput, ULONG cbOutput, ULONG *pcbResult, ULONG dwFlags);
      |                                                                                                   ^~~~~
/usr/include/w32api/bcrypt.h:630:115: error: unknown type name 'ULONG'
  630 |   NTSTATUS WINAPI BCryptGetProperty (BCRYPT_HANDLE hObject, LPCWSTR pszProperty, PUCHAR pbOutput, ULONG cbOutput, ULONG *pcbResult, ULONG dwFlags);
      |                                                                                                                   ^~~~~
/usr/include/w32api/bcrypt.h:630:133: error: unknown type name 'ULONG'
  630 |   NTSTATUS WINAPI BCryptGetProperty (BCRYPT_HANDLE hObject, LPCWSTR pszProperty, PUCHAR pbOutput, ULONG cbOutput, ULONG *pcbResult, ULONG dwFlags);
      |                                                                                                                                     ^~~~~
/usr/include/w32api/bcrypt.h:631:61: error: unknown type name 'LPCWSTR'
  631 |   NTSTATUS WINAPI BCryptSetProperty (BCRYPT_HANDLE hObject, LPCWSTR pszProperty, PUCHAR pbInput, ULONG cbInput, ULONG dwFlags);
      |                                                             ^~~~~~~
/usr/include/w32api/bcrypt.h:631:82: error: unknown type name 'PUCHAR'
  631 |   NTSTATUS WINAPI BCryptSetProperty (BCRYPT_HANDLE hObject, LPCWSTR pszProperty, PUCHAR pbInput, ULONG cbInput, ULONG dwFlags);
      |                                                                                  ^~~~~~
/usr/include/w32api/bcrypt.h:631:98: error: unknown type name 'ULONG'
  631 |   NTSTATUS WINAPI BCryptSetProperty (BCRYPT_HANDLE hObject, LPCWSTR pszProperty, PUCHAR pbInput, ULONG cbInput, ULONG dwFlags);
      |                                                                                                  ^~~~~
/usr/include/w32api/bcrypt.h:631:113: error: unknown type name 'ULONG'
  631 |   NTSTATUS WINAPI BCryptSetProperty (BCRYPT_HANDLE hObject, LPCWSTR pszProperty, PUCHAR pbInput, ULONG cbInput, ULONG dwFlags);
      |                                                                                                                 ^~~~~
/usr/include/w32api/bcrypt.h:632:79: error: unknown type name 'ULONG'
  632 |   NTSTATUS WINAPI BCryptCloseAlgorithmProvider (BCRYPT_ALG_HANDLE hAlgorithm, ULONG dwFlags);
      |                                                                               ^~~~~
/usr/include/w32api/bcrypt.h:633:15: error: expected ',' or ';' before 'BCryptFreeBuffer'
  633 |   VOID WINAPI BCryptFreeBuffer (PVOID pvBuffer);
      |               ^~~~~~~~~~~~~~~~
/usr/include/w32api/bcrypt.h:634:103: error: unknown type name 'PUCHAR'
  634 |   NTSTATUS WINAPI BCryptGenerateSymmetricKey (BCRYPT_ALG_HANDLE hAlgorithm, BCRYPT_KEY_HANDLE *phKey, PUCHAR pbKeyObject, ULONG cbKeyObject, PUCHAR pbSecret, ULONG cbSecret, ULONG dwFlags);
      |                                                                                                       ^~~~~~
/usr/include/w32api/bcrypt.h:634:123: error: unknown type name 'ULONG'
  634 |   NTSTATUS WINAPI BCryptGenerateSymmetricKey (BCRYPT_ALG_HANDLE hAlgorithm, BCRYPT_KEY_HANDLE *phKey, PUCHAR pbKeyObject, ULONG cbKeyObject, PUCHAR pbSecret, ULONG cbSecret, ULONG dwFlags);
      |                                                                                                                           ^~~~~
/usr/include/w32api/bcrypt.h:634:142: error: unknown type name 'PUCHAR'
  634 |   NTSTATUS WINAPI BCryptGenerateSymmetricKey (BCRYPT_ALG_HANDLE hAlgorithm, BCRYPT_KEY_HANDLE *phKey, PUCHAR pbKeyObject, ULONG cbKeyObject, PUCHAR pbSecret, ULONG cbSecret, ULONG dwFlags);
      |                                                                                                                                              ^~~~~~
/usr/include/w32api/bcrypt.h:634:159: error: unknown type name 'ULONG'
  634 |   NTSTATUS WINAPI BCryptGenerateSymmetricKey (BCRYPT_ALG_HANDLE hAlgorithm, BCRYPT_KEY_HANDLE *phKey, PUCHAR pbKeyObject, ULONG cbKeyObject, PUCHAR pbSecret, ULONG cbSecret, ULONG dwFlags);
      |                                                                                                                                                               ^~~~~
/usr/include/w32api/bcrypt.h:634:175: error: unknown type name 'ULONG'
  634 |   NTSTATUS WINAPI BCryptGenerateSymmetricKey (BCRYPT_ALG_HANDLE hAlgorithm, BCRYPT_KEY_HANDLE *phKey, PUCHAR pbKeyObject, ULONG cbKeyObject, PUCHAR pbSecret, ULONG cbSecret, ULONG dwFlags);
      |                                                                                                                                                                               ^~~~~
/usr/include/w32api/bcrypt.h:635:98: error: unknown type name 'ULONG'
  635 |   NTSTATUS WINAPI BCryptGenerateKeyPair (BCRYPT_ALG_HANDLE hAlgorithm, BCRYPT_KEY_HANDLE *phKey, ULONG dwLength, ULONG dwFlags);
      |                                                                                                  ^~~~~
/usr/include/w32api/bcrypt.h:635:114: error: unknown type name 'ULONG'
  635 |   NTSTATUS WINAPI BCryptGenerateKeyPair (BCRYPT_ALG_HANDLE hAlgorithm, BCRYPT_KEY_HANDLE *phKey, ULONG dwLength, ULONG dwFlags);
      |                                                                                                                  ^~~~~
/usr/include/w32api/bcrypt.h:636:58: error: unknown type name 'PUCHAR'
  636 |   NTSTATUS WINAPI BCryptEncrypt (BCRYPT_KEY_HANDLE hKey, PUCHAR pbInput, ULONG cbInput, VOID *pPaddingInfo, PUCHAR pbIV, ULONG cbIV, PUCHAR pbOutput, ULONG cbOutput, ULONG *pcbResult, ULONG dwFlags);
      |                                                          ^~~~~~
/usr/include/w32api/bcrypt.h:636:74: error: unknown type name 'ULONG'
  636 |   NTSTATUS WINAPI BCryptEncrypt (BCRYPT_KEY_HANDLE hKey, PUCHAR pbInput, ULONG cbInput, VOID *pPaddingInfo, PUCHAR pbIV, ULONG cbIV, PUCHAR pbOutput, ULONG cbOutput, ULONG *pcbResult, ULONG dwFlags);
      |                                                                          ^~~~~
/usr/include/w32api/bcrypt.h:636:89: error: expected declaration specifiers or '...' before 'VOID'
  636 |   NTSTATUS WINAPI BCryptEncrypt (BCRYPT_KEY_HANDLE hKey, PUCHAR pbInput, ULONG cbInput, VOID *pPaddingInfo, PUCHAR pbIV, ULONG cbIV, PUCHAR pbOutput, ULONG cbOutput, ULONG *pcbResult, ULONG dwFlags);
      |                                                                                         ^~~~
/usr/include/w32api/bcrypt.h:636:109: error: unknown type name 'PUCHAR'
  636 |   NTSTATUS WINAPI BCryptEncrypt (BCRYPT_KEY_HANDLE hKey, PUCHAR pbInput, ULONG cbInput, VOID *pPaddingInfo, PUCHAR pbIV, ULONG cbIV, PUCHAR pbOutput, ULONG cbOutput, ULONG *pcbResult, ULONG dwFlags);
      |                                                                                                             ^~~~~~
/usr/include/w32api/bcrypt.h:636:122: error: unknown type name 'ULONG'
  636 |   NTSTATUS WINAPI BCryptEncrypt (BCRYPT_KEY_HANDLE hKey, PUCHAR pbInput, ULONG cbInput, VOID *pPaddingInfo, PUCHAR pbIV, ULONG cbIV, PUCHAR pbOutput, ULONG cbOutput, ULONG *pcbResult, ULONG dwFlags);
      |                                                                                                                          ^~~~~
/usr/include/w32api/bcrypt.h:636:134: error: unknown type name 'PUCHAR'
  636 |   NTSTATUS WINAPI BCryptEncrypt (BCRYPT_KEY_HANDLE hKey, PUCHAR pbInput, ULONG cbInput, VOID *pPaddingInfo, PUCHAR pbIV, ULONG cbIV, PUCHAR pbOutput, ULONG cbOutput, ULONG *pcbResult, ULONG dwFlags);
      |                                                                                                                                      ^~~~~~
/usr/include/w32api/bcrypt.h:636:151: error: unknown type name 'ULONG'
  636 |   NTSTATUS WINAPI BCryptEncrypt (BCRYPT_KEY_HANDLE hKey, PUCHAR pbInput, ULONG cbInput, VOID *pPaddingInfo, PUCHAR pbIV, ULONG cbIV, PUCHAR pbOutput, ULONG cbOutput, ULONG *pcbResult, ULONG dwFlags);
      |                                                                                                                                                       ^~~~~
/usr/include/w32api/bcrypt.h:636:167: error: unknown type name 'ULONG'
  636 |   NTSTATUS WINAPI BCryptEncrypt (BCRYPT_KEY_HANDLE hKey, PUCHAR pbInput, ULONG cbInput, VOID *pPaddingInfo, PUCHAR pbIV, ULONG cbIV, PUCHAR pbOutput, ULONG cbOutput, ULONG *pcbResult, ULONG dwFlags);
      |                                                                                                                                                                       ^~~~~
/usr/include/w32api/bcrypt.h:636:185: error: unknown type name 'ULONG'
  636 |   NTSTATUS WINAPI BCryptEncrypt (BCRYPT_KEY_HANDLE hKey, PUCHAR pbInput, ULONG cbInput, VOID *pPaddingInfo, PUCHAR pbIV, ULONG cbIV, PUCHAR pbOutput, ULONG cbOutput, ULONG *pcbResult, ULONG dwFlags);
      |                                                                                                                                                                                         ^~~~~
/usr/include/w32api/bcrypt.h:637:58: error: unknown type name 'PUCHAR'
  637 |   NTSTATUS WINAPI BCryptDecrypt (BCRYPT_KEY_HANDLE hKey, PUCHAR pbInput, ULONG cbInput, VOID *pPaddingInfo, PUCHAR pbIV, ULONG cbIV, PUCHAR pbOutput, ULONG cbOutput, ULONG *pcbResult, ULONG dwFlags);
      |                                                          ^~~~~~
/usr/include/w32api/bcrypt.h:637:74: error: unknown type name 'ULONG'
  637 |   NTSTATUS WINAPI BCryptDecrypt (BCRYPT_KEY_HANDLE hKey, PUCHAR pbInput, ULONG cbInput, VOID *pPaddingInfo, PUCHAR pbIV, ULONG cbIV, PUCHAR pbOutput, ULONG cbOutput, ULONG *pcbResult, ULONG dwFlags);
      |                                                                          ^~~~~
/usr/include/w32api/bcrypt.h:637:89: error: expected declaration specifiers or '...' before 'VOID'
  637 |   NTSTATUS WINAPI BCryptDecrypt (BCRYPT_KEY_HANDLE hKey, PUCHAR pbInput, ULONG cbInput, VOID *pPaddingInfo, PUCHAR pbIV, ULONG cbIV, PUCHAR pbOutput, ULONG cbOutput, ULONG *pcbResult, ULONG dwFlags);
      |                                                                                         ^~~~
/usr/include/w32api/bcrypt.h:637:109: error: unknown type name 'PUCHAR'
  637 |   NTSTATUS WINAPI BCryptDecrypt (BCRYPT_KEY_HANDLE hKey, PUCHAR pbInput, ULONG cbInput, VOID *pPaddingInfo, PUCHAR pbIV, ULONG cbIV, PUCHAR pbOutput, ULONG cbOutput, ULONG *pcbResult, ULONG dwFlags);
      |                                                                                                             ^~~~~~
/usr/include/w32api/bcrypt.h:637:122: error: unknown type name 'ULONG'
  637 |   NTSTATUS WINAPI BCryptDecrypt (BCRYPT_KEY_HANDLE hKey, PUCHAR pbInput, ULONG cbInput, VOID *pPaddingInfo, PUCHAR pbIV, ULONG cbIV, PUCHAR pbOutput, ULONG cbOutput, ULONG *pcbResult, ULONG dwFlags);
      |                                                                                                                          ^~~~~
/usr/include/w32api/bcrypt.h:637:134: error: unknown type name 'PUCHAR'
  637 |   NTSTATUS WINAPI BCryptDecrypt (BCRYPT_KEY_HANDLE hKey, PUCHAR pbInput, ULONG cbInput, VOID *pPaddingInfo, PUCHAR pbIV, ULONG cbIV, PUCHAR pbOutput, ULONG cbOutput, ULONG *pcbResult, ULONG dwFlags);
      |                                                                                                                                      ^~~~~~
/usr/include/w32api/bcrypt.h:637:151: error: unknown type name 'ULONG'
  637 |   NTSTATUS WINAPI BCryptDecrypt (BCRYPT_KEY_HANDLE hKey, PUCHAR pbInput, ULONG cbInput, VOID *pPaddingInfo, PUCHAR pbIV, ULONG cbIV, PUCHAR pbOutput, ULONG cbOutput, ULONG *pcbResult, ULONG dwFlags);
      |                                                                                                                                                       ^~~~~
/usr/include/w32api/bcrypt.h:637:167: error: unknown type name 'ULONG'
  637 |   NTSTATUS WINAPI BCryptDecrypt (BCRYPT_KEY_HANDLE hKey, PUCHAR pbInput, ULONG cbInput, VOID *pPaddingInfo, PUCHAR pbIV, ULONG cbIV, PUCHAR pbOutput, ULONG cbOutput, ULONG *pcbResult, ULONG dwFlags);
      |                                                                                                                                                                       ^~~~~
/usr/include/w32api/bcrypt.h:637:185: error: unknown type name 'ULONG'
  637 |   NTSTATUS WINAPI BCryptDecrypt (BCRYPT_KEY_HANDLE hKey, PUCHAR pbInput, ULONG cbInput, VOID *pPaddingInfo, PUCHAR pbIV, ULONG cbIV, PUCHAR pbOutput, ULONG cbOutput, ULONG *pcbResult, ULONG dwFlags);
      |                                                                                                                                                                                         ^~~~~
/usr/include/w32api/bcrypt.h:638:90: error: unknown type name 'LPCWSTR'
  638 |   NTSTATUS WINAPI BCryptExportKey (BCRYPT_KEY_HANDLE hKey, BCRYPT_KEY_HANDLE hExportKey, LPCWSTR pszBlobType, PUCHAR pbOutput, ULONG cbOutput, ULONG *pcbResult, ULONG dwFlags);
      |                                                                                          ^~~~~~~
/usr/include/w32api/bcrypt.h:638:111: error: unknown type name 'PUCHAR'
  638 |   NTSTATUS WINAPI BCryptExportKey (BCRYPT_KEY_HANDLE hKey, BCRYPT_KEY_HANDLE hExportKey, LPCWSTR pszBlobType, PUCHAR pbOutput, ULONG cbOutput, ULONG *pcbResult, ULONG dwFlags);
      |                                                                                                               ^~~~~~
/usr/include/w32api/bcrypt.h:638:128: error: unknown type name 'ULONG'
  638 |   NTSTATUS WINAPI BCryptExportKey (BCRYPT_KEY_HANDLE hKey, BCRYPT_KEY_HANDLE hExportKey, LPCWSTR pszBlobType, PUCHAR pbOutput, ULONG cbOutput, ULONG *pcbResult, ULONG dwFlags);
      |                                                                                                                                ^~~~~
/usr/include/w32api/bcrypt.h:638:144: error: unknown type name 'ULONG'
  638 |   NTSTATUS WINAPI BCryptExportKey (BCRYPT_KEY_HANDLE hKey, BCRYPT_KEY_HANDLE hExportKey, LPCWSTR pszBlobType, PUCHAR pbOutput, ULONG cbOutput, ULONG *pcbResult, ULONG dwFlags);
      |                                                                                                                                                ^~~~~
/usr/include/w32api/bcrypt.h:638:162: error: unknown type name 'ULONG'
  638 |   NTSTATUS WINAPI BCryptExportKey (BCRYPT_KEY_HANDLE hKey, BCRYPT_KEY_HANDLE hExportKey, LPCWSTR pszBlobType, PUCHAR pbOutput, ULONG cbOutput, ULONG *pcbResult, ULONG dwFlags);
      |                                                                                                                                                                  ^~~~~
/usr/include/w32api/bcrypt.h:639:96: error: unknown type name 'LPCWSTR'
  639 |   NTSTATUS WINAPI BCryptImportKey (BCRYPT_ALG_HANDLE hAlgorithm, BCRYPT_KEY_HANDLE hImportKey, LPCWSTR pszBlobType, BCRYPT_KEY_HANDLE *phKey, PUCHAR pbKeyObject, ULONG cbKeyObject, PUCHAR pbInput, ULONG cbInput, ULONG dwFlags);
      |                                                                                                ^~~~~~~
/usr/include/w32api/bcrypt.h:639:143: error: unknown type name 'PUCHAR'
  639 |   NTSTATUS WINAPI BCryptImportKey (BCRYPT_ALG_HANDLE hAlgorithm, BCRYPT_KEY_HANDLE hImportKey, LPCWSTR pszBlobType, BCRYPT_KEY_HANDLE *phKey, PUCHAR pbKeyObject, ULONG cbKeyObject, PUCHAR pbInput, ULONG cbInput, ULONG dwFlags);
      |                                                                                                                                               ^~~~~~
/usr/include/w32api/bcrypt.h:639:163: error: unknown type name 'ULONG'
  639 |   NTSTATUS WINAPI BCryptImportKey (BCRYPT_ALG_HANDLE hAlgorithm, BCRYPT_KEY_HANDLE hImportKey, LPCWSTR pszBlobType, BCRYPT_KEY_HANDLE *phKey, PUCHAR pbKeyObject, ULONG cbKeyObject, PUCHAR pbInput, ULONG cbInput, ULONG dwFlags);
      |                                                                                                                                                                   ^~~~~
/usr/include/w32api/bcrypt.h:639:182: error: unknown type name 'PUCHAR'
  639 |   NTSTATUS WINAPI BCryptImportKey (BCRYPT_ALG_HANDLE hAlgorithm, BCRYPT_KEY_HANDLE hImportKey, LPCWSTR pszBlobType, BCRYPT_KEY_HANDLE *phKey, PUCHAR pbKeyObject, ULONG cbKeyObject, PUCHAR pbInput, ULONG cbInput, ULONG dwFlags);
      |                                                                                                                                                                                      ^~~~~~
/usr/include/w32api/bcrypt.h:639:198: error: unknown type name 'ULONG'
  639 |   NTSTATUS WINAPI BCryptImportKey (BCRYPT_ALG_HANDLE hAlgorithm, BCRYPT_KEY_HANDLE hImportKey, LPCWSTR pszBlobType, BCRYPT_KEY_HANDLE *phKey, PUCHAR pbKeyObject, ULONG cbKeyObject, PUCHAR pbInput, ULONG cbInput, ULONG dwFlags);
      |                                                                                                                                                                                                      ^~~~~
/usr/include/w32api/bcrypt.h:639:213: error: unknown type name 'ULONG'
  639 |   NTSTATUS WINAPI BCryptImportKey (BCRYPT_ALG_HANDLE hAlgorithm, BCRYPT_KEY_HANDLE hImportKey, LPCWSTR pszBlobType, BCRYPT_KEY_HANDLE *phKey, PUCHAR pbKeyObject, ULONG cbKeyObject, PUCHAR pbInput, ULONG cbInput, ULONG dwFlags);
      |                                                                                                                                                                                                                     ^~~~~
/usr/include/w32api/bcrypt.h:640:100: error: unknown type name 'LPCWSTR'
  640 |   NTSTATUS WINAPI BCryptImportKeyPair (BCRYPT_ALG_HANDLE hAlgorithm, BCRYPT_KEY_HANDLE hImportKey, LPCWSTR pszBlobType, BCRYPT_KEY_HANDLE *phKey, PUCHAR pbInput, ULONG cbInput, ULONG dwFlags);
      |                                                                                                    ^~~~~~~
/usr/include/w32api/bcrypt.h:640:147: error: unknown type name 'PUCHAR'
  640 |   NTSTATUS WINAPI BCryptImportKeyPair (BCRYPT_ALG_HANDLE hAlgorithm, BCRYPT_KEY_HANDLE hImportKey, LPCWSTR pszBlobType, BCRYPT_KEY_HANDLE *phKey, PUCHAR pbInput, ULONG cbInput, ULONG dwFlags);
      |                                                                                                                                                   ^~~~~~
/usr/include/w32api/bcrypt.h:640:163: error: unknown type name 'ULONG'
  640 |   NTSTATUS WINAPI BCryptImportKeyPair (BCRYPT_ALG_HANDLE hAlgorithm, BCRYPT_KEY_HANDLE hImportKey, LPCWSTR pszBlobType, BCRYPT_KEY_HANDLE *phKey, PUCHAR pbInput, ULONG cbInput, ULONG dwFlags);
      |                                                                                                                                                                   ^~~~~
/usr/include/w32api/bcrypt.h:640:178: error: unknown type name 'ULONG'
  640 |   NTSTATUS WINAPI BCryptImportKeyPair (BCRYPT_ALG_HANDLE hAlgorithm, BCRYPT_KEY_HANDLE hImportKey, LPCWSTR pszBlobType, BCRYPT_KEY_HANDLE *phKey, PUCHAR pbInput, ULONG cbInput, ULONG dwFlags);
      |                                                                                                                                                                                  ^~~~~
/usr/include/w32api/bcrypt.h:641:92: error: unknown type name 'PUCHAR'
  641 |   NTSTATUS WINAPI BCryptDuplicateKey (BCRYPT_KEY_HANDLE hKey, BCRYPT_KEY_HANDLE *phNewKey, PUCHAR pbKeyObject, ULONG cbKeyObject, ULONG dwFlags);
      |                                                                                            ^~~~~~
/usr/include/w32api/bcrypt.h:641:112: error: unknown type name 'ULONG'
  641 |   NTSTATUS WINAPI BCryptDuplicateKey (BCRYPT_KEY_HANDLE hKey, BCRYPT_KEY_HANDLE *phNewKey, PUCHAR pbKeyObject, ULONG cbKeyObject, ULONG dwFlags);
      |                                                                                                                ^~~~~
/usr/include/w32api/bcrypt.h:641:131: error: unknown type name 'ULONG'
  641 |   NTSTATUS WINAPI BCryptDuplicateKey (BCRYPT_KEY_HANDLE hKey, BCRYPT_KEY_HANDLE *phNewKey, PUCHAR pbKeyObject, ULONG cbKeyObject, ULONG dwFlags);
      |                                                                                                                                   ^~~~~
/usr/include/w32api/bcrypt.h:642:66: error: unknown type name 'ULONG'
  642 |   NTSTATUS WINAPI BCryptFinalizeKeyPair (BCRYPT_KEY_HANDLE hKey, ULONG dwFlags);
      |                                                                  ^~~~~
/usr/include/w32api/bcrypt.h:645:59: error: expected declaration specifiers or '...' before 'VOID'
  645 |   NTSTATUS WINAPI BCryptSignHash (BCRYPT_KEY_HANDLE hKey, VOID *pPaddingInfo, PUCHAR pbInput, ULONG cbInput, PUCHAR pbOutput, ULONG cbOutput, ULONG *pcbResult, ULONG dwFlags);
      |                                                           ^~~~
/usr/include/w32api/bcrypt.h:645:79: error: unknown type name 'PUCHAR'
  645 |   NTSTATUS WINAPI BCryptSignHash (BCRYPT_KEY_HANDLE hKey, VOID *pPaddingInfo, PUCHAR pbInput, ULONG cbInput, PUCHAR pbOutput, ULONG cbOutput, ULONG *pcbResult, ULONG dwFlags);
      |                                                                               ^~~~~~
/usr/include/w32api/bcrypt.h:645:95: error: unknown type name 'ULONG'
  645 |   NTSTATUS WINAPI BCryptSignHash (BCRYPT_KEY_HANDLE hKey, VOID *pPaddingInfo, PUCHAR pbInput, ULONG cbInput, PUCHAR pbOutput, ULONG cbOutput, ULONG *pcbResult, ULONG dwFlags);
      |                                                                                               ^~~~~
/usr/include/w32api/bcrypt.h:645:110: error: unknown type name 'PUCHAR'
  645 |   NTSTATUS WINAPI BCryptSignHash (BCRYPT_KEY_HANDLE hKey, VOID *pPaddingInfo, PUCHAR pbInput, ULONG cbInput, PUCHAR pbOutput, ULONG cbOutput, ULONG *pcbResult, ULONG dwFlags);
      |                                                                                                              ^~~~~~
/usr/include/w32api/bcrypt.h:645:127: error: unknown type name 'ULONG'
  645 |   NTSTATUS WINAPI BCryptSignHash (BCRYPT_KEY_HANDLE hKey, VOID *pPaddingInfo, PUCHAR pbInput, ULONG cbInput, PUCHAR pbOutput, ULONG cbOutput, ULONG *pcbResult, ULONG dwFlags);
      |                                                                                                                               ^~~~~
/usr/include/w32api/bcrypt.h:645:143: error: unknown type name 'ULONG'
  645 |   NTSTATUS WINAPI BCryptSignHash (BCRYPT_KEY_HANDLE hKey, VOID *pPaddingInfo, PUCHAR pbInput, ULONG cbInput, PUCHAR pbOutput, ULONG cbOutput, ULONG *pcbResult, ULONG dwFlags);
      |                                                                                                                                               ^~~~~
/usr/include/w32api/bcrypt.h:645:161: error: unknown type name 'ULONG'
  645 |   NTSTATUS WINAPI BCryptSignHash (BCRYPT_KEY_HANDLE hKey, VOID *pPaddingInfo, PUCHAR pbInput, ULONG cbInput, PUCHAR pbOutput, ULONG cbOutput, ULONG *pcbResult, ULONG dwFlags);
      |                                                                                                                                                                 ^~~~~
/usr/include/w32api/bcrypt.h:646:66: error: expected declaration specifiers or '...' before 'VOID'
  646 |   NTSTATUS WINAPI BCryptVerifySignature (BCRYPT_KEY_HANDLE hKey, VOID *pPaddingInfo, PUCHAR pbHash, ULONG cbHash, PUCHAR pbSignature, ULONG cbSignature, ULONG dwFlags);
      |                                                                  ^~~~
/usr/include/w32api/bcrypt.h:646:86: error: unknown type name 'PUCHAR'
  646 |   NTSTATUS WINAPI BCryptVerifySignature (BCRYPT_KEY_HANDLE hKey, VOID *pPaddingInfo, PUCHAR pbHash, ULONG cbHash, PUCHAR pbSignature, ULONG cbSignature, ULONG dwFlags);
      |                                                                                      ^~~~~~
/usr/include/w32api/bcrypt.h:646:101: error: unknown type name 'ULONG'
  646 |   NTSTATUS WINAPI BCryptVerifySignature (BCRYPT_KEY_HANDLE hKey, VOID *pPaddingInfo, PUCHAR pbHash, ULONG cbHash, PUCHAR pbSignature, ULONG cbSignature, ULONG dwFlags);
      |                                                                                                     ^~~~~
/usr/include/w32api/bcrypt.h:646:115: error: unknown type name 'PUCHAR'
  646 |   NTSTATUS WINAPI BCryptVerifySignature (BCRYPT_KEY_HANDLE hKey, VOID *pPaddingInfo, PUCHAR pbHash, ULONG cbHash, PUCHAR pbSignature, ULONG cbSignature, ULONG dwFlags);
      |                                                                                                                   ^~~~~~
/usr/include/w32api/bcrypt.h:646:135: error: unknown type name 'ULONG'
  646 |   NTSTATUS WINAPI BCryptVerifySignature (BCRYPT_KEY_HANDLE hKey, VOID *pPaddingInfo, PUCHAR pbHash, ULONG cbHash, PUCHAR pbSignature, ULONG cbSignature, ULONG dwFlags);
      |                                                                                                                                       ^~~~~
/usr/include/w32api/bcrypt.h:646:154: error: unknown type name 'ULONG'
  646 |   NTSTATUS WINAPI BCryptVerifySignature (BCRYPT_KEY_HANDLE hKey, VOID *pPaddingInfo, PUCHAR pbHash, ULONG cbHash, PUCHAR pbSignature, ULONG cbSignature, ULONG dwFlags);
      |                                                                                                                                                          ^~~~~
/usr/include/w32api/bcrypt.h:647:135: error: unknown type name 'ULONG'
  647 |   NTSTATUS WINAPI BCryptSecretAgreement (BCRYPT_KEY_HANDLE hPrivKey, BCRYPT_KEY_HANDLE hPubKey, BCRYPT_SECRET_HANDLE *phAgreedSecret, ULONG dwFlags);
      |                                                                                                                                       ^~~~~
/usr/include/w32api/bcrypt.h:648:72: error: unknown type name 'LPCWSTR'
  648 |   NTSTATUS WINAPI BCryptDeriveKey (BCRYPT_SECRET_HANDLE hSharedSecret, LPCWSTR pwszKDF, BCryptBufferDesc *pParameterList, PUCHAR pbDerivedKey, ULONG cbDerivedKey, ULONG *pcbResult, ULONG dwFlags);
      |                                                                        ^~~~~~~
/usr/include/w32api/bcrypt.h:648:123: error: unknown type name 'PUCHAR'
  648 |   NTSTATUS WINAPI BCryptDeriveKey (BCRYPT_SECRET_HANDLE hSharedSecret, LPCWSTR pwszKDF, BCryptBufferDesc *pParameterList, PUCHAR pbDerivedKey, ULONG cbDerivedKey, ULONG *pcbResult, ULONG dwFlags);
      |                                                                                                                           ^~~~~~
/usr/include/w32api/bcrypt.h:648:144: error: unknown type name 'ULONG'
  648 |   NTSTATUS WINAPI BCryptDeriveKey (BCRYPT_SECRET_HANDLE hSharedSecret, LPCWSTR pwszKDF, BCryptBufferDesc *pParameterList, PUCHAR pbDerivedKey, ULONG cbDerivedKey, ULONG *pcbResult, ULONG dwFlags);
      |                                                                                                                                                ^~~~~
/usr/include/w32api/bcrypt.h:648:164: error: unknown type name 'ULONG'
  648 |   NTSTATUS WINAPI BCryptDeriveKey (BCRYPT_SECRET_HANDLE hSharedSecret, LPCWSTR pwszKDF, BCryptBufferDesc *pParameterList, PUCHAR pbDerivedKey, ULONG cbDerivedKey, ULONG *pcbResult, ULONG dwFlags);
      |                                                                                                                                                                    ^~~~~
/usr/include/w32api/bcrypt.h:648:182: error: unknown type name 'ULONG'
  648 |   NTSTATUS WINAPI BCryptDeriveKey (BCRYPT_SECRET_HANDLE hSharedSecret, LPCWSTR pwszKDF, BCryptBufferDesc *pParameterList, PUCHAR pbDerivedKey, ULONG cbDerivedKey, ULONG *pcbResult, ULONG dwFlags);
      |                                                                                                                                                                                      ^~~~~
/usr/include/w32api/bcrypt.h:649:98: error: unknown type name 'PUCHAR'
  649 |   NTSTATUS WINAPI BCryptKeyDerivation (BCRYPT_KEY_HANDLE hKey, BCryptBufferDesc *pParameterList, PUCHAR pbDerivedKey, ULONG cbDerivedKey, ULONG *pcbResult, ULONG dwFlags);
      |                                                                                                  ^~~~~~
/usr/include/w32api/bcrypt.h:649:119: error: unknown type name 'ULONG'
  649 |   NTSTATUS WINAPI BCryptKeyDerivation (BCRYPT_KEY_HANDLE hKey, BCryptBufferDesc *pParameterList, PUCHAR pbDerivedKey, ULONG cbDerivedKey, ULONG *pcbResult, ULONG dwFlags);
      |                                                                                                                       ^~~~~
/usr/include/w32api/bcrypt.h:649:139: error: unknown type name 'ULONG'
  649 |   NTSTATUS WINAPI BCryptKeyDerivation (BCRYPT_KEY_HANDLE hKey, BCryptBufferDesc *pParameterList, PUCHAR pbDerivedKey, ULONG cbDerivedKey, ULONG *pcbResult, ULONG dwFlags);
      |                                                                                                                                           ^~~~~
/usr/include/w32api/bcrypt.h:649:157: error: unknown type name 'ULONG'
  649 |   NTSTATUS WINAPI BCryptKeyDerivation (BCRYPT_KEY_HANDLE hKey, BCryptBufferDesc *pParameterList, PUCHAR pbDerivedKey, ULONG cbDerivedKey, ULONG *pcbResult, ULONG dwFlags);
      |                                                                                                                                                             ^~~~~
/usr/include/w32api/bcrypt.h:650:95: error: unknown type name 'PUCHAR'
  650 |   NTSTATUS WINAPI BCryptCreateHash (BCRYPT_ALG_HANDLE hAlgorithm, BCRYPT_HASH_HANDLE *phHash, PUCHAR pbHashObject, ULONG cbHashObject, PUCHAR pbSecret, ULONG cbSecret, ULONG dwFlags);
      |                                                                                               ^~~~~~
/usr/include/w32api/bcrypt.h:650:116: error: unknown type name 'ULONG'
  650 |   NTSTATUS WINAPI BCryptCreateHash (BCRYPT_ALG_HANDLE hAlgorithm, BCRYPT_HASH_HANDLE *phHash, PUCHAR pbHashObject, ULONG cbHashObject, PUCHAR pbSecret, ULONG cbSecret, ULONG dwFlags);
      |                                                                                                                    ^~~~~
/usr/include/w32api/bcrypt.h:650:136: error: unknown type name 'PUCHAR'
  650 |   NTSTATUS WINAPI BCryptCreateHash (BCRYPT_ALG_HANDLE hAlgorithm, BCRYPT_HASH_HANDLE *phHash, PUCHAR pbHashObject, ULONG cbHashObject, PUCHAR pbSecret, ULONG cbSecret, ULONG dwFlags);
      |                                                                                                                                        ^~~~~~
/usr/include/w32api/bcrypt.h:650:153: error: unknown type name 'ULONG'
  650 |   NTSTATUS WINAPI BCryptCreateHash (BCRYPT_ALG_HANDLE hAlgorithm, BCRYPT_HASH_HANDLE *phHash, PUCHAR pbHashObject, ULONG cbHashObject, PUCHAR pbSecret, ULONG cbSecret, ULONG dwFlags);
      |                                                                                                                                                         ^~~~~
/usr/include/w32api/bcrypt.h:650:169: error: unknown type name 'ULONG'
  650 |   NTSTATUS WINAPI BCryptCreateHash (BCRYPT_ALG_HANDLE hAlgorithm, BCRYPT_HASH_HANDLE *phHash, PUCHAR pbHashObject, ULONG cbHashObject, PUCHAR pbSecret, ULONG cbSecret, ULONG dwFlags);
      |                                                                                                                                                                         ^~~~~
/usr/include/w32api/bcrypt.h:651:61: error: unknown type name 'PUCHAR'
  651 |   NTSTATUS WINAPI BCryptHashData (BCRYPT_HASH_HANDLE hHash, PUCHAR pbInput, ULONG cbInput, ULONG dwFlags);
      |                                                             ^~~~~~
/usr/include/w32api/bcrypt.h:651:77: error: unknown type name 'ULONG'
  651 |   NTSTATUS WINAPI BCryptHashData (BCRYPT_HASH_HANDLE hHash, PUCHAR pbInput, ULONG cbInput, ULONG dwFlags);
      |                                                                             ^~~~~
/usr/include/w32api/bcrypt.h:651:92: error: unknown type name 'ULONG'
  651 |   NTSTATUS WINAPI BCryptHashData (BCRYPT_HASH_HANDLE hHash, PUCHAR pbInput, ULONG cbInput, ULONG dwFlags);
      |                                                                                            ^~~~~
/usr/include/w32api/bcrypt.h:652:63: error: unknown type name 'PUCHAR'
  652 |   NTSTATUS WINAPI BCryptFinishHash (BCRYPT_HASH_HANDLE hHash, PUCHAR pbOutput, ULONG cbOutput, ULONG dwFlags);
      |                                                               ^~~~~~
/usr/include/w32api/bcrypt.h:652:80: error: unknown type name 'ULONG'
  652 |   NTSTATUS WINAPI BCryptFinishHash (BCRYPT_HASH_HANDLE hHash, PUCHAR pbOutput, ULONG cbOutput, ULONG dwFlags);
      |                                                                                ^~~~~
/usr/include/w32api/bcrypt.h:652:96: error: unknown type name 'ULONG'
  652 |   NTSTATUS WINAPI BCryptFinishHash (BCRYPT_HASH_HANDLE hHash, PUCHAR pbOutput, ULONG cbOutput, ULONG dwFlags);
      |                                                                                                ^~~~~
/usr/include/w32api/bcrypt.h:657:97: error: unknown type name 'PUCHAR'
  657 |   NTSTATUS WINAPI BCryptDuplicateHash (BCRYPT_HASH_HANDLE hHash, BCRYPT_HASH_HANDLE *phNewHash, PUCHAR pbHashObject, ULONG cbHashObject, ULONG dwFlags);
      |                                                                                                 ^~~~~~
/usr/include/w32api/bcrypt.h:657:118: error: unknown type name 'ULONG'
  657 |   NTSTATUS WINAPI BCryptDuplicateHash (BCRYPT_HASH_HANDLE hHash, BCRYPT_HASH_HANDLE *phNewHash, PUCHAR pbHashObject, ULONG cbHashObject, ULONG dwFlags);
      |                                                                                                                      ^~~~~
/usr/include/w32api/bcrypt.h:657:138: error: unknown type name 'ULONG'
  657 |   NTSTATUS WINAPI BCryptDuplicateHash (BCRYPT_HASH_HANDLE hHash, BCRYPT_HASH_HANDLE *phNewHash, PUCHAR pbHashObject, ULONG cbHashObject, ULONG dwFlags);
      |                                                                                                                                          ^~~~~
/usr/include/w32api/bcrypt.h:660:61: error: unknown type name 'PUCHAR'
  660 |   NTSTATUS WINAPI BCryptHash (BCRYPT_ALG_HANDLE hAlgorithm, PUCHAR pbSecret, ULONG cbSecret, PUCHAR pbInput, ULONG cbInput, PUCHAR pbOutput, ULONG cbOutput);
      |                                                             ^~~~~~
/usr/include/w32api/bcrypt.h:660:78: error: unknown type name 'ULONG'
  660 |   NTSTATUS WINAPI BCryptHash (BCRYPT_ALG_HANDLE hAlgorithm, PUCHAR pbSecret, ULONG cbSecret, PUCHAR pbInput, ULONG cbInput, PUCHAR pbOutput, ULONG cbOutput);
      |                                                                              ^~~~~
/usr/include/w32api/bcrypt.h:660:94: error: unknown type name 'PUCHAR'
  660 |   NTSTATUS WINAPI BCryptHash (BCRYPT_ALG_HANDLE hAlgorithm, PUCHAR pbSecret, ULONG cbSecret, PUCHAR pbInput, ULONG cbInput, PUCHAR pbOutput, ULONG cbOutput);
      |                                                                                              ^~~~~~
/usr/include/w32api/bcrypt.h:660:110: error: unknown type name 'ULONG'
  660 |   NTSTATUS WINAPI BCryptHash (BCRYPT_ALG_HANDLE hAlgorithm, PUCHAR pbSecret, ULONG cbSecret, PUCHAR pbInput, ULONG cbInput, PUCHAR pbOutput, ULONG cbOutput);
      |                                                                                                              ^~~~~
/usr/include/w32api/bcrypt.h:660:125: error: unknown type name 'PUCHAR'
  660 |   NTSTATUS WINAPI BCryptHash (BCRYPT_ALG_HANDLE hAlgorithm, PUCHAR pbSecret, ULONG cbSecret, PUCHAR pbInput, ULONG cbInput, PUCHAR pbOutput, ULONG cbOutput);
      |                                                                                                                             ^~~~~~
/usr/include/w32api/bcrypt.h:660:142: error: unknown type name 'ULONG'
  660 |   NTSTATUS WINAPI BCryptHash (BCRYPT_ALG_HANDLE hAlgorithm, PUCHAR pbSecret, ULONG cbSecret, PUCHAR pbInput, ULONG cbInput, PUCHAR pbOutput, ULONG cbOutput);
      |                                                                                                                                              ^~~~~
/usr/include/w32api/bcrypt.h:662:66: error: unknown type name 'PUCHAR'
  662 |   NTSTATUS WINAPI BCryptGenRandom (BCRYPT_ALG_HANDLE hAlgorithm, PUCHAR pbBuffer, ULONG cbBuffer, ULONG dwFlags);
      |                                                                  ^~~~~~
/usr/include/w32api/bcrypt.h:662:83: error: unknown type name 'ULONG'
  662 |   NTSTATUS WINAPI BCryptGenRandom (BCRYPT_ALG_HANDLE hAlgorithm, PUCHAR pbBuffer, ULONG cbBuffer, ULONG dwFlags);
      |                                                                                   ^~~~~
/usr/include/w32api/bcrypt.h:662:99: error: unknown type name 'ULONG'
  662 |   NTSTATUS WINAPI BCryptGenRandom (BCRYPT_ALG_HANDLE hAlgorithm, PUCHAR pbBuffer, ULONG cbBuffer, ULONG dwFlags);
      |                                                                                                   ^~~~~
/usr/include/w32api/bcrypt.h:663:96: error: unknown type name 'PUCHAR'
  663 |   NTSTATUS WINAPI BCryptDeriveKeyCapi (BCRYPT_HASH_HANDLE hHash, BCRYPT_ALG_HANDLE hTargetAlg, PUCHAR pbDerivedKey, ULONG cbDerivedKey, ULONG dwFlags);
      |                                                                                                ^~~~~~
/usr/include/w32api/bcrypt.h:663:117: error: unknown type name 'ULONG'
  663 |   NTSTATUS WINAPI BCryptDeriveKeyCapi (BCRYPT_HASH_HANDLE hHash, BCRYPT_ALG_HANDLE hTargetAlg, PUCHAR pbDerivedKey, ULONG cbDerivedKey, ULONG dwFlags);
      |                                                                                                                     ^~~~~
/usr/include/w32api/bcrypt.h:663:137: error: unknown type name 'ULONG'
  663 |   NTSTATUS WINAPI BCryptDeriveKeyCapi (BCRYPT_HASH_HANDLE hHash, BCRYPT_ALG_HANDLE hTargetAlg, PUCHAR pbDerivedKey, ULONG cbDerivedKey, ULONG dwFlags);
      |                                                                                                                                         ^~~~~
/usr/include/w32api/bcrypt.h:664:66: error: unknown type name 'PUCHAR'
  664 |   NTSTATUS WINAPI BCryptDeriveKeyPBKDF2 (BCRYPT_ALG_HANDLE hPrf, PUCHAR pbPassword, ULONG cbPassword, PUCHAR pbSalt, ULONG cbSalt, ULONGLONG cIterations, PUCHAR pbDerivedKey, ULONG cbDerivedKey, ULONG dwFlags);
      |                                                                  ^~~~~~
/usr/include/w32api/bcrypt.h:664:85: error: unknown type name 'ULONG'
  664 |   NTSTATUS WINAPI BCryptDeriveKeyPBKDF2 (BCRYPT_ALG_HANDLE hPrf, PUCHAR pbPassword, ULONG cbPassword, PUCHAR pbSalt, ULONG cbSalt, ULONGLONG cIterations, PUCHAR pbDerivedKey, ULONG cbDerivedKey, ULONG dwFlags);
      |                                                                                     ^~~~~
/usr/include/w32api/bcrypt.h:664:103: error: unknown type name 'PUCHAR'
  664 |   NTSTATUS WINAPI BCryptDeriveKeyPBKDF2 (BCRYPT_ALG_HANDLE hPrf, PUCHAR pbPassword, ULONG cbPassword, PUCHAR pbSalt, ULONG cbSalt, ULONGLONG cIterations, PUCHAR pbDerivedKey, ULONG cbDerivedKey, ULONG dwFlags);
      |                                                                                                       ^~~~~~
/usr/include/w32api/bcrypt.h:664:118: error: unknown type name 'ULONG'
  664 |   NTSTATUS WINAPI BCryptDeriveKeyPBKDF2 (BCRYPT_ALG_HANDLE hPrf, PUCHAR pbPassword, ULONG cbPassword, PUCHAR pbSalt, ULONG cbSalt, ULONGLONG cIterations, PUCHAR pbDerivedKey, ULONG cbDerivedKey, ULONG dwFlags);
      |                                                                                                                      ^~~~~
/usr/include/w32api/bcrypt.h:664:132: error: unknown type name 'ULONGLONG'
  664 |   NTSTATUS WINAPI BCryptDeriveKeyPBKDF2 (BCRYPT_ALG_HANDLE hPrf, PUCHAR pbPassword, ULONG cbPassword, PUCHAR pbSalt, ULONG cbSalt, ULONGLONG cIterations, PUCHAR pbDerivedKey, ULONG cbDerivedKey, ULONG dwFlags);
      |                                                                                                                                    ^~~~~~~~~
/usr/include/w32api/bcrypt.h:664:155: error: unknown type name 'PUCHAR'
  664 |   NTSTATUS WINAPI BCryptDeriveKeyPBKDF2 (BCRYPT_ALG_HANDLE hPrf, PUCHAR pbPassword, ULONG cbPassword, PUCHAR pbSalt, ULONG cbSalt, ULONGLONG cIterations, PUCHAR pbDerivedKey, ULONG cbDerivedKey, ULONG dwFlags);
      |                                                                                                                                                           ^~~~~~
/usr/include/w32api/bcrypt.h:664:176: error: unknown type name 'ULONG'
  664 |   NTSTATUS WINAPI BCryptDeriveKeyPBKDF2 (BCRYPT_ALG_HANDLE hPrf, PUCHAR pbPassword, ULONG cbPassword, PUCHAR pbSalt, ULONG cbSalt, ULONGLONG cIterations, PUCHAR pbDerivedKey, ULONG cbDerivedKey, ULONG dwFlags);
      |                                                                                                                                                                                ^~~~~
/usr/include/w32api/bcrypt.h:664:196: error: unknown type name 'ULONG'
  664 |   NTSTATUS WINAPI BCryptDeriveKeyPBKDF2 (BCRYPT_ALG_HANDLE hPrf, PUCHAR pbPassword, ULONG cbPassword, PUCHAR pbSalt, ULONG cbSalt, ULONGLONG cIterations, PUCHAR pbDerivedKey, ULONG cbDerivedKey, ULONG dwFlags);
      |                                                                                                                                                                                                    ^~~~~
/usr/include/w32api/bcrypt.h:665:43: error: unknown type name 'LPCWSTR'
  665 |   NTSTATUS WINAPI BCryptResolveProviders (LPCWSTR pszContext, ULONG dwInterface, LPCWSTR pszFunction, LPCWSTR pszProvider, ULONG dwMode, ULONG dwFlags, ULONG *pcbBuffer, PCRYPT_PROVIDER_REFS *ppBuffer);
      |                                           ^~~~~~~
/usr/include/w32api/bcrypt.h:665:63: error: unknown type name 'ULONG'
  665 |   NTSTATUS WINAPI BCryptResolveProviders (LPCWSTR pszContext, ULONG dwInterface, LPCWSTR pszFunction, LPCWSTR pszProvider, ULONG dwMode, ULONG dwFlags, ULONG *pcbBuffer, PCRYPT_PROVIDER_REFS *ppBuffer);
      |                                                               ^~~~~
/usr/include/w32api/bcrypt.h:665:82: error: unknown type name 'LPCWSTR'
  665 |   NTSTATUS WINAPI BCryptResolveProviders (LPCWSTR pszContext, ULONG dwInterface, LPCWSTR pszFunction, LPCWSTR pszProvider, ULONG dwMode, ULONG dwFlags, ULONG *pcbBuffer, PCRYPT_PROVIDER_REFS *ppBuffer);
      |                                                                                  ^~~~~~~
/usr/include/w32api/bcrypt.h:665:103: error: unknown type name 'LPCWSTR'
  665 |   NTSTATUS WINAPI BCryptResolveProviders (LPCWSTR pszContext, ULONG dwInterface, LPCWSTR pszFunction, LPCWSTR pszProvider, ULONG dwMode, ULONG dwFlags, ULONG *pcbBuffer, PCRYPT_PROVIDER_REFS *ppBuffer);
      |                                                                                                       ^~~~~~~
/usr/include/w32api/bcrypt.h:665:124: error: unknown type name 'ULONG'
  665 |   NTSTATUS WINAPI BCryptResolveProviders (LPCWSTR pszContext, ULONG dwInterface, LPCWSTR pszFunction, LPCWSTR pszProvider, ULONG dwMode, ULONG dwFlags, ULONG *pcbBuffer, PCRYPT_PROVIDER_REFS *ppBuffer);
      |                                                                                                                            ^~~~~
/usr/include/w32api/bcrypt.h:665:138: error: unknown type name 'ULONG'
  665 |   NTSTATUS WINAPI BCryptResolveProviders (LPCWSTR pszContext, ULONG dwInterface, LPCWSTR pszFunction, LPCWSTR pszProvider, ULONG dwMode, ULONG dwFlags, ULONG *pcbBuffer, PCRYPT_PROVIDER_REFS *ppBuffer);
      |                                                                                                                                          ^~~~~
/usr/include/w32api/bcrypt.h:665:153: error: unknown type name 'ULONG'
  665 |   NTSTATUS WINAPI BCryptResolveProviders (LPCWSTR pszContext, ULONG dwInterface, LPCWSTR pszFunction, LPCWSTR pszProvider, ULONG dwMode, ULONG dwFlags, ULONG *pcbBuffer, PCRYPT_PROVIDER_REFS *ppBuffer);
      |                                                                                                                                                         ^~~~~
/usr/include/w32api/bcrypt.h:666:47: error: unknown type name 'BOOLEAN'
  666 |   NTSTATUS WINAPI BCryptGetFipsAlgorithmMode (BOOLEAN *pfEnabled);
      |                                               ^~~~~~~
/usr/include/w32api/bcrypt.h:670:52: error: unknown type name 'LPCWSTR'
  670 |   NTSTATUS WINAPI BCryptQueryProviderRegistration (LPCWSTR pszProvider, ULONG dwMode, ULONG dwInterface, ULONG *pcbBuffer, PCRYPT_PROVIDER_REG *ppBuffer);
      |                                                    ^~~~~~~
/usr/include/w32api/bcrypt.h:670:73: error: unknown type name 'ULONG'
  670 |   NTSTATUS WINAPI BCryptQueryProviderRegistration (LPCWSTR pszProvider, ULONG dwMode, ULONG dwInterface, ULONG *pcbBuffer, PCRYPT_PROVIDER_REG *ppBuffer);
      |                                                                         ^~~~~
/usr/include/w32api/bcrypt.h:670:87: error: unknown type name 'ULONG'
  670 |   NTSTATUS WINAPI BCryptQueryProviderRegistration (LPCWSTR pszProvider, ULONG dwMode, ULONG dwInterface, ULONG *pcbBuffer, PCRYPT_PROVIDER_REG *ppBuffer);
      |                                                                                       ^~~~~
/usr/include/w32api/bcrypt.h:670:106: error: unknown type name 'ULONG'
  670 |   NTSTATUS WINAPI BCryptQueryProviderRegistration (LPCWSTR pszProvider, ULONG dwMode, ULONG dwInterface, ULONG *pcbBuffer, PCRYPT_PROVIDER_REG *ppBuffer);
      |                                                                                                          ^~~~~
/usr/include/w32api/bcrypt.h:671:50: error: unknown type name 'ULONG'
  671 |   NTSTATUS WINAPI BCryptEnumRegisteredProviders (ULONG *pcbBuffer, PCRYPT_PROVIDERS *ppBuffer);
      |                                                  ^~~~~
/usr/include/w32api/bcrypt.h:672:40: error: unknown type name 'ULONG'
  672 |   NTSTATUS WINAPI BCryptCreateContext (ULONG dwTable, LPCWSTR pszContext, PCRYPT_CONTEXT_CONFIG pConfig);
      |                                        ^~~~~
/usr/include/w32api/bcrypt.h:672:55: error: unknown type name 'LPCWSTR'
  672 |   NTSTATUS WINAPI BCryptCreateContext (ULONG dwTable, LPCWSTR pszContext, PCRYPT_CONTEXT_CONFIG pConfig);
      |                                                       ^~~~~~~
/usr/include/w32api/bcrypt.h:673:40: error: unknown type name 'ULONG'
  673 |   NTSTATUS WINAPI BCryptDeleteContext (ULONG dwTable, LPCWSTR pszContext);
      |                                        ^~~~~
/usr/include/w32api/bcrypt.h:673:55: error: unknown type name 'LPCWSTR'
  673 |   NTSTATUS WINAPI BCryptDeleteContext (ULONG dwTable, LPCWSTR pszContext);
      |                                                       ^~~~~~~
/usr/include/w32api/bcrypt.h:674:39: error: unknown type name 'ULONG'
  674 |   NTSTATUS WINAPI BCryptEnumContexts (ULONG dwTable, ULONG *pcbBuffer, PCRYPT_CONTEXTS *ppBuffer);
      |                                       ^~~~~
/usr/include/w32api/bcrypt.h:674:54: error: unknown type name 'ULONG'
  674 |   NTSTATUS WINAPI BCryptEnumContexts (ULONG dwTable, ULONG *pcbBuffer, PCRYPT_CONTEXTS *ppBuffer);
      |                                                      ^~~~~
/usr/include/w32api/bcrypt.h:675:43: error: unknown type name 'ULONG'
  675 |   NTSTATUS WINAPI BCryptConfigureContext (ULONG dwTable, LPCWSTR pszContext, PCRYPT_CONTEXT_CONFIG pConfig);
      |                                           ^~~~~
/usr/include/w32api/bcrypt.h:675:58: error: unknown type name 'LPCWSTR'
  675 |   NTSTATUS WINAPI BCryptConfigureContext (ULONG dwTable, LPCWSTR pszContext, PCRYPT_CONTEXT_CONFIG pConfig);
      |                                                          ^~~~~~~
/usr/include/w32api/bcrypt.h:676:52: error: unknown type name 'ULONG'
  676 |   NTSTATUS WINAPI BCryptQueryContextConfiguration (ULONG dwTable, LPCWSTR pszContext, ULONG *pcbBuffer, PCRYPT_CONTEXT_CONFIG *ppBuffer);
      |                                                    ^~~~~
/usr/include/w32api/bcrypt.h:676:67: error: unknown type name 'LPCWSTR'
  676 |   NTSTATUS WINAPI BCryptQueryContextConfiguration (ULONG dwTable, LPCWSTR pszContext, ULONG *pcbBuffer, PCRYPT_CONTEXT_CONFIG *ppBuffer);
      |                                                                   ^~~~~~~
/usr/include/w32api/bcrypt.h:676:87: error: unknown type name 'ULONG'
  676 |   NTSTATUS WINAPI BCryptQueryContextConfiguration (ULONG dwTable, LPCWSTR pszContext, ULONG *pcbBuffer, PCRYPT_CONTEXT_CONFIG *ppBuffer);
      |                                                                                       ^~~~~
/usr/include/w32api/bcrypt.h:677:45: error: unknown type name 'ULONG'
  677 |   NTSTATUS WINAPI BCryptAddContextFunction (ULONG dwTable, LPCWSTR pszContext, ULONG dwInterface, LPCWSTR pszFunction, ULONG dwPosition);
      |                                             ^~~~~
/usr/include/w32api/bcrypt.h:677:60: error: unknown type name 'LPCWSTR'
  677 |   NTSTATUS WINAPI BCryptAddContextFunction (ULONG dwTable, LPCWSTR pszContext, ULONG dwInterface, LPCWSTR pszFunction, ULONG dwPosition);
      |                                                            ^~~~~~~
/usr/include/w32api/bcrypt.h:677:80: error: unknown type name 'ULONG'
  677 |   NTSTATUS WINAPI BCryptAddContextFunction (ULONG dwTable, LPCWSTR pszContext, ULONG dwInterface, LPCWSTR pszFunction, ULONG dwPosition);
      |                                                                                ^~~~~
/usr/include/w32api/bcrypt.h:677:99: error: unknown type name 'LPCWSTR'
  677 |   NTSTATUS WINAPI BCryptAddContextFunction (ULONG dwTable, LPCWSTR pszContext, ULONG dwInterface, LPCWSTR pszFunction, ULONG dwPosition);
      |                                                                                                   ^~~~~~~
/usr/include/w32api/bcrypt.h:677:120: error: unknown type name 'ULONG'
  677 |   NTSTATUS WINAPI BCryptAddContextFunction (ULONG dwTable, LPCWSTR pszContext, ULONG dwInterface, LPCWSTR pszFunction, ULONG dwPosition);
      |                                                                                                                        ^~~~~
/usr/include/w32api/bcrypt.h:678:48: error: unknown type name 'ULONG'
  678 |   NTSTATUS WINAPI BCryptRemoveContextFunction (ULONG dwTable, LPCWSTR pszContext, ULONG dwInterface, LPCWSTR pszFunction);
      |                                                ^~~~~
/usr/include/w32api/bcrypt.h:678:63: error: unknown type name 'LPCWSTR'
  678 |   NTSTATUS WINAPI BCryptRemoveContextFunction (ULONG dwTable, LPCWSTR pszContext, ULONG dwInterface, LPCWSTR pszFunction);
      |                                                               ^~~~~~~
/usr/include/w32api/bcrypt.h:678:83: error: unknown type name 'ULONG'
  678 |   NTSTATUS WINAPI BCryptRemoveContextFunction (ULONG dwTable, LPCWSTR pszContext, ULONG dwInterface, LPCWSTR pszFunction);
      |                                                                                   ^~~~~
/usr/include/w32api/bcrypt.h:678:102: error: unknown type name 'LPCWSTR'
  678 |   NTSTATUS WINAPI BCryptRemoveContextFunction (ULONG dwTable, LPCWSTR pszContext, ULONG dwInterface, LPCWSTR pszFunction);
      |                                                                                                      ^~~~~~~
/usr/include/w32api/bcrypt.h:679:47: error: unknown type name 'ULONG'
  679 |   NTSTATUS WINAPI BCryptEnumContextFunctions (ULONG dwTable, LPCWSTR pszContext, ULONG dwInterface, ULONG *pcbBuffer, PCRYPT_CONTEXT_FUNCTIONS *ppBuffer);
      |                                               ^~~~~
/usr/include/w32api/bcrypt.h:679:62: error: unknown type name 'LPCWSTR'
  679 |   NTSTATUS WINAPI BCryptEnumContextFunctions (ULONG dwTable, LPCWSTR pszContext, ULONG dwInterface, ULONG *pcbBuffer, PCRYPT_CONTEXT_FUNCTIONS *ppBuffer);
      |                                                              ^~~~~~~
/usr/include/w32api/bcrypt.h:679:82: error: unknown type name 'ULONG'
  679 |   NTSTATUS WINAPI BCryptEnumContextFunctions (ULONG dwTable, LPCWSTR pszContext, ULONG dwInterface, ULONG *pcbBuffer, PCRYPT_CONTEXT_FUNCTIONS *ppBuffer);
      |                                                                                  ^~~~~
/usr/include/w32api/bcrypt.h:679:101: error: unknown type name 'ULONG'
  679 |   NTSTATUS WINAPI BCryptEnumContextFunctions (ULONG dwTable, LPCWSTR pszContext, ULONG dwInterface, ULONG *pcbBuffer, PCRYPT_CONTEXT_FUNCTIONS *ppBuffer);
      |                                                                                                     ^~~~~
/usr/include/w32api/bcrypt.h:680:51: error: unknown type name 'ULONG'
  680 |   NTSTATUS WINAPI BCryptConfigureContextFunction (ULONG dwTable, LPCWSTR pszContext, ULONG dwInterface, LPCWSTR pszFunction, PCRYPT_CONTEXT_FUNCTION_CONFIG pConfig);
      |                                                   ^~~~~
/usr/include/w32api/bcrypt.h:680:66: error: unknown type name 'LPCWSTR'
  680 |   NTSTATUS WINAPI BCryptConfigureContextFunction (ULONG dwTable, LPCWSTR pszContext, ULONG dwInterface, LPCWSTR pszFunction, PCRYPT_CONTEXT_FUNCTION_CONFIG pConfig);
      |                                                                  ^~~~~~~
/usr/include/w32api/bcrypt.h:680:86: error: unknown type name 'ULONG'
  680 |   NTSTATUS WINAPI BCryptConfigureContextFunction (ULONG dwTable, LPCWSTR pszContext, ULONG dwInterface, LPCWSTR pszFunction, PCRYPT_CONTEXT_FUNCTION_CONFIG pConfig);
      |                                                                                      ^~~~~
/usr/include/w32api/bcrypt.h:680:105: error: unknown type name 'LPCWSTR'
  680 |   NTSTATUS WINAPI BCryptConfigureContextFunction (ULONG dwTable, LPCWSTR pszContext, ULONG dwInterface, LPCWSTR pszFunction, PCRYPT_CONTEXT_FUNCTION_CONFIG pConfig);
      |                                                                                                         ^~~~~~~
/usr/include/w32api/bcrypt.h:681:60: error: unknown type name 'ULONG'
  681 |   NTSTATUS WINAPI BCryptQueryContextFunctionConfiguration (ULONG dwTable, LPCWSTR pszContext, ULONG dwInterface, LPCWSTR pszFunction, ULONG *pcbBuffer, PCRYPT_CONTEXT_FUNCTION_CONFIG *ppBuffer);
      |                                                            ^~~~~
/usr/include/w32api/bcrypt.h:681:75: error: unknown type name 'LPCWSTR'
  681 |   NTSTATUS WINAPI BCryptQueryContextFunctionConfiguration (ULONG dwTable, LPCWSTR pszContext, ULONG dwInterface, LPCWSTR pszFunction, ULONG *pcbBuffer, PCRYPT_CONTEXT_FUNCTION_CONFIG *ppBuffer);
      |                                                                           ^~~~~~~
/usr/include/w32api/bcrypt.h:681:95: error: unknown type name 'ULONG'
  681 |   NTSTATUS WINAPI BCryptQueryContextFunctionConfiguration (ULONG dwTable, LPCWSTR pszContext, ULONG dwInterface, LPCWSTR pszFunction, ULONG *pcbBuffer, PCRYPT_CONTEXT_FUNCTION_CONFIG *ppBuffer);
      |                                                                                               ^~~~~
/usr/include/w32api/bcrypt.h:681:114: error: unknown type name 'LPCWSTR'
  681 |   NTSTATUS WINAPI BCryptQueryContextFunctionConfiguration (ULONG dwTable, LPCWSTR pszContext, ULONG dwInterface, LPCWSTR pszFunction, ULONG *pcbBuffer, PCRYPT_CONTEXT_FUNCTION_CONFIG *ppBuffer);
      |                                                                                                                  ^~~~~~~
/usr/include/w32api/bcrypt.h:681:135: error: unknown type name 'ULONG'
  681 |   NTSTATUS WINAPI BCryptQueryContextFunctionConfiguration (ULONG dwTable, LPCWSTR pszContext, ULONG dwInterface, LPCWSTR pszFunction, ULONG *pcbBuffer, PCRYPT_CONTEXT_FUNCTION_CONFIG *ppBuffer);
      |                                                                                                                                       ^~~~~
/usr/include/w32api/bcrypt.h:682:55: error: unknown type name 'ULONG'
  682 |   NTSTATUS WINAPI BCryptEnumContextFunctionProviders (ULONG dwTable, LPCWSTR pszContext, ULONG dwInterface, LPCWSTR pszFunction, ULONG *pcbBuffer, PCRYPT_CONTEXT_FUNCTION_PROVIDERS *ppBuffer);
      |                                                       ^~~~~
/usr/include/w32api/bcrypt.h:682:70: error: unknown type name 'LPCWSTR'
  682 |   NTSTATUS WINAPI BCryptEnumContextFunctionProviders (ULONG dwTable, LPCWSTR pszContext, ULONG dwInterface, LPCWSTR pszFunction, ULONG *pcbBuffer, PCRYPT_CONTEXT_FUNCTION_PROVIDERS *ppBuffer);
      |                                                                      ^~~~~~~
/usr/include/w32api/bcrypt.h:682:90: error: unknown type name 'ULONG'
  682 |   NTSTATUS WINAPI BCryptEnumContextFunctionProviders (ULONG dwTable, LPCWSTR pszContext, ULONG dwInterface, LPCWSTR pszFunction, ULONG *pcbBuffer, PCRYPT_CONTEXT_FUNCTION_PROVIDERS *ppBuffer);
      |                                                                                          ^~~~~
/usr/include/w32api/bcrypt.h:682:109: error: unknown type name 'LPCWSTR'
  682 |   NTSTATUS WINAPI BCryptEnumContextFunctionProviders (ULONG dwTable, LPCWSTR pszContext, ULONG dwInterface, LPCWSTR pszFunction, ULONG *pcbBuffer, PCRYPT_CONTEXT_FUNCTION_PROVIDERS *ppBuffer);
      |                                                                                                             ^~~~~~~
/usr/include/w32api/bcrypt.h:682:130: error: unknown type name 'ULONG'
  682 |   NTSTATUS WINAPI BCryptEnumContextFunctionProviders (ULONG dwTable, LPCWSTR pszContext, ULONG dwInterface, LPCWSTR pszFunction, ULONG *pcbBuffer, PCRYPT_CONTEXT_FUNCTION_PROVIDERS *ppBuffer);
      |                                                                                                                                  ^~~~~
/usr/include/w32api/bcrypt.h:683:53: error: unknown type name 'ULONG'
  683 |   NTSTATUS WINAPI BCryptSetContextFunctionProperty (ULONG dwTable, LPCWSTR pszContext, ULONG dwInterface, LPCWSTR pszFunction, LPCWSTR pszProperty, ULONG cbValue, PUCHAR pbValue);
      |                                                     ^~~~~
/usr/include/w32api/bcrypt.h:683:68: error: unknown type name 'LPCWSTR'
  683 |   NTSTATUS WINAPI BCryptSetContextFunctionProperty (ULONG dwTable, LPCWSTR pszContext, ULONG dwInterface, LPCWSTR pszFunction, LPCWSTR pszProperty, ULONG cbValue, PUCHAR pbValue);
      |                                                                    ^~~~~~~
/usr/include/w32api/bcrypt.h:683:88: error: unknown type name 'ULONG'
  683 |   NTSTATUS WINAPI BCryptSetContextFunctionProperty (ULONG dwTable, LPCWSTR pszContext, ULONG dwInterface, LPCWSTR pszFunction, LPCWSTR pszProperty, ULONG cbValue, PUCHAR pbValue);
      |                                                                                        ^~~~~
/usr/include/w32api/bcrypt.h:683:107: error: unknown type name 'LPCWSTR'
  683 |   NTSTATUS WINAPI BCryptSetContextFunctionProperty (ULONG dwTable, LPCWSTR pszContext, ULONG dwInterface, LPCWSTR pszFunction, LPCWSTR pszProperty, ULONG cbValue, PUCHAR pbValue);
      |                                                                                                           ^~~~~~~
/usr/include/w32api/bcrypt.h:683:128: error: unknown type name 'LPCWSTR'
  683 |   NTSTATUS WINAPI BCryptSetContextFunctionProperty (ULONG dwTable, LPCWSTR pszContext, ULONG dwInterface, LPCWSTR pszFunction, LPCWSTR pszProperty, ULONG cbValue, PUCHAR pbValue);
      |                                                                                                                                ^~~~~~~
/usr/include/w32api/bcrypt.h:683:149: error: unknown type name 'ULONG'
  683 |   NTSTATUS WINAPI BCryptSetContextFunctionProperty (ULONG dwTable, LPCWSTR pszContext, ULONG dwInterface, LPCWSTR pszFunction, LPCWSTR pszProperty, ULONG cbValue, PUCHAR pbValue);
      |                                                                                                                                                     ^~~~~
/usr/include/w32api/bcrypt.h:683:164: error: unknown type name 'PUCHAR'
  683 |   NTSTATUS WINAPI BCryptSetContextFunctionProperty (ULONG dwTable, LPCWSTR pszContext, ULONG dwInterface, LPCWSTR pszFunction, LPCWSTR pszProperty, ULONG cbValue, PUCHAR pbValue);
      |                                                                                                                                                                    ^~~~~~
/usr/include/w32api/bcrypt.h:684:55: error: unknown type name 'ULONG'
  684 |   NTSTATUS WINAPI BCryptQueryContextFunctionProperty (ULONG dwTable, LPCWSTR pszContext, ULONG dwInterface, LPCWSTR pszFunction, LPCWSTR pszProperty, ULONG *pcbValue, PUCHAR *ppbValue);
      |                                                       ^~~~~
/usr/include/w32api/bcrypt.h:684:70: error: unknown type name 'LPCWSTR'
  684 |   NTSTATUS WINAPI BCryptQueryContextFunctionProperty (ULONG dwTable, LPCWSTR pszContext, ULONG dwInterface, LPCWSTR pszFunction, LPCWSTR pszProperty, ULONG *pcbValue, PUCHAR *ppbValue);
      |                                                                      ^~~~~~~
/usr/include/w32api/bcrypt.h:684:90: error: unknown type name 'ULONG'
  684 |   NTSTATUS WINAPI BCryptQueryContextFunctionProperty (ULONG dwTable, LPCWSTR pszContext, ULONG dwInterface, LPCWSTR pszFunction, LPCWSTR pszProperty, ULONG *pcbValue, PUCHAR *ppbValue);
      |                                                                                          ^~~~~
/usr/include/w32api/bcrypt.h:684:109: error: unknown type name 'LPCWSTR'
  684 |   NTSTATUS WINAPI BCryptQueryContextFunctionProperty (ULONG dwTable, LPCWSTR pszContext, ULONG dwInterface, LPCWSTR pszFunction, LPCWSTR pszProperty, ULONG *pcbValue, PUCHAR *ppbValue);
      |                                                                                                             ^~~~~~~
/usr/include/w32api/bcrypt.h:684:130: error: unknown type name 'LPCWSTR'
  684 |   NTSTATUS WINAPI BCryptQueryContextFunctionProperty (ULONG dwTable, LPCWSTR pszContext, ULONG dwInterface, LPCWSTR pszFunction, LPCWSTR pszProperty, ULONG *pcbValue, PUCHAR *ppbValue);
      |                                                                                                                                  ^~~~~~~
/usr/include/w32api/bcrypt.h:684:151: error: unknown type name 'ULONG'
  684 |   NTSTATUS WINAPI BCryptQueryContextFunctionProperty (ULONG dwTable, LPCWSTR pszContext, ULONG dwInterface, LPCWSTR pszFunction, LPCWSTR pszProperty, ULONG *pcbValue, PUCHAR *ppbValue);
      |                                                                                                                                                       ^~~~~
/usr/include/w32api/bcrypt.h:684:168: error: unknown type name 'PUCHAR'
  684 |   NTSTATUS WINAPI BCryptQueryContextFunctionProperty (ULONG dwTable, LPCWSTR pszContext, ULONG dwInterface, LPCWSTR pszFunction, LPCWSTR pszProperty, ULONG *pcbValue, PUCHAR *ppbValue);
      |                                                                                                                                                                        ^~~~~~
/usr/include/w32api/bcrypt.h:685:53: error: unknown type name 'HANDLE'
  685 |   NTSTATUS WINAPI BCryptRegisterConfigChangeNotify (HANDLE *phEvent);
      |                                                     ^~~~~~
/usr/include/w32api/bcrypt.h:686:55: error: unknown type name 'HANDLE'
  686 |   NTSTATUS WINAPI BCryptUnregisterConfigChangeNotify (HANDLE hEvent);
      |                                                       ^~~~~~
In file included from /usr/include/w32api/wincrypt.h:849,
                 from GenRandom.xs:16:
/usr/include/w32api/ncrypt.h:23:11: error: unknown type name 'LONG'
   23 |   typedef LONG SECURITY_STATUS;
      |           ^~~~
In file included from /usr/include/w32api/wincrypt.h:849,
                 from GenRandom.xs:16:
/usr/include/w32api/ncrypt.h:138:26: error: expected declaration specifiers or '...' before '*' token
  138 |   typedef LPVOID (WINAPI *PFN_NCRYPT_ALLOC) (SIZE_T cbSize);
      |                          ^
/usr/include/w32api/ncrypt.h:139:24: error: expected declaration specifiers or '...' before '*' token
  139 |   typedef VOID (WINAPI *PFN_NCRYPT_FREE) (LPVOID pv);
      |                        ^
/usr/include/w32api/ncrypt.h:142:5: error: unknown type name 'DWORD'
  142 |     DWORD cbSize;
      |     ^~~~~
/usr/include/w32api/ncrypt.h:143:5: error: unknown type name 'PFN_NCRYPT_ALLOC'
  143 |     PFN_NCRYPT_ALLOC pfnAlloc;
      |     ^~~~~~~~~~~~~~~~
/usr/include/w32api/ncrypt.h:144:5: error: unknown type name 'PFN_NCRYPT_FREE'
  144 |     PFN_NCRYPT_FREE pfnFree;
      |     ^~~~~~~~~~~~~~~
/usr/include/w32api/ncrypt.h:152:11: error: unknown type name 'ULONG_PTR'
  152 |   typedef ULONG_PTR NCRYPT_HANDLE;
      |           ^~~~~~~~~
/usr/include/w32api/ncrypt.h:153:11: error: unknown type name 'ULONG_PTR'
  153 |   typedef ULONG_PTR NCRYPT_PROV_HANDLE;
      |           ^~~~~~~~~
/usr/include/w32api/ncrypt.h:154:11: error: unknown type name 'ULONG_PTR'
  154 |   typedef ULONG_PTR NCRYPT_KEY_HANDLE;
      |           ^~~~~~~~~
/usr/include/w32api/ncrypt.h:155:11: error: unknown type name 'ULONG_PTR'
  155 |   typedef ULONG_PTR NCRYPT_HASH_HANDLE;
      |           ^~~~~~~~~
/usr/include/w32api/ncrypt.h:156:11: error: unknown type name 'ULONG_PTR'
  156 |   typedef ULONG_PTR NCRYPT_SECRET_HANDLE;
      |           ^~~~~~~~~
/usr/include/w32api/ncrypt.h:203:5: error: unknown type name 'LPWSTR'
  203 |     LPWSTR pszName;
      |     ^~~~~~
/usr/include/w32api/ncrypt.h:204:5: error: unknown type name 'DWORD'
  204 |     DWORD dwClass;
      |     ^~~~~
/usr/include/w32api/ncrypt.h:205:5: error: unknown type name 'DWORD'
  205 |     DWORD dwAlgOperations;
      |     ^~~~~
/usr/include/w32api/ncrypt.h:206:5: error: unknown type name 'DWORD'
  206 |     DWORD dwFlags;
      |     ^~~~~
/usr/include/w32api/ncrypt.h:210:5: error: unknown type name 'LPWSTR'
  210 |     LPWSTR pszName;
      |     ^~~~~~
/usr/include/w32api/ncrypt.h:211:5: error: unknown type name 'LPWSTR'
  211 |     LPWSTR pszAlgid;
      |     ^~~~~~
/usr/include/w32api/ncrypt.h:212:5: error: unknown type name 'DWORD'
  212 |     DWORD dwLegacyKeySpec;
      |     ^~~~~
/usr/include/w32api/ncrypt.h:213:5: error: unknown type name 'DWORD'
  213 |     DWORD dwFlags;
      |     ^~~~~
/usr/include/w32api/ncrypt.h:217:5: error: unknown type name 'LPWSTR'
  217 |     LPWSTR pszName;
      |     ^~~~~~
/usr/include/w32api/ncrypt.h:218:5: error: unknown type name 'LPWSTR'
  218 |     LPWSTR pszComment;
      |     ^~~~~~
/usr/include/w32api/ncrypt.h:221:85: error: unknown type name 'LPCWSTR'
  221 |   SECURITY_STATUS WINAPI NCryptOpenStorageProvider (NCRYPT_PROV_HANDLE *phProvider, LPCWSTR pszProviderName, DWORD dwFlags);
      |                                                                                     ^~~~~~~
/usr/include/w32api/ncrypt.h:221:110: error: unknown type name 'DWORD'
  221 |   SECURITY_STATUS WINAPI NCryptOpenStorageProvider (NCRYPT_PROV_HANDLE *phProvider, LPCWSTR pszProviderName, DWORD dwFlags);
      |                                                                                                              ^~~~~
/usr/include/w32api/ncrypt.h:222:78: error: unknown type name 'DWORD'
  222 |   SECURITY_STATUS WINAPI NCryptEnumAlgorithms (NCRYPT_PROV_HANDLE hProvider, DWORD dwAlgOperations, DWORD *pdwAlgCount, NCryptAlgorithmName **ppAlgList, DWORD dwFlags);
      |                                                                              ^~~~~
/usr/include/w32api/ncrypt.h:222:101: error: unknown type name 'DWORD'
  222 |   SECURITY_STATUS WINAPI NCryptEnumAlgorithms (NCRYPT_PROV_HANDLE hProvider, DWORD dwAlgOperations, DWORD *pdwAlgCount, NCryptAlgorithmName **ppAlgList, DWORD dwFlags);
      |                                                                                                     ^~~~~
In file included from /usr/include/w32api/wincrypt.h:849,
                 from GenRandom.xs:16:
/usr/include/w32api/ncrypt.h:222:154: error: unknown type name 'DWORD'
  222 |   SECURITY_STATUS WINAPI NCryptEnumAlgorithms (NCRYPT_PROV_HANDLE hProvider, DWORD dwAlgOperations, DWORD *pdwAlgCount, NCryptAlgorithmName **ppAlgList, DWORD dwFlags);
      |                                                                                                                                                          ^~~~~
/usr/include/w32api/ncrypt.h:223:78: error: unknown type name 'LPCWSTR'
  223 |   SECURITY_STATUS WINAPI NCryptIsAlgSupported (NCRYPT_PROV_HANDLE hProvider, LPCWSTR pszAlgId, DWORD dwFlags);
      |                                                                              ^~~~~~~
/usr/include/w32api/ncrypt.h:223:96: error: unknown type name 'DWORD'
  223 |   SECURITY_STATUS WINAPI NCryptIsAlgSupported (NCRYPT_PROV_HANDLE hProvider, LPCWSTR pszAlgId, DWORD dwFlags);
      |                                                                                                ^~~~~
/usr/include/w32api/ncrypt.h:224:72: error: unknown type name 'LPCWSTR'
  224 |   SECURITY_STATUS WINAPI NCryptEnumKeys (NCRYPT_PROV_HANDLE hProvider, LPCWSTR pszScope, NCryptKeyName **ppKeyName, PVOID *ppEnumState, DWORD dwFlags);
      |                                                                        ^~~~~~~
/usr/include/w32api/ncrypt.h:224:117: error: unknown type name 'PVOID'
  224 |   SECURITY_STATUS WINAPI NCryptEnumKeys (NCRYPT_PROV_HANDLE hProvider, LPCWSTR pszScope, NCryptKeyName **ppKeyName, PVOID *ppEnumState, DWORD dwFlags);
      |                                                                                                                     ^~~~~
/usr/include/w32api/ncrypt.h:224:137: error: unknown type name 'DWORD'
  224 |   SECURITY_STATUS WINAPI NCryptEnumKeys (NCRYPT_PROV_HANDLE hProvider, LPCWSTR pszScope, NCryptKeyName **ppKeyName, PVOID *ppEnumState, DWORD dwFlags);
      |                                                                                                                                         ^~~~~
/usr/include/w32api/ncrypt.h:225:54: error: unknown type name 'DWORD'
  225 |   SECURITY_STATUS WINAPI NCryptEnumStorageProviders (DWORD *pdwProviderCount, NCryptProviderName **ppProviderList, DWORD dwFlags);
      |                                                      ^~~~~
/usr/include/w32api/ncrypt.h:225:116: error: unknown type name 'DWORD'
  225 |   SECURITY_STATUS WINAPI NCryptEnumStorageProviders (DWORD *pdwProviderCount, NCryptProviderName **ppProviderList, DWORD dwFlags);
      |                                                                                                                    ^~~~~
/usr/include/w32api/ncrypt.h:226:44: error: unknown type name 'PVOID'
  226 |   SECURITY_STATUS WINAPI NCryptFreeBuffer (PVOID pvInput);
      |                                            ^~~~~
/usr/include/w32api/ncrypt.h:227:97: error: unknown type name 'LPCWSTR'
  227 |   SECURITY_STATUS WINAPI NCryptOpenKey (NCRYPT_PROV_HANDLE hProvider, NCRYPT_KEY_HANDLE *phKey, LPCWSTR pszKeyName, DWORD dwLegacyKeySpec, DWORD dwFlags);
      |                                                                                                 ^~~~~~~
/usr/include/w32api/ncrypt.h:227:117: error: unknown type name 'DWORD'
  227 |   SECURITY_STATUS WINAPI NCryptOpenKey (NCRYPT_PROV_HANDLE hProvider, NCRYPT_KEY_HANDLE *phKey, LPCWSTR pszKeyName, DWORD dwLegacyKeySpec, DWORD dwFlags);
      |                                                                                                                     ^~~~~
/usr/include/w32api/ncrypt.h:227:140: error: unknown type name 'DWORD'
  227 |   SECURITY_STATUS WINAPI NCryptOpenKey (NCRYPT_PROV_HANDLE hProvider, NCRYPT_KEY_HANDLE *phKey, LPCWSTR pszKeyName, DWORD dwLegacyKeySpec, DWORD dwFlags);
      |                                                                                                                                            ^~~~~
/usr/include/w32api/ncrypt.h:228:108: error: unknown type name 'LPCWSTR'
  228 |   SECURITY_STATUS WINAPI NCryptCreatePersistedKey (NCRYPT_PROV_HANDLE hProvider, NCRYPT_KEY_HANDLE *phKey, LPCWSTR pszAlgId, LPCWSTR pszKeyName, DWORD dwLegacyKeySpec, DWORD dwFlags);
      |                                                                                                            ^~~~~~~
/usr/include/w32api/ncrypt.h:228:126: error: unknown type name 'LPCWSTR'
  228 |   SECURITY_STATUS WINAPI NCryptCreatePersistedKey (NCRYPT_PROV_HANDLE hProvider, NCRYPT_KEY_HANDLE *phKey, LPCWSTR pszAlgId, LPCWSTR pszKeyName, DWORD dwLegacyKeySpec, DWORD dwFlags);
      |                                                                                                                              ^~~~~~~
/usr/include/w32api/ncrypt.h:228:146: error: unknown type name 'DWORD'
  228 |   SECURITY_STATUS WINAPI NCryptCreatePersistedKey (NCRYPT_PROV_HANDLE hProvider, NCRYPT_KEY_HANDLE *phKey, LPCWSTR pszAlgId, LPCWSTR pszKeyName, DWORD dwLegacyKeySpec, DWORD dwFlags);
      |                                                                                                                                                  ^~~~~
/usr/include/w32api/ncrypt.h:228:169: error: unknown type name 'DWORD'
  228 |   SECURITY_STATUS WINAPI NCryptCreatePersistedKey (NCRYPT_PROV_HANDLE hProvider, NCRYPT_KEY_HANDLE *phKey, LPCWSTR pszAlgId, LPCWSTR pszKeyName, DWORD dwLegacyKeySpec, DWORD dwFlags);
      |                                                                                                                                                                         ^~~~~
/usr/include/w32api/ncrypt.h:336:5: error: unknown type name 'DWORD'
  336 |     DWORD dwVersion;
      |     ^~~~~
/usr/include/w32api/ncrypt.h:337:5: error: unknown type name 'DWORD'
  337 |     DWORD dwFlags;
      |     ^~~~~
/usr/include/w32api/ncrypt.h:338:5: error: unknown type name 'LPCWSTR'
  338 |     LPCWSTR pszCreationTitle;
      |     ^~~~~~~
/usr/include/w32api/ncrypt.h:339:5: error: unknown type name 'LPCWSTR'
  339 |     LPCWSTR pszFriendlyName;
      |     ^~~~~~~
/usr/include/w32api/ncrypt.h:340:5: error: unknown type name 'LPCWSTR'
  340 |     LPCWSTR pszDescription;
      |     ^~~~~~~
/usr/include/w32api/ncrypt.h:344:5: error: unknown type name 'DWORD'
  344 |     DWORD dwMinLength;
      |     ^~~~~
/usr/include/w32api/ncrypt.h:345:5: error: unknown type name 'DWORD'
  345 |     DWORD dwMaxLength;
      |     ^~~~~
/usr/include/w32api/ncrypt.h:346:5: error: unknown type name 'DWORD'
  346 |     DWORD dwIncrement;
      |     ^~~~~
/usr/include/w32api/ncrypt.h:347:5: error: unknown type name 'DWORD'
  347 |     DWORD dwDefaultLength;
      |     ^~~~~
/usr/include/w32api/ncrypt.h:350:68: error: unknown type name 'LPCWSTR'
  350 |   SECURITY_STATUS WINAPI NCryptGetProperty (NCRYPT_HANDLE hObject, LPCWSTR pszProperty, PBYTE pbOutput, DWORD cbOutput, DWORD *pcbResult, DWORD dwFlags);
      |                                                                    ^~~~~~~
/usr/include/w32api/ncrypt.h:350:89: error: unknown type name 'PBYTE'
  350 |   SECURITY_STATUS WINAPI NCryptGetProperty (NCRYPT_HANDLE hObject, LPCWSTR pszProperty, PBYTE pbOutput, DWORD cbOutput, DWORD *pcbResult, DWORD dwFlags);
      |                                                                                         ^~~~~
/usr/include/w32api/ncrypt.h:350:105: error: unknown type name 'DWORD'
  350 |   SECURITY_STATUS WINAPI NCryptGetProperty (NCRYPT_HANDLE hObject, LPCWSTR pszProperty, PBYTE pbOutput, DWORD cbOutput, DWORD *pcbResult, DWORD dwFlags);
      |                                                                                                         ^~~~~
/usr/include/w32api/ncrypt.h:350:121: error: unknown type name 'DWORD'
  350 |   SECURITY_STATUS WINAPI NCryptGetProperty (NCRYPT_HANDLE hObject, LPCWSTR pszProperty, PBYTE pbOutput, DWORD cbOutput, DWORD *pcbResult, DWORD dwFlags);
      |                                                                                                                         ^~~~~
/usr/include/w32api/ncrypt.h:350:139: error: unknown type name 'DWORD'
  350 |   SECURITY_STATUS WINAPI NCryptGetProperty (NCRYPT_HANDLE hObject, LPCWSTR pszProperty, PBYTE pbOutput, DWORD cbOutput, DWORD *pcbResult, DWORD dwFlags);
      |                                                                                                                                           ^~~~~
/usr/include/w32api/ncrypt.h:351:68: error: unknown type name 'LPCWSTR'
  351 |   SECURITY_STATUS WINAPI NCryptSetProperty (NCRYPT_HANDLE hObject, LPCWSTR pszProperty, PBYTE pbInput, DWORD cbInput, DWORD dwFlags);
      |                                                                    ^~~~~~~
/usr/include/w32api/ncrypt.h:351:89: error: unknown type name 'PBYTE'
  351 |   SECURITY_STATUS WINAPI NCryptSetProperty (NCRYPT_HANDLE hObject, LPCWSTR pszProperty, PBYTE pbInput, DWORD cbInput, DWORD dwFlags);
      |                                                                                         ^~~~~
/usr/include/w32api/ncrypt.h:351:104: error: unknown type name 'DWORD'
  351 |   SECURITY_STATUS WINAPI NCryptSetProperty (NCRYPT_HANDLE hObject, LPCWSTR pszProperty, PBYTE pbInput, DWORD cbInput, DWORD dwFlags);
      |                                                                                                        ^~~~~
/usr/include/w32api/ncrypt.h:351:119: error: unknown type name 'DWORD'
  351 |   SECURITY_STATUS WINAPI NCryptSetProperty (NCRYPT_HANDLE hObject, LPCWSTR pszProperty, PBYTE pbInput, DWORD cbInput, DWORD dwFlags);
      |                                                                                                                       ^~~~~
/usr/include/w32api/ncrypt.h:352:69: error: unknown type name 'DWORD'
  352 |   SECURITY_STATUS WINAPI NCryptFinalizeKey (NCRYPT_KEY_HANDLE hKey, DWORD dwFlags);
      |                                                                     ^~~~~
/usr/include/w32api/ncrypt.h:353:65: error: unknown type name 'PBYTE'
  353 |   SECURITY_STATUS WINAPI NCryptEncrypt (NCRYPT_KEY_HANDLE hKey, PBYTE pbInput, DWORD cbInput, VOID *pPaddingInfo, PBYTE pbOutput, DWORD cbOutput, DWORD *pcbResult, DWORD dwFlags);
      |                                                                 ^~~~~
/usr/include/w32api/ncrypt.h:353:80: error: unknown type name 'DWORD'
  353 |   SECURITY_STATUS WINAPI NCryptEncrypt (NCRYPT_KEY_HANDLE hKey, PBYTE pbInput, DWORD cbInput, VOID *pPaddingInfo, PBYTE pbOutput, DWORD cbOutput, DWORD *pcbResult, DWORD dwFlags);
      |                                                                                ^~~~~
/usr/include/w32api/ncrypt.h:353:95: error: expected declaration specifiers or '...' before 'VOID'
  353 |   SECURITY_STATUS WINAPI NCryptEncrypt (NCRYPT_KEY_HANDLE hKey, PBYTE pbInput, DWORD cbInput, VOID *pPaddingInfo, PBYTE pbOutput, DWORD cbOutput, DWORD *pcbResult, DWORD dwFlags);
      |                                                                                               ^~~~
/usr/include/w32api/ncrypt.h:353:115: error: unknown type name 'PBYTE'
  353 |   SECURITY_STATUS WINAPI NCryptEncrypt (NCRYPT_KEY_HANDLE hKey, PBYTE pbInput, DWORD cbInput, VOID *pPaddingInfo, PBYTE pbOutput, DWORD cbOutput, DWORD *pcbResult, DWORD dwFlags);
      |                                                                                                                   ^~~~~
/usr/include/w32api/ncrypt.h:353:131: error: unknown type name 'DWORD'
  353 |   SECURITY_STATUS WINAPI NCryptEncrypt (NCRYPT_KEY_HANDLE hKey, PBYTE pbInput, DWORD cbInput, VOID *pPaddingInfo, PBYTE pbOutput, DWORD cbOutput, DWORD *pcbResult, DWORD dwFlags);
      |                                                                                                                                   ^~~~~
/usr/include/w32api/ncrypt.h:353:147: error: unknown type name 'DWORD'
  353 |   SECURITY_STATUS WINAPI NCryptEncrypt (NCRYPT_KEY_HANDLE hKey, PBYTE pbInput, DWORD cbInput, VOID *pPaddingInfo, PBYTE pbOutput, DWORD cbOutput, DWORD *pcbResult, DWORD dwFlags);
      |                                                                                                                                                   ^~~~~
/usr/include/w32api/ncrypt.h:353:165: error: unknown type name 'DWORD'
  353 |   SECURITY_STATUS WINAPI NCryptEncrypt (NCRYPT_KEY_HANDLE hKey, PBYTE pbInput, DWORD cbInput, VOID *pPaddingInfo, PBYTE pbOutput, DWORD cbOutput, DWORD *pcbResult, DWORD dwFlags);
      |                                                                                                                                                                     ^~~~~
/usr/include/w32api/ncrypt.h:354:65: error: unknown type name 'PBYTE'
  354 |   SECURITY_STATUS WINAPI NCryptDecrypt (NCRYPT_KEY_HANDLE hKey, PBYTE pbInput, DWORD cbInput, VOID *pPaddingInfo, PBYTE pbOutput, DWORD cbOutput, DWORD *pcbResult, DWORD dwFlags);
      |                                                                 ^~~~~
/usr/include/w32api/ncrypt.h:354:80: error: unknown type name 'DWORD'
  354 |   SECURITY_STATUS WINAPI NCryptDecrypt (NCRYPT_KEY_HANDLE hKey, PBYTE pbInput, DWORD cbInput, VOID *pPaddingInfo, PBYTE pbOutput, DWORD cbOutput, DWORD *pcbResult, DWORD dwFlags);
      |                                                                                ^~~~~
/usr/include/w32api/ncrypt.h:354:95: error: expected declaration specifiers or '...' before 'VOID'
  354 |   SECURITY_STATUS WINAPI NCryptDecrypt (NCRYPT_KEY_HANDLE hKey, PBYTE pbInput, DWORD cbInput, VOID *pPaddingInfo, PBYTE pbOutput, DWORD cbOutput, DWORD *pcbResult, DWORD dwFlags);
      |                                                                                               ^~~~
/usr/include/w32api/ncrypt.h:354:115: error: unknown type name 'PBYTE'
  354 |   SECURITY_STATUS WINAPI NCryptDecrypt (NCRYPT_KEY_HANDLE hKey, PBYTE pbInput, DWORD cbInput, VOID *pPaddingInfo, PBYTE pbOutput, DWORD cbOutput, DWORD *pcbResult, DWORD dwFlags);
      |                                                                                                                   ^~~~~
/usr/include/w32api/ncrypt.h:354:131: error: unknown type name 'DWORD'
  354 |   SECURITY_STATUS WINAPI NCryptDecrypt (NCRYPT_KEY_HANDLE hKey, PBYTE pbInput, DWORD cbInput, VOID *pPaddingInfo, PBYTE pbOutput, DWORD cbOutput, DWORD *pcbResult, DWORD dwFlags);
      |                                                                                                                                   ^~~~~
/usr/include/w32api/ncrypt.h:354:147: error: unknown type name 'DWORD'
  354 |   SECURITY_STATUS WINAPI NCryptDecrypt (NCRYPT_KEY_HANDLE hKey, PBYTE pbInput, DWORD cbInput, VOID *pPaddingInfo, PBYTE pbOutput, DWORD cbOutput, DWORD *pcbResult, DWORD dwFlags);
      |                                                                                                                                                   ^~~~~
/usr/include/w32api/ncrypt.h:354:165: error: unknown type name 'DWORD'
  354 |   SECURITY_STATUS WINAPI NCryptDecrypt (NCRYPT_KEY_HANDLE hKey, PBYTE pbInput, DWORD cbInput, VOID *pPaddingInfo, PBYTE pbOutput, DWORD cbOutput, DWORD *pcbResult, DWORD dwFlags);
      |                                                                                                                                                                     ^~~~~
/usr/include/w32api/ncrypt.h:385:103: error: unknown type name 'LPCWSTR'
  385 |   SECURITY_STATUS WINAPI NCryptImportKey (NCRYPT_PROV_HANDLE hProvider, NCRYPT_KEY_HANDLE hImportKey, LPCWSTR pszBlobType, NCryptBufferDesc *pParameterList, NCRYPT_KEY_HANDLE *phKey, PBYTE pbData, DWORD cbData, DWORD dwFlags);
      |                                                                                                       ^~~~~~~
/usr/include/w32api/ncrypt.h:385:184: error: unknown type name 'PBYTE'
  385 |   SECURITY_STATUS WINAPI NCryptImportKey (NCRYPT_PROV_HANDLE hProvider, NCRYPT_KEY_HANDLE hImportKey, LPCWSTR pszBlobType, NCryptBufferDesc *pParameterList, NCRYPT_KEY_HANDLE *phKey, PBYTE pbData, DWORD cbData, DWORD dwFlags);
      |                                                                                                                                                                                        ^~~~~
/usr/include/w32api/ncrypt.h:385:198: error: unknown type name 'DWORD'
  385 |   SECURITY_STATUS WINAPI NCryptImportKey (NCRYPT_PROV_HANDLE hProvider, NCRYPT_KEY_HANDLE hImportKey, LPCWSTR pszBlobType, NCryptBufferDesc *pParameterList, NCRYPT_KEY_HANDLE *phKey, PBYTE pbData, DWORD cbData, DWORD dwFlags);
      |                                                                                                                                                                                                      ^~~~~
/usr/include/w32api/ncrypt.h:385:212: error: unknown type name 'DWORD'
  385 |   SECURITY_STATUS WINAPI NCryptImportKey (NCRYPT_PROV_HANDLE hProvider, NCRYPT_KEY_HANDLE hImportKey, LPCWSTR pszBlobType, NCryptBufferDesc *pParameterList, NCRYPT_KEY_HANDLE *phKey, PBYTE pbData, DWORD cbData, DWORD dwFlags);
      |                                                                                                                                                                                                                    ^~~~~
/usr/include/w32api/ncrypt.h:386:97: error: unknown type name 'LPCWSTR'
  386 |   SECURITY_STATUS WINAPI NCryptExportKey (NCRYPT_KEY_HANDLE hKey, NCRYPT_KEY_HANDLE hExportKey, LPCWSTR pszBlobType, NCryptBufferDesc *pParameterList, PBYTE pbOutput, DWORD cbOutput, DWORD *pcbResult, DWORD dwFlags);
      |                                                                                                 ^~~~~~~
/usr/include/w32api/ncrypt.h:386:152: error: unknown type name 'PBYTE'
  386 |   SECURITY_STATUS WINAPI NCryptExportKey (NCRYPT_KEY_HANDLE hKey, NCRYPT_KEY_HANDLE hExportKey, LPCWSTR pszBlobType, NCryptBufferDesc *pParameterList, PBYTE pbOutput, DWORD cbOutput, DWORD *pcbResult, DWORD dwFlags);
      |                                                                                                                                                        ^~~~~
/usr/include/w32api/ncrypt.h:386:168: error: unknown type name 'DWORD'
  386 |   SECURITY_STATUS WINAPI NCryptExportKey (NCRYPT_KEY_HANDLE hKey, NCRYPT_KEY_HANDLE hExportKey, LPCWSTR pszBlobType, NCryptBufferDesc *pParameterList, PBYTE pbOutput, DWORD cbOutput, DWORD *pcbResult, DWORD dwFlags);
      |                                                                                                                                                                        ^~~~~
/usr/include/w32api/ncrypt.h:386:184: error: unknown type name 'DWORD'
  386 |   SECURITY_STATUS WINAPI NCryptExportKey (NCRYPT_KEY_HANDLE hKey, NCRYPT_KEY_HANDLE hExportKey, LPCWSTR pszBlobType, NCryptBufferDesc *pParameterList, PBYTE pbOutput, DWORD cbOutput, DWORD *pcbResult, DWORD dwFlags);
      |                                                                                                                                                                                        ^~~~~
/usr/include/w32api/ncrypt.h:386:202: error: unknown type name 'DWORD'
  386 |   SECURITY_STATUS WINAPI NCryptExportKey (NCRYPT_KEY_HANDLE hKey, NCRYPT_KEY_HANDLE hExportKey, LPCWSTR pszBlobType, NCryptBufferDesc *pParameterList, PBYTE pbOutput, DWORD cbOutput, DWORD *pcbResult, DWORD dwFlags);
      |                                                                                                                                                                                                          ^~~~~
/usr/include/w32api/ncrypt.h:387:66: error: expected declaration specifiers or '...' before 'VOID'
  387 |   SECURITY_STATUS WINAPI NCryptSignHash (NCRYPT_KEY_HANDLE hKey, VOID *pPaddingInfo, PBYTE pbHashValue, DWORD cbHashValue, PBYTE pbSignature, DWORD cbSignature, DWORD *pcbResult, DWORD dwFlags);
      |                                                                  ^~~~
/usr/include/w32api/ncrypt.h:387:86: error: unknown type name 'PBYTE'
  387 |   SECURITY_STATUS WINAPI NCryptSignHash (NCRYPT_KEY_HANDLE hKey, VOID *pPaddingInfo, PBYTE pbHashValue, DWORD cbHashValue, PBYTE pbSignature, DWORD cbSignature, DWORD *pcbResult, DWORD dwFlags);
      |                                                                                      ^~~~~
/usr/include/w32api/ncrypt.h:387:105: error: unknown type name 'DWORD'
  387 |   SECURITY_STATUS WINAPI NCryptSignHash (NCRYPT_KEY_HANDLE hKey, VOID *pPaddingInfo, PBYTE pbHashValue, DWORD cbHashValue, PBYTE pbSignature, DWORD cbSignature, DWORD *pcbResult, DWORD dwFlags);
      |                                                                                                         ^~~~~
/usr/include/w32api/ncrypt.h:387:124: error: unknown type name 'PBYTE'
  387 |   SECURITY_STATUS WINAPI NCryptSignHash (NCRYPT_KEY_HANDLE hKey, VOID *pPaddingInfo, PBYTE pbHashValue, DWORD cbHashValue, PBYTE pbSignature, DWORD cbSignature, DWORD *pcbResult, DWORD dwFlags);
      |                                                                                                                            ^~~~~
/usr/include/w32api/ncrypt.h:387:143: error: unknown type name 'DWORD'
  387 |   SECURITY_STATUS WINAPI NCryptSignHash (NCRYPT_KEY_HANDLE hKey, VOID *pPaddingInfo, PBYTE pbHashValue, DWORD cbHashValue, PBYTE pbSignature, DWORD cbSignature, DWORD *pcbResult, DWORD dwFlags);
      |                                                                                                                                               ^~~~~
/usr/include/w32api/ncrypt.h:387:162: error: unknown type name 'DWORD'
  387 |   SECURITY_STATUS WINAPI NCryptSignHash (NCRYPT_KEY_HANDLE hKey, VOID *pPaddingInfo, PBYTE pbHashValue, DWORD cbHashValue, PBYTE pbSignature, DWORD cbSignature, DWORD *pcbResult, DWORD dwFlags);
      |                                                                                                                                                                  ^~~~~
/usr/include/w32api/ncrypt.h:387:180: error: unknown type name 'DWORD'
  387 |   SECURITY_STATUS WINAPI NCryptSignHash (NCRYPT_KEY_HANDLE hKey, VOID *pPaddingInfo, PBYTE pbHashValue, DWORD cbHashValue, PBYTE pbSignature, DWORD cbSignature, DWORD *pcbResult, DWORD dwFlags);
      |                                                                                                                                                                                    ^~~~~
/usr/include/w32api/ncrypt.h:388:73: error: expected declaration specifiers or '...' before 'VOID'
  388 |   SECURITY_STATUS WINAPI NCryptVerifySignature (NCRYPT_KEY_HANDLE hKey, VOID *pPaddingInfo, PBYTE pbHashValue, DWORD cbHashValue, PBYTE pbSignature, DWORD cbSignature, DWORD dwFlags);
      |                                                                         ^~~~
/usr/include/w32api/ncrypt.h:388:93: error: unknown type name 'PBYTE'
  388 |   SECURITY_STATUS WINAPI NCryptVerifySignature (NCRYPT_KEY_HANDLE hKey, VOID *pPaddingInfo, PBYTE pbHashValue, DWORD cbHashValue, PBYTE pbSignature, DWORD cbSignature, DWORD dwFlags);
      |                                                                                             ^~~~~
/usr/include/w32api/ncrypt.h:388:112: error: unknown type name 'DWORD'
  388 |   SECURITY_STATUS WINAPI NCryptVerifySignature (NCRYPT_KEY_HANDLE hKey, VOID *pPaddingInfo, PBYTE pbHashValue, DWORD cbHashValue, PBYTE pbSignature, DWORD cbSignature, DWORD dwFlags);
      |                                                                                                                ^~~~~
/usr/include/w32api/ncrypt.h:388:131: error: unknown type name 'PBYTE'
  388 |   SECURITY_STATUS WINAPI NCryptVerifySignature (NCRYPT_KEY_HANDLE hKey, VOID *pPaddingInfo, PBYTE pbHashValue, DWORD cbHashValue, PBYTE pbSignature, DWORD cbSignature, DWORD dwFlags);
      |                                                                                                                                   ^~~~~
/usr/include/w32api/ncrypt.h:388:150: error: unknown type name 'DWORD'
  388 |   SECURITY_STATUS WINAPI NCryptVerifySignature (NCRYPT_KEY_HANDLE hKey, VOID *pPaddingInfo, PBYTE pbHashValue, DWORD cbHashValue, PBYTE pbSignature, DWORD cbSignature, DWORD dwFlags);
      |                                                                                                                                                      ^~~~~
/usr/include/w32api/ncrypt.h:388:169: error: unknown type name 'DWORD'
  388 |   SECURITY_STATUS WINAPI NCryptVerifySignature (NCRYPT_KEY_HANDLE hKey, VOID *pPaddingInfo, PBYTE pbHashValue, DWORD cbHashValue, PBYTE pbSignature, DWORD cbSignature, DWORD dwFlags);
      |                                                                                                                                                                         ^~~~~
/usr/include/w32api/ncrypt.h:389:67: error: unknown type name 'DWORD'
  389 |   SECURITY_STATUS WINAPI NCryptDeleteKey (NCRYPT_KEY_HANDLE hKey, DWORD dwFlags);
      |                                                                   ^~~~~
/usr/include/w32api/ncrypt.h:391:18: error: expected ',' or ';' before 'NCryptIsKeyHandle'
  391 |   WINBOOL WINAPI NCryptIsKeyHandle (NCRYPT_KEY_HANDLE hKey);
      |                  ^~~~~~~~~~~~~~~~~
/usr/include/w32api/ncrypt.h:392:153: error: unknown type name 'DWORD'
  392 |   SECURITY_STATUS WINAPI NCryptTranslateHandle (NCRYPT_PROV_HANDLE *phProvider, NCRYPT_KEY_HANDLE *phKey, HCRYPTPROV hLegacyProv, HCRYPTKEY hLegacyKey, DWORD dwLegacyKeySpec, DWORD dwFlags);
      |                                                                                                                                                         ^~~~~
/usr/include/w32api/ncrypt.h:392:176: error: unknown type name 'DWORD'
  392 |   SECURITY_STATUS WINAPI NCryptTranslateHandle (NCRYPT_PROV_HANDLE *phProvider, NCRYPT_KEY_HANDLE *phKey, HCRYPTPROV hLegacyProv, HCRYPTKEY hLegacyKey, DWORD dwLegacyKeySpec, DWORD dwFlags);
      |                                                                                                                                                                                ^~~~~
/usr/include/w32api/ncrypt.h:393:79: error: unknown type name 'HANDLE'
  393 |   SECURITY_STATUS WINAPI NCryptNotifyChangeKey (NCRYPT_PROV_HANDLE hProvider, HANDLE *phEvent, DWORD dwFlags);
      |                                                                               ^~~~~~
/usr/include/w32api/ncrypt.h:393:96: error: unknown type name 'DWORD'
  393 |   SECURITY_STATUS WINAPI NCryptNotifyChangeKey (NCRYPT_PROV_HANDLE hProvider, HANDLE *phEvent, DWORD dwFlags);
      |                                                                                                ^~~~~
/usr/include/w32api/ncrypt.h:394:142: error: unknown type name 'DWORD'
  394 |   SECURITY_STATUS WINAPI NCryptSecretAgreement (NCRYPT_KEY_HANDLE hPrivKey, NCRYPT_KEY_HANDLE hPubKey, NCRYPT_SECRET_HANDLE *phAgreedSecret, DWORD dwFlags);
      |                                                                                                                                              ^~~~~
/usr/include/w32api/ncrypt.h:395:79: error: unknown type name 'LPCWSTR'
  395 |   SECURITY_STATUS WINAPI NCryptDeriveKey (NCRYPT_SECRET_HANDLE hSharedSecret, LPCWSTR pwszKDF, NCryptBufferDesc *pParameterList, PBYTE pbDerivedKey, DWORD cbDerivedKey, DWORD *pcbResult, ULONG dwFlags);
      |                                                                               ^~~~~~~
/usr/include/w32api/ncrypt.h:395:130: error: unknown type name 'PBYTE'
  395 |   SECURITY_STATUS WINAPI NCryptDeriveKey (NCRYPT_SECRET_HANDLE hSharedSecret, LPCWSTR pwszKDF, NCryptBufferDesc *pParameterList, PBYTE pbDerivedKey, DWORD cbDerivedKey, DWORD *pcbResult, ULONG dwFlags);
      |                                                                                                                                  ^~~~~
/usr/include/w32api/ncrypt.h:395:150: error: unknown type name 'DWORD'
  395 |   SECURITY_STATUS WINAPI NCryptDeriveKey (NCRYPT_SECRET_HANDLE hSharedSecret, LPCWSTR pwszKDF, NCryptBufferDesc *pParameterList, PBYTE pbDerivedKey, DWORD cbDerivedKey, DWORD *pcbResult, ULONG dwFlags);
      |                                                                                                                                                      ^~~~~
/usr/include/w32api/ncrypt.h:395:170: error: unknown type name 'DWORD'
  395 |   SECURITY_STATUS WINAPI NCryptDeriveKey (NCRYPT_SECRET_HANDLE hSharedSecret, LPCWSTR pwszKDF, NCryptBufferDesc *pParameterList, PBYTE pbDerivedKey, DWORD cbDerivedKey, DWORD *pcbResult, ULONG dwFlags);
      |                                                                                                                                                                          ^~~~~
/usr/include/w32api/ncrypt.h:395:188: error: unknown type name 'ULONG'
  395 |   SECURITY_STATUS WINAPI NCryptDeriveKey (NCRYPT_SECRET_HANDLE hSharedSecret, LPCWSTR pwszKDF, NCryptBufferDesc *pParameterList, PBYTE pbDerivedKey, DWORD cbDerivedKey, DWORD *pcbResult, ULONG dwFlags);
      |                                                                                                                                                                                            ^~~~~
/usr/include/w32api/ncrypt.h:400:107: error: unknown type name 'DWORD'
  400 | SECURITY_STATUS WINAPI NCryptCreateClaim (NCRYPT_KEY_HANDLE hSubjectKey, NCRYPT_KEY_HANDLE hAuthorityKey, DWORD dwClaimType, NCryptBufferDesc *pParameterList, PBYTE pbClaimBlob, DWORD cbClaimBlob, DWORD *pcbResult, DWORD dwFlags);
      |                                                                                                           ^~~~~
/usr/include/w32api/ncrypt.h:400:160: error: unknown type name 'PBYTE'
  400 | SECURITY_STATUS WINAPI NCryptCreateClaim (NCRYPT_KEY_HANDLE hSubjectKey, NCRYPT_KEY_HANDLE hAuthorityKey, DWORD dwClaimType, NCryptBufferDesc *pParameterList, PBYTE pbClaimBlob, DWORD cbClaimBlob, DWORD *pcbResult, DWORD dwFlags);
      |                                                                                                                                                                ^~~~~
/usr/include/w32api/ncrypt.h:400:179: error: unknown type name 'DWORD'
  400 | SECURITY_STATUS WINAPI NCryptCreateClaim (NCRYPT_KEY_HANDLE hSubjectKey, NCRYPT_KEY_HANDLE hAuthorityKey, DWORD dwClaimType, NCryptBufferDesc *pParameterList, PBYTE pbClaimBlob, DWORD cbClaimBlob, DWORD *pcbResult, DWORD dwFlags);
      |                                                                                                                                                                                   ^~~~~
/usr/include/w32api/ncrypt.h:400:198: error: unknown type name 'DWORD'
  400 | SECURITY_STATUS WINAPI NCryptCreateClaim (NCRYPT_KEY_HANDLE hSubjectKey, NCRYPT_KEY_HANDLE hAuthorityKey, DWORD dwClaimType, NCryptBufferDesc *pParameterList, PBYTE pbClaimBlob, DWORD cbClaimBlob, DWORD *pcbResult, DWORD dwFlags);
      |                                                                                                                                                                                                      ^~~~~
/usr/include/w32api/ncrypt.h:400:216: error: unknown type name 'DWORD'
  400 | SECURITY_STATUS WINAPI NCryptCreateClaim (NCRYPT_KEY_HANDLE hSubjectKey, NCRYPT_KEY_HANDLE hAuthorityKey, DWORD dwClaimType, NCryptBufferDesc *pParameterList, PBYTE pbClaimBlob, DWORD cbClaimBlob, DWORD *pcbResult, DWORD dwFlags);
      |                                                                                                                                                                                                                        ^~~~~
/usr/include/w32api/ncrypt.h:401:107: error: unknown type name 'DWORD'
  401 | SECURITY_STATUS WINAPI NCryptVerifyClaim (NCRYPT_KEY_HANDLE hSubjectKey, NCRYPT_KEY_HANDLE hAuthorityKey, DWORD dwClaimType, NCryptBufferDesc *pParameterList, PBYTE pbClaimBlob, DWORD cbClaimBlob, NCryptBufferDesc *pOutput, DWORD dwFlags);
      |                                                                                                           ^~~~~
/usr/include/w32api/ncrypt.h:401:160: error: unknown type name 'PBYTE'
  401 | SECURITY_STATUS WINAPI NCryptVerifyClaim (NCRYPT_KEY_HANDLE hSubjectKey, NCRYPT_KEY_HANDLE hAuthorityKey, DWORD dwClaimType, NCryptBufferDesc *pParameterList, PBYTE pbClaimBlob, DWORD cbClaimBlob, NCryptBufferDesc *pOutput, DWORD dwFlags);
      |                                                                                                                                                                ^~~~~
/usr/include/w32api/ncrypt.h:401:179: error: unknown type name 'DWORD'
  401 | SECURITY_STATUS WINAPI NCryptVerifyClaim (NCRYPT_KEY_HANDLE hSubjectKey, NCRYPT_KEY_HANDLE hAuthorityKey, DWORD dwClaimType, NCryptBufferDesc *pParameterList, PBYTE pbClaimBlob, DWORD cbClaimBlob, NCryptBufferDesc *pOutput, DWORD dwFlags);
      |                                                                                                                                                                                   ^~~~~
/usr/include/w32api/ncrypt.h:401:225: error: unknown type name 'DWORD'
  401 | SECURITY_STATUS WINAPI NCryptVerifyClaim (NCRYPT_KEY_HANDLE hSubjectKey, NCRYPT_KEY_HANDLE hAuthorityKey, DWORD dwClaimType, NCryptBufferDesc *pParameterList, PBYTE pbClaimBlob, DWORD cbClaimBlob, NCryptBufferDesc *pOutput, DWORD dwFlags);
      |                                                                                                                                                                                                                                 ^~~~~
In file included from GenRandom.xs:16:
/usr/include/w32api/wincrypt.h:852:5: error: unknown type name 'DWORD'
  852 |     DWORD cbData;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:853:5: error: unknown type name 'BYTE'
  853 |     BYTE *pbData;
      |     ^~~~
/usr/include/w32api/wincrypt.h:854:5: error: unknown type name 'DWORD'
  854 |     DWORD cUnusedBits;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:858:5: error: unknown type name 'LPSTR'
  858 |     LPSTR pszObjId;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:1087:5: error: unknown type name 'DWORD'
 1087 |     DWORD dwAlgId;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:1088:5: error: unknown type name 'LPCSTR'
 1088 |     LPCSTR pszObjId;
      |     ^~~~~~
/usr/include/w32api/wincrypt.h:1099:5: error: unknown type name 'LPSTR'
 1099 |     LPSTR pszObjId;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:1100:5: error: expected specifier-qualifier-list before 'WINBOOL'
 1100 |     WINBOOL fCritical;
      |     ^~~~~~~
/usr/include/w32api/wincrypt.h:1108:5: error: unknown type name 'LPSTR'
 1108 |     LPSTR pszObjId;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:1113:5: error: unknown type name 'LPSTR'
 1113 |     LPSTR pszObjId;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:1114:5: error: unknown type name 'DWORD'
 1114 |     DWORD cValue;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:1119:5: error: unknown type name 'DWORD'
 1119 |     DWORD cAttr;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:1124:5: error: unknown type name 'LPSTR'
 1124 |     LPSTR pszObjId;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:1125:5: error: unknown type name 'DWORD'
 1125 |     DWORD dwValueType;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:1218:5: error: unknown type name 'DWORD'
 1218 |     DWORD cRDNAttr;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:1223:5: error: unknown type name 'DWORD'
 1223 |     DWORD cRDN;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:1228:5: error: unknown type name 'DWORD'
 1228 |     DWORD dwValueType;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:1245:5: error: unknown type name 'DWORD'
 1245 |     DWORD dwVersion;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:1247:5: error: unknown type name 'LPSTR'
 1247 |     LPSTR szCurveOid;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:1254:5: error: unknown type name 'DWORD'
 1254 |     DWORD Version;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:1265:29: error: expected declaration specifiers or '...' before '*' token
 1265 |   typedef WINBOOL (CALLBACK *PCRYPT_DECRYPT_PRIVATE_KEY_FUNC) (CRYPT_ALGORITHM_IDENTIFIER Algorithm, CRYPT_DATA_BLOB EncryptedPrivateKey, BYTE *pbClearTextKey, DWORD *pcbClearTextKey, LPVOID pVoidDecryptFunc);
      |                             ^
In file included from GenRandom.xs:16:
/usr/include/w32api/wincrypt.h:1266:29: error: expected declaration specifiers or '...' before '*' token
 1266 |   typedef WINBOOL (CALLBACK *PCRYPT_ENCRYPT_PRIVATE_KEY_FUNC) (CRYPT_ALGORITHM_IDENTIFIER *pAlgorithm, CRYPT_DATA_BLOB *pClearTextPrivateKey, BYTE *pbEncryptedKey, DWORD *pcbEncryptedKey, LPVOID pVoidEncryptFunc);
      |                             ^
/usr/include/w32api/wincrypt.h:1267:29: error: expected declaration specifiers or '...' before '*' token
 1267 |   typedef WINBOOL (CALLBACK *PCRYPT_RESOLVE_HCRYPTPROV_FUNC) (CRYPT_PRIVATE_KEY_INFO *pPrivateKeyInfo, HCRYPTPROV *phCryptProv, LPVOID pVoidResolveFunc);
      |                             ^
/usr/include/w32api/wincrypt.h:1271:5: error: unknown type name 'PCRYPT_RESOLVE_HCRYPTPROV_FUNC'
 1271 |     PCRYPT_RESOLVE_HCRYPTPROV_FUNC pResolvehCryptProvFunc;
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:1272:5: error: unknown type name 'LPVOID'
 1272 |     LPVOID pVoidResolveFunc;
      |     ^~~~~~
/usr/include/w32api/wincrypt.h:1273:5: error: unknown type name 'PCRYPT_DECRYPT_PRIVATE_KEY_FUNC'
 1273 |     PCRYPT_DECRYPT_PRIVATE_KEY_FUNC pDecryptPrivateKeyFunc;
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:1274:5: error: unknown type name 'LPVOID'
 1274 |     LPVOID pVoidDecryptFunc;
      |     ^~~~~~
/usr/include/w32api/wincrypt.h:1279:5: error: unknown type name 'DWORD'
 1279 |     DWORD dwKeySpec;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:1280:5: error: unknown type name 'LPSTR'
 1280 |     LPSTR pszPrivateKeyObjId;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:1281:5: error: unknown type name 'PCRYPT_ENCRYPT_PRIVATE_KEY_FUNC'
 1281 |     PCRYPT_ENCRYPT_PRIVATE_KEY_FUNC pEncryptPrivateKeyFunc;
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:1282:5: error: unknown type name 'LPVOID'
 1282 |     LPVOID pVoidEncryptFunc;
      |     ^~~~~~
/usr/include/w32api/wincrypt.h:1288:5: error: unknown type name 'DWORD'
 1288 |     DWORD dwVersion;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:1292:5: error: unknown type name 'FILETIME'
 1292 |     FILETIME NotBefore;
      |     ^~~~~~~~
/usr/include/w32api/wincrypt.h:1293:5: error: unknown type name 'FILETIME'
 1293 |     FILETIME NotAfter;
      |     ^~~~~~~~
/usr/include/w32api/wincrypt.h:1298:5: error: unknown type name 'DWORD'
 1298 |     DWORD cExtension;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:1321:5: error: unknown type name 'FILETIME'
 1321 |     FILETIME RevocationDate;
      |     ^~~~~~~~
/usr/include/w32api/wincrypt.h:1322:5: error: unknown type name 'DWORD'
 1322 |     DWORD cExtension;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:1327:5: error: unknown type name 'DWORD'
 1327 |     DWORD dwVersion;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:1330:5: error: unknown type name 'FILETIME'
 1330 |     FILETIME ThisUpdate;
      |     ^~~~~~~~
/usr/include/w32api/wincrypt.h:1331:5: error: unknown type name 'FILETIME'
 1331 |     FILETIME NextUpdate;
      |     ^~~~~~~~
/usr/include/w32api/wincrypt.h:1332:5: error: unknown type name 'DWORD'
 1332 |     DWORD cCRLEntry;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:1334:5: error: unknown type name 'DWORD'
 1334 |     DWORD cExtension;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:1345:5: error: unknown type name 'DWORD'
 1345 |     DWORD dwChoice;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:1346:5: error: unknown type name 'DWORD'
 1346 |     DWORD cbEncoded;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:1347:5: error: unknown type name 'BYTE'
 1347 |     BYTE *pbEncoded;
      |     ^~~~
/usr/include/w32api/wincrypt.h:1351:5: error: unknown type name 'DWORD'
 1351 |     DWORD cItem;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:1356:5: error: unknown type name 'DWORD'
 1356 |     DWORD dwVersion;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:1359:5: error: unknown type name 'DWORD'
 1359 |     DWORD cAttribute;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:1366:5: error: unknown type name 'DWORD'
 1366 |     DWORD dwVersion;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:1368:5: error: unknown type name 'LPWSTR'
 1368 |     LPWSTR pwszChallengeString;
      |     ^~~~~~
/usr/include/w32api/wincrypt.h:1380:5: error: unknown type name 'DWORD'
 1380 |     DWORD cUsageIdentifier;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:1381:5: error: unknown type name 'LPSTR'
 1381 |     LPSTR *rgpszUsageIdentifier;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:1389:5: error: unknown type name 'DWORD'
 1389 |     DWORD cAttribute;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:1394:5: error: unknown type name 'DWORD'
 1394 |     DWORD dwVersion;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:1398:5: error: unknown type name 'FILETIME'
 1398 |     FILETIME ThisUpdate;
      |     ^~~~~~~~
/usr/include/w32api/wincrypt.h:1399:5: error: unknown type name 'FILETIME'
 1399 |     FILETIME NextUpdate;
      |     ^~~~~~~~
/usr/include/w32api/wincrypt.h:1401:5: error: unknown type name 'DWORD'
 1401 |     DWORD cCTLEntry;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:1403:5: error: unknown type name 'DWORD'
 1403 |     DWORD cExtension;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:1410:5: error: unknown type name 'LPSTR'
 1410 |     LPSTR pszTimeStampAlgorithm;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:1411:5: error: unknown type name 'LPSTR'
 1411 |     LPSTR pszContentType;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:1413:5: error: unknown type name 'DWORD'
 1413 |     DWORD cAttribute;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:1418:5: error: unknown type name 'LPWSTR'
 1418 |     LPWSTR pwszName;
      |     ^~~~~~
/usr/include/w32api/wincrypt.h:1419:5: error: unknown type name 'LPWSTR'
 1419 |     LPWSTR pwszValue;
      |     ^~~~~~
/usr/include/w32api/wincrypt.h:1423:5: error: unknown type name 'DWORD'
 1423 |     DWORD dwKeySpec;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:1424:5: error: unknown type name 'LPWSTR'
 1424 |     LPWSTR pwszProviderName;
      |     ^~~~~~
/usr/include/w32api/wincrypt.h:1440:26: error: expected ',' or ';' before 'CryptFormatObject'
 1440 |   WINIMPM WINBOOL WINAPI CryptFormatObject (DWORD dwCertEncodingType, DWORD dwFormatType, DWORD dwFormatStrType, void *pFormatStruct, LPCSTR lpszStructType, const BYTE *pbEncoded, DWORD cbEncoded, void *pbFormat, DWORD *pcbFormat);
      |                          ^~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:1456:26: error: expected declaration specifiers or '...' before '*' token
 1456 |   typedef LPVOID (WINAPI *PFN_CRYPT_ALLOC)(size_t cbSize);
      |                          ^
/usr/include/w32api/wincrypt.h:1457:24: error: expected declaration specifiers or '...' before '*' token
 1457 |   typedef VOID (WINAPI *PFN_CRYPT_FREE)(LPVOID pv);
      |                        ^
/usr/include/w32api/wincrypt.h:1460:5: error: unknown type name 'DWORD'
 1460 |     DWORD cbSize;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:1461:5: error: unknown type name 'PFN_CRYPT_ALLOC'
 1461 |     PFN_CRYPT_ALLOC pfnAlloc;
      |     ^~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:1462:5: error: unknown type name 'PFN_CRYPT_FREE'
 1462 |     PFN_CRYPT_FREE pfnFree;
      |     ^~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:1465:26: error: expected ',' or ';' before 'CryptEncodeObjectEx'
 1465 |   WINIMPM WINBOOL WINAPI CryptEncodeObjectEx (DWORD dwCertEncodingType, LPCSTR lpszStructType, const void *pvStructInfo, DWORD dwFlags, PCRYPT_ENCODE_PARA pEncodePara, void *pvEncoded, DWORD *pcbEncoded);
      |                          ^~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:1466:26: error: expected ',' or ';' before 'CryptEncodeObject'
 1466 |   WINIMPM WINBOOL WINAPI CryptEncodeObject (DWORD dwCertEncodingType, LPCSTR lpszStructType, const void *pvStructInfo, BYTE *pbEncoded, DWORD *pcbEncoded);
      |                          ^~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:1480:5: error: unknown type name 'DWORD'
 1480 |     DWORD cbSize;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:1481:5: error: unknown type name 'PFN_CRYPT_ALLOC'
 1481 |     PFN_CRYPT_ALLOC pfnAlloc;
      |     ^~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:1482:5: error: unknown type name 'PFN_CRYPT_FREE'
 1482 |     PFN_CRYPT_FREE pfnFree;
      |     ^~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:1485:26: error: expected ',' or ';' before 'CryptDecodeObjectEx'
 1485 |   WINIMPM WINBOOL WINAPI CryptDecodeObjectEx (DWORD dwCertEncodingType, LPCSTR lpszStructType, const BYTE *pbEncoded, DWORD cbEncoded, DWORD dwFlags, PCRYPT_DECODE_PARA pDecodePara, void *pvStructInfo, DWORD *pcbStructInfo);
      |                          ^~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:1486:26: error: expected ',' or ';' before 'CryptDecodeObject'
 1486 |   WINIMPM WINBOOL WINAPI CryptDecodeObject (DWORD dwCertEncodingType, LPCSTR lpszStructType, const BYTE *pbEncoded, DWORD cbEncoded, DWORD dwFlags, void *pvStructInfo, DWORD *pcbStructInfo);
      |                          ^~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:1877:5: error: unknown type name 'DWORD'
 1877 |     DWORD cExtension;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:1899:5: error: unknown type name 'FILETIME'
 1899 |     FILETIME NotBefore;
      |     ^~~~~~~~
/usr/include/w32api/wincrypt.h:1900:5: error: unknown type name 'FILETIME'
 1900 |     FILETIME NotAfter;
      |     ^~~~~~~~
/usr/include/w32api/wincrypt.h:1922:5: error: unknown type name 'DWORD'
 1922 |     DWORD cCertPolicyElementId;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:1923:5: error: unknown type name 'LPSTR'
 1923 |     LPSTR *rgpszCertPolicyElementId;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:1927:5: error: unknown type name 'DWORD'
 1927 |     DWORD cCertPolicyId;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:1933:5: error: unknown type name 'LPSTR'
 1933 |     LPSTR pszObjId;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:1938:5: error: unknown type name 'DWORD'
 1938 |     DWORD dwAltNameChoice;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:1941:7: error: unknown type name 'LPWSTR'
 1941 |       LPWSTR pwszRfc822Name;
      |       ^~~~~~
/usr/include/w32api/wincrypt.h:1942:7: error: unknown type name 'LPWSTR'
 1942 |       LPWSTR pwszDNSName;
      |       ^~~~~~
/usr/include/w32api/wincrypt.h:1955:7: error: unknown type name 'LPWSTR'
 1955 |       LPWSTR pwszURL;
      |       ^~~~~~
/usr/include/w32api/wincrypt.h:1957:7: error: unknown type name 'LPSTR'
 1957 |       LPSTR pszRegisteredID;
      |       ^~~~~
/usr/include/w32api/wincrypt.h:1972:5: error: unknown type name 'DWORD'
 1972 |     DWORD cAltEntry;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:1985:5: error: expected specifier-qualifier-list before 'WINBOOL'
 1985 |     WINBOOL fPathLenConstraint;
      |     ^~~~~~~
/usr/include/w32api/wincrypt.h:1995:5: error: expected specifier-qualifier-list before 'WINBOOL'
 1995 |     WINBOOL fCA;
      |     ^~~~~~~
/usr/include/w32api/wincrypt.h:2001:5: error: unknown type name 'LPSTR'
 2001 |     LPSTR pszPolicyQualifierId;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:2006:5: error: unknown type name 'LPSTR'
 2006 |     LPSTR pszPolicyIdentifier;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:2007:5: error: unknown type name 'DWORD'
 2007 |     DWORD cPolicyQualifier;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:2012:5: error: unknown type name 'DWORD'
 2012 |     DWORD cPolicyInfo;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:2017:5: error: unknown type name 'LPSTR'
 2017 |     LPSTR pszOrganization;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:2018:5: error: unknown type name 'DWORD'
 2018 |     DWORD cNoticeNumbers;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:2024:5: error: unknown type name 'LPWSTR'
 2024 |     LPWSTR pszDisplayText;
      |     ^~~~~~
/usr/include/w32api/wincrypt.h:2028:5: error: unknown type name 'LPWSTR'
 2028 |     LPWSTR pszURL;
      |     ^~~~~~
/usr/include/w32api/wincrypt.h:2034:5: error: unknown type name 'LPWSTR'
 2034 |     LPWSTR pszPracticesReference;
      |     ^~~~~~
/usr/include/w32api/wincrypt.h:2035:5: error: unknown type name 'LPSTR'
 2035 |     LPSTR pszNoticeIdentifier;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:2036:5: error: unknown type name 'LPSTR'
 2036 |     LPSTR pszNSINoticeIdentifier;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:2037:5: error: unknown type name 'DWORD'
 2037 |     DWORD cCPSURLs;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:2042:5: error: unknown type name 'LPSTR'
 2042 |     LPSTR pszIssuerDomainPolicy;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:2043:5: error: unknown type name 'LPSTR'
 2043 |     LPSTR pszSubjectDomainPolicy;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:2047:5: error: unknown type name 'DWORD'
 2047 |     DWORD cPolicyMapping;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:2052:5: error: expected specifier-qualifier-list before 'WINBOOL'
 2052 |     WINBOOL fRequireExplicitPolicy;
      |     ^~~~~~~
/usr/include/w32api/wincrypt.h:2059:5: error: unknown type name 'LPSTR'
 2059 |     LPSTR pszObjId;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:2060:5: error: unknown type name 'DWORD'
 2060 |     DWORD cValue;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:2065:5: error: unknown type name 'LPSTR'
 2065 |     LPSTR pszObjId;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:2070:5: error: unknown type name 'DWORD'
 2070 |     DWORD cValue;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:2081:5: error: unknown type name 'LPSTR'
 2081 |     LPSTR pszAccessMethod;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:2086:5: error: unknown type name 'DWORD'
 2086 |     DWORD cAccDescr;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:2110:5: error: unknown type name 'DWORD'
 2110 |     DWORD dwDistPointNameChoice;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:2137:5: error: unknown type name 'DWORD'
 2137 |     DWORD cDistPoint;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:2149:5: error: unknown type name 'DWORD'
 2149 |     DWORD dwSyncDeltaTime;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:2150:5: error: unknown type name 'DWORD'
 2150 |     DWORD cDistPoint;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:2165:5: error: expected specifier-qualifier-list before 'WINBOOL'
 2165 |     WINBOOL fOnlyContainsUserCerts;
      |     ^~~~~~~
/usr/include/w32api/wincrypt.h:2173:5: error: unknown type name 'DWORD'
 2173 |     DWORD dwMinimum;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:2174:5: error: expected specifier-qualifier-list before 'WINBOOL'
 2174 |     WINBOOL fMaximum;
      |     ^~~~~~~
/usr/include/w32api/wincrypt.h:2179:5: error: unknown type name 'DWORD'
 2179 |     DWORD cPermittedSubtree;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:2181:5: error: unknown type name 'DWORD'
 2181 |     DWORD cExcludedSubtree;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:2219:5: error: unknown type name 'DWORD'
 2219 |     DWORD pgenCounter;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:2235:5: error: unknown type name 'LPSTR'
 2235 |     LPSTR pszContentEncryptionObjId;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:2236:5: error: unknown type name 'BYTE'
 2236 |     BYTE rgbCounter[CRYPT_X942_COUNTER_BYTE_LENGTH];
      |     ^~~~
/usr/include/w32api/wincrypt.h:2237:5: error: unknown type name 'BYTE'
 2237 |     BYTE rgbKeyLength[CRYPT_X942_KEY_LENGTH_BYTE_LENGTH];
      |     ^~~~
/usr/include/w32api/wincrypt.h:2246:5: error: unknown type name 'BYTE'
 2246 |     BYTE rgbSuppPubInfo[CRYPT_ECC_CMS_SHARED_INFO_SUPPPUBINFO_BYTE_LENGTH];
      |     ^~~~
/usr/include/w32api/wincrypt.h:2250:5: error: unknown type name 'DWORD'
 2250 |     DWORD dwVersion;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:2251:5: error: expected specifier-qualifier-list before 'WINBOOL'
 2251 |     WINBOOL fIV;
      |     ^~~~~~~
/usr/include/w32api/wincrypt.h:2261:5: error: unknown type name 'LPSTR'
 2261 |     LPSTR pszObjId;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:2266:5: error: unknown type name 'DWORD'
 2266 |     DWORD cCapability;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:2271:5: error: unknown type name 'LPSTR'
 2271 |     LPSTR pszStatementId;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:2276:5: error: unknown type name 'DWORD'
 2276 |     DWORD cStatement;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:2284:5: error: unknown type name 'LPSTR'
 2284 |     LPSTR pszObjId;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:2291:5: error: unknown type name 'DWORD'
 2291 |     DWORD dwSaltLength;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:2292:5: error: unknown type name 'DWORD'
 2292 |     DWORD dwTrailerField;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:2298:5: error: unknown type name 'LPSTR'
 2298 |     LPSTR pszObjId;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:2375:5: error: unknown type name 'DWORD'
 2375 |     DWORD dwBodyPartID;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:2380:5: error: unknown type name 'DWORD'
 2380 |     DWORD dwBodyPartID;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:2385:5: error: unknown type name 'DWORD'
 2385 |     DWORD dwTaggedRequestChoice;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:2394:5: error: unknown type name 'DWORD'
 2394 |     DWORD dwBodyPartID;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:2399:5: error: unknown type name 'DWORD'
 2399 |     DWORD dwBodyPartID;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:2400:5: error: unknown type name 'LPSTR'
 2400 |     LPSTR pszObjId;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:2405:5: error: unknown type name 'DWORD'
 2405 |     DWORD cTaggedAttribute;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:2407:5: error: unknown type name 'DWORD'
 2407 |     DWORD cTaggedRequest;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:2409:5: error: unknown type name 'DWORD'
 2409 |     DWORD cTaggedContentInfo;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:2411:5: error: unknown type name 'DWORD'
 2411 |     DWORD cTaggedOtherMsg;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:2416:5: error: unknown type name 'DWORD'
 2416 |     DWORD cTaggedAttribute;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:2418:5: error: unknown type name 'DWORD'
 2418 |     DWORD cTaggedContentInfo;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:2420:5: error: unknown type name 'DWORD'
 2420 |     DWORD cTaggedOtherMsg;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:2426:5: error: unknown type name 'FILETIME'
 2426 |     FILETIME PendTime;
      |     ^~~~~~~~
/usr/include/w32api/wincrypt.h:2430:5: error: unknown type name 'DWORD'
 2430 |     DWORD dwStatus;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:2431:5: error: unknown type name 'DWORD'
 2431 |     DWORD cBodyList;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:2432:5: error: unknown type name 'DWORD'
 2432 |     DWORD *rgdwBodyList;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:2433:5: error: unknown type name 'LPWSTR'
 2433 |     LPWSTR pwszStatusString;
      |     ^~~~~~
/usr/include/w32api/wincrypt.h:2434:5: error: unknown type name 'DWORD'
 2434 |     DWORD dwOtherInfoChoice;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:2436:7: error: unknown type name 'DWORD'
 2436 |       DWORD dwFailInfo;
      |       ^~~~~
/usr/include/w32api/wincrypt.h:2466:5: error: unknown type name 'DWORD'
 2466 |     DWORD dwCmcDataReference;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:2467:5: error: unknown type name 'DWORD'
 2467 |     DWORD cCertReference;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:2468:5: error: unknown type name 'DWORD'
 2468 |     DWORD *rgdwCertReference;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:2469:5: error: unknown type name 'DWORD'
 2469 |     DWORD cExtension;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:2474:5: error: unknown type name 'DWORD'
 2474 |     DWORD dwCmcDataReference;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:2475:5: error: unknown type name 'DWORD'
 2475 |     DWORD cCertReference;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:2476:5: error: unknown type name 'DWORD'
 2476 |     DWORD *rgdwCertReference;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:2477:5: error: unknown type name 'DWORD'
 2477 |     DWORD cAttribute;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:2482:5: error: unknown type name 'LPSTR'
 2482 |     LPSTR pszObjId;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:2483:5: error: unknown type name 'DWORD'
 2483 |     DWORD dwMajorVersion;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:2484:5: error: expected specifier-qualifier-list before 'WINBOOL'
 2484 |     WINBOOL fMinorVersion;
      |     ^~~~~~~
/usr/include/w32api/wincrypt.h:2491:5: error: unknown type name 'LPWSTR'
 2491 |     LPWSTR pwszUrl;
      |     ^~~~~~
/usr/include/w32api/wincrypt.h:2495:5: error: unknown type name 'LPWSTR'
 2495 |     LPWSTR pwszMimeType;
      |     ^~~~~~
/usr/include/w32api/wincrypt.h:2496:5: error: unknown type name 'DWORD'
 2496 |     DWORD cHashedUrl;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:2501:5: error: unknown type name 'DWORD'
 2501 |     DWORD cHashedUrl;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:2506:5: error: unknown type name 'DWORD'
 2506 |     DWORD dwLogotypeImageInfoChoice;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:2507:5: error: unknown type name 'DWORD'
 2507 |     DWORD dwFileSize;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:2508:5: error: unknown type name 'DWORD'
 2508 |     DWORD dwXSize;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:2509:5: error: unknown type name 'DWORD'
 2509 |     DWORD dwYSize;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:2510:5: error: unknown type name 'DWORD'
 2510 |     DWORD dwLogotypeImageResolutionChoice;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:2512:7: error: unknown type name 'DWORD'
 2512 |       DWORD dwNumBits;
      |       ^~~~~
/usr/include/w32api/wincrypt.h:2513:7: error: unknown type name 'DWORD'
 2513 |       DWORD dwTableSize;
      |       ^~~~~
/usr/include/w32api/wincrypt.h:2515:5: error: unknown type name 'LPWSTR'
 2515 |     LPWSTR pwszLanguage;
      |     ^~~~~~
/usr/include/w32api/wincrypt.h:2531:5: error: unknown type name 'DWORD'
 2531 |     DWORD dwFileSize;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:2532:5: error: unknown type name 'DWORD'
 2532 |     DWORD dwPlayTime;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:2533:5: error: unknown type name 'DWORD'
 2533 |     DWORD dwChannels;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:2534:5: error: unknown type name 'DWORD'
 2534 |     DWORD dwSampleRate;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:2535:5: error: unknown type name 'LPWSTR'
 2535 |     LPWSTR pwszLanguage;
      |     ^~~~~~
/usr/include/w32api/wincrypt.h:2544:5: error: unknown type name 'DWORD'
 2544 |     DWORD cLogotypeImage;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:2546:5: error: unknown type name 'DWORD'
 2546 |     DWORD cLogotypeAudio;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:2551:5: error: unknown type name 'DWORD'
 2551 |     DWORD dwLogotypeInfoChoice;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:2562:5: error: unknown type name 'LPSTR'
 2562 |     LPSTR pszObjId;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:2570:5: error: unknown type name 'DWORD'
 2570 |     DWORD cCommunityLogo;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:2574:5: error: unknown type name 'DWORD'
 2574 |     DWORD cOtherLogo;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:2579:5: error: unknown type name 'DWORD'
 2579 |     DWORD dwTypeOfBiometricDataChoice;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:2581:7: error: unknown type name 'DWORD'
 2581 |       DWORD dwPredefined;
      |       ^~~~~
/usr/include/w32api/wincrypt.h:2582:7: error: unknown type name 'LPSTR'
 2582 |       LPSTR pszObjId;
      |       ^~~~~
/usr/include/w32api/wincrypt.h:2594:5: error: unknown type name 'DWORD'
 2594 |     DWORD cBiometricData;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:2601:5: error: unknown type name 'DWORD'
 2601 |     DWORD cCertEncoded;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:2619:5: error: unknown type name 'DWORD'
 2619 |     DWORD cExtension;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:2624:5: error: unknown type name 'DWORD'
 2624 |     DWORD dwVersion;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:2626:5: error: unknown type name 'DWORD'
 2626 |     DWORD cRequestEntry;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:2628:5: error: unknown type name 'DWORD'
 2628 |     DWORD cExtension;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:2635:5: error: unknown type name 'DWORD'
 2635 |     DWORD dwStatus;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:2636:5: error: unknown type name 'LPSTR'
 2636 |     LPSTR pszObjId;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:2655:5: error: unknown type name 'FILETIME'
 2655 |     FILETIME RevocationDate;
      |     ^~~~~~~~
/usr/include/w32api/wincrypt.h:2656:5: error: unknown type name 'DWORD'
 2656 |     DWORD dwCrlReasonCode;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:2661:5: error: unknown type name 'DWORD'
 2661 |     DWORD dwCertStatus;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:2665:5: error: unknown type name 'FILETIME'
 2665 |     FILETIME ThisUpdate;
      |     ^~~~~~~~
/usr/include/w32api/wincrypt.h:2666:5: error: unknown type name 'FILETIME'
 2666 |     FILETIME NextUpdate;
      |     ^~~~~~~~
/usr/include/w32api/wincrypt.h:2667:5: error: unknown type name 'DWORD'
 2667 |     DWORD cExtension;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:2676:5: error: unknown type name 'DWORD'
 2676 |     DWORD dwVersion;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:2677:5: error: unknown type name 'DWORD'
 2677 |     DWORD dwResponderIdChoice;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:2682:5: error: unknown type name 'FILETIME'
 2682 |     FILETIME ProducedAt;
      |     ^~~~~~~~
/usr/include/w32api/wincrypt.h:2683:5: error: unknown type name 'DWORD'
 2683 |     DWORD cResponseEntry;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:2685:5: error: unknown type name 'DWORD'
 2685 |     DWORD cExtension;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:2700:5: error: unknown type name 'LPWSTR'
 2700 |     LPWSTR pwszFamily;
      |     ^~~~~~
/usr/include/w32api/wincrypt.h:2701:5: error: unknown type name 'DWORD'
 2701 |     DWORD dwLevel;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:2702:5: error: unknown type name 'DWORD'
 2702 |     DWORD dwRevision;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:2730:5: error: unknown type name 'LPCSTR'
 2730 |     LPCSTR pszOID;
      |     ^~~~~~
/usr/include/w32api/wincrypt.h:2740:26: error: expected ',' or ';' before 'CryptInstallOIDFunctionAddress'
 2740 |   WINIMPM WINBOOL WINAPI CryptInstallOIDFunctionAddress (HMODULE hModule, DWORD dwEncodingType, LPCSTR pszFuncName, DWORD cFuncEntry, const CRYPT_OID_FUNC_ENTRY rgFuncEntry[], DWORD dwFlags);
      |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:2741:60: error: unknown type name 'LPCSTR'
 2741 |   WINIMPM HCRYPTOIDFUNCSET WINAPI CryptInitOIDFunctionSet (LPCSTR pszFuncName, DWORD dwFlags);
      |                                                            ^~~~~~
/usr/include/w32api/wincrypt.h:2741:80: error: unknown type name 'DWORD'
 2741 |   WINIMPM HCRYPTOIDFUNCSET WINAPI CryptInitOIDFunctionSet (LPCSTR pszFuncName, DWORD dwFlags);
      |                                                                                ^~~~~
/usr/include/w32api/wincrypt.h:2742:26: error: expected ',' or ';' before 'CryptGetOIDFunctionAddress'
 2742 |   WINIMPM WINBOOL WINAPI CryptGetOIDFunctionAddress (HCRYPTOIDFUNCSET hFuncSet, DWORD dwEncodingType, LPCSTR pszOID, DWORD dwFlags, void **ppvFuncAddr, HCRYPTOIDFUNCADDR *phFuncAddr);
      |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:2743:26: error: expected ',' or ';' before 'CryptGetDefaultOIDDllList'
 2743 |   WINIMPM WINBOOL WINAPI CryptGetDefaultOIDDllList (HCRYPTOIDFUNCSET hFuncSet, DWORD dwEncodingType, WCHAR *pwszDllList, DWORD *pcchDllList);
      |                          ^~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:2744:26: error: expected ',' or ';' before 'CryptGetDefaultOIDFunctionAddress'
 2744 |   WINIMPM WINBOOL WINAPI CryptGetDefaultOIDFunctionAddress (HCRYPTOIDFUNCSET hFuncSet, DWORD dwEncodingType, LPCWSTR pwszDll, DWORD dwFlags, void **ppvFuncAddr, HCRYPTOIDFUNCADDR *phFuncAddr);
      |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:2745:26: error: expected ',' or ';' before 'CryptFreeOIDFunctionAddress'
 2745 |   WINIMPM WINBOOL WINAPI CryptFreeOIDFunctionAddress (HCRYPTOIDFUNCADDR hFuncAddr, DWORD dwFlags);
      |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:2746:26: error: expected ',' or ';' before 'CryptRegisterOIDFunction'
 2746 |   WINIMPM WINBOOL WINAPI CryptRegisterOIDFunction (DWORD dwEncodingType, LPCSTR pszFuncName, LPCSTR pszOID, LPCWSTR pwszDll, LPCSTR pszOverrideFuncName);
      |                          ^~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:2747:26: error: expected ',' or ';' before 'CryptUnregisterOIDFunction'
 2747 |   WINIMPM WINBOOL WINAPI CryptUnregisterOIDFunction (DWORD dwEncodingType, LPCSTR pszFuncName, LPCSTR pszOID);
      |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:2748:26: error: expected ',' or ';' before 'CryptRegisterDefaultOIDFunction'
 2748 |   WINIMPM WINBOOL WINAPI CryptRegisterDefaultOIDFunction (DWORD dwEncodingType, LPCSTR pszFuncName, DWORD dwIndex, LPCWSTR pwszDll);
      |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:2749:26: error: expected ',' or ';' before 'CryptUnregisterDefaultOIDFunction'
 2749 |   WINIMPM WINBOOL WINAPI CryptUnregisterDefaultOIDFunction (DWORD dwEncodingType, LPCSTR pszFuncName, LPCWSTR pwszDll);
      |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:2750:26: error: expected ',' or ';' before 'CryptSetOIDFunctionValue'
 2750 |   WINIMPM WINBOOL WINAPI CryptSetOIDFunctionValue (DWORD dwEncodingType, LPCSTR pszFuncName, LPCSTR pszOID, LPCWSTR pwszValueName, DWORD dwValueType, const BYTE *pbValueData, DWORD cbValueData);
      |                          ^~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:2751:26: error: expected ',' or ';' before 'CryptGetOIDFunctionValue'
 2751 |   WINIMPM WINBOOL WINAPI CryptGetOIDFunctionValue (DWORD dwEncodingType, LPCSTR pszFuncName, LPCSTR pszOID, LPCWSTR pwszValueName, DWORD *pdwValueType, BYTE *pbValueData, DWORD *pcbValueData);
      |                          ^~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:2753:27: error: expected declaration specifiers or '...' before '*' token
 2753 |   typedef WINBOOL (WINAPI *PFN_CRYPT_ENUM_OID_FUNC) (DWORD dwEncodingType, LPCSTR pszFuncName, LPCSTR pszOID, DWORD cValue, const DWORD rgdwValueType[], LPCWSTR const rgpwszValueName[], const BYTE *const rgpbValueData[], const DWORD rgcbValueData[], void *pvArg);
      |                           ^
In file included from GenRandom.xs:16:
/usr/include/w32api/wincrypt.h:2755:26: error: expected ',' or ';' before 'CryptEnumOIDFunction'
 2755 |   WINIMPM WINBOOL WINAPI CryptEnumOIDFunction (DWORD dwEncodingType, LPCSTR pszFuncName, LPCSTR pszOID, DWORD dwFlags, void *pvArg, PFN_CRYPT_ENUM_OID_FUNC pfnEnumOIDFunc);
      |                          ^~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:2771:5: error: unknown type name 'DWORD'
 2771 |     DWORD cbSize;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:2772:5: error: unknown type name 'LPCSTR'
 2772 |     LPCSTR pszOID;
      |     ^~~~~~
/usr/include/w32api/wincrypt.h:2773:5: error: unknown type name 'LPCWSTR'
 2773 |     LPCWSTR pwszName;
      |     ^~~~~~~
/usr/include/w32api/wincrypt.h:2774:5: error: unknown type name 'DWORD'
 2774 |     DWORD dwGroupId;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:2776:7: error: unknown type name 'DWORD'
 2776 |       DWORD dwValue;
      |       ^~~~~
/usr/include/w32api/wincrypt.h:2778:7: error: unknown type name 'DWORD'
 2778 |       DWORD dwLength;
      |       ^~~~~
/usr/include/w32api/wincrypt.h:2813:53: error: unknown type name 'DWORD'
 2813 |   WINIMPM PCCRYPT_OID_INFO WINAPI CryptFindOIDInfo (DWORD dwKeyType, void *pvKey, DWORD dwGroupId);
      |                                                     ^~~~~
/usr/include/w32api/wincrypt.h:2813:83: error: unknown type name 'DWORD'
 2813 |   WINIMPM PCCRYPT_OID_INFO WINAPI CryptFindOIDInfo (DWORD dwKeyType, void *pvKey, DWORD dwGroupId);
      |                                                                                   ^~~~~
/usr/include/w32api/wincrypt.h:2837:27: error: expected declaration specifiers or '...' before '*' token
 2837 |   typedef WINBOOL (WINAPI *PFN_CRYPT_ENUM_OID_INFO) (PCCRYPT_OID_INFO pInfo, void *pvArg);
      |                           ^
/usr/include/w32api/wincrypt.h:2839:26: error: expected ',' or ';' before 'CryptRegisterOIDInfo'
 2839 |   WINIMPM WINBOOL WINAPI CryptRegisterOIDInfo (PCCRYPT_OID_INFO pInfo, DWORD dwFlags);
      |                          ^~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:2840:26: error: expected ',' or ';' before 'CryptUnregisterOIDInfo'
 2840 |   WINIMPM WINBOOL WINAPI CryptUnregisterOIDInfo (PCCRYPT_OID_INFO pInfo);
      |                          ^~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:2841:26: error: expected ',' or ';' before 'CryptEnumOIDInfo'
 2841 |   WINIMPM WINBOOL WINAPI CryptEnumOIDInfo (DWORD dwGroupId, DWORD dwFlags, void *pvArg, PFN_CRYPT_ENUM_OID_INFO pfnEnumOIDInfo);
      |                          ^~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:2842:26: error: expected ',' or ';' before 'CryptFindLocalizedName'
 2842 |   WINIMPM LPCWSTR WINAPI CryptFindLocalizedName (LPCWSTR pwszCryptName);
      |                          ^~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:2850:5: error: unknown type name 'DWORD'
 2850 |     DWORD dwFlags;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:2851:5: error: unknown type name 'LPWSTR'
 2851 |     LPWSTR pwszCNGSignHashAlgids;
      |     ^~~~~~
/usr/include/w32api/wincrypt.h:2852:5: error: unknown type name 'LPWSTR'
 2852 |     LPWSTR pwszCNGPubKeyMinBitLengths;
      |     ^~~~~~
/usr/include/w32api/wincrypt.h:2856:5: error: unknown type name 'DWORD'
 2856 |     DWORD cbSize;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:2857:5: error: unknown type name 'DWORD'
 2857 |     DWORD dwInfoChoice;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:2861:7: error: unknown type name 'LPSTR'
 2861 |       LPSTR pszOID;
      |       ^~~~~
/usr/include/w32api/wincrypt.h:2921:5: error: unknown type name 'DWORD'
 2921 |     DWORD dwIdChoice;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:2934:5: error: unknown type name 'DWORD'
 2934 |     DWORD cbSize;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:2940:5: error: unknown type name 'DWORD'
 2940 |     DWORD dwKeySpec;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:2943:5: error: unknown type name 'DWORD'
 2943 |     DWORD cAuthAttr;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:2945:5: error: unknown type name 'DWORD'
 2945 |     DWORD cUnauthAttr;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:2955:5: error: unknown type name 'DWORD'
 2955 |     DWORD cbSize;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:2956:5: error: unknown type name 'DWORD'
 2956 |     DWORD cSigners;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:2958:5: error: unknown type name 'DWORD'
 2958 |     DWORD cCertEncoded;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:2960:5: error: unknown type name 'DWORD'
 2960 |     DWORD cCrlEncoded;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:2971:5: error: unknown type name 'DWORD'
 2971 |     DWORD cbSize;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:2975:5: error: unknown type name 'DWORD'
 2975 |     DWORD cRecipients;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:2991:5: error: unknown type name 'DWORD'
 2991 |     DWORD cbSize;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:3000:5: error: unknown type name 'DWORD'
 3000 |     DWORD cbSize;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:3003:5: error: unknown type name 'FILETIME'
 3003 |     FILETIME Date;
      |     ^~~~~~~~
/usr/include/w32api/wincrypt.h:3008:5: error: unknown type name 'DWORD'
 3008 |     DWORD cbSize;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:3014:5: error: unknown type name 'DWORD'
 3014 |     DWORD dwKeySpec;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:3015:5: error: unknown type name 'DWORD'
 3015 |     DWORD dwKeyChoice;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:3021:5: error: unknown type name 'DWORD'
 3021 |     DWORD cRecipientEncryptedKeys;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:3029:5: error: unknown type name 'DWORD'
 3029 |     DWORD cbSize;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:3033:5: error: unknown type name 'DWORD'
 3033 |     DWORD dwKeyChoice;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:3039:5: error: unknown type name 'FILETIME'
 3039 |     FILETIME Date;
      |     ^~~~~~~~
/usr/include/w32api/wincrypt.h:3053:5: error: unknown type name 'DWORD'
 3053 |     DWORD dwRecipientChoice;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:3062:5: error: unknown type name 'DWORD'
 3062 |     DWORD cbSize;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:3063:5: error: unknown type name 'DWORD'
 3063 |     DWORD dwBitLen;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:3067:5: error: unknown type name 'DWORD'
 3067 |     DWORD cbSize;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:3068:5: error: unknown type name 'DWORD'
 3068 |     DWORD dwFlags;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:3072:5: error: unknown type name 'DWORD'
 3072 |     DWORD cbSize;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:3073:5: error: unknown type name 'DWORD'
 3073 |     DWORD dwBitLen;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:3077:5: error: unknown type name 'DWORD'
 3077 |     DWORD cbSize;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:3083:5: error: unknown type name 'DWORD'
 3083 |     DWORD cbSize;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:3090:5: error: unknown type name 'DWORD'
 3090 |     DWORD cbSize;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:3095:27: error: expected declaration specifiers or '...' before '*' token
 3095 |   typedef WINBOOL (WINAPI *PFN_CMSG_STREAM_OUTPUT) (const void *pvArg, BYTE *pbData, DWORD cbData, WINBOOL fFinal);
      |                           ^
/usr/include/w32api/wincrypt.h:3100:5: error: unknown type name 'DWORD'
 3100 |     DWORD cbContent;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:3101:5: error: unknown type name 'PFN_CMSG_STREAM_OUTPUT'
 3101 |     PFN_CMSG_STREAM_OUTPUT pfnStreamOutput;
      |     ^~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:3115:50: error: unknown type name 'DWORD'
 3115 |   WINIMPM HCRYPTMSG WINAPI CryptMsgOpenToEncode (DWORD dwMsgEncodingType, DWORD dwFlags, DWORD dwMsgType, void const *pvMsgEncodeInfo, LPSTR pszInnerContentObjID, PCMSG_STREAM_INFO pStreamInfo);
      |                                                  ^~~~~
/usr/include/w32api/wincrypt.h:3115:75: error: unknown type name 'DWORD'
 3115 |   WINIMPM HCRYPTMSG WINAPI CryptMsgOpenToEncode (DWORD dwMsgEncodingType, DWORD dwFlags, DWORD dwMsgType, void const *pvMsgEncodeInfo, LPSTR pszInnerContentObjID, PCMSG_STREAM_INFO pStreamInfo);
      |                                                                           ^~~~~
/usr/include/w32api/wincrypt.h:3115:90: error: unknown type name 'DWORD'
 3115 |   WINIMPM HCRYPTMSG WINAPI CryptMsgOpenToEncode (DWORD dwMsgEncodingType, DWORD dwFlags, DWORD dwMsgType, void const *pvMsgEncodeInfo, LPSTR pszInnerContentObjID, PCMSG_STREAM_INFO pStreamInfo);
      |                                                                                          ^~~~~
/usr/include/w32api/wincrypt.h:3115:136: error: unknown type name 'LPSTR'
 3115 |   WINIMPM HCRYPTMSG WINAPI CryptMsgOpenToEncode (DWORD dwMsgEncodingType, DWORD dwFlags, DWORD dwMsgType, void const *pvMsgEncodeInfo, LPSTR pszInnerContentObjID, PCMSG_STREAM_INFO pStreamInfo);
      |                                                                                                                                        ^~~~~
/usr/include/w32api/wincrypt.h:3116:24: error: expected ',' or ';' before 'CryptMsgCalculateEncodedLength'
 3116 |   WINIMPM DWORD WINAPI CryptMsgCalculateEncodedLength (DWORD dwMsgEncodingType, DWORD dwFlags, DWORD dwMsgType, void const *pvMsgEncodeInfo, LPSTR pszInnerContentObjID, DWORD cbData);
      |                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:3117:50: error: expected declaration specifiers or '...' before 'DWORD'
 3117 |   WINIMPM HCRYPTMSG WINAPI CryptMsgOpenToDecode (DWORD dwMsgEncodingType, DWORD dwFlags, DWORD dwMsgType, HCRYPTPROV_LEGACY hCryptProv, PCERT_INFO pRecipientInfo, PCMSG_STREAM_INFO pStreamInfo);
      |                                                  ^~~~~
/usr/include/w32api/wincrypt.h:3117:75: error: expected declaration specifiers or '...' before 'DWORD'
 3117 |   WINIMPM HCRYPTMSG WINAPI CryptMsgOpenToDecode (DWORD dwMsgEncodingType, DWORD dwFlags, DWORD dwMsgType, HCRYPTPROV_LEGACY hCryptProv, PCERT_INFO pRecipientInfo, PCMSG_STREAM_INFO pStreamInfo);
      |                                                                           ^~~~~
/usr/include/w32api/wincrypt.h:3117:90: error: expected declaration specifiers or '...' before 'DWORD'
 3117 |   WINIMPM HCRYPTMSG WINAPI CryptMsgOpenToDecode (DWORD dwMsgEncodingType, DWORD dwFlags, DWORD dwMsgType, HCRYPTPROV_LEGACY hCryptProv, PCERT_INFO pRecipientInfo, PCMSG_STREAM_INFO pStreamInfo);
      |                                                                                          ^~~~~
/usr/include/w32api/wincrypt.h:3119:26: error: expected ',' or ';' before 'CryptMsgClose'
 3119 |   WINIMPM WINBOOL WINAPI CryptMsgClose (HCRYPTMSG hCryptMsg);
      |                          ^~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:3120:26: error: expected ',' or ';' before 'CryptMsgUpdate'
 3120 |   WINIMPM WINBOOL WINAPI CryptMsgUpdate (HCRYPTMSG hCryptMsg, const BYTE *pbData, DWORD cbData, WINBOOL fFinal);
      |                          ^~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:3121:26: error: expected ',' or ';' before 'CryptMsgGetParam'
 3121 |   WINIMPM WINBOOL WINAPI CryptMsgGetParam (HCRYPTMSG hCryptMsg, DWORD dwParamType, DWORD dwIndex, void *pvData, DWORD *pcbData);
      |                          ^~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:3160:5: error: expected specifier-qualifier-list before 'DWORD'
 3160 |     DWORD dwVersion;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:3171:5: error: expected specifier-qualifier-list before 'DWORD'
 3171 |     DWORD dwVersion;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:3204:5: error: expected specifier-qualifier-list before 'DWORD'
 3204 |     DWORD dwVersion;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:3213:5: error: unknown type name 'FILETIME'
 3213 |     FILETIME Date;
      |     ^~~~~~~~
/usr/include/w32api/wincrypt.h:3218:5: error: expected specifier-qualifier-list before 'DWORD'
 3218 |     DWORD dwVersion;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:3234:5: error: expected specifier-qualifier-list before 'DWORD'
 3234 |     DWORD dwVersion;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:3243:5: error: expected specifier-qualifier-list before 'DWORD'
 3243 |     DWORD dwRecipientChoice;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:3260:26: error: expected ',' or ';' before 'CryptMsgControl'
 3260 |   WINIMPM WINBOOL WINAPI CryptMsgControl (HCRYPTMSG hCryptMsg, DWORD dwFlags, DWORD dwCtrlType, void const *pvCtrlPara);
      |                          ^~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:3283:5: error: expected specifier-qualifier-list before 'DWORD'
 3283 |     DWORD cbSize;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:3296:5: error: expected specifier-qualifier-list before 'DWORD'
 3296 |     DWORD cbSize;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:3306:5: error: expected specifier-qualifier-list before 'DWORD'
 3306 |     DWORD cbSize;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:3317:5: error: expected specifier-qualifier-list before 'DWORD'
 3317 |     DWORD cbSize;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:3330:5: error: expected specifier-qualifier-list before 'DWORD'
 3330 |     DWORD cbSize;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:3342:5: error: expected specifier-qualifier-list before 'DWORD'
 3342 |     DWORD cbSize;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:3348:5: error: expected specifier-qualifier-list before 'DWORD'
 3348 |     DWORD cbSize;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:3355:18: error: expected ',' or ';' before 'CryptMsgVerifyCountersignatureEncoded'
 3355 |   WINBOOL WINAPI CryptMsgVerifyCountersignatureEncoded (HCRYPTPROV_LEGACY hCryptProv, DWORD dwEncodingType, PBYTE pbSignerInfo, DWORD cbSignerInfo, PBYTE pbSignerInfoCountersignature, DWORD cbSignerInfoCountersignature, PCERT_INFO pciCountersigner);
      |                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:3356:18: error: expected ',' or ';' before 'CryptMsgVerifyCountersignatureEncodedEx'
 3356 |   WINBOOL WINAPI CryptMsgVerifyCountersignatureEncodedEx (HCRYPTPROV_LEGACY hCryptProv, DWORD dwEncodingType, PBYTE pbSignerInfo, DWORD cbSignerInfo, PBYTE pbSignerInfoCountersignature, DWORD cbSignerInfoCountersignature, DWORD dwSignerType, void *pvSigner, DWORD dwFlags, void *pvExtra);
      |                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:3357:18: error: expected ',' or ';' before 'CryptMsgCountersign'
 3357 |   WINBOOL WINAPI CryptMsgCountersign (HCRYPTMSG hCryptMsg, DWORD dwIndex, DWORD cCountersigners, PCMSG_SIGNER_ENCODE_INFO rgCountersigners);
      |                  ^~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:3358:18: error: expected ',' or ';' before 'CryptMsgCountersignEncoded'
 3358 |   WINBOOL WINAPI CryptMsgCountersignEncoded (DWORD dwEncodingType, PBYTE pbSignerInfo, DWORD cbSignerInfo, DWORD cCountersigners, PCMSG_SIGNER_ENCODE_INFO rgCountersigners, PBYTE pbCountersignature, PDWORD pcbCountersignature);
      |                  ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:3367:27: error: expected declaration specifiers or '...' before '*' token
 3367 |   typedef WINBOOL (WINAPI *PFN_CMSG_GEN_ENCRYPT_KEY) (HCRYPTPROV *phCryptProv, PCRYPT_ALGORITHM_IDENTIFIER paiEncrypt, PVOID pvEncryptAuxInfo, PCERT_PUBLIC_KEY_INFO pPublicKeyInfo, PFN_CMSG_ALLOC pfnAlloc, HCRYPTKEY *phEncryptKey, PBYTE *ppbEncryptParameters, PDWORD pcbEncryptParameters);
      |                           ^
/usr/include/w32api/wincrypt.h:3368:27: error: expected declaration specifiers or '...' before '*' token
 3368 |   typedef WINBOOL (WINAPI *PFN_CMSG_EXPORT_ENCRYPT_KEY) (HCRYPTPROV hCryptProv, HCRYPTKEY hEncryptKey, PCERT_PUBLIC_KEY_INFO pPublicKeyInfo, PBYTE pbData, PDWORD pcbData);
      |                           ^
/usr/include/w32api/wincrypt.h:3369:27: error: expected declaration specifiers or '...' before '*' token
 3369 |   typedef WINBOOL (WINAPI *PFN_CMSG_IMPORT_ENCRYPT_KEY) (HCRYPTPROV hCryptProv, DWORD dwKeySpec, PCRYPT_ALGORITHM_IDENTIFIER paiEncrypt, PCRYPT_ALGORITHM_IDENTIFIER paiPubKey, PBYTE pbEncodedKey, DWORD cbEncodedKey, HCRYPTKEY *phEncryptKey);
      |                           ^
/usr/include/w32api/wincrypt.h:3376:5: error: expected specifier-qualifier-list before 'DWORD'
 3376 |     DWORD cbSize;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:3406:27: error: expected declaration specifiers or '...' before '*' token
 3406 |   typedef WINBOOL (WINAPI *PFN_CMSG_GEN_CONTENT_ENCRYPT_KEY) (PCMSG_CONTENT_ENCRYPT_INFO pContentEncryptInfo, DWORD dwFlags, void *pvReserved);
      |                           ^
/usr/include/w32api/wincrypt.h:3409:5: error: expected specifier-qualifier-list before 'DWORD'
 3409 |     DWORD cbSize;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:3423:27: error: expected declaration specifiers or '...' before '*' token
 3423 |   typedef WINBOOL (WINAPI *PFN_CMSG_EXPORT_KEY_TRANS) (PCMSG_CONTENT_ENCRYPT_INFO pContentEncryptInfo, PCMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO pKeyTransEncodeInfo, PCMSG_KEY_TRANS_ENCRYPT_INFO pKeyTransEncryptInfo, DWORD dwFlags, void *pvReserved);
      |                           ^
/usr/include/w32api/wincrypt.h:3426:5: error: expected specifier-qualifier-list before 'DWORD'
 3426 |     DWORD cbSize;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:3431:5: error: expected specifier-qualifier-list before 'DWORD'
 3431 |     DWORD cbSize;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:3456:27: error: expected declaration specifiers or '...' before '*' token
 3456 |   typedef WINBOOL (WINAPI *PFN_CMSG_EXPORT_KEY_AGREE) (PCMSG_CONTENT_ENCRYPT_INFO pContentEncryptInfo, PCMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO pKeyAgreeEncodeInfo, PCMSG_KEY_AGREE_ENCRYPT_INFO pKeyAgreeEncryptInfo, DWORD dwFlags, void *pvReserved);
      |                           ^
/usr/include/w32api/wincrypt.h:3459:5: error: expected specifier-qualifier-list before 'DWORD'
 3459 |     DWORD cbSize;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:3478:27: error: expected declaration specifiers or '...' before '*' token
 3478 |   typedef WINBOOL (WINAPI *PFN_CMSG_EXPORT_MAIL_LIST) (PCMSG_CONTENT_ENCRYPT_INFO pContentEncryptInfo, PCMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO pMailListEncodeInfo, PCMSG_MAIL_LIST_ENCRYPT_INFO pMailListEncryptInfo, DWORD dwFlags, void *pvReserved);
      |                           ^
/usr/include/w32api/wincrypt.h:3479:27: error: expected declaration specifiers or '...' before '*' token
 3479 |   typedef WINBOOL (WINAPI *PFN_CMSG_IMPORT_KEY_TRANS) (PCRYPT_ALGORITHM_IDENTIFIER pContentEncryptionAlgorithm, PCMSG_CTRL_KEY_TRANS_DECRYPT_PARA pKeyTransDecryptPara, DWORD dwFlags, void *pvReserved, HCRYPTKEY *phContentEncryptKey);
      |                           ^
/usr/include/w32api/wincrypt.h:3480:27: error: expected declaration specifiers or '...' before '*' token
 3480 |   typedef WINBOOL (WINAPI *PFN_CMSG_IMPORT_KEY_AGREE) (PCRYPT_ALGORITHM_IDENTIFIER pContentEncryptionAlgorithm, PCMSG_CTRL_KEY_AGREE_DECRYPT_PARA pKeyAgreeDecryptPara, DWORD dwFlags, void *pvReserved, HCRYPTKEY *phContentEncryptKey);
      |                           ^
/usr/include/w32api/wincrypt.h:3481:27: error: expected declaration specifiers or '...' before '*' token
 3481 |   typedef WINBOOL (WINAPI *PFN_CMSG_IMPORT_MAIL_LIST) (PCRYPT_ALGORITHM_IDENTIFIER pContentEncryptionAlgorithm, PCMSG_CTRL_MAIL_LIST_DECRYPT_PARA pMailListDecryptPara, DWORD dwFlags, void *pvReserved, HCRYPTKEY *phContentEncryptKey);
      |                           ^
/usr/include/w32api/wincrypt.h:3484:5: error: expected specifier-qualifier-list before 'DWORD'
 3484 |     DWORD cbSize;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:3499:27: error: expected declaration specifiers or '...' before '*' token
 3499 |   typedef WINBOOL (WINAPI *PFN_CMSG_CNG_IMPORT_KEY_TRANS) (PCMSG_CNG_CONTENT_DECRYPT_INFO pCNGContentDecryptInfo, PCMSG_CTRL_KEY_TRANS_DECRYPT_PARA pKeyTransDecryptPara, DWORD dwFlags, void *pvReserved);
      |                           ^
/usr/include/w32api/wincrypt.h:3500:27: error: expected declaration specifiers or '...' before '*' token
 3500 |   typedef WINBOOL (WINAPI *PFN_CMSG_CNG_IMPORT_KEY_AGREE) (PCMSG_CNG_CONTENT_DECRYPT_INFO pCNGContentDecryptInfo, PCMSG_CTRL_KEY_AGREE_DECRYPT_PARA pKeyAgreeDecryptPara, DWORD dwFlags, void *pvReserved);
      |                           ^
/usr/include/w32api/wincrypt.h:3501:27: error: expected declaration specifiers or '...' before '*' token
 3501 |   typedef WINBOOL (WINAPI *PFN_CMSG_CNG_IMPORT_CONTENT_ENCRYPT_KEY) (PCMSG_CNG_CONTENT_DECRYPT_INFO pCNGContentDecryptInfo, DWORD dwFlags, void *pvReserved);
      |                           ^
/usr/include/w32api/wincrypt.h:3508:5: error: expected specifier-qualifier-list before 'DWORD'
 3508 |     DWORD dwCertEncodingType;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:3519:5: error: expected specifier-qualifier-list before 'DWORD'
 3519 |     DWORD dwCertEncodingType;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:3529:5: error: expected specifier-qualifier-list before 'DWORD'
 3529 |     DWORD dwMsgAndCertEncodingType;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:3700:5: error: expected specifier-qualifier-list before 'DWORD'
 3700 |     DWORD dwParam;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:3707:5: error: unknown type name 'LPWSTR'
 3707 |     LPWSTR pwszContainerName;
      |     ^~~~~~
/usr/include/w32api/wincrypt.h:3708:5: error: unknown type name 'LPWSTR'
 3708 |     LPWSTR pwszProvName;
      |     ^~~~~~
/usr/include/w32api/wincrypt.h:3709:5: error: expected specifier-qualifier-list before 'DWORD'
 3709 |     DWORD dwProvType;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:3722:5: error: expected specifier-qualifier-list before 'DWORD'
 3722 |     DWORD cbSize;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:3731:5: error: expected specifier-qualifier-list before 'DWORD'
 3731 |     DWORD LowPart;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:3736:5: error: unknown type name 'BYTE'
 3736 |     BYTE rgbCardID [16];
      |     ^~~~
/usr/include/w32api/wincrypt.h:3816:7: error: unknown type name 'HKEY'
 3816 |       HKEY hKeyBase;
      |       ^~~~
/usr/include/w32api/wincrypt.h:3821:7: error: unknown type name 'LPCSTR'
 3821 |       LPCSTR pszSystemStore;
      |       ^~~~~~
/usr/include/w32api/wincrypt.h:3822:7: error: expected specifier-qualifier-list before 'LPCWSTR'
 3822 |       LPCWSTR pwszSystemStore;
      |       ^~~~~~~
/usr/include/w32api/wincrypt.h:3938:5: error: unknown type name 'HKEY'
 3938 |     HKEY hKeyBase;
      |     ^~~~
/usr/include/w32api/wincrypt.h:3939:5: error: unknown type name 'LPWSTR'
 3939 |     LPWSTR pwszRegPath;
      |     ^~~~~~
/usr/include/w32api/wincrypt.h:3945:5: error: unknown type name 'HKEY'
 3945 |     HKEY hKey;
      |     ^~~~
/usr/include/w32api/wincrypt.h:3946:5: error: unknown type name 'LPWSTR'
 3946 |     LPWSTR pwszStoreDirectory;
      |     ^~~~~~
/usr/include/w32api/wincrypt.h:3961:5: error: expected specifier-qualifier-list before 'LPCWSTR'
 3961 |     LPCWSTR pwszLdapUrl;
      |     ^~~~~~~
/usr/include/w32api/wincrypt.h:3966:42: error: unknown type name 'LPCSTR'
 3966 | WINIMPM HCERTSTORE WINAPI CertOpenStore (LPCSTR lpszStoreProvider, DWORD dwEncodingType, HCRYPTPROV_LEGACY hCryptProv, DWORD dwFlags, const void *pvPara);
      |                                          ^~~~~~
/usr/include/w32api/wincrypt.h:3966:68: error: expected declaration specifiers or '...' before 'DWORD'
 3966 | WINIMPM HCERTSTORE WINAPI CertOpenStore (LPCSTR lpszStoreProvider, DWORD dwEncodingType, HCRYPTPROV_LEGACY hCryptProv, DWORD dwFlags, const void *pvPara);
      |                                                                    ^~~~~
/usr/include/w32api/wincrypt.h:3966:120: error: expected declaration specifiers or '...' before 'DWORD'
 3966 | WINIMPM HCERTSTORE WINAPI CertOpenStore (LPCSTR lpszStoreProvider, DWORD dwEncodingType, HCRYPTPROV_LEGACY hCryptProv, DWORD dwFlags, const void *pvPara);
      |                                                                                                                        ^~~~~
/usr/include/w32api/wincrypt.h:3973:5: error: expected specifier-qualifier-list before 'DWORD'
 3973 |     DWORD cbSize;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:3981:27: error: expected declaration specifiers or '...' before '*' token
 3981 |   typedef WINBOOL (WINAPI *PFN_CERT_DLL_OPEN_STORE_PROV_FUNC) (LPCSTR lpszStoreProvider, DWORD dwEncodingType, HCRYPTPROV_LEGACY hCryptProv, DWORD dwFlags, const void *pvPara, HCERTSTORE hCertStore, PCERT_STORE_PROV_INFO pStoreProvInfo);
      |                           ^
/usr/include/w32api/wincrypt.h:4017:80: error: expected declaration specifiers or '...' before 'DWORD'
 4017 |   typedef void (WINAPI *PFN_CERT_STORE_PROV_CLOSE) (HCERTSTOREPROV hStoreProv, DWORD dwFlags);
      |                                                                                ^~~~~
/usr/include/w32api/wincrypt.h:4018:27: error: expected declaration specifiers or '...' before '*' token
 4018 |   typedef WINBOOL (WINAPI *PFN_CERT_STORE_PROV_READ_CERT) (HCERTSTOREPROV hStoreProv, PCCERT_CONTEXT pStoreCertContext, DWORD dwFlags, PCCERT_CONTEXT *ppProvCertContext);
      |                           ^
/usr/include/w32api/wincrypt.h:4019:27: error: expected declaration specifiers or '...' before '*' token
 4019 |   typedef WINBOOL (WINAPI *PFN_CERT_STORE_PROV_WRITE_CERT) (HCERTSTOREPROV hStoreProv, PCCERT_CONTEXT pCertContext, DWORD dwFlags);
      |                           ^
/usr/include/w32api/wincrypt.h:4020:27: error: expected declaration specifiers or '...' before '*' token
 4020 |   typedef WINBOOL (WINAPI *PFN_CERT_STORE_PROV_DELETE_CERT) (HCERTSTOREPROV hStoreProv, PCCERT_CONTEXT pCertContext, DWORD dwFlags);
      |                           ^
/usr/include/w32api/wincrypt.h:4021:27: error: expected declaration specifiers or '...' before '*' token
 4021 |   typedef WINBOOL (WINAPI *PFN_CERT_STORE_PROV_SET_CERT_PROPERTY) (HCERTSTOREPROV hStoreProv, PCCERT_CONTEXT pCertContext, DWORD dwPropId, DWORD dwFlags, const void *pvData);
      |                           ^
/usr/include/w32api/wincrypt.h:4022:27: error: expected declaration specifiers or '...' before '*' token
 4022 |   typedef WINBOOL (WINAPI *PFN_CERT_STORE_PROV_READ_CRL) (HCERTSTOREPROV hStoreProv, PCCRL_CONTEXT pStoreCrlContext, DWORD dwFlags, PCCRL_CONTEXT *ppProvCrlContext);
      |                           ^
/usr/include/w32api/wincrypt.h:4023:27: error: expected declaration specifiers or '...' before '*' token
 4023 |   typedef WINBOOL (WINAPI *PFN_CERT_STORE_PROV_WRITE_CRL) (HCERTSTOREPROV hStoreProv, PCCRL_CONTEXT pCrlContext, DWORD dwFlags);
      |                           ^
/usr/include/w32api/wincrypt.h:4024:27: error: expected declaration specifiers or '...' before '*' token
 4024 |   typedef WINBOOL (WINAPI *PFN_CERT_STORE_PROV_DELETE_CRL) (HCERTSTOREPROV hStoreProv, PCCRL_CONTEXT pCrlContext, DWORD dwFlags);
      |                           ^
/usr/include/w32api/wincrypt.h:4025:27: error: expected declaration specifiers or '...' before '*' token
 4025 |   typedef WINBOOL (WINAPI *PFN_CERT_STORE_PROV_SET_CRL_PROPERTY) (HCERTSTOREPROV hStoreProv, PCCRL_CONTEXT pCrlContext, DWORD dwPropId, DWORD dwFlags, const void *pvData);
      |                           ^
/usr/include/w32api/wincrypt.h:4026:27: error: expected declaration specifiers or '...' before '*' token
 4026 |   typedef WINBOOL (WINAPI *PFN_CERT_STORE_PROV_READ_CTL) (HCERTSTOREPROV hStoreProv, PCCTL_CONTEXT pStoreCtlContext, DWORD dwFlags, PCCTL_CONTEXT *ppProvCtlContext);
      |                           ^
/usr/include/w32api/wincrypt.h:4027:27: error: expected declaration specifiers or '...' before '*' token
 4027 |   typedef WINBOOL (WINAPI *PFN_CERT_STORE_PROV_WRITE_CTL) (HCERTSTOREPROV hStoreProv, PCCTL_CONTEXT pCtlContext, DWORD dwFlags);
      |                           ^
/usr/include/w32api/wincrypt.h:4028:27: error: expected declaration specifiers or '...' before '*' token
 4028 |   typedef WINBOOL (WINAPI *PFN_CERT_STORE_PROV_DELETE_CTL) (HCERTSTOREPROV hStoreProv, PCCTL_CONTEXT pCtlContext, DWORD dwFlags);
      |                           ^
/usr/include/w32api/wincrypt.h:4029:27: error: expected declaration specifiers or '...' before '*' token
 4029 |   typedef WINBOOL (WINAPI *PFN_CERT_STORE_PROV_SET_CTL_PROPERTY) (HCERTSTOREPROV hStoreProv, PCCTL_CONTEXT pCtlContext, DWORD dwPropId, DWORD dwFlags, const void *pvData);
      |                           ^
/usr/include/w32api/wincrypt.h:4030:27: error: expected declaration specifiers or '...' before '*' token
 4030 |   typedef WINBOOL (WINAPI *PFN_CERT_STORE_PROV_CONTROL) (HCERTSTOREPROV hStoreProv, DWORD dwFlags, DWORD dwCtrlType, void const *pvCtrlPara);
      |                           ^
/usr/include/w32api/wincrypt.h:4033:5: error: expected specifier-qualifier-list before 'DWORD'
 4033 |     DWORD cbSize;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:4042:27: error: expected declaration specifiers or '...' before '*' token
 4042 |   typedef WINBOOL (WINAPI *PFN_CERT_STORE_PROV_FIND_CERT) (HCERTSTOREPROV hStoreProv, PCCERT_STORE_PROV_FIND_INFO pFindInfo, PCCERT_CONTEXT pPrevCertContext, DWORD dwFlags, void **ppvStoreProvFindInfo, PCCERT_CONTEXT *ppProvCertContext);
      |                           ^
/usr/include/w32api/wincrypt.h:4043:27: error: expected declaration specifiers or '...' before '*' token
 4043 |   typedef WINBOOL (WINAPI *PFN_CERT_STORE_PROV_FREE_FIND_CERT) (HCERTSTOREPROV hStoreProv, PCCERT_CONTEXT pCertContext, void *pvStoreProvFindInfo, DWORD dwFlags);
      |                           ^
/usr/include/w32api/wincrypt.h:4044:27: error: expected declaration specifiers or '...' before '*' token
 4044 |   typedef WINBOOL (WINAPI *PFN_CERT_STORE_PROV_GET_CERT_PROPERTY) (HCERTSTOREPROV hStoreProv, PCCERT_CONTEXT pCertContext, DWORD dwPropId, DWORD dwFlags, void *pvData, DWORD *pcbData);
      |                           ^
/usr/include/w32api/wincrypt.h:4045:27: error: expected declaration specifiers or '...' before '*' token
 4045 |   typedef WINBOOL (WINAPI *PFN_CERT_STORE_PROV_FIND_CRL) (HCERTSTOREPROV hStoreProv, PCCERT_STORE_PROV_FIND_INFO pFindInfo, PCCRL_CONTEXT pPrevCrlContext, DWORD dwFlags, void **ppvStoreProvFindInfo, PCCRL_CONTEXT *ppProvCrlContext);
      |                           ^
/usr/include/w32api/wincrypt.h:4046:27: error: expected declaration specifiers or '...' before '*' token
 4046 |   typedef WINBOOL (WINAPI *PFN_CERT_STORE_PROV_FREE_FIND_CRL) (HCERTSTOREPROV hStoreProv, PCCRL_CONTEXT pCrlContext, void *pvStoreProvFindInfo, DWORD dwFlags);
      |                           ^
/usr/include/w32api/wincrypt.h:4047:27: error: expected declaration specifiers or '...' before '*' token
 4047 |   typedef WINBOOL (WINAPI *PFN_CERT_STORE_PROV_GET_CRL_PROPERTY) (HCERTSTOREPROV hStoreProv, PCCRL_CONTEXT pCrlContext, DWORD dwPropId, DWORD dwFlags, void *pvData, DWORD *pcbData);
      |                           ^
/usr/include/w32api/wincrypt.h:4048:27: error: expected declaration specifiers or '...' before '*' token
 4048 |   typedef WINBOOL (WINAPI *PFN_CERT_STORE_PROV_FIND_CTL) (HCERTSTOREPROV hStoreProv, PCCERT_STORE_PROV_FIND_INFO pFindInfo, PCCTL_CONTEXT pPrevCtlContext, DWORD dwFlags, void **ppvStoreProvFindInfo, PCCTL_CONTEXT *ppProvCtlContext);
      |                           ^
/usr/include/w32api/wincrypt.h:4049:27: error: expected declaration specifiers or '...' before '*' token
 4049 |   typedef WINBOOL (WINAPI *PFN_CERT_STORE_PROV_FREE_FIND_CTL) (HCERTSTOREPROV hStoreProv, PCCTL_CONTEXT pCtlContext, void *pvStoreProvFindInfo, DWORD dwFlags);
      |                           ^
/usr/include/w32api/wincrypt.h:4050:27: error: expected declaration specifiers or '...' before '*' token
 4050 |   typedef WINBOOL (WINAPI *PFN_CERT_STORE_PROV_GET_CTL_PROPERTY) (HCERTSTOREPROV hStoreProv, PCCTL_CONTEXT pCtlContext, DWORD dwPropId, DWORD dwFlags, void *pvData, DWORD *pcbData);
      |                           ^
/usr/include/w32api/wincrypt.h:4067:26: error: expected ',' or ';' before 'CertSaveStore'
 4067 |   WINIMPM WINBOOL WINAPI CertSaveStore (HCERTSTORE hCertStore, DWORD dwEncodingType, DWORD dwSaveAs, DWORD dwSaveTo, void *pvSaveToPara, DWORD dwFlags);
      |                          ^~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:4068:26: error: expected ',' or ';' before 'CertCloseStore'
 4068 |   WINIMPM WINBOOL WINAPI CertCloseStore (HCERTSTORE hCertStore, DWORD dwFlags);
      |                          ^~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:4069:92: error: expected declaration specifiers or '...' before 'DWORD'
 4069 |   WINIMPM PCCERT_CONTEXT WINAPI CertGetSubjectCertificateFromStore (HCERTSTORE hCertStore, DWORD dwCertEncodingType, PCERT_INFO pCertId);
      |                                                                                            ^~~~~
/usr/include/w32api/wincrypt.h:4071:84: error: expected declaration specifiers or '...' before 'DWORD'
 4071 |   WINIMPM PCCERT_CONTEXT WINAPI CertFindCertificateInStore (HCERTSTORE hCertStore, DWORD dwCertEncodingType, DWORD dwFindFlags, DWORD dwFindType, const void *pvFindPara, PCCERT_CONTEXT pPrevCertContext);
      |                                                                                    ^~~~~
/usr/include/w32api/wincrypt.h:4071:110: error: expected declaration specifiers or '...' before 'DWORD'
 4071 |   WINIMPM PCCERT_CONTEXT WINAPI CertFindCertificateInStore (HCERTSTORE hCertStore, DWORD dwCertEncodingType, DWORD dwFindFlags, DWORD dwFindType, const void *pvFindPara, PCCERT_CONTEXT pPrevCertContext);
      |                                                                                                              ^~~~~
/usr/include/w32api/wincrypt.h:4071:129: error: expected declaration specifiers or '...' before 'DWORD'
 4071 |   WINIMPM PCCERT_CONTEXT WINAPI CertFindCertificateInStore (HCERTSTORE hCertStore, DWORD dwCertEncodingType, DWORD dwFindFlags, DWORD dwFindType, const void *pvFindPara, PCCERT_CONTEXT pPrevCertContext);
      |                                                                                                                                 ^~~~~
/usr/include/w32api/wincrypt.h:4145:158: error: expected declaration specifiers or '...' before 'DWORD'
 4145 |   WINIMPM PCCERT_CONTEXT WINAPI CertGetIssuerCertificateFromStore (HCERTSTORE hCertStore, PCCERT_CONTEXT pSubjectContext, PCCERT_CONTEXT pPrevIssuerContext, DWORD *pdwFlags);
      |                                                                                                                                                              ^~~~~
/usr/include/w32api/wincrypt.h:4146:26: error: expected ',' or ';' before 'CertVerifySubjectCertificateContext'
 4146 |   WINIMPM WINBOOL WINAPI CertVerifySubjectCertificateContext (PCCERT_CONTEXT pSubject, PCCERT_CONTEXT pIssuer, DWORD *pdwFlags);
      |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:4148:63: error: expected declaration specifiers or '...' before 'DWORD'
 4148 |   WINIMPM PCCERT_CONTEXT WINAPI CertCreateCertificateContext (DWORD dwCertEncodingType, const BYTE *pbCertEncoded, DWORD cbCertEncoded);
      |                                                               ^~~~~
/usr/include/w32api/wincrypt.h:4148:95: error: unknown type name 'BYTE'
 4148 |   WINIMPM PCCERT_CONTEXT WINAPI CertCreateCertificateContext (DWORD dwCertEncodingType, const BYTE *pbCertEncoded, DWORD cbCertEncoded);
      |                                                                                               ^~~~
/usr/include/w32api/wincrypt.h:4148:116: error: expected declaration specifiers or '...' before 'DWORD'
 4148 |   WINIMPM PCCERT_CONTEXT WINAPI CertCreateCertificateContext (DWORD dwCertEncodingType, const BYTE *pbCertEncoded, DWORD cbCertEncoded);
      |                                                                                                                    ^~~~~
/usr/include/w32api/wincrypt.h:4149:26: error: expected ',' or ';' before 'CertFreeCertificateContext'
 4149 |   WINIMPM WINBOOL WINAPI CertFreeCertificateContext (PCCERT_CONTEXT pCertContext);
      |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:4150:26: error: expected ',' or ';' before 'CertSetCertificateContextProperty'
 4150 |   WINIMPM WINBOOL WINAPI CertSetCertificateContextProperty (PCCERT_CONTEXT pCertContext, DWORD dwPropId, DWORD dwFlags, const void *pvData);
      |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:4199:26: error: expected ',' or ';' before 'CertDeleteCRLFromStore'
 4199 |   WINIMPM WINBOOL WINAPI CertDeleteCRLFromStore (PCCRL_CONTEXT pCrlContext);
      |                          ^~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:4201:75: error: expected declaration specifiers or '...' before 'DWORD'
 4201 |   WINIMPM PCCRL_CONTEXT WINAPI CertFindCRLInStore (HCERTSTORE hCertStore, DWORD dwCertEncodingType, DWORD dwFindFlags, DWORD dwFindType, const void *pvFindPara, PCCRL_CONTEXT pPrevCrlContext);
      |                                                                           ^~~~~
/usr/include/w32api/wincrypt.h:4201:101: error: expected declaration specifiers or '...' before 'DWORD'
 4201 |   WINIMPM PCCRL_CONTEXT WINAPI CertFindCRLInStore (HCERTSTORE hCertStore, DWORD dwCertEncodingType, DWORD dwFindFlags, DWORD dwFindType, const void *pvFindPara, PCCRL_CONTEXT pPrevCrlContext);
      |                                                                                                     ^~~~~
/usr/include/w32api/wincrypt.h:4201:120: error: expected declaration specifiers or '...' before 'DWORD'
 4201 |   WINIMPM PCCRL_CONTEXT WINAPI CertFindCRLInStore (HCERTSTORE hCertStore, DWORD dwCertEncodingType, DWORD dwFindFlags, DWORD dwFindType, const void *pvFindPara, PCCRL_CONTEXT pPrevCrlContext);
      |                                                                                                                        ^~~~~
/usr/include/w32api/wincrypt.h:4202:26: error: expected ',' or ';' before 'CertFreeCRLContext'
 4202 |   WINIMPM WINBOOL WINAPI CertFreeCRLContext (PCCRL_CONTEXT pCrlContext);
      |                          ^~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:4205:26: error: expected ',' or ';' before 'CertGetCertificateContextProperty'
 4205 |   WINIMPM WINBOOL WINAPI CertGetCertificateContextProperty (PCCERT_CONTEXT pCertContext, DWORD dwPropId, void *pvData, DWORD *pcbData);
      |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:4206:24: error: expected ',' or ';' before 'CertEnumCertificateContextProperties'
 4206 |   WINIMPM DWORD WINAPI CertEnumCertificateContextProperties (PCCERT_CONTEXT pCertContext, DWORD dwPropId);
      |                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:4207:26: error: expected ',' or ';' before 'CertDeleteCertificateFromStore'
 4207 |   WINIMPM WINBOOL WINAPI CertDeleteCertificateFromStore (PCCERT_CONTEXT pCertContext);
      |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:4211:26: error: expected ',' or ';' before 'CertCreateCTLEntryFromCertificateContextProperties'
 4211 |   WINIMPM WINBOOL WINAPI CertCreateCTLEntryFromCertificateContextProperties (PCCERT_CONTEXT pCertContext, DWORD cOptAttr, PCRYPT_ATTRIBUTE rgOptAttr, DWORD dwFlags, void *pvReserved, PCTL_ENTRY pCtlEntry, DWORD *pcbCtlEntry);
      |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:4212:26: error: expected ',' or ';' before 'CertSetCertificateContextPropertiesFromCTLEntry'
 4212 |   WINIMPM WINBOOL WINAPI CertSetCertificateContextPropertiesFromCTLEntry (PCCERT_CONTEXT pCertContext, PCTL_ENTRY pCtlEntry, DWORD dwFlags);
      |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:4213:138: error: expected declaration specifiers or '...' before 'DWORD'
 4213 |   WINIMPM PCCRL_CONTEXT WINAPI CertGetCRLFromStore (HCERTSTORE hCertStore, PCCERT_CONTEXT pIssuerContext, PCCRL_CONTEXT pPrevCrlContext, DWORD *pdwFlags);
      |                                                                                                                                          ^~~~~
/usr/include/w32api/wincrypt.h:4214:54: error: expected declaration specifiers or '...' before 'DWORD'
 4214 |   WINIMPM PCCRL_CONTEXT WINAPI CertCreateCRLContext (DWORD dwCertEncodingType, const BYTE *pbCrlEncoded, DWORD cbCrlEncoded);
      |                                                      ^~~~~
/usr/include/w32api/wincrypt.h:4214:86: error: unknown type name 'BYTE'
 4214 |   WINIMPM PCCRL_CONTEXT WINAPI CertCreateCRLContext (DWORD dwCertEncodingType, const BYTE *pbCrlEncoded, DWORD cbCrlEncoded);
      |                                                                                      ^~~~
/usr/include/w32api/wincrypt.h:4214:106: error: expected declaration specifiers or '...' before 'DWORD'
 4214 |   WINIMPM PCCRL_CONTEXT WINAPI CertCreateCRLContext (DWORD dwCertEncodingType, const BYTE *pbCrlEncoded, DWORD cbCrlEncoded);
      |                                                                                                          ^~~~~
/usr/include/w32api/wincrypt.h:4215:26: error: expected ',' or ';' before 'CertSetCRLContextProperty'
 4215 |   WINIMPM WINBOOL WINAPI CertSetCRLContextProperty (PCCRL_CONTEXT pCrlContext, DWORD dwPropId, DWORD dwFlags, const void *pvData);
      |                          ^~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:4216:26: error: expected ',' or ';' before 'CertGetCRLContextProperty'
 4216 |   WINIMPM WINBOOL WINAPI CertGetCRLContextProperty (PCCRL_CONTEXT pCrlContext, DWORD dwPropId, void *pvData, DWORD *pcbData);
      |                          ^~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:4217:24: error: expected ',' or ';' before 'CertEnumCRLContextProperties'
 4217 |   WINIMPM DWORD WINAPI CertEnumCRLContextProperties (PCCRL_CONTEXT pCrlContext, DWORD dwPropId);
      |                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:4218:26: error: expected ',' or ';' before 'CertFindCertificateInCRL'
 4218 |   WINIMPM WINBOOL WINAPI CertFindCertificateInCRL (PCCERT_CONTEXT pCert, PCCRL_CONTEXT pCrlContext, DWORD dwFlags, void *pvReserved, PCRL_ENTRY *ppCrlEntry);
      |                          ^~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:4219:26: error: expected ',' or ';' before 'CertIsValidCRLForCertificate'
 4219 |   WINIMPM WINBOOL WINAPI CertIsValidCRLForCertificate (PCCERT_CONTEXT pCert, PCCRL_CONTEXT pCrl, DWORD dwFlags, void *pvReserved);
      |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:4220:26: error: expected ',' or ';' before 'CertAddEncodedCertificateToStore'
 4220 |   WINIMPM WINBOOL WINAPI CertAddEncodedCertificateToStore (HCERTSTORE hCertStore, DWORD dwCertEncodingType, const BYTE *pbCertEncoded, DWORD cbCertEncoded, DWORD dwAddDisposition, PCCERT_CONTEXT *ppCertContext);
      |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:4221:26: error: expected ',' or ';' before 'CertAddCertificateContextToStore'
 4221 |   WINIMPM WINBOOL WINAPI CertAddCertificateContextToStore (HCERTSTORE hCertStore, PCCERT_CONTEXT pCertContext, DWORD dwAddDisposition, PCCERT_CONTEXT *ppStoreContext);
      |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:4222:26: error: expected ',' or ';' before 'CertAddSerializedElementToStore'
 4222 |   WINIMPM WINBOOL WINAPI CertAddSerializedElementToStore (HCERTSTORE hCertStore, const BYTE *pbElement, DWORD cbElement, DWORD dwAddDisposition, DWORD dwFlags, DWORD dwContextTypeFlags, DWORD *pdwContextType, const void **ppvContext);
      |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:4223:26: error: expected ',' or ';' before 'CertAddEncodedCRLToStore'
 4223 |   WINIMPM WINBOOL WINAPI CertAddEncodedCRLToStore (HCERTSTORE hCertStore, DWORD dwCertEncodingType, const BYTE *pbCrlEncoded, DWORD cbCrlEncoded, DWORD dwAddDisposition, PCCRL_CONTEXT *ppCrlContext);
      |                          ^~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:4224:26: error: expected ',' or ';' before 'CertAddCRLContextToStore'
 4224 |   WINIMPM WINBOOL WINAPI CertAddCRLContextToStore (HCERTSTORE hCertStore, PCCRL_CONTEXT pCrlContext, DWORD dwAddDisposition, PCCRL_CONTEXT *ppStoreContext);
      |                          ^~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:4225:26: error: expected ',' or ';' before 'CertSerializeCertificateStoreElement'
 4225 |   WINIMPM WINBOOL WINAPI CertSerializeCertificateStoreElement (PCCERT_CONTEXT pCertContext, DWORD dwFlags, BYTE *pbElement, DWORD *pcbElement);
      |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:4226:26: error: expected ',' or ';' before 'CertSerializeCRLStoreElement'
 4226 |   WINIMPM WINBOOL WINAPI CertSerializeCRLStoreElement (PCCRL_CONTEXT pCrlContext, DWORD dwFlags, BYTE *pbElement, DWORD *pcbElement);
      |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:4228:54: error: expected declaration specifiers or '...' before 'DWORD'
 4228 |   WINIMPM PCCTL_CONTEXT WINAPI CertCreateCTLContext (DWORD dwMsgAndCertEncodingType, const BYTE *pbCtlEncoded, DWORD cbCtlEncoded);
      |                                                      ^~~~~
/usr/include/w32api/wincrypt.h:4228:92: error: unknown type name 'BYTE'
 4228 |   WINIMPM PCCTL_CONTEXT WINAPI CertCreateCTLContext (DWORD dwMsgAndCertEncodingType, const BYTE *pbCtlEncoded, DWORD cbCtlEncoded);
      |                                                                                            ^~~~
/usr/include/w32api/wincrypt.h:4228:112: error: expected declaration specifiers or '...' before 'DWORD'
 4228 |   WINIMPM PCCTL_CONTEXT WINAPI CertCreateCTLContext (DWORD dwMsgAndCertEncodingType, const BYTE *pbCtlEncoded, DWORD cbCtlEncoded);
      |                                                                                                                ^~~~~
/usr/include/w32api/wincrypt.h:4229:26: error: expected ',' or ';' before 'CertFreeCTLContext'
 4229 |   WINIMPM WINBOOL WINAPI CertFreeCTLContext (PCCTL_CONTEXT pCtlContext);
      |                          ^~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:4230:26: error: expected ',' or ';' before 'CertSetCTLContextProperty'
 4230 |   WINIMPM WINBOOL WINAPI CertSetCTLContextProperty (PCCTL_CONTEXT pCtlContext, DWORD dwPropId, DWORD dwFlags, const void *pvData);
      |                          ^~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:4231:26: error: expected ',' or ';' before 'CertGetCTLContextProperty'
 4231 |   WINIMPM WINBOOL WINAPI CertGetCTLContextProperty (PCCTL_CONTEXT pCtlContext, DWORD dwPropId, void *pvData, DWORD *pcbData);
      |                          ^~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:4232:24: error: expected ',' or ';' before 'CertEnumCTLContextProperties'
 4232 |   WINIMPM DWORD WINAPI CertEnumCTLContextProperties (PCCTL_CONTEXT pCtlContext, DWORD dwPropId);
      |                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:4234:51: error: expected declaration specifiers or '...' before 'DWORD'
 4234 |   WINIMPM PCTL_ENTRY WINAPI CertFindSubjectInCTL (DWORD dwEncodingType, DWORD dwSubjectType, void *pvSubject, PCCTL_CONTEXT pCtlContext, DWORD dwFlags);
      |                                                   ^~~~~
/usr/include/w32api/wincrypt.h:4234:73: error: expected declaration specifiers or '...' before 'DWORD'
 4234 |   WINIMPM PCTL_ENTRY WINAPI CertFindSubjectInCTL (DWORD dwEncodingType, DWORD dwSubjectType, void *pvSubject, PCCTL_CONTEXT pCtlContext, DWORD dwFlags);
      |                                                                         ^~~~~
/usr/include/w32api/wincrypt.h:4234:138: error: expected declaration specifiers or '...' before 'DWORD'
 4234 |   WINIMPM PCTL_ENTRY WINAPI CertFindSubjectInCTL (DWORD dwEncodingType, DWORD dwSubjectType, void *pvSubject, PCCTL_CONTEXT pCtlContext, DWORD dwFlags);
      |                                                                                                                                          ^~~~~
/usr/include/w32api/wincrypt.h:4235:75: error: expected declaration specifiers or '...' before 'DWORD'
 4235 |   WINIMPM PCCTL_CONTEXT WINAPI CertFindCTLInStore (HCERTSTORE hCertStore, DWORD dwMsgAndCertEncodingType, DWORD dwFindFlags, DWORD dwFindType, const void *pvFindPara, PCCTL_CONTEXT pPrevCtlContext);
      |                                                                           ^~~~~
/usr/include/w32api/wincrypt.h:4235:107: error: expected declaration specifiers or '...' before 'DWORD'
 4235 |   WINIMPM PCCTL_CONTEXT WINAPI CertFindCTLInStore (HCERTSTORE hCertStore, DWORD dwMsgAndCertEncodingType, DWORD dwFindFlags, DWORD dwFindType, const void *pvFindPara, PCCTL_CONTEXT pPrevCtlContext);
      |                                                                                                           ^~~~~
/usr/include/w32api/wincrypt.h:4235:126: error: expected declaration specifiers or '...' before 'DWORD'
 4235 |   WINIMPM PCCTL_CONTEXT WINAPI CertFindCTLInStore (HCERTSTORE hCertStore, DWORD dwMsgAndCertEncodingType, DWORD dwFindFlags, DWORD dwFindType, const void *pvFindPara, PCCTL_CONTEXT pPrevCtlContext);
      |                                                                                                                              ^~~~~
/usr/include/w32api/wincrypt.h:4273:5: error: expected specifier-qualifier-list before 'DWORD'
 4273 |     DWORD cbSize;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:4280:5: error: expected specifier-qualifier-list before 'DWORD'
 4280 |     DWORD cbSize;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:4286:27: error: expected declaration specifiers or '...' before '*' token
 4286 |   typedef WINBOOL (WINAPI *PFN_CERT_CREATE_CONTEXT_SORT_FUNC) (DWORD cbTotalEncoded, DWORD cbRemainEncoded, DWORD cEntry, void *pvSort);
      |                           ^
/usr/include/w32api/wincrypt.h:4289:5: error: expected specifier-qualifier-list before 'DWORD'
 4289 |     DWORD cbSize;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:4297:5: error: expected specifier-qualifier-list before 'DWORD'
 4297 |     DWORD cbSize;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:4301:5: error: expected specifier-qualifier-list before 'DWORD'
 4301 |     DWORD cbSize;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:4310:26: error: expected ',' or ';' before 'CertAddEncodedCTLToStore'
 4310 |   WINIMPM WINBOOL WINAPI CertAddEncodedCTLToStore (HCERTSTORE hCertStore, DWORD dwMsgAndCertEncodingType, const BYTE *pbCtlEncoded, DWORD cbCtlEncoded, DWORD dwAddDisposition, PCCTL_CONTEXT *ppCtlContext);
      |                          ^~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:4311:26: error: expected ',' or ';' before 'CertAddCTLContextToStore'
 4311 |   WINIMPM WINBOOL WINAPI CertAddCTLContextToStore (HCERTSTORE hCertStore, PCCTL_CONTEXT pCtlContext, DWORD dwAddDisposition, PCCTL_CONTEXT *ppStoreContext);
      |                          ^~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:4312:26: error: expected ',' or ';' before 'CertSerializeCTLStoreElement'
 4312 |   WINIMPM WINBOOL WINAPI CertSerializeCTLStoreElement (PCCTL_CONTEXT pCtlContext, DWORD dwFlags, BYTE *pbElement, DWORD *pcbElement);
      |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:4313:26: error: expected ',' or ';' before 'CertDeleteCTLFromStore'
 4313 |   WINIMPM WINBOOL WINAPI CertDeleteCTLFromStore (PCCTL_CONTEXT pCtlContext);
      |                          ^~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:4314:26: error: expected ',' or ';' before 'CertAddCertificateLinkToStore'
 4314 |   WINIMPM WINBOOL WINAPI CertAddCertificateLinkToStore (HCERTSTORE hCertStore, PCCERT_CONTEXT pCertContext, DWORD dwAddDisposition, PCCERT_CONTEXT *ppStoreContext);
      |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:4315:26: error: expected ',' or ';' before 'CertAddCRLLinkToStore'
 4315 |   WINIMPM WINBOOL WINAPI CertAddCRLLinkToStore (HCERTSTORE hCertStore, PCCRL_CONTEXT pCrlContext, DWORD dwAddDisposition, PCCRL_CONTEXT *ppStoreContext);
      |                          ^~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:4316:26: error: expected ',' or ';' before 'CertAddCTLLinkToStore'
 4316 |   WINIMPM WINBOOL WINAPI CertAddCTLLinkToStore (HCERTSTORE hCertStore, PCCTL_CONTEXT pCtlContext, DWORD dwAddDisposition, PCCTL_CONTEXT *ppStoreContext);
      |                          ^~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:4317:26: error: expected ',' or ';' before 'CertAddStoreToCollection'
 4317 |   WINIMPM WINBOOL WINAPI CertAddStoreToCollection (HCERTSTORE hCollectionStore, HCERTSTORE hSiblingStore, DWORD dwUpdateFlags, DWORD dwPriority);
      |                          ^~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:4319:26: error: expected ',' or ';' before 'CertControlStore'
 4319 |   WINIMPM WINBOOL WINAPI CertControlStore (HCERTSTORE hCertStore, DWORD dwFlags, DWORD dwCtrlType, void const *pvCtrlPara);
      |                          ^~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:4320:26: error: expected ',' or ';' before 'CertSetStoreProperty'
 4320 |   WINIMPM WINBOOL WINAPI CertSetStoreProperty (HCERTSTORE hCertStore, DWORD dwPropId, DWORD dwFlags, const void *pvData);
      |                          ^~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:4321:26: error: expected ',' or ';' before 'CertGetStoreProperty'
 4321 |   WINIMPM WINBOOL WINAPI CertGetStoreProperty (HCERTSTORE hCertStore, DWORD dwPropId, void *pvData, DWORD *pcbData);
      |                          ^~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:4322:49: error: expected declaration specifiers or '...' before 'DWORD'
 4322 |   WINIMPM const void *WINAPI CertCreateContext (DWORD dwContextType, DWORD dwEncodingType, const BYTE *pbEncoded, DWORD cbEncoded, DWORD dwFlags, PCERT_CREATE_CONTEXT_PARA pCreatePara);
      |                                                 ^~~~~
/usr/include/w32api/wincrypt.h:4322:70: error: expected declaration specifiers or '...' before 'DWORD'
 4322 |   WINIMPM const void *WINAPI CertCreateContext (DWORD dwContextType, DWORD dwEncodingType, const BYTE *pbEncoded, DWORD cbEncoded, DWORD dwFlags, PCERT_CREATE_CONTEXT_PARA pCreatePara);
      |                                                                      ^~~~~
/usr/include/w32api/wincrypt.h:4322:98: error: unknown type name 'BYTE'
 4322 |   WINIMPM const void *WINAPI CertCreateContext (DWORD dwContextType, DWORD dwEncodingType, const BYTE *pbEncoded, DWORD cbEncoded, DWORD dwFlags, PCERT_CREATE_CONTEXT_PARA pCreatePara);
      |                                                                                                  ^~~~
/usr/include/w32api/wincrypt.h:4322:115: error: expected declaration specifiers or '...' before 'DWORD'
 4322 |   WINIMPM const void *WINAPI CertCreateContext (DWORD dwContextType, DWORD dwEncodingType, const BYTE *pbEncoded, DWORD cbEncoded, DWORD dwFlags, PCERT_CREATE_CONTEXT_PARA pCreatePara);
      |                                                                                                                   ^~~~~
/usr/include/w32api/wincrypt.h:4322:132: error: expected declaration specifiers or '...' before 'DWORD'
 4322 |   WINIMPM const void *WINAPI CertCreateContext (DWORD dwContextType, DWORD dwEncodingType, const BYTE *pbEncoded, DWORD cbEncoded, DWORD dwFlags, PCERT_CREATE_CONTEXT_PARA pCreatePara);
      |                                                                                                                                    ^~~~~
/usr/include/w32api/wincrypt.h:4323:26: error: expected ',' or ';' before 'CertRegisterSystemStore'
 4323 |   WINIMPM WINBOOL WINAPI CertRegisterSystemStore (const void *pvSystemStore, DWORD dwFlags, PCERT_SYSTEM_STORE_INFO pStoreInfo, void *pvReserved);
      |                          ^~~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:4324:26: error: expected ',' or ';' before 'CertRegisterPhysicalStore'
 4324 |   WINIMPM WINBOOL WINAPI CertRegisterPhysicalStore (const void *pvSystemStore, DWORD dwFlags, LPCWSTR pwszStoreName, PCERT_PHYSICAL_STORE_INFO pStoreInfo, void *pvReserved);
      |                          ^~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:4325:26: error: expected ',' or ';' before 'CertUnregisterSystemStore'
 4325 |   WINIMPM WINBOOL WINAPI CertUnregisterSystemStore (const void *pvSystemStore, DWORD dwFlags);
      |                          ^~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:4326:26: error: expected ',' or ';' before 'CertUnregisterPhysicalStore'
 4326 |   WINIMPM WINBOOL WINAPI CertUnregisterPhysicalStore (const void *pvSystemStore, DWORD dwFlags, LPCWSTR pwszStoreName);
      |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:4328:27: error: expected declaration specifiers or '...' before '*' token
 4328 |   typedef WINBOOL (WINAPI *PFN_CERT_ENUM_SYSTEM_STORE_LOCATION) (LPCWSTR pwszStoreLocation, DWORD dwFlags, void *pvReserved, void *pvArg);
      |                           ^
/usr/include/w32api/wincrypt.h:4329:27: error: expected declaration specifiers or '...' before '*' token
 4329 |   typedef WINBOOL (WINAPI *PFN_CERT_ENUM_SYSTEM_STORE) (const void *pvSystemStore, DWORD dwFlags, PCERT_SYSTEM_STORE_INFO pStoreInfo, void *pvReserved, void *pvArg);
      |                           ^
/usr/include/w32api/wincrypt.h:4330:27: error: expected declaration specifiers or '...' before '*' token
 4330 |   typedef WINBOOL (WINAPI *PFN_CERT_ENUM_PHYSICAL_STORE) (const void *pvSystemStore, DWORD dwFlags, LPCWSTR pwszStoreName, PCERT_PHYSICAL_STORE_INFO pStoreInfo, void *pvReserved, void *pvArg);
      |                           ^
/usr/include/w32api/wincrypt.h:4343:26: error: expected ',' or ';' before 'CertEnumSystemStoreLocation'
 4343 |   WINIMPM WINBOOL WINAPI CertEnumSystemStoreLocation (DWORD dwFlags, void *pvArg, PFN_CERT_ENUM_SYSTEM_STORE_LOCATION pfnEnum);
      |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:4344:26: error: expected ',' or ';' before 'CertEnumSystemStore'
 4344 |   WINIMPM WINBOOL WINAPI CertEnumSystemStore (DWORD dwFlags, void *pvSystemStoreLocationPara, void *pvArg, PFN_CERT_ENUM_SYSTEM_STORE pfnEnum);
      |                          ^~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:4345:26: error: expected ',' or ';' before 'CertEnumPhysicalStore'
 4345 |   WINIMPM WINBOOL WINAPI CertEnumPhysicalStore (const void *pvSystemStore, DWORD dwFlags, void *pvArg, PFN_CERT_ENUM_PHYSICAL_STORE pfnEnum);
      |                          ^~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:4364:26: error: expected ',' or ';' before 'CertGetEnhancedKeyUsage'
 4364 |   WINIMPM WINBOOL WINAPI CertGetEnhancedKeyUsage (PCCERT_CONTEXT pCertContext, DWORD dwFlags, PCERT_ENHKEY_USAGE pUsage, DWORD *pcbUsage);
      |                          ^~~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:4365:26: error: expected ',' or ';' before 'CertSetEnhancedKeyUsage'
 4365 |   WINIMPM WINBOOL WINAPI CertSetEnhancedKeyUsage (PCCERT_CONTEXT pCertContext, PCERT_ENHKEY_USAGE pUsage);
      |                          ^~~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:4366:26: error: expected ',' or ';' before 'CertAddEnhancedKeyUsageIdentifier'
 4366 |   WINIMPM WINBOOL WINAPI CertAddEnhancedKeyUsageIdentifier (PCCERT_CONTEXT pCertContext, LPCSTR pszUsageIdentifier);
      |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:4367:26: error: expected ',' or ';' before 'CertRemoveEnhancedKeyUsageIdentifier'
 4367 |   WINIMPM WINBOOL WINAPI CertRemoveEnhancedKeyUsageIdentifier (PCCERT_CONTEXT pCertContext, LPCSTR pszUsageIdentifier);
      |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:4368:26: error: expected ',' or ';' before 'CertGetValidUsages'
 4368 |   WINIMPM WINBOOL WINAPI CertGetValidUsages (DWORD cCerts, PCCERT_CONTEXT *rghCerts, int *cNumOIDs, LPSTR *rghOIDs, DWORD *pcbOIDs);
      |                          ^~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:4369:26: error: expected ',' or ';' before 'CryptMsgGetAndVerifySigner'
 4369 |   WINIMPM WINBOOL WINAPI CryptMsgGetAndVerifySigner (HCRYPTMSG hCryptMsg, DWORD cSignerStore, HCERTSTORE *rghSignerStore, DWORD dwFlags, PCCERT_CONTEXT *ppSigner, DWORD *pdwSignerIndex);
      |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:4370:26: error: expected ',' or ';' before 'CryptMsgSignCTL'
 4370 |   WINIMPM WINBOOL WINAPI CryptMsgSignCTL (DWORD dwMsgEncodingType, BYTE *pbCtlContent, DWORD cbCtlContent, PCMSG_SIGNED_ENCODE_INFO pSignInfo, DWORD dwFlags, BYTE *pbEncoded, DWORD *pcbEncoded);
      |                          ^~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:4371:26: error: expected ',' or ';' before 'CryptMsgEncodeAndSignCTL'
 4371 |   WINIMPM WINBOOL WINAPI CryptMsgEncodeAndSignCTL (DWORD dwMsgEncodingType, PCTL_INFO pCtlInfo, PCMSG_SIGNED_ENCODE_INFO pSignInfo, DWORD dwFlags, BYTE *pbEncoded, DWORD *pcbEncoded);
      |                          ^~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:4372:26: error: expected ',' or ';' before 'CertFindSubjectInSortedCTL'
 4372 |   WINIMPM WINBOOL WINAPI CertFindSubjectInSortedCTL (PCRYPT_DATA_BLOB pSubjectIdentifier, PCCTL_CONTEXT pCtlContext, DWORD dwFlags, void *pvReserved, PCRYPT_DER_BLOB pEncodedAttributes);
      |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:4373:26: error: expected ',' or ';' before 'CertEnumSubjectInSortedCTL'
 4373 |   WINIMPM WINBOOL WINAPI CertEnumSubjectInSortedCTL (PCCTL_CONTEXT pCtlContext, void **ppvNextSubject, PCRYPT_DER_BLOB pSubjectIdentifier, PCRYPT_DER_BLOB pEncodedAttributes);
      |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:4376:5: error: expected specifier-qualifier-list before 'DWORD'
 4376 |     DWORD cbSize;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:4385:5: error: expected specifier-qualifier-list before 'DWORD'
 4385 |     DWORD cbSize;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:4401:26: error: expected ',' or ';' before 'CertVerifyCTLUsage'
 4401 |   WINIMPM WINBOOL WINAPI CertVerifyCTLUsage (DWORD dwEncodingType, DWORD dwSubjectType, void *pvSubject, PCTL_USAGE pSubjectUsage, DWORD dwFlags, PCTL_VERIFY_USAGE_PARA pVerifyUsagePara, PCTL_VERIFY_USAGE_STATUS pVerifyUsageStatus);
      |                          ^~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:4404:5: error: expected specifier-qualifier-list before 'DWORD'
 4404 |     DWORD cbSize;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:4414:5: error: expected specifier-qualifier-list before 'DWORD'
 4414 |     DWORD cbSize;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:4432:5: error: expected specifier-qualifier-list before 'DWORD'
 4432 |     DWORD cbSize;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:4480:27: error: expected declaration specifiers or '...' before '*' token
 4480 |   typedef WINBOOL (WINAPI *PFN_CRYPT_EXTRACT_ENCODED_SIGNATURE_PARAMETERS_FUNC) (DWORD dwCertEncodingType, PCRYPT_ALGORITHM_IDENTIFIER pSignatureAlgorithm, void **ppvDecodedSignPara, LPWSTR *ppwszCNGHashAlgid);
      |                           ^
/usr/include/w32api/wincrypt.h:4481:27: error: expected declaration specifiers or '...' before '*' token
 4481 |   typedef WINBOOL (WINAPI *PFN_CRYPT_SIGN_AND_ENCODE_HASH_FUNC) (NCRYPT_KEY_HANDLE hKey, DWORD dwCertEncodingType, PCRYPT_ALGORITHM_IDENTIFIER pSignatureAlgorithm, void *pvDecodedSignPara, LPCWSTR pwszCNGPubKeyAlgid, LPCWSTR pwszCNGHashAlgid, BYTE *pbComputedHash, DWORD cbComputedHash, BYTE *pbSignature, DWORD *pcbSignature);
      |                           ^
/usr/include/w32api/wincrypt.h:4482:27: error: expected declaration specifiers or '...' before '*' token
 4482 |   typedef WINBOOL (WINAPI *PFN_CRYPT_VERIFY_ENCODED_SIGNATURE_FUNC) (DWORD dwCertEncodingType, PCERT_PUBLIC_KEY_INFO pPubKeyInfo, PCRYPT_ALGORITHM_IDENTIFIER pSignatureAlgorithm, void *pvDecodedSignPara, LPCWSTR pwszCNGPubKeyAlgid, LPCWSTR pwszCNGHashAlgid, BYTE *pbComputedHash, DWORD cbComputedHash, BYTE *pbSignature, DWORD cbSignature);
      |                           ^
/usr/include/w32api/wincrypt.h:4487:5: error: expected specifier-qualifier-list before 'DWORD'
 4487 |     DWORD cOID;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:4491:26: error: expected ',' or ';' before 'CertVerifyRevocation'
 4491 |   WINIMPM WINBOOL WINAPI CertVerifyRevocation (DWORD dwEncodingType, DWORD dwRevType, DWORD cContext, PVOID rgpvContext[], DWORD dwFlags, PCERT_REVOCATION_PARA pRevPara, PCERT_REVOCATION_STATUS pRevStatus);
      |                          ^~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:4492:18: error: expected ',' or ';' before 'CertCompareIntegerBlob'
 4492 |   WINBOOL WINAPI CertCompareIntegerBlob (PCRYPT_INTEGER_BLOB pInt1, PCRYPT_INTEGER_BLOB pInt2);
      |                  ^~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:4493:26: error: expected ',' or ';' before 'CertCompareCertificate'
 4493 |   WINIMPM WINBOOL WINAPI CertCompareCertificate (DWORD dwCertEncodingType, PCERT_INFO pCertId1, PCERT_INFO pCertId2);
      |                          ^~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:4494:26: error: expected ',' or ';' before 'CertCompareCertificateName'
 4494 |   WINIMPM WINBOOL WINAPI CertCompareCertificateName (DWORD dwCertEncodingType, PCERT_NAME_BLOB pCertName1, PCERT_NAME_BLOB pCertName2);
      |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:4495:26: error: expected ',' or ';' before 'CertIsRDNAttrsInCertificateName'
 4495 |   WINIMPM WINBOOL WINAPI CertIsRDNAttrsInCertificateName (DWORD dwCertEncodingType, DWORD dwFlags, PCERT_NAME_BLOB pCertName, PCERT_RDN pRDN);
      |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:4496:26: error: expected ',' or ';' before 'CertComparePublicKeyInfo'
 4496 |   WINIMPM WINBOOL WINAPI CertComparePublicKeyInfo (DWORD dwCertEncodingType, PCERT_PUBLIC_KEY_INFO pPublicKey1, PCERT_PUBLIC_KEY_INFO pPublicKey2);
      |                          ^~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:4497:24: error: expected ',' or ';' before 'CertGetPublicKeyLength'
 4497 |   WINIMPM DWORD WINAPI CertGetPublicKeyLength (DWORD dwCertEncodingType, PCERT_PUBLIC_KEY_INFO pPublicKey);
      |                        ^~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:4498:26: error: expected ',' or ';' before 'CryptVerifyCertificateSignature'
 4498 |   WINIMPM WINBOOL WINAPI CryptVerifyCertificateSignature (HCRYPTPROV_LEGACY hCryptProv, DWORD dwCertEncodingType, const BYTE *pbEncoded, DWORD cbEncoded, PCERT_PUBLIC_KEY_INFO pPublicKey);
      |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:4499:26: error: expected ',' or ';' before 'CryptVerifyCertificateSignatureEx'
 4499 |   WINIMPM WINBOOL WINAPI CryptVerifyCertificateSignatureEx (HCRYPTPROV_LEGACY hCryptProv, DWORD dwCertEncodingType, DWORD dwSubjectType, void *pvSubject, DWORD dwIssuerType, void *pvIssuer, DWORD dwFlags, void *pvExtra);
      |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:4500:26: error: expected ',' or ';' before 'CertIsStrongHashToSign'
 4500 |   WINIMPM WINBOOL WINAPI CertIsStrongHashToSign (PCCERT_STRONG_SIGN_PARA pStrongSignPara, LPCWSTR pwszCNGHashAlgid, PCCERT_CONTEXT pSigningCert);
      |                          ^~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:4501:26: error: expected ',' or ';' before 'CryptHashToBeSigned'
 4501 |   WINIMPM WINBOOL WINAPI CryptHashToBeSigned (HCRYPTPROV_LEGACY hCryptProv, DWORD dwCertEncodingType, const BYTE *pbEncoded, DWORD cbEncoded, BYTE *pbComputedHash, DWORD *pcbComputedHash);
      |                          ^~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:4502:26: error: expected ',' or ';' before 'CryptHashCertificate'
 4502 |   WINIMPM WINBOOL WINAPI CryptHashCertificate (HCRYPTPROV_LEGACY hCryptProv, ALG_ID Algid, DWORD dwFlags, const BYTE *pbEncoded, DWORD cbEncoded, BYTE *pbComputedHash, DWORD *pcbComputedHash);
      |                          ^~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:4504:26: error: expected ',' or ';' before 'CryptHashCertificate2'
 4504 |   WINIMPM WINBOOL WINAPI CryptHashCertificate2 (LPCWSTR pwszCNGHashAlgid, DWORD dwFlags, void *pvReserved, const BYTE *pbEncoded, DWORD cbEncoded, BYTE *pbComputedHash, DWORD *pcbComputedHash);
      |                          ^~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:4506:26: error: expected ',' or ';' before 'CryptSignCertificate'
 4506 |   WINIMPM WINBOOL WINAPI CryptSignCertificate (HCRYPTPROV_OR_NCRYPT_KEY_HANDLE hCryptProvOrNCryptKey, DWORD dwKeySpec, DWORD dwCertEncodingType, const BYTE *pbEncodedToBeSigned, DWORD cbEncodedToBeSigned, PCRYPT_ALGORITHM_IDENTIFIER pSignatureAlgorithm, const void *pvHashAuxInfo, BYTE *pbSignature, DWORD *pcbSignature);
      |                          ^~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:4507:26: error: expected ',' or ';' before 'CryptSignAndEncodeCertificate'
 4507 |   WINIMPM WINBOOL WINAPI CryptSignAndEncodeCertificate (HCRYPTPROV_OR_NCRYPT_KEY_HANDLE hCryptProvOrNCryptKey, DWORD dwKeySpec, DWORD dwCertEncodingType, LPCSTR lpszStructType, const void *pvStructInfo, PCRYPT_ALGORITHM_IDENTIFIER pSignatureAlgorithm, const void *pvHashAuxInfo, BYTE *pbEncoded, DWORD *pcbEncoded);
      |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:4508:23: error: expected ',' or ';' before 'CertVerifyTimeValidity'
 4508 |   WINIMPM LONG WINAPI CertVerifyTimeValidity (LPFILETIME pTimeToVerify, PCERT_INFO pCertInfo);
      |                       ^~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:4509:23: error: expected ',' or ';' before 'CertVerifyCRLTimeValidity'
 4509 |   WINIMPM LONG WINAPI CertVerifyCRLTimeValidity (LPFILETIME pTimeToVerify, PCRL_INFO pCrlInfo);
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:4510:26: error: expected ',' or ';' before 'CertVerifyValidityNesting'
 4510 |   WINIMPM WINBOOL WINAPI CertVerifyValidityNesting (PCERT_INFO pSubjectInfo, PCERT_INFO pIssuerInfo);
      |                          ^~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:4511:26: error: expected ',' or ';' before 'CertVerifyCRLRevocation'
 4511 |   WINIMPM WINBOOL WINAPI CertVerifyCRLRevocation (DWORD dwCertEncodingType, PCERT_INFO pCertId, DWORD cCrlInfo, PCRL_INFO rgpCrlInfo[]);
      |                          ^~~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:4512:25: error: expected ',' or ';' before 'CertAlgIdToOID'
 4512 |   WINIMPM LPCSTR WINAPI CertAlgIdToOID (DWORD dwAlgId);
      |                         ^~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:4513:24: error: expected ',' or ';' before 'CertOIDToAlgId'
 4513 |   WINIMPM DWORD WINAPI CertOIDToAlgId (LPCSTR pszObjId);
      |                        ^~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:4514:53: error: expected declaration specifiers or '...' before 'LPCSTR'
 4514 |   WINIMPM PCERT_EXTENSION WINAPI CertFindExtension (LPCSTR pszObjId, DWORD cExtensions, CERT_EXTENSION rgExtensions[]);
      |                                                     ^~~~~~
/usr/include/w32api/wincrypt.h:4514:70: error: expected declaration specifiers or '...' before 'DWORD'
 4514 |   WINIMPM PCERT_EXTENSION WINAPI CertFindExtension (LPCSTR pszObjId, DWORD cExtensions, CERT_EXTENSION rgExtensions[]);
      |                                                                      ^~~~~
/usr/include/w32api/wincrypt.h:4515:54: error: expected declaration specifiers or '...' before 'LPCSTR'
 4515 |   WINIMPM PCRYPT_ATTRIBUTE WINAPI CertFindAttribute (LPCSTR pszObjId, DWORD cAttr, CRYPT_ATTRIBUTE rgAttr[]);
      |                                                      ^~~~~~
/usr/include/w32api/wincrypt.h:4515:71: error: expected declaration specifiers or '...' before 'DWORD'
 4515 |   WINIMPM PCRYPT_ATTRIBUTE WINAPI CertFindAttribute (LPCSTR pszObjId, DWORD cAttr, CRYPT_ATTRIBUTE rgAttr[]);
      |                                                                       ^~~~~
/usr/include/w32api/wincrypt.h:4516:50: error: expected declaration specifiers or '...' before 'LPCSTR'
 4516 |   WINIMPM PCERT_RDN_ATTR WINAPI CertFindRDNAttr (LPCSTR pszObjId, PCERT_NAME_INFO pName);
      |                                                  ^~~~~~
/usr/include/w32api/wincrypt.h:4517:26: error: expected ',' or ';' before 'CertGetIntendedKeyUsage'
 4517 |   WINIMPM WINBOOL WINAPI CertGetIntendedKeyUsage (DWORD dwCertEncodingType, PCERT_INFO pCertInfo, BYTE *pbKeyUsage, DWORD cbKeyUsage);
      |                          ^~~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:4518:26: error: expected ',' or ';' before 'CryptInstallDefaultContext'
 4518 |   WINIMPM WINBOOL WINAPI CryptInstallDefaultContext (HCRYPTPROV hCryptProv, DWORD dwDefaultType, const void *pvDefaultPara, DWORD dwFlags, void *pvReserved, HCRYPTDEFAULTCONTEXT *phDefaultContext);
      |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:4519:26: error: expected ',' or ';' before 'CryptUninstallDefaultContext'
 4519 |   WINIMPM WINBOOL WINAPI CryptUninstallDefaultContext (HCRYPTDEFAULTCONTEXT hDefaultContext, DWORD dwFlags, void *pvReserved);
      |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:4520:26: error: expected ',' or ';' before 'CryptExportPublicKeyInfo'
 4520 |   WINIMPM WINBOOL WINAPI CryptExportPublicKeyInfo (HCRYPTPROV_OR_NCRYPT_KEY_HANDLE hCryptProvOrNCryptKey, DWORD dwKeySpec, DWORD dwCertEncodingType, PCERT_PUBLIC_KEY_INFO pInfo, DWORD *pcbInfo);
      |                          ^~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:4521:26: error: expected ',' or ';' before 'CryptExportPublicKeyInfoEx'
 4521 |   WINIMPM WINBOOL WINAPI CryptExportPublicKeyInfoEx (HCRYPTPROV_OR_NCRYPT_KEY_HANDLE hCryptProvOrNCryptKey, DWORD dwKeySpec, DWORD dwCertEncodingType, LPSTR pszPublicKeyObjId, DWORD dwFlags, void *pvAuxInfo, PCERT_PUBLIC_KEY_INFO pInfo, DWORD *pcbInfo);
      |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:4526:27: error: expected declaration specifiers or '...' before '*' token
 4526 |   typedef WINBOOL (WINAPI *PFN_CRYPT_EXPORT_PUBLIC_KEY_INFO_EX2_FUNC) (NCRYPT_KEY_HANDLE hNCryptKey, DWORD dwCertEncodingType, LPSTR pszPublicKeyObjId, DWORD dwFlags, void *pvAuxInfo, PCERT_PUBLIC_KEY_INFO pInfo, DWORD *pcbInfo);
      |                           ^
/usr/include/w32api/wincrypt.h:4531:27: error: expected declaration specifiers or '...' before '*' token
 4531 |   typedef WINBOOL (WINAPI *PFN_CRYPT_EXPORT_PUBLIC_KEY_INFO_FROM_BCRYPT_HANDLE_FUNC) (BCRYPT_KEY_HANDLE hBCryptKey, DWORD dwCertEncodingType, LPSTR pszPublicKeyObjId, DWORD dwFlags, void *pvAuxInfo, PCERT_PUBLIC_KEY_INFO pInfo, DWORD *pcbInfo);
      |                           ^
/usr/include/w32api/wincrypt.h:4533:26: error: expected ',' or ';' before 'CryptExportPublicKeyInfoFromBCryptKeyHandle'
 4533 |   WINIMPM WINBOOL WINAPI CryptExportPublicKeyInfoFromBCryptKeyHandle (BCRYPT_KEY_HANDLE hBCryptKey, DWORD dwCertEncodingType, LPSTR pszPublicKeyObjId, DWORD dwFlags, void *pvAuxInfo, PCERT_PUBLIC_KEY_INFO pInfo, DWORD *pcbInfo);
      |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:4558:27: error: expected declaration specifiers or '...' before '*' token
 4558 |   typedef WINBOOL (WINAPI *PFN_IMPORT_PRIV_KEY_FUNC) (HCRYPTPROV hCryptProv, CRYPT_PRIVATE_KEY_INFO *pPrivateKeyInfo, DWORD dwFlags, void *pvAuxInfo);
      |                           ^
/usr/include/w32api/wincrypt.h:4559:27: error: expected declaration specifiers or '...' before '*' token
 4559 |   typedef WINBOOL (WINAPI *PFN_EXPORT_PRIV_KEY_FUNC) (HCRYPTPROV hCryptProv, DWORD dwKeySpec, LPSTR pszPrivateKeyObjId, DWORD dwFlags, void *pvAuxInfo, CRYPT_PRIVATE_KEY_INFO *pPrivateKeyInfo, DWORD *pcbPrivateKeyInfo);
      |                           ^
/usr/include/w32api/wincrypt.h:4564:26: error: expected ',' or ';' before 'CryptImportPublicKeyInfo'
 4564 |   WINIMPM WINBOOL WINAPI CryptImportPublicKeyInfo (HCRYPTPROV hCryptProv, DWORD dwCertEncodingType, PCERT_PUBLIC_KEY_INFO pInfo, HCRYPTKEY *phKey);
      |                          ^~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:4565:26: error: expected ',' or ';' before 'CryptImportPublicKeyInfoEx'
 4565 |   WINIMPM WINBOOL WINAPI CryptImportPublicKeyInfoEx (HCRYPTPROV hCryptProv, DWORD dwCertEncodingType, PCERT_PUBLIC_KEY_INFO pInfo, ALG_ID aiKeyAlg, DWORD dwFlags, void *pvAuxInfo, HCRYPTKEY *phKey);
      |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:4570:27: error: expected declaration specifiers or '...' before '*' token
 4570 |   typedef WINBOOL (WINAPI *PFN_IMPORT_PUBLIC_KEY_INFO_EX2_FUNC) (DWORD dwCertEncodingType, PCERT_PUBLIC_KEY_INFO pInfo, DWORD dwFlags, void *pvAuxInfo, BCRYPT_KEY_HANDLE *phKey);
      |                           ^
/usr/include/w32api/wincrypt.h:4572:26: error: expected ',' or ';' before 'CryptImportPublicKeyInfoEx2'
 4572 |   WINIMPM WINBOOL WINAPI CryptImportPublicKeyInfoEx2 (DWORD dwCertEncodingType, PCERT_PUBLIC_KEY_INFO pInfo, DWORD dwFlags, void *pvAuxInfo, BCRYPT_KEY_HANDLE *phKey);
      |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:4574:26: error: expected ',' or ';' before 'CryptAcquireCertificatePrivateKey'
 4574 |   WINIMPM WINBOOL WINAPI CryptAcquireCertificatePrivateKey (PCCERT_CONTEXT pCert, DWORD dwFlags, void *pvParameters, HCRYPTPROV_OR_NCRYPT_KEY_HANDLE *phCryptProvOrNCryptKey, DWORD *pdwKeySpec, WINBOOL *pfCallerFreeProvOrNCryptKey);
      |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:4575:26: error: expected ',' or ';' before 'CryptFindCertificateKeyProvInfo'
 4575 |   WINIMPM WINBOOL WINAPI CryptFindCertificateKeyProvInfo (PCCERT_CONTEXT pCert, DWORD dwFlags, void *pvReserved);
      |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:4576:26: error: expected ',' or ';' before 'CryptImportPKCS8'
 4576 |   WINIMPM WINBOOL WINAPI CryptImportPKCS8 (CRYPT_PKCS8_IMPORT_PARAMS sPrivateKeyAndParams, DWORD dwFlags, HCRYPTPROV *phCryptProv, void *pvAuxInfo);
      |                          ^~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:4577:26: error: expected ',' or ';' before 'CryptExportPKCS8'
 4577 |   WINIMPM WINBOOL WINAPI CryptExportPKCS8 (HCRYPTPROV hCryptProv, DWORD dwKeySpec, LPSTR pszPrivateKeyObjId, DWORD dwFlags, void *pvAuxInfo, BYTE *pbPrivateKeyBlob, DWORD *pcbPrivateKeyBlob);
      |                          ^~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:4578:26: error: expected ',' or ';' before 'CryptExportPKCS8Ex'
 4578 |   WINIMPM WINBOOL WINAPI CryptExportPKCS8Ex (CRYPT_PKCS8_EXPORT_PARAMS *psExportParams, DWORD dwFlags, void *pvAuxInfo, BYTE *pbPrivateKeyBlob, DWORD *pcbPrivateKeyBlob);
      |                          ^~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:4579:26: error: expected ',' or ';' before 'CryptHashPublicKeyInfo'
 4579 |   WINIMPM WINBOOL WINAPI CryptHashPublicKeyInfo (HCRYPTPROV_LEGACY hCryptProv, ALG_ID Algid, DWORD dwFlags, DWORD dwCertEncodingType, PCERT_PUBLIC_KEY_INFO pInfo, BYTE *pbComputedHash, DWORD *pcbComputedHash);
      |                          ^~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:4580:24: error: expected ',' or ';' before 'CertRDNValueToStrA'
 4580 |   WINIMPM DWORD WINAPI CertRDNValueToStrA (DWORD dwValueType, PCERT_RDN_VALUE_BLOB pValue, LPSTR psz, DWORD csz);
      |                        ^~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:4581:24: error: expected ',' or ';' before 'CertRDNValueToStrW'
 4581 |   WINIMPM DWORD WINAPI CertRDNValueToStrW (DWORD dwValueType, PCERT_RDN_VALUE_BLOB pValue, LPWSTR psz, DWORD csz);
      |                        ^~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:4582:24: error: expected ',' or ';' before 'CertNameToStrA'
 4582 |   WINIMPM DWORD WINAPI CertNameToStrA (DWORD dwCertEncodingType, PCERT_NAME_BLOB pName, DWORD dwStrType, LPSTR psz, DWORD csz);
      |                        ^~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:4583:24: error: expected ',' or ';' before 'CertNameToStrW'
 4583 |   WINIMPM DWORD WINAPI CertNameToStrW (DWORD dwCertEncodingType, PCERT_NAME_BLOB pName, DWORD dwStrType, LPWSTR psz, DWORD csz);
      |                        ^~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:4608:26: error: expected ',' or ';' before 'CertStrToNameA'
 4608 |   WINIMPM WINBOOL WINAPI CertStrToNameA (DWORD dwCertEncodingType, LPCSTR pszX500, DWORD dwStrType, void *pvReserved, BYTE *pbEncoded, DWORD *pcbEncoded, LPCSTR *ppszError);
      |                          ^~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:4609:26: error: expected ',' or ';' before 'CertStrToNameW'
 4609 |   WINIMPM WINBOOL WINAPI CertStrToNameW (DWORD dwCertEncodingType, LPCWSTR pszX500, DWORD dwStrType, void *pvReserved, BYTE *pbEncoded, DWORD *pcbEncoded, LPCWSTR *ppszError);
      |                          ^~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:4610:24: error: expected ',' or ';' before 'CertGetNameStringA'
 4610 |   WINIMPM DWORD WINAPI CertGetNameStringA (PCCERT_CONTEXT pCertContext, DWORD dwType, DWORD dwFlags, void *pvTypePara, LPSTR pszNameString, DWORD cchNameString);
      |                        ^~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:4611:24: error: expected ',' or ';' before 'CertGetNameStringW'
 4611 |   WINIMPM DWORD WINAPI CertGetNameStringW (PCCERT_CONTEXT pCertContext, DWORD dwType, DWORD dwFlags, void *pvTypePara, LPWSTR pszNameString, DWORD cchNameString);
      |                        ^~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:4627:86: error: expected declaration specifiers or '...' before 'DWORD'
 4627 |   typedef PCCERT_CONTEXT (WINAPI *PFN_CRYPT_GET_SIGNER_CERTIFICATE) (void *pvGetArg, DWORD dwCertEncodingType, PCERT_INFO pSignerId, HCERTSTORE hMsgCertStore);
      |                                                                                      ^~~~~
/usr/include/w32api/wincrypt.h:4630:5: error: expected specifier-qualifier-list before 'DWORD'
 4630 |     DWORD cbSize;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:4657:5: error: expected specifier-qualifier-list before 'DWORD'
 4657 |     DWORD cbSize;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:4668:5: error: expected specifier-qualifier-list before 'DWORD'
 4668 |     DWORD cbSize;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:4680:5: error: expected specifier-qualifier-list before 'DWORD'
 4680 |     DWORD cbSize;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:4690:5: error: expected specifier-qualifier-list before 'DWORD'
 4690 |     DWORD cbSize;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:4698:5: error: expected specifier-qualifier-list before 'DWORD'
 4698 |     DWORD cbSize;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:4711:5: error: expected specifier-qualifier-list before 'DWORD'
 4711 |     DWORD cbSize;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:4717:5: error: expected specifier-qualifier-list before 'DWORD'
 4717 |     DWORD cCerts;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:4725:26: error: expected ',' or ';' before 'CryptSignMessage'
 4725 |   WINIMPM WINBOOL WINAPI CryptSignMessage (PCRYPT_SIGN_MESSAGE_PARA pSignPara, WINBOOL fDetachedSignature, DWORD cToBeSigned, const BYTE *rgpbToBeSigned[], DWORD rgcbToBeSigned[], BYTE *pbSignedBlob, DWORD *pcbSignedBlob);
      |                          ^~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:4726:26: error: expected ',' or ';' before 'CryptVerifyMessageSignature'
 4726 |   WINIMPM WINBOOL WINAPI CryptVerifyMessageSignature (PCRYPT_VERIFY_MESSAGE_PARA pVerifyPara, DWORD dwSignerIndex, const BYTE *pbSignedBlob, DWORD cbSignedBlob, BYTE *pbDecoded, DWORD *pcbDecoded, PCCERT_CONTEXT *ppSignerCert);
      |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:4727:23: error: expected ',' or ';' before 'CryptGetMessageSignerCount'
 4727 |   WINIMPM LONG WINAPI CryptGetMessageSignerCount (DWORD dwMsgEncodingType, const BYTE *pbSignedBlob, DWORD cbSignedBlob);
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:4728:58: error: expected declaration specifiers or '...' before 'DWORD'
 4728 |   WINIMPM HCERTSTORE WINAPI CryptGetMessageCertificates (DWORD dwMsgAndCertEncodingType, HCRYPTPROV_LEGACY hCryptProv, DWORD dwFlags, const BYTE *pbSignedBlob, DWORD cbSignedBlob);
      |                                                          ^~~~~
/usr/include/w32api/wincrypt.h:4728:120: error: expected declaration specifiers or '...' before 'DWORD'
 4728 |   WINIMPM HCERTSTORE WINAPI CryptGetMessageCertificates (DWORD dwMsgAndCertEncodingType, HCRYPTPROV_LEGACY hCryptProv, DWORD dwFlags, const BYTE *pbSignedBlob, DWORD cbSignedBlob);
      |                                                                                                                        ^~~~~
/usr/include/w32api/wincrypt.h:4728:141: error: unknown type name 'BYTE'
 4728 |   WINIMPM HCERTSTORE WINAPI CryptGetMessageCertificates (DWORD dwMsgAndCertEncodingType, HCRYPTPROV_LEGACY hCryptProv, DWORD dwFlags, const BYTE *pbSignedBlob, DWORD cbSignedBlob);
      |                                                                                                                                             ^~~~
/usr/include/w32api/wincrypt.h:4728:161: error: expected declaration specifiers or '...' before 'DWORD'
 4728 |   WINIMPM HCERTSTORE WINAPI CryptGetMessageCertificates (DWORD dwMsgAndCertEncodingType, HCRYPTPROV_LEGACY hCryptProv, DWORD dwFlags, const BYTE *pbSignedBlob, DWORD cbSignedBlob);
      |                                                                                                                                                                 ^~~~~
/usr/include/w32api/wincrypt.h:4729:26: error: expected ',' or ';' before 'CryptVerifyDetachedMessageSignature'
 4729 |   WINIMPM WINBOOL WINAPI CryptVerifyDetachedMessageSignature (PCRYPT_VERIFY_MESSAGE_PARA pVerifyPara, DWORD dwSignerIndex, const BYTE *pbDetachedSignBlob, DWORD cbDetachedSignBlob, DWORD cToBeSigned, const BYTE *rgpbToBeSigned[], DWORD rgcbToBeSigned[], PCCERT_CONTEXT *ppSignerCert);
      |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:4730:26: error: expected ',' or ';' before 'CryptEncryptMessage'
 4730 |   WINIMPM WINBOOL WINAPI CryptEncryptMessage (PCRYPT_ENCRYPT_MESSAGE_PARA pEncryptPara, DWORD cRecipientCert, PCCERT_CONTEXT rgpRecipientCert[], const BYTE *pbToBeEncrypted, DWORD cbToBeEncrypted, BYTE *pbEncryptedBlob, DWORD *pcbEncryptedBlob);
      |                          ^~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:4731:26: error: expected ',' or ';' before 'CryptDecryptMessage'
 4731 |   WINIMPM WINBOOL WINAPI CryptDecryptMessage (PCRYPT_DECRYPT_MESSAGE_PARA pDecryptPara, const BYTE *pbEncryptedBlob, DWORD cbEncryptedBlob, BYTE *pbDecrypted, DWORD *pcbDecrypted, PCCERT_CONTEXT *ppXchgCert);
      |                          ^~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:4732:26: error: expected ',' or ';' before 'CryptSignAndEncryptMessage'
 4732 |   WINIMPM WINBOOL WINAPI CryptSignAndEncryptMessage (PCRYPT_SIGN_MESSAGE_PARA pSignPara, PCRYPT_ENCRYPT_MESSAGE_PARA pEncryptPara, DWORD cRecipientCert, PCCERT_CONTEXT rgpRecipientCert[], const BYTE *pbToBeSignedAndEncrypted, DWORD cbToBeSignedAndEncrypted, BYTE *pbSignedAndEncryptedBlob, DWORD *pcbSignedAndEncryptedBlob);
      |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:4733:26: error: expected ',' or ';' before 'CryptDecryptAndVerifyMessageSignature'
 4733 |   WINIMPM WINBOOL WINAPI CryptDecryptAndVerifyMessageSignature (PCRYPT_DECRYPT_MESSAGE_PARA pDecryptPara, PCRYPT_VERIFY_MESSAGE_PARA pVerifyPara, DWORD dwSignerIndex, const BYTE *pbEncryptedBlob, DWORD cbEncryptedBlob, BYTE *pbDecrypted, DWORD *pcbDecrypted, PCCERT_CONTEXT *ppXchgCert, PCCERT_CONTEXT *ppSignerCert);
      |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:4734:26: error: expected ',' or ';' before 'CryptDecodeMessage'
 4734 |   WINIMPM WINBOOL WINAPI CryptDecodeMessage (DWORD dwMsgTypeFlags, PCRYPT_DECRYPT_MESSAGE_PARA pDecryptPara, PCRYPT_VERIFY_MESSAGE_PARA pVerifyPara, DWORD dwSignerIndex, const BYTE *pbEncodedBlob, DWORD cbEncodedBlob, DWORD dwPrevInnerContentType, DWORD *pdwMsgType, DWORD *pdwInnerContentType, BYTE *pbDecoded, DWORD *pcbDecoded, PCCERT_CONTEXT *ppXchgCert, PCCERT_CONTEXT *ppSignerCert);
      |                          ^~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:4735:26: error: expected ',' or ';' before 'CryptHashMessage'
 4735 |   WINIMPM WINBOOL WINAPI CryptHashMessage (PCRYPT_HASH_MESSAGE_PARA pHashPara, WINBOOL fDetachedHash, DWORD cToBeHashed, const BYTE *rgpbToBeHashed[], DWORD rgcbToBeHashed[], BYTE *pbHashedBlob, DWORD *pcbHashedBlob, BYTE *pbComputedHash, DWORD *pcbComputedHash);
      |                          ^~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:4736:26: error: expected ',' or ';' before 'CryptVerifyMessageHash'
 4736 |   WINIMPM WINBOOL WINAPI CryptVerifyMessageHash (PCRYPT_HASH_MESSAGE_PARA pHashPara, BYTE *pbHashedBlob, DWORD cbHashedBlob, BYTE *pbToBeHashed, DWORD *pcbToBeHashed, BYTE *pbComputedHash, DWORD *pcbComputedHash);
      |                          ^~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:4737:26: error: expected ',' or ';' before 'CryptVerifyDetachedMessageHash'
 4737 |   WINIMPM WINBOOL WINAPI CryptVerifyDetachedMessageHash (PCRYPT_HASH_MESSAGE_PARA pHashPara, BYTE *pbDetachedHashBlob, DWORD cbDetachedHashBlob, DWORD cToBeHashed, const BYTE *rgpbToBeHashed[], DWORD rgcbToBeHashed[], BYTE *pbComputedHash, DWORD *pcbComputedHash);
      |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:4738:26: error: expected ',' or ';' before 'CryptSignMessageWithKey'
 4738 |   WINIMPM WINBOOL WINAPI CryptSignMessageWithKey (PCRYPT_KEY_SIGN_MESSAGE_PARA pSignPara, const BYTE *pbToBeSigned, DWORD cbToBeSigned, BYTE *pbSignedBlob, DWORD *pcbSignedBlob);
      |                          ^~~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:4739:26: error: expected ',' or ';' before 'CryptVerifyMessageSignatureWithKey'
 4739 |   WINIMPM WINBOOL WINAPI CryptVerifyMessageSignatureWithKey (PCRYPT_KEY_VERIFY_MESSAGE_PARA pVerifyPara, PCERT_PUBLIC_KEY_INFO pPublicKeyInfo, const BYTE *pbSignedBlob, DWORD cbSignedBlob, BYTE *pbDecoded, DWORD *pcbDecoded);
      |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:4740:76: error: expected declaration specifiers or '...' before 'LPCSTR'
 4740 |   WINIMPM HCERTSTORE WINAPI CertOpenSystemStoreA (HCRYPTPROV_LEGACY hProv, LPCSTR szSubsystemProtocol);
      |                                                                            ^~~~~~
/usr/include/w32api/wincrypt.h:4741:76: error: expected declaration specifiers or '...' before 'LPCWSTR'
 4741 |   WINIMPM HCERTSTORE WINAPI CertOpenSystemStoreW (HCRYPTPROV_LEGACY hProv, LPCWSTR szSubsystemProtocol);
      |                                                                            ^~~~~~~
/usr/include/w32api/wincrypt.h:4742:26: error: expected ',' or ';' before 'CertAddEncodedCertificateToSystemStoreA'
 4742 |   WINIMPM WINBOOL WINAPI CertAddEncodedCertificateToSystemStoreA (LPCSTR szCertStoreName, const BYTE *pbCertEncoded, DWORD cbCertEncoded);
      |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:4743:26: error: expected ',' or ';' before 'CertAddEncodedCertificateToSystemStoreW'
 4743 |   WINIMPM WINBOOL WINAPI CertAddEncodedCertificateToSystemStoreW (LPCWSTR szCertStoreName, const BYTE *pbCertEncoded, DWORD cbCertEncoded);
      |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:4744:62: error: expected declaration specifiers or '...' before 'DWORD'
 4744 |   HRESULT WINAPI FindCertsByIssuer (PCERT_CHAIN pCertChains, DWORD *pcbCertChains, DWORD *pcCertChains, BYTE *pbEncodedIssuerName, DWORD cbEncodedIssuerName, LPCWSTR pwszPurpose, DWORD dwKeySpec);
      |                                                              ^~~~~
/usr/include/w32api/wincrypt.h:4744:84: error: expected declaration specifiers or '...' before 'DWORD'
 4744 |   HRESULT WINAPI FindCertsByIssuer (PCERT_CHAIN pCertChains, DWORD *pcbCertChains, DWORD *pcCertChains, BYTE *pbEncodedIssuerName, DWORD cbEncodedIssuerName, LPCWSTR pwszPurpose, DWORD dwKeySpec);
      |                                                                                    ^~~~~
/usr/include/w32api/wincrypt.h:4744:105: error: unknown type name 'BYTE'
 4744 |   HRESULT WINAPI FindCertsByIssuer (PCERT_CHAIN pCertChains, DWORD *pcbCertChains, DWORD *pcCertChains, BYTE *pbEncodedIssuerName, DWORD cbEncodedIssuerName, LPCWSTR pwszPurpose, DWORD dwKeySpec);
      |                                                                                                         ^~~~
/usr/include/w32api/wincrypt.h:4744:132: error: expected declaration specifiers or '...' before 'DWORD'
 4744 |   HRESULT WINAPI FindCertsByIssuer (PCERT_CHAIN pCertChains, DWORD *pcbCertChains, DWORD *pcCertChains, BYTE *pbEncodedIssuerName, DWORD cbEncodedIssuerName, LPCWSTR pwszPurpose, DWORD dwKeySpec);
      |                                                                                                                                    ^~~~~
/usr/include/w32api/wincrypt.h:4744:159: error: expected declaration specifiers or '...' before 'LPCWSTR'
 4744 |   HRESULT WINAPI FindCertsByIssuer (PCERT_CHAIN pCertChains, DWORD *pcbCertChains, DWORD *pcCertChains, BYTE *pbEncodedIssuerName, DWORD cbEncodedIssuerName, LPCWSTR pwszPurpose, DWORD dwKeySpec);
      |                                                                                                                                                               ^~~~~~~
/usr/include/w32api/wincrypt.h:4744:180: error: expected declaration specifiers or '...' before 'DWORD'
 4744 |   HRESULT WINAPI FindCertsByIssuer (PCERT_CHAIN pCertChains, DWORD *pcbCertChains, DWORD *pcCertChains, BYTE *pbEncodedIssuerName, DWORD cbEncodedIssuerName, LPCWSTR pwszPurpose, DWORD dwKeySpec);
      |                                                                                                                                                                                    ^~~~~
/usr/include/w32api/wincrypt.h:4745:26: error: expected ',' or ';' before 'CryptQueryObject'
 4745 |   WINIMPM WINBOOL WINAPI CryptQueryObject (DWORD dwObjectType, const void *pvObject, DWORD dwExpectedContentTypeFlags, DWORD dwExpectedFormatTypeFlags, DWORD dwFlags, DWORD *pdwMsgAndCertEncodingType, DWORD *pdwContentType, DWORD *pdwFormatType, HCERTSTORE *phCertStore, HCRYPTMSG *phMsg, const void **ppvContext);
      |                          ^~~~~~~~~~~~~~~~
In file included from GenRandom.xs:16:
/usr/include/w32api/wincrypt.h:4793:11: error: unknown type name 'HANDLE'
 4793 |   typedef HANDLE HCRYPTASYNC,*PHCRYPTASYNC;
      |           ^~~~~~
/usr/include/w32api/wincrypt.h:4794:24: error: expected declaration specifiers or '...' before '*' token
 4794 |   typedef VOID (WINAPI *PFN_CRYPT_ASYNC_PARAM_FREE_FUNC) (LPSTR pszParamOid, LPVOID pvParam);
      |                        ^
/usr/include/w32api/wincrypt.h:4796:25: error: expected ',' or ';' before 'CryptMemAlloc'
 4796 |   WINIMPM LPVOID WINAPI CryptMemAlloc (ULONG cbSize);
      |                         ^~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:4797:25: error: expected ',' or ';' before 'CryptMemRealloc'
 4797 |   WINIMPM LPVOID WINAPI CryptMemRealloc (LPVOID pv, ULONG cbSize);
      |                         ^~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:4798:23: error: expected ',' or ';' before 'CryptMemFree'
 4798 |   WINIMPM VOID WINAPI CryptMemFree (LPVOID pv);
      |                       ^~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:4799:26: error: expected ',' or ';' before 'CryptCreateAsyncHandle'
 4799 |   WINIMPM WINBOOL WINAPI CryptCreateAsyncHandle (DWORD dwFlags, PHCRYPTASYNC phAsync);
      |                          ^~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:4800:26: error: expected ',' or ';' before 'CryptSetAsyncParam'
 4800 |   WINIMPM WINBOOL WINAPI CryptSetAsyncParam (HCRYPTASYNC hAsync, LPSTR pszParamOid, LPVOID pvParam, PFN_CRYPT_ASYNC_PARAM_FREE_FUNC pfnFree);
      |                          ^~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:4801:26: error: expected ',' or ';' before 'CryptGetAsyncParam'
 4801 |   WINIMPM WINBOOL WINAPI CryptGetAsyncParam (HCRYPTASYNC hAsync, LPSTR pszParamOid, LPVOID *ppvParam, PFN_CRYPT_ASYNC_PARAM_FREE_FUNC *ppfnFree);
      |                          ^~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:4802:26: error: expected ',' or ';' before 'CryptCloseAsyncHandle'
 4802 |   WINIMPM WINBOOL WINAPI CryptCloseAsyncHandle (HCRYPTASYNC hAsync);
      |                          ^~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:4805:5: error: expected specifier-qualifier-list before 'DWORD'
 4805 |     DWORD cBlob;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:4810:5: error: expected specifier-qualifier-list before 'DWORD'
 4810 |     DWORD cbSize;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:4821:5: error: expected specifier-qualifier-list before 'DWORD'
 4821 |     DWORD cbSize;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:4827:5: error: expected specifier-qualifier-list before 'DWORD'
 4827 |     DWORD cbSize;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:4839:24: error: expected declaration specifiers or '...' before '*' token
 4839 |   typedef VOID (WINAPI *PFN_FREE_ENCODED_OBJECT_FUNC) (LPCSTR pszObjectOid, PCRYPT_BLOB_ARRAY pObject, LPVOID pvFreeContext);
      |                        ^
/usr/include/w32api/wincrypt.h:4879:5: error: expected specifier-qualifier-list before 'DWORD'
 4879 |     DWORD cbSize;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:4897:5: error: expected specifier-qualifier-list before 'DWORD'
 4897 |     DWORD cbSize;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:4906:5: error: expected specifier-qualifier-list before 'DWORD'
 4906 |     DWORD cbSize;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:4921:5: error: expected specifier-qualifier-list before 'DWORD'
 4921 |     DWORD cbSize;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:4935:26: error: expected ',' or ';' before 'CryptRetrieveObjectByUrlA'
 4935 |   WINIMPM WINBOOL WINAPI CryptRetrieveObjectByUrlA (LPCSTR pszUrl, LPCSTR pszObjectOid, DWORD dwRetrievalFlags, DWORD dwTimeout, LPVOID *ppvObject, HCRYPTASYNC hAsyncRetrieve, PCRYPT_CREDENTIALS pCredentials, LPVOID pvVerify, PCRYPT_RETRIEVE_AUX_INFO pAuxInfo);
      |                          ^~~~~~~~~~~~~~~~~~~~~~~~~
In file included from GenRandom.xs:16:
/usr/include/w32api/wincrypt.h:4936:26: error: expected ',' or ';' before 'CryptRetrieveObjectByUrlW'
 4936 |   WINIMPM WINBOOL WINAPI CryptRetrieveObjectByUrlW (LPCWSTR pszUrl, LPCSTR pszObjectOid, DWORD dwRetrievalFlags, DWORD dwTimeout, LPVOID *ppvObject, HCRYPTASYNC hAsyncRetrieve, PCRYPT_CREDENTIALS pCredentials, LPVOID pvVerify, PCRYPT_RETRIEVE_AUX_INFO pAuxInfo);
      |                          ^~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:4940:27: error: expected declaration specifiers or '...' before '*' token
 4940 |   typedef WINBOOL (WINAPI *PFN_CRYPT_CANCEL_RETRIEVAL) (DWORD dwFlags, void *pvArg);
      |                           ^
/usr/include/w32api/wincrypt.h:4942:26: error: expected ',' or ';' before 'CryptInstallCancelRetrieval'
 4942 |   WINIMPM WINBOOL WINAPI CryptInstallCancelRetrieval (PFN_CRYPT_CANCEL_RETRIEVAL pfnCancel, const void *pvArg, DWORD dwFlags, void *pvReserved);
      |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:4943:26: error: expected ',' or ';' before 'CryptUninstallCancelRetrieval'
 4943 |   WINIMPM WINBOOL WINAPI CryptUninstallCancelRetrieval (DWORD dwFlags, void *pvReserved);
      |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:4944:26: error: expected ',' or ';' before 'CryptCancelAsyncRetrieval'
 4944 |   WINIMPM WINBOOL WINAPI CryptCancelAsyncRetrieval (HCRYPTASYNC hAsyncRetrieval);
      |                          ^~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:4948:24: error: expected declaration specifiers or '...' before '*' token
 4948 |   typedef VOID (WINAPI *PFN_CRYPT_ASYNC_RETRIEVAL_COMPLETION_FUNC) (LPVOID pvCompletion, DWORD dwCompletionCode, LPCSTR pszUrl, LPSTR pszObjectOid, LPVOID pvObject);
      |                        ^
/usr/include/w32api/wincrypt.h:4951:5: error: unknown type name 'PFN_CRYPT_ASYNC_RETRIEVAL_COMPLETION_FUNC'
 4951 |     PFN_CRYPT_ASYNC_RETRIEVAL_COMPLETION_FUNC pfnCompletion;
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:4952:5: error: expected specifier-qualifier-list before 'LPVOID'
 4952 |     LPVOID pvCompletion;
      |     ^~~~~~
/usr/include/w32api/wincrypt.h:4957:27: error: expected declaration specifiers or '...' before '*' token
 4957 |   typedef WINBOOL (WINAPI *PFN_CANCEL_ASYNC_RETRIEVAL_FUNC) (HCRYPTASYNC hAsyncRetrieve);
      |                           ^
/usr/include/w32api/wincrypt.h:4965:5: error: expected specifier-qualifier-list before 'DWORD'
 4965 |     DWORD cUrl;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:4970:5: error: expected specifier-qualifier-list before 'DWORD'
 4970 |     DWORD cbSize;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:4976:26: error: expected ',' or ';' before 'CryptGetObjectUrl'
 4976 |   WINIMPM WINBOOL WINAPI CryptGetObjectUrl (LPCSTR pszUrlOid, LPVOID pvPara, DWORD dwFlags, PCRYPT_URL_ARRAY pUrlArray, DWORD *pcbUrlArray, PCRYPT_URL_INFO pUrlInfo, DWORD *pcbUrlInfo, LPVOID pvReserved);
      |                          ^~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:5002:5: error: expected specifier-qualifier-list before 'DWORD'
 5002 |     DWORD cbSize;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:5011:27: error: expected declaration specifiers or '...' before '*' token
 5011 |   typedef WINBOOL (WINAPI *PFN_CRYPT_ENUM_KEYID_PROP) (const CRYPT_HASH_BLOB *pKeyIdentifier, DWORD dwFlags, void *pvReserved, void *pvArg, DWORD cProp, DWORD *rgdwPropId, void **rgpvData, DWORD *rgcbData);
      |                           ^
/usr/include/w32api/wincrypt.h:5039:26: error: expected ',' or ';' before 'CryptGetTimeValidObject'
 5039 |   WINIMPM WINBOOL WINAPI CryptGetTimeValidObject (LPCSTR pszTimeValidOid, LPVOID pvPara, PCCERT_CONTEXT pIssuer, LPFILETIME pftValidFor, DWORD dwFlags, DWORD dwTimeout, LPVOID *ppvObject, PCRYPT_CREDENTIALS pCredentials, PCRYPT_GET_TIME_VALID_OBJECT_EXTRA_INFO pExtraInfo);
      |                          ^~~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:5040:26: error: expected ',' or ';' before 'CryptFlushTimeValidObject'
 5040 |   WINIMPM WINBOOL WINAPI CryptFlushTimeValidObject (LPCSTR pszFlushTimeValidOid, LPVOID pvPara, PCCERT_CONTEXT pIssuer, DWORD dwFlags, LPVOID pvReserved);
      |                          ^~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:5041:155: error: expected declaration specifiers or '...' before 'DWORD'
 5041 |   WINIMPM PCCERT_CONTEXT WINAPI CertCreateSelfSignCertificate (HCRYPTPROV_OR_NCRYPT_KEY_HANDLE hCryptProvOrNCryptKey, PCERT_NAME_BLOB pSubjectIssuerBlob, DWORD dwFlags, PCRYPT_KEY_PROV_INFO pKeyProvInfo, PCRYPT_ALGORITHM_IDENTIFIER pSignatureAlgorithm, PSYSTEMTIME pStartTime, PSYSTEMTIME pEndTime, PCERT_EXTENSIONS pExtensions);
      |                                                                                                                                                           ^~~~~
/usr/include/w32api/wincrypt.h:5041:254: error: unknown type name 'PSYSTEMTIME'
 5041 |   WINIMPM PCCERT_CONTEXT WINAPI CertCreateSelfSignCertificate (HCRYPTPROV_OR_NCRYPT_KEY_HANDLE hCryptProvOrNCryptKey, PCERT_NAME_BLOB pSubjectIssuerBlob, DWORD dwFlags, PCRYPT_KEY_PROV_INFO pKeyProvInfo, PCRYPT_ALGORITHM_IDENTIFIER pSignatureAlgorithm, PSYSTEMTIME pStartTime, PSYSTEMTIME pEndTime, PCERT_EXTENSIONS pExtensions);
      |                                                                                                                                                                                                                                                              ^~~~~~~~~~~
/usr/include/w32api/wincrypt.h:5041:278: error: unknown type name 'PSYSTEMTIME'
 5041 |   WINIMPM PCCERT_CONTEXT WINAPI CertCreateSelfSignCertificate (HCRYPTPROV_OR_NCRYPT_KEY_HANDLE hCryptProvOrNCryptKey, PCERT_NAME_BLOB pSubjectIssuerBlob, DWORD dwFlags, PCRYPT_KEY_PROV_INFO pKeyProvInfo, PCRYPT_ALGORITHM_IDENTIFIER pSignatureAlgorithm, PSYSTEMTIME pStartTime, PSYSTEMTIME pEndTime, PCERT_EXTENSIONS pExtensions);
      |                                                                                                                                                                                                                                                                                      ^~~~~~~~~~~
/usr/include/w32api/wincrypt.h:5042:26: error: expected ',' or ';' before 'CryptGetKeyIdentifierProperty'
 5042 |   WINIMPM WINBOOL WINAPI CryptGetKeyIdentifierProperty (const CRYPT_HASH_BLOB *pKeyIdentifier, DWORD dwPropId, DWORD dwFlags, LPCWSTR pwszComputerName, void *pvReserved, void *pvData, DWORD *pcbData);
      |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:5043:26: error: expected ',' or ';' before 'CryptSetKeyIdentifierProperty'
 5043 |   WINIMPM WINBOOL WINAPI CryptSetKeyIdentifierProperty (const CRYPT_HASH_BLOB *pKeyIdentifier, DWORD dwPropId, DWORD dwFlags, LPCWSTR pwszComputerName, void *pvReserved, const void *pvData);
      |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:5044:26: error: expected ',' or ';' before 'CryptEnumKeyIdentifierProperties'
 5044 |   WINIMPM WINBOOL WINAPI CryptEnumKeyIdentifierProperties (const CRYPT_HASH_BLOB *pKeyIdentifier, DWORD dwPropId, DWORD dwFlags, LPCWSTR pwszComputerName, void *pvReserved, void *pvArg, PFN_CRYPT_ENUM_KEYID_PROP pfnEnum);
      |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:5045:26: error: expected ',' or ';' before 'CryptCreateKeyIdentifierFromCSP'
 5045 |   WINIMPM WINBOOL WINAPI CryptCreateKeyIdentifierFromCSP (DWORD dwCertEncodingType, LPCSTR pszPubKeyOID, const PUBLICKEYSTRUC *pPubKeyStruc, DWORD cbPubKeyStruc, DWORD dwFlags, void *pvReserved, BYTE *pbHash, DWORD *pcbHash);
      |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:5243:11: error: unknown type name 'HANDLE'
 5243 |   typedef HANDLE HCERTCHAINENGINE;
      |           ^~~~~~
/usr/include/w32api/wincrypt.h:5246:5: error: expected specifier-qualifier-list before 'DWORD'
 5246 |     DWORD cbSize;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:5269:26: error: expected ',' or ';' before 'CertCreateCertificateChainEngine'
 5269 |   WINIMPM WINBOOL WINAPI CertCreateCertificateChainEngine (PCERT_CHAIN_ENGINE_CONFIG pConfig, HCERTCHAINENGINE *phChainEngine);
      |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:5270:23: error: expected ',' or ';' before 'CertFreeCertificateChainEngine'
 5270 |   WINIMPM VOID WINAPI CertFreeCertificateChainEngine (HCERTCHAINENGINE hChainEngine);
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:5271:26: error: expected ',' or ';' before 'CertResyncCertificateChainEngine'
 5271 |   WINIMPM WINBOOL WINAPI CertResyncCertificateChainEngine (HCERTCHAINENGINE hChainEngine);
      |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:5274:5: error: expected specifier-qualifier-list before 'DWORD'
 5274 |     DWORD dwErrorStatus;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:5333:5: error: expected specifier-qualifier-list before 'DWORD'
 5333 |     DWORD cbSize;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:5343:5: error: expected specifier-qualifier-list before 'DWORD'
 5343 |     DWORD cbSize;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:5349:5: error: expected specifier-qualifier-list before 'DWORD'
 5349 |     DWORD cbSize;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:5361:5: error: expected specifier-qualifier-list before 'DWORD'
 5361 |     DWORD cbSize;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:5376:5: error: expected specifier-qualifier-list before 'DWORD'
 5376 |     DWORD cbSize;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:5392:5: error: expected specifier-qualifier-list before 'DWORD'
 5392 |     DWORD dwType;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:5397:5: error: expected specifier-qualifier-list before 'DWORD'
 5397 |     DWORD dwType;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:5402:5: error: expected specifier-qualifier-list before 'DWORD'
 5402 |     DWORD cbSize;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:5434:26: error: expected ',' or ';' before 'CertGetCertificateChain'
 5434 |   WINIMPM WINBOOL WINAPI CertGetCertificateChain (HCERTCHAINENGINE hChainEngine, PCCERT_CONTEXT pCertContext, LPFILETIME pTime, HCERTSTORE hAdditionalStore, PCERT_CHAIN_PARA pChainPara, DWORD dwFlags, LPVOID pvReserved, PCCERT_CHAIN_CONTEXT *ppChainContext);
      |                          ^~~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:5435:23: error: expected ',' or ';' before 'CertFreeCertificateChain'
 5435 |   WINIMPM VOID WINAPI CertFreeCertificateChain (PCCERT_CHAIN_CONTEXT pChainContext);
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:5439:5: error: expected specifier-qualifier-list before 'DWORD'
 5439 |     DWORD cbSize;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:5457:84: error: expected declaration specifiers or '...' before 'DWORD'
 5457 |   WINIMPM PCCERT_CHAIN_CONTEXT WINAPI CertFindChainInStore (HCERTSTORE hCertStore, DWORD dwCertEncodingType, DWORD dwFindFlags, DWORD dwFindType, const void *pvFindPara, PCCERT_CHAIN_CONTEXT pPrevChainContext);
      |                                                                                    ^~~~~
/usr/include/w32api/wincrypt.h:5457:110: error: expected declaration specifiers or '...' before 'DWORD'
 5457 |   WINIMPM PCCERT_CHAIN_CONTEXT WINAPI CertFindChainInStore (HCERTSTORE hCertStore, DWORD dwCertEncodingType, DWORD dwFindFlags, DWORD dwFindType, const void *pvFindPara, PCCERT_CHAIN_CONTEXT pPrevChainContext);
      |                                                                                                              ^~~~~
/usr/include/w32api/wincrypt.h:5457:129: error: expected declaration specifiers or '...' before 'DWORD'
 5457 |   WINIMPM PCCERT_CHAIN_CONTEXT WINAPI CertFindChainInStore (HCERTSTORE hCertStore, DWORD dwCertEncodingType, DWORD dwFindFlags, DWORD dwFindType, const void *pvFindPara, PCCERT_CHAIN_CONTEXT pPrevChainContext);
      |                                                                                                                                 ^~~~~
/usr/include/w32api/wincrypt.h:5461:27: error: expected declaration specifiers or '...' before '*' token
 5461 |   typedef WINBOOL (WINAPI *PFN_CERT_CHAIN_FIND_BY_ISSUER_CALLBACK) (PCCERT_CONTEXT pCert, void *pvFindArg);
      |                           ^
/usr/include/w32api/wincrypt.h:5464:5: error: expected specifier-qualifier-list before 'DWORD'
 5464 |     DWORD cbSize;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:5486:5: error: expected specifier-qualifier-list before 'DWORD'
 5486 |     DWORD cbSize;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:5492:5: error: expected specifier-qualifier-list before 'DWORD'
 5492 |     DWORD cbSize;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:5523:26: error: expected ',' or ';' before 'CertVerifyCertificateChainPolicy'
 5523 |   WINIMPM WINBOOL WINAPI CertVerifyCertificateChainPolicy (LPCSTR pszPolicyOID, PCCERT_CHAIN_CONTEXT pChainContext, PCERT_CHAIN_POLICY_PARA pPolicyPara, PCERT_CHAIN_POLICY_STATUS pPolicyStatus);
      |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:5541:5: error: expected specifier-qualifier-list before 'DWORD'
 5541 |     DWORD cbSize;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:5547:5: error: expected specifier-qualifier-list before 'DWORD'
 5547 |     DWORD cbSize;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:5552:5: error: expected specifier-qualifier-list before 'DWORD'
 5552 |     DWORD cbSize;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:5562:7: error: expected specifier-qualifier-list before 'DWORD'
 5562 |       DWORD cbStruct;
      |       ^~~~~
/usr/include/w32api/wincrypt.h:5565:5: error: expected specifier-qualifier-list before 'DWORD'
 5565 |     DWORD dwAuthType;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:5577:5: error: expected specifier-qualifier-list before 'DWORD'
 5577 |     DWORD cbSize;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:5582:5: error: expected specifier-qualifier-list before 'DWORD'
 5582 |     DWORD cbSize;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:5589:5: error: expected specifier-qualifier-list before 'DWORD'
 5589 |     DWORD cbSize;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:5609:5: error: expected specifier-qualifier-list before 'DWORD'
 5609 |     DWORD cbSize;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:5616:5: error: expected specifier-qualifier-list before 'DWORD'
 5616 |     DWORD cbSize;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:5623:5: error: expected specifier-qualifier-list before 'DWORD'
 5623 |     DWORD cbSize;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:5637:26: error: expected ',' or ';' before 'CryptStringToBinaryA'
 5637 |   WINIMPM WINBOOL WINAPI CryptStringToBinaryA (LPCSTR pszString, DWORD cchString, DWORD dwFlags, BYTE *pbBinary, DWORD *pcbBinary, DWORD *pdwSkip, DWORD *pdwFlags);
      |                          ^~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:5638:26: error: expected ',' or ';' before 'CryptStringToBinaryW'
 5638 |   WINIMPM WINBOOL WINAPI CryptStringToBinaryW (LPCWSTR pszString, DWORD cchString, DWORD dwFlags, BYTE *pbBinary, DWORD *pcbBinary, DWORD *pdwSkip, DWORD *pdwFlags);
      |                          ^~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:5639:26: error: expected ',' or ';' before 'CryptBinaryToStringA'
 5639 |   WINIMPM WINBOOL WINAPI CryptBinaryToStringA (CONST BYTE *pbBinary, DWORD cbBinary, DWORD dwFlags, LPSTR pszString, DWORD *pcchString);
      |                          ^~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:5640:26: error: expected ',' or ';' before 'CryptBinaryToStringW'
 5640 |   WINIMPM WINBOOL WINAPI CryptBinaryToStringW (CONST BYTE *pbBinary, DWORD cbBinary, DWORD dwFlags, LPWSTR pszString, DWORD *pcchString);
      |                          ^~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:5679:5: error: unknown type name 'ULONG'
 5679 |     ULONG cbSalt;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:5685:72: error: expected declaration specifiers or '...' before 'LPCWSTR'
 5685 |   WINIMPM HCERTSTORE WINAPI PFXImportCertStore (CRYPT_DATA_BLOB *pPFX, LPCWSTR szPassword, DWORD dwFlags);
      |                                                                        ^~~~~~~
/usr/include/w32api/wincrypt.h:5685:92: error: expected declaration specifiers or '...' before 'DWORD'
 5685 |   WINIMPM HCERTSTORE WINAPI PFXImportCertStore (CRYPT_DATA_BLOB *pPFX, LPCWSTR szPassword, DWORD dwFlags);
      |                                                                                            ^~~~~
/usr/include/w32api/wincrypt.h:5707:26: error: expected ',' or ';' before 'PFXIsPFXBlob'
 5707 |   WINIMPM WINBOOL WINAPI PFXIsPFXBlob (CRYPT_DATA_BLOB *pPFX);
      |                          ^~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:5708:26: error: expected ',' or ';' before 'PFXVerifyPassword'
 5708 |   WINIMPM WINBOOL WINAPI PFXVerifyPassword (CRYPT_DATA_BLOB *pPFX, LPCWSTR szPassword, DWORD dwFlags);
      |                          ^~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:5709:26: error: expected ',' or ';' before 'PFXExportCertStoreEx'
 5709 |   WINIMPM WINBOOL WINAPI PFXExportCertStoreEx (HCERTSTORE hStore, CRYPT_DATA_BLOB *pPFX, LPCWSTR szPassword, void *pvPara, DWORD dwFlags);
      |                          ^~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:5730:5: error: expected specifier-qualifier-list before 'DWORD'
 5730 |     DWORD dwSize;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:5739:26: error: expected ',' or ';' before 'PFXExportCertStore'
 5739 |   WINIMPM WINBOOL WINAPI PFXExportCertStore (HCERTSTORE hStore, CRYPT_DATA_BLOB *pPFX, LPCWSTR szPassword, DWORD dwFlags);
      |                          ^~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:5742:16: error: expected '=', ',', ';', 'asm' or '__attribute__' before '*' token
 5742 |   typedef VOID *HCERT_SERVER_OCSP_RESPONSE;
      |                ^
/usr/include/w32api/wincrypt.h:5744:45: error: expected ',' or ';' before 'CertOpenServerOcspResponse'
 5744 |   WINIMPM HCERT_SERVER_OCSP_RESPONSE WINAPI CertOpenServerOcspResponse (PCCERT_CHAIN_CONTEXT pChainContext, DWORD dwFlags, LPVOID pvReserved);
      |                                             ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:5748:23: error: expected ',' or ';' before 'CertAddRefServerOcspResponse'
 5748 |   WINIMPM VOID WINAPI CertAddRefServerOcspResponse (HCERT_SERVER_OCSP_RESPONSE hServerOcspResponse);
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:5749:23: error: expected ',' or ';' before 'CertCloseServerOcspResponse'
 5749 |   WINIMPM VOID WINAPI CertCloseServerOcspResponse (HCERT_SERVER_OCSP_RESPONSE hServerOcspResponse, DWORD dwFlags);
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:5755:5: error: expected specifier-qualifier-list before 'DWORD'
 5755 |     DWORD cbSize;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:5760:26: error: expected declaration specifiers or '...' before '*' token
 5760 |   typedef VOID (CALLBACK *PFN_CERT_SERVER_OCSP_RESPONSE_UPDATE_CALLBACK)(PCCERT_CHAIN_CONTEXT pChainContext, PCCERT_SERVER_OCSP_RESPONSE_CONTEXT pServerOcspResponseContext, PCCRL_CONTEXT pNewCrlContext, PCCRL_CONTEXT pPrevCrlContext, PVOID pvArg, DWORD dwWriteOcspFileError);
      |                          ^
/usr/include/w32api/wincrypt.h:5763:5: error: expected specifier-qualifier-list before 'DWORD'
 5763 |     DWORD cbSize;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:5774:88: error: expected declaration specifiers or '...' before 'HCERT_SERVER_OCSP_RESPONSE'
 5774 |   WINIMPM PCCERT_SERVER_OCSP_RESPONSE_CONTEXT WINAPI CertGetServerOcspResponseContext (HCERT_SERVER_OCSP_RESPONSE hServerOcspResponse, DWORD dwFlags, LPVOID pvReserved);
      |                                                                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:5774:136: error: expected declaration specifiers or '...' before 'DWORD'
 5774 |   WINIMPM PCCERT_SERVER_OCSP_RESPONSE_CONTEXT WINAPI CertGetServerOcspResponseContext (HCERT_SERVER_OCSP_RESPONSE hServerOcspResponse, DWORD dwFlags, LPVOID pvReserved);
      |                                                                                                                                        ^~~~~
/usr/include/w32api/wincrypt.h:5774:151: error: expected declaration specifiers or '...' before 'LPVOID'
 5774 |   WINIMPM PCCERT_SERVER_OCSP_RESPONSE_CONTEXT WINAPI CertGetServerOcspResponseContext (HCERT_SERVER_OCSP_RESPONSE hServerOcspResponse, DWORD dwFlags, LPVOID pvReserved);
      |                                                                                                                                                       ^~~~~~
/usr/include/w32api/wincrypt.h:5775:23: error: expected ',' or ';' before 'CertAddRefServerOcspResponseContext'
 5775 |   WINIMPM VOID WINAPI CertAddRefServerOcspResponseContext (PCCERT_SERVER_OCSP_RESPONSE_CONTEXT pServerOcspResponseContext);
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:5776:23: error: expected ',' or ';' before 'CertFreeServerOcspResponseContext'
 5776 |   WINIMPM VOID WINAPI CertFreeServerOcspResponseContext (PCCERT_SERVER_OCSP_RESPONSE_CONTEXT pServerOcspResponseContext);
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:5778:26: error: expected ',' or ';' before 'CertRetrieveLogoOrBiometricInfo'
 5778 |   WINIMPM WINBOOL WINAPI CertRetrieveLogoOrBiometricInfo (PCCERT_CONTEXT pCertContext, LPCSTR lpszLogoOrBiometricType, DWORD dwRetrievalFlags, DWORD dwTimeout, DWORD dwFlags, void *pvReserved, BYTE **ppbData, DWORD *pcbData, LPWSTR *ppwszMimeType);
      |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:5792:5: error: unknown type name 'PFILETIME'
 5792 |     PFILETIME pTime;
      |     ^~~~~~~~~
/usr/include/w32api/wincrypt.h:5795:5: error: expected specifier-qualifier-list before 'DWORD'
 5795 |     DWORD dwFlags;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:5803:5: error: expected specifier-qualifier-list before 'DWORD'
 5803 |     DWORD dwType;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:5838:26: error: expected ',' or ';' before 'CertSelectCertificateChains'
 5838 |   WINIMPM WINBOOL WINAPI CertSelectCertificateChains (LPCGUID pSelectionContext, DWORD dwFlags, PCCERT_SELECT_CHAIN_PARA pChainParameters, DWORD cCriteria, PCCERT_SELECT_CRITERIA rgpCriteria, HCERTSTORE hStore, PDWORD pcSelection, PCCERT_CHAIN_CONTEXT **pprgpSelection);
      |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:5839:23: error: expected ',' or ';' before 'CertFreeCertificateChainList'
 5839 |   WINIMPM VOID WINAPI CertFreeCertificateChainList (PCCERT_CHAIN_CONTEXT *prgpSelection);
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:5846:5: error: expected specifier-qualifier-list before 'DWORD'
 5846 |     DWORD dwVersion;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:5857:5: error: expected specifier-qualifier-list before 'DWORD'
 5857 |     DWORD dwStatus;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:5881:5: error: expected specifier-qualifier-list before 'DWORD'
 5881 |     DWORD dwSeconds;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:5887:5: error: expected specifier-qualifier-list before 'DWORD'
 5887 |     DWORD dwVersion;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:5902:5: error: expected specifier-qualifier-list before 'DWORD'
 5902 |     DWORD cbEncoded;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:5908:5: error: expected specifier-qualifier-list before 'LPCSTR'
 5908 |     LPCSTR pszTSAPolicyId;
      |     ^~~~~~
/usr/include/w32api/wincrypt.h:5915:18: error: expected ',' or ';' before 'CryptRetrieveTimeStamp'
 5915 |   WINBOOL WINAPI CryptRetrieveTimeStamp (LPCWSTR wszUrl, DWORD dwRetrievalFlags, DWORD dwTimeout, LPCSTR pszHashId, const CRYPT_TIMESTAMP_PARA *pPara, const BYTE *pbData, DWORD cbData, PCRYPT_TIMESTAMP_CONTEXT *ppTsContext, PCCERT_CONTEXT *ppTsSigner, HCERTSTORE *phStore);
      |                  ^~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:5921:18: error: expected ',' or ';' before 'CryptVerifyTimeStampSignature'
 5921 |   WINBOOL WINAPI CryptVerifyTimeStampSignature (const BYTE *pbTSContentInfo, DWORD cbTSContentInfo, const BYTE *pbData, DWORD cbData, HCERTSTORE hAdditionalStore, PCRYPT_TIMESTAMP_CONTEXT *ppTsContext, PCCERT_CONTEXT *ppTsSigner, HCERTSTORE *phStore);
      |                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:5939:27: error: expected declaration specifiers or '...' before '*' token
 5939 |   typedef WINBOOL (WINAPI *PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_FLUSH) (LPVOID pContext, PCERT_NAME_BLOB *rgIdentifierOrNameList, DWORD dwIdentifierOrNameListCount);
      |                           ^
/usr/include/w32api/wincrypt.h:5940:27: error: expected declaration specifiers or '...' before '*' token
 5940 |   typedef WINBOOL (WINAPI *PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_GET) (LPVOID pPluginContext, PCRYPT_DATA_BLOB pIdentifier, DWORD dwNameType, PCERT_NAME_BLOB pNameBlob, PBYTE *ppbContent, DWORD *pcbContent, PCWSTR *ppwszPassword, PCRYPT_DATA_BLOB *ppIdentifier);
      |                           ^
/usr/include/w32api/wincrypt.h:5941:69: error: expected declaration specifiers or '...' before 'DWORD'
 5941 |   typedef void (WINAPI *PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_RELEASE) (DWORD dwReason, LPVOID pPluginContext);
      |                                                                     ^~~~~
/usr/include/w32api/wincrypt.h:5941:85: error: expected declaration specifiers or '...' before 'LPVOID'
 5941 |   typedef void (WINAPI *PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_RELEASE) (DWORD dwReason, LPVOID pPluginContext);
      |                                                                                     ^~~~~~
/usr/include/w32api/wincrypt.h:5942:75: error: expected declaration specifiers or '...' before 'LPVOID'
 5942 |   typedef void (WINAPI *PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_FREE_PASSWORD) (LPVOID pPluginContext, PCWSTR pwszPassword);
      |                                                                           ^~~~~~
/usr/include/w32api/wincrypt.h:5942:98: error: unknown type name 'PCWSTR'
 5942 |   typedef void (WINAPI *PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_FREE_PASSWORD) (LPVOID pPluginContext, PCWSTR pwszPassword);
      |                                                                                                  ^~~~~~
/usr/include/w32api/wincrypt.h:5943:66: error: expected declaration specifiers or '...' before 'LPVOID'
 5943 |   typedef void (WINAPI *PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_FREE) (LPVOID pPluginContext, PBYTE pbData);
      |                                                                  ^~~~~~
/usr/include/w32api/wincrypt.h:5943:89: error: unknown type name 'PBYTE'
 5943 |   typedef void (WINAPI *PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_FREE) (LPVOID pPluginContext, PBYTE pbData);
      |                                                                                         ^~~~~
/usr/include/w32api/wincrypt.h:5944:77: error: expected declaration specifiers or '...' before 'LPVOID'
 5944 |   typedef void (WINAPI *PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_FREE_IDENTIFIER) (LPVOID pPluginContext, PCRYPT_DATA_BLOB pIdentifier);
      |                                                                             ^~~~~~
/usr/include/w32api/wincrypt.h:5947:5: error: expected specifier-qualifier-list before 'DWORD'
 5947 |     DWORD cbSize;
      |     ^~~~~
/usr/include/w32api/wincrypt.h:5955:27: error: expected declaration specifiers or '...' before '*' token
 5955 |   typedef WINBOOL (WINAPI *PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_INITIALIZE) (PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_FLUSH pfnFlush, LPVOID pContext, DWORD *pdwExpectedObjectCount, PCRYPT_OBJECT_LOCATOR_PROVIDER_TABLE *ppFuncTable, void **ppPluginContext);
      |                           ^
/usr/include/w32api/wincrypt.h:5957:26: error: expected ',' or ';' before 'CertIsWeakHash'
 5957 |   WINIMPM WINBOOL WINAPI CertIsWeakHash(DWORD dwHashUseType, LPCWSTR pwszCNGHashAlgid, DWORD dwChainFlags, PCCERT_CHAIN_CONTEXT pSignerChainContext, LPFILETIME pTimeStamp, LPCWSTR pwszFileName);
      |                          ^~~~~~~~~~~~~~
/usr/include/w32api/wincrypt.h:5959:27: error: expected declaration specifiers or '...' before '*' token
 5959 |   typedef WINBOOL (WINAPI *PFN_CERT_IS_WEAK_HASH)(DWORD dwHashUseType, LPCWSTR pwszCNGHashAlgid, DWORD dwChainFlags, PCCERT_CHAIN_CONTEXT pSignerChainContext, LPFILETIME pTimeStamp, LPCWSTR pwszFileName);
      |                           ^
In file included from /usr/include/w32api/wincrypt.h:5974,
                 from GenRandom.xs:16:
/usr/include/w32api/dpapi.h:66:5: error: expected specifier-qualifier-list before 'DWORD'
   66 |     DWORD cbSize;
      |     ^~~~~
/usr/include/w32api/dpapi.h:72:28: error: expected ',' or ';' before 'CryptProtectData'
   72 |   DPAPI_IMP WINBOOL WINAPI CryptProtectData (DATA_BLOB *pDataIn, LPCWSTR szDataDescr, DATA_BLOB *pOptionalEntropy, PVOID pvReserved, CRYPTPROTECT_PROMPTSTRUCT *pPromptStruct, DWORD dwFlags, DATA_BLOB *pDataOut);
      |                            ^~~~~~~~~~~~~~~~
In file included from /usr/include/w32api/wincrypt.h:5974,
                 from GenRandom.xs:16:
/usr/include/w32api/dpapi.h:73:28: error: expected ',' or ';' before 'CryptUnprotectData'
   73 |   DPAPI_IMP WINBOOL WINAPI CryptUnprotectData (DATA_BLOB *pDataIn, LPWSTR *ppszDataDescr, DATA_BLOB *pOptionalEntropy, PVOID pvReserved, CRYPTPROTECT_PROMPTSTRUCT *pPromptStruct, DWORD dwFlags, DATA_BLOB *pDataOut);
      |                            ^~~~~~~~~~~~~~~~~~
In file included from /usr/include/w32api/wincrypt.h:5974,
                 from GenRandom.xs:16:
/usr/include/w32api/dpapi.h:93:26: error: expected ',' or ';' before 'CryptProtectMemory'
   93 | DPAPI_IMP WINBOOL WINAPI CryptProtectMemory (LPVOID pDataIn, DWORD cbDataIn, DWORD dwFlags);
      |                          ^~~~~~~~~~~~~~~~~~
/usr/include/w32api/dpapi.h:94:26: error: expected ',' or ';' before 'CryptUnprotectMemory'
   94 | DPAPI_IMP WINBOOL WINAPI CryptUnprotectMemory (LPVOID pDataIn, DWORD cbDataIn, DWORD dwFlags);
      |                          ^~~~~~~~~~~~~~~~~~~~
GenRandom.xs: In function 'cgr':
GenRandom.xs:29:3: error: unknown type name 'BYTE'
   29 |   BYTE * buff;
      |   ^~~~
GenRandom.xs:32:3: warning: statement with no effect [-Wunused-value]
   32 |   DWORD len;
      |   ^~~~~
GenRandom.xs:32:8: error: expected ';' before 'len'
   32 |   DWORD len;
      |        ^~~~
      |        ;
GenRandom.xs:36:5: error: 'len' undeclared (first use in this function)
   36 |     len = (ULONG)SvUV(ST(0));
      |     ^~~
GenRandom.xs:36:5: note: each undeclared identifier is reported only once for each function it appears in
GenRandom.xs:36:12: error: 'ULONG' undeclared (first use in this function); did you mean 'LONG'?
   36 |     len = (ULONG)SvUV(ST(0));
      |            ^~~~~
      |            LONG
GenRandom.xs:46:7: warning: implicit declaration of function 'CryptAcquireContextA'; did you mean 'CryptAcquireContext'? [-Wimplicit-function-declaration]
   46 |   if(!CryptAcquireContextA(&prov, NULL, NULL, PROV_RSA_FULL, CRYPT_SILENT | CRYPT_VERIFYCONTEXT)) {
      |       ^~~~~~~~~~~~~~~~~~~~
      |       CryptAcquireContext
In file included from /usr/lib/perl5/5.36/x86_64-cygwin-threads/CORE/perl.h:2999,
                 from GenRandom.xs:11:
GenRandom.xs:52:23: error: 'BYTE' undeclared (first use in this function)
   52 |   Newx(buff, len + 1, BYTE);
      |                       ^~~~
/usr/lib/perl5/5.36/x86_64-cygwin-threads/CORE/handy.h:2757:53: note: in definition of macro 'Newx'
 2757 | #define Newx(v,n,t)     (v = (MEM_WRAP_CHECK_(n,t) (t*)MEM_LOG_ALLOC(n,t,safemalloc((MEM_SIZE)((n)*sizeof(t))))))
      |                                                     ^
/usr/lib/perl5/5.36/x86_64-cygwin-threads/CORE/handy.h:2757:55: error: expected expression before ')' token
 2757 | #define Newx(v,n,t)     (v = (MEM_WRAP_CHECK_(n,t) (t*)MEM_LOG_ALLOC(n,t,safemalloc((MEM_SIZE)((n)*sizeof(t))))))
      |                                                       ^
GenRandom.xs:52:3: note: in expansion of macro 'Newx'
   52 |   Newx(buff, len + 1, BYTE);
      |   ^~~~
GenRandom.xs:55:5: warning: implicit declaration of function 'CryptReleaseContext'; did you mean 'CryptAcquireContext'? [-Wimplicit-function-declaration]
   55 |     CryptReleaseContext(prov, 0);
      |     ^~~~~~~~~~~~~~~~~~~
      |     CryptAcquireContext
GenRandom.xs:62:9: warning: implicit declaration of function 'CryptGenRandom' [-Wimplicit-function-declaration]
   62 |     if(!CryptGenRandom(prov, len, buff)) {
      |         ^~~~~~~~~~~~~~
In file included from /usr/lib/perl5/5.36/x86_64-cygwin-threads/CORE/perl.h:5778,
                 from GenRandom.xs:11:
GenRandom.xs:69:31: warning: passing argument 2 of 'Perl_newSVpv' from incompatible pointer type [-Wincompatible-pointer-types]
   69 |     XPUSHs(sv_2mortal(newSVpv(buff, len)));
      |                               ^~~~
      |                               |
      |                               int *
/usr/lib/perl5/5.36/x86_64-cygwin-threads/CORE/pp.h:479:61: note: in definition of macro 'XPUSHs'
  479 | #define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
      |                                                             ^
GenRandom.xs:69:12: note: in expansion of macro 'sv_2mortal'
   69 |     XPUSHs(sv_2mortal(newSVpv(buff, len)));
      |            ^~~~~~~~~~
GenRandom.xs:69:23: note: in expansion of macro 'newSVpv'
   69 |     XPUSHs(sv_2mortal(newSVpv(buff, len)));
      |                       ^~~~~~~
In file included from /usr/lib/perl5/5.36/x86_64-cygwin-threads/CORE/perl.h:5798,
                 from GenRandom.xs:11:
/usr/lib/perl5/5.36/x86_64-cygwin-threads/CORE/proto.h:2515:62: note: expected 'const char * const' but argument is of type 'int *'
 2515 | PERL_CALLCONV SV*       Perl_newSVpv(pTHX_ const char *const s, const STRLEN len)
      |                                            ~~~~~~~~~~~~~~~~~~^
GenRandom.xs: In function 'cgr_custom':
GenRandom.xs:81:3: error: unknown type name 'BYTE'
   81 |   BYTE * buff;
      |   ^~~~
GenRandom.xs:84:3: warning: statement with no effect [-Wunused-value]
   84 |   DWORD len;
      |   ^~~~~
GenRandom.xs:84:8: error: expected ';' before 'len'
   84 |   DWORD len;
      |        ^~~~
      |        ;
GenRandom.xs:89:5: error: 'len' undeclared (first use in this function)
   89 |     len = (ULONG)SvUV(ST(0));
      |     ^~~
GenRandom.xs:89:12: error: 'ULONG' undeclared (first use in this function); did you mean 'LONG'?
   89 |     len = (ULONG)SvUV(ST(0));
      |            ^~~~~
      |            LONG
GenRandom.xs:101:28: error: called object 'DWORD' is not a function or function pointer
  101 |                            (DWORD)SvUV(ST(offset + 3)), (DWORD)SvUV(ST(offset + 4)))) {
      |                            ^
In file included from GenRandom.xs:16:
/usr/include/w32api/wincrypt.h:4611:11: note: declared here
 4611 |   WINIMPM DWORD WINAPI CertGetNameStringW (PCCERT_CONTEXT pCertContext, DWORD dwType, DWORD dwFlags, void *pvTypePara, LPWSTR pszNameString, DWORD cchNameString);
      |           ^~~~~
GenRandom.xs:101:57: error: called object 'DWORD' is not a function or function pointer
  101 |                            (DWORD)SvUV(ST(offset + 3)), (DWORD)SvUV(ST(offset + 4)))) {
      |                                                         ^
In file included from GenRandom.xs:16:
/usr/include/w32api/wincrypt.h:4611:11: note: declared here
 4611 |   WINIMPM DWORD WINAPI CertGetNameStringW (PCCERT_CONTEXT pCertContext, DWORD dwType, DWORD dwFlags, void *pvTypePara, LPWSTR pszNameString, DWORD cchNameString);
      |           ^~~~~
In file included from /usr/lib/perl5/5.36/x86_64-cygwin-threads/CORE/perl.h:2999,
                 from GenRandom.xs:11:
GenRandom.xs:107:23: error: 'BYTE' undeclared (first use in this function)
  107 |   Newx(buff, len + 1, BYTE);
      |                       ^~~~
/usr/lib/perl5/5.36/x86_64-cygwin-threads/CORE/handy.h:2757:53: note: in definition of macro 'Newx'
 2757 | #define Newx(v,n,t)     (v = (MEM_WRAP_CHECK_(n,t) (t*)MEM_LOG_ALLOC(n,t,safemalloc((MEM_SIZE)((n)*sizeof(t))))))
      |                                                     ^
/usr/lib/perl5/5.36/x86_64-cygwin-threads/CORE/handy.h:2757:55: error: expected expression before ')' token
 2757 | #define Newx(v,n,t)     (v = (MEM_WRAP_CHECK_(n,t) (t*)MEM_LOG_ALLOC(n,t,safemalloc((MEM_SIZE)((n)*sizeof(t))))))
      |                                                       ^
GenRandom.xs:107:3: note: in expansion of macro 'Newx'
  107 |   Newx(buff, len + 1, BYTE);
      |   ^~~~
In file included from /usr/lib/perl5/5.36/x86_64-cygwin-threads/CORE/perl.h:5778,
                 from GenRandom.xs:11:
GenRandom.xs:124:31: warning: passing argument 2 of 'Perl_newSVpv' from incompatible pointer type [-Wincompatible-pointer-types]
  124 |     XPUSHs(sv_2mortal(newSVpv(buff, len)));
      |                               ^~~~
      |                               |
      |                               int *
/usr/lib/perl5/5.36/x86_64-cygwin-threads/CORE/pp.h:479:61: note: in definition of macro 'XPUSHs'
  479 | #define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
      |                                                             ^
GenRandom.xs:124:12: note: in expansion of macro 'sv_2mortal'
  124 |     XPUSHs(sv_2mortal(newSVpv(buff, len)));
      |            ^~~~~~~~~~
GenRandom.xs:124:23: note: in expansion of macro 'newSVpv'
  124 |     XPUSHs(sv_2mortal(newSVpv(buff, len)));
      |                       ^~~~~~~
In file included from /usr/lib/perl5/5.36/x86_64-cygwin-threads/CORE/perl.h:5798,
                 from GenRandom.xs:11:
/usr/lib/perl5/5.36/x86_64-cygwin-threads/CORE/proto.h:2515:62: note: expected 'const char * const' but argument is of type 'int *'
 2515 | PERL_CALLCONV SV*       Perl_newSVpv(pTHX_ const char *const s, const STRLEN len)
      |                                            ~~~~~~~~~~~~~~~~~~^
GenRandom.xs: In function 'rgr':
GenRandom.xs:136:3: error: unknown type name 'BYTE'
  136 |   BYTE * buff;
      |   ^~~~
GenRandom.xs:138:3: error: unknown type name 'ULONG'
  138 |   ULONG len;
      |   ^~~~~
GenRandom.xs:139:3: error: unknown type name 'HMODULE'
  139 |   HMODULE hLib;
      |   ^~~~~~~
GenRandom.xs:143:12: error: 'ULONG' undeclared (first use in this function); did you mean 'LONG'?
  143 |     len = (ULONG)SvUV(ST(0));
      |            ^~~~~
      |            LONG
In file included from /usr/lib/perl5/5.36/x86_64-cygwin-threads/CORE/perl.h:2999,
                 from GenRandom.xs:11:
GenRandom.xs:153:23: error: 'BYTE' undeclared (first use in this function)
  153 |   Newx(buff, len + 1, BYTE);
      |                       ^~~~
/usr/lib/perl5/5.36/x86_64-cygwin-threads/CORE/handy.h:2757:53: note: in definition of macro 'Newx'
 2757 | #define Newx(v,n,t)     (v = (MEM_WRAP_CHECK_(n,t) (t*)MEM_LOG_ALLOC(n,t,safemalloc((MEM_SIZE)((n)*sizeof(t))))))
      |                                                     ^
/usr/lib/perl5/5.36/x86_64-cygwin-threads/CORE/handy.h:2757:55: error: expected expression before ')' token
 2757 | #define Newx(v,n,t)     (v = (MEM_WRAP_CHECK_(n,t) (t*)MEM_LOG_ALLOC(n,t,safemalloc((MEM_SIZE)((n)*sizeof(t))))))
      |                                                       ^
GenRandom.xs:153:3: note: in expansion of macro 'Newx'
  153 |   Newx(buff, len + 1, BYTE);
      |   ^~~~
GenRandom.xs:156:10: warning: implicit declaration of function 'LoadLibrary' [-Wimplicit-function-declaration]
  156 |   hLib = LoadLibrary("ADVAPI32.DLL");
      |          ^~~~~~~~~~~
GenRandom.xs:161:5: warning: implicit declaration of function 'BOOLEAN' [-Wimplicit-function-declaration]
  161 |     BOOLEAN (APIENTRY *pfn)(void*, ULONG) =
      |     ^~~~~~~
GenRandom.xs:161:14: error: 'APIENTRY' undeclared (first use in this function)
  161 |     BOOLEAN (APIENTRY *pfn)(void*, ULONG) =
      |              ^~~~~~~~
GenRandom.xs:161:24: error: 'pfn' undeclared (first use in this function)
  161 |     BOOLEAN (APIENTRY *pfn)(void*, ULONG) =
      |                        ^~~
GenRandom.xs:161:29: error: expected expression before 'void'
  161 |     BOOLEAN (APIENTRY *pfn)(void*, ULONG) =
      |                             ^~~~
GenRandom.xs:162:27: error: expected expression before ')' token
  162 |       (BOOLEAN (APIENTRY *)(void*,ULONG))GetProcAddress(hLib,"SystemFunction036");
      |                           ^
GenRandom.xs:162:42: error: expected ';' before 'GetProcAddress'
  162 |       (BOOLEAN (APIENTRY *)(void*,ULONG))GetProcAddress(hLib,"SystemFunction036");
      |                                          ^~~~~~~~~~~~~~
      |                                          ;
GenRandom.xs:165:10: warning: implicit declaration of function 'pfn' [-Wimplicit-function-declaration]
  165 |       if(pfn(buff,len)) {
      |          ^~~
In file included from /usr/lib/perl5/5.36/x86_64-cygwin-threads/CORE/perl.h:5778,
                 from GenRandom.xs:11:
GenRandom.xs:166:35: warning: passing argument 2 of 'Perl_newSVpv' from incompatible pointer type [-Wincompatible-pointer-types]
  166 |         XPUSHs(sv_2mortal(newSVpv(buff, len)));
      |                                   ^~~~
      |                                   |
      |                                   int *
/usr/lib/perl5/5.36/x86_64-cygwin-threads/CORE/pp.h:479:61: note: in definition of macro 'XPUSHs'
  479 | #define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
      |                                                             ^
GenRandom.xs:166:16: note: in expansion of macro 'sv_2mortal'
  166 |         XPUSHs(sv_2mortal(newSVpv(buff, len)));
      |                ^~~~~~~~~~
GenRandom.xs:166:27: note: in expansion of macro 'newSVpv'
  166 |         XPUSHs(sv_2mortal(newSVpv(buff, len)));
      |                           ^~~~~~~
In file included from /usr/lib/perl5/5.36/x86_64-cygwin-threads/CORE/perl.h:5798,
                 from GenRandom.xs:11:
/usr/lib/perl5/5.36/x86_64-cygwin-threads/CORE/proto.h:2515:62: note: expected 'const char * const' but argument is of type 'int *'
 2515 | PERL_CALLCONV SV*       Perl_newSVpv(pTHX_ const char *const s, const STRLEN len)
      |                                            ~~~~~~~~~~~~~~~~~~^
GenRandom.xs:182:9: warning: implicit declaration of function 'FreeLibrary' [-Wimplicit-function-declaration]
  182 |         FreeLibrary(hLib);
      |         ^~~~~~~~~~~
GenRandom.xs: In function '_error_test':
GenRandom.xs:208:3: error: unknown type name 'HMODULE'
  208 |   HMODULE hLib=LoadLibrary("NO_SUCH.DLL");
      |   ^~~~~~~
make: *** [Makefile:332: GenRandom.o] Error 1

------------------------------
PREREQUISITES
------------------------------

Prerequisite modules loaded:

requires:

    Module              Need Have
    ------------------- ---- ----
    Test::Warn          0.23 0.37

build_requires:

    Module              Need Have
    ------------------- ---- ----
    ExtUtils::MakeMaker 0    7.70

configure_requires:

    Module              Need Have
    ------------------- ---- ----
    ExtUtils::MakeMaker 0    7.70


------------------------------
ENVIRONMENT AND OTHER CONTEXT
------------------------------

Environment variables:

    COMSPEC = C:\WINDOWS\system32\cmd.exe
    LDFLAGS = -Wl,-rpath,/usr/local/lib -L/usr/local/lib
    NUMBER_OF_PROCESSORS = 12
    PATH = /usr/bin:/usr/bin:/bin:/usr/local/bin
    PERL = /usr/bin/perl
    PERL5LIB = /src/perl/.cpan/build/Class-Meta-Express-0.14-0/blib/arch:/src/perl/.cpan/build/Class-Meta-Express-0.14-0/blib/lib:/src/perl/.cpan/build/Class-Meta-0.66-0/blib/arch:/src/perl/.cpan/build/Class-Meta-0.66-0/blib/lib:/src/perl/.cpan/build/Data-Types-0.17-0/blib/arch:/src/perl/.cpan/build/Data-Types-0.17-0/blib/lib:/src/perl/.cpan/build/PDL-IO-CSV-0.011-0/blib/arch:/src/perl/.cpan/build/PDL-IO-CSV-0.011-0/blib/lib:/src/perl/.cpan/build/Net-RFC3161-Timestamp-0.020-0/blib/arch:/src/perl/.cpan/build/Net-RFC3161-Timestamp-0.020-0/blib/lib:/src/perl/.cpan/build/Alien-OpenSSL-0.15-0/blib/arch:/src/perl/.cpan/build/Alien-OpenSSL-0.15-0/blib/lib:/src/perl/.cpan/build/MooseX-StrictConstructor-0.21-0/blib/arch:/src/perl/.cpan/build/MooseX-StrictConstructor-0.21-0/blib/lib:/src/perl/.cpan/build/DateTime-Format-MySQL-0.08-0/blib/arch:/src/perl/.cpan/build/DateTime-Format-MySQL-0.08-0/blib/lib:/src/perl/.cpan/build/Mozilla-CA-20230801-0/blib/arch:/src/perl/.cpan/build/Mozilla-CA-20230801-0/blib/lib:/src/perl/.cpan/build/TimeZone-Solar-0.2.2-0/blib/arch:/src/perl/.cpan/build/TimeZone-Solar-0.2.2-0/blib/lib:/src/perl/.cpan/build/Perinci-Sub-Wrapper-0.852-0/blib/arch:/src/perl/.cpan/build/Perinci-Sub-Wrapper-0.852-0/blib/lib:/src/perl/.cpan/build/TableData-Acme-CPANAuthors-0.003-0/blib/arch:/src/perl/.cpan/build/TableData-Acme-CPANAuthors-0.003-0/blib/lib:/src/perl/.cpan/build/TableDataRoles-Standard-0.016-1/blib/arch:/src/perl/.cpan/build/TableDataRoles-Standard-0.016-1/blib/lib:/src/perl/.cpan/build/Perinci-Sub-Complete-0.946-0/blib/arch:/src/perl/.cpan/build/Perinci-Sub-Complete-0.946-0/blib/lib:/src/perl/.cpan/build/Perinci-Sub-GetArgs-Argv-0.850-0/blib/arch:/src/perl/.cpan/build/Perinci-Sub-GetArgs-Argv-0.850-0/blib/lib:/src/perl/.cpan/build/TableData-0.2.3-1/blib/arch:/src/perl/.cpan/build/TableData-0.2.3-1/blib/lib:/src/perl/.cpan/build/TableData-Acme-CPANModules-0.002-0/blib/arch:/src/perl/.cpan/build/TableData-Acme-CPANModules-0.002-0/blib/lib:/src/perl/.cpan/build/RoleBundle-TinyCommons-Iterator-0.004-1/blib/arch:/src/perl/.cpan/build/RoleBundle-TinyCommons-Iterator-0.004-1/blib/lib:/src/perl/.cpan/build/TableDataRoles-Standard-0.016-0/blib/arch:/src/perl/.cpan/build/TableDataRoles-Standard-0.016-0/blib/lib:/src/perl/.cpan/build/Acme-CPANAuthors-Czech-0.31-0/blib/arch:/src/perl/.cpan/build/Acme-CPANAuthors-Czech-0.31-0/blib/lib:/src/perl/.cpan/build/Module-Load-Util-0.009-1/blib/arch:/src/perl/.cpan/build/Module-Load-Util-0.009-1/blib/lib:/src/perl/.cpan/build/Getopt-Std-Strict-1.01-0/blib/arch:/src/perl/.cpan/build/Getopt-Std-Strict-1.01-0/blib/lib:/src/perl/.cpan/build/TableData-0.2.3-0/blib/arch:/src/perl/.cpan/build/TableData-0.2.3-0/blib/lib:/src/perl/.cpan/build/Gravatar-URL-1.07-1/blib/arch:/src/perl/.cpan/build/Gravatar-URL-1.07-1/blib/lib:/src/perl/.cpan/build/Gravatar-URL-1.07-0/blib/arch:/src/perl/.cpan/build/Gravatar-URL-1.07-0/blib/lib:/src/perl/.cpan/build/RoleBundle-TinyCommons-Iterator-0.004-0/blib/arch:/src/perl/.cpan/build/RoleBundle-TinyCommons-Iterator-0.004-0/blib/lib:/src/perl/.cpan/build/Sys-Filesystem-1.408-0/blib/arch:/src/perl/.cpan/build/Sys-Filesystem-1.408-0/blib/lib:/src/perl/.cpan/build/Acme-CPANAuthors-0.26-0/blib/arch:/src/perl/.cpan/build/Acme-CPANAuthors-0.26-0/blib/lib:/src/perl/.cpan/build/Calendar-Simple-v2.0.2-0/blib/arch:/src/perl/.cpan/build/Calendar-Simple-v2.0.2-0/blib/lib:/src/perl/.cpan/build/Number-ZipCode-JP-0.20230731-0/blib/arch:/src/perl/.cpan/build/Number-ZipCode-JP-0.20230731-0/blib/lib:/src/perl/.cpan/build/Acme-CPANAuthors-0.26-1/blib/arch:/src/perl/.cpan/build/Acme-CPANAuthors-0.26-1/blib/lib:/src/perl/.cpan/build/Module-Load-Util-0.009-0/blib/arch:/src/perl/.cpan/build/Module-Load-Util-0.009-0/blib/lib:/src/perl/.cpan/build/Business-ISBN-Data-20230729.001-0/blib/arch:/src/perl/.cpan/build/Business-ISBN-Data-20230729.001-0/blib/lib:/src/perl/.cpan/build/UNIVERSAL-require-0.19-0/blib/arch:/src/perl/.cpan/build/UNIVERSAL-require-0.19-0/blib/lib:/src/perl/.cpan/build/App-cpanminus-1.7047-0/blib/arch:/src/perl/.cpan/build/App-cpanminus-1.7047-0/blib/lib:/src/perl/.cpan/build/App-sdif-4.28-0/blib/arch:/src/perl/.cpan/build/App-sdif-4.28-0/blib/lib:/src/perl/.cpan/build/Unicode-EastAsianWidth-Detect-0.03-0/blib/arch:/src/perl/.cpan/build/Unicode-EastAsianWidth-Detect-0.03-0/blib/lib:/src/perl/.cpan/build/DateTime-Format-Text-0.06-0/blib/arch:/src/perl/.cpan/build/DateTime-Format-Text-0.06-0/blib/lib:/src/perl/.cpan/build/Text-ANSI-Fold-2.2102-0/blib/arch:/src/perl/.cpan/build/Text-ANSI-Fold-2.2102-0/blib/lib:/src/perl/.cpan/build/System-Info-0.064-0/blib/arch:/src/perl/.cpan/build/System-Info-0.064-0/blib/lib:/src/perl/.cpan/build/Getopt-EX-termcolor-1.08-0/blib/arch:/src/perl/.cpan/build/Getopt-EX-termcolor-1.08-0/blib/lib:/src/perl/.cpan/build/WWW-RT-CPAN-0.002-0/blib/arch:/src/perl/.cpan/build/WWW-RT-CPAN-0.002-0/blib/lib:/src/perl/.cpan/build/Getopt-EX-Hashed-1.0503-0/blib/arch:/src/perl/.cpan/build/Getopt-EX-Hashed-1.0503-0/blib/lib:/src/perl/.cpan/build/Test-Pod-Spelling-CommonMistakes-1.001-0/blib/arch:/src/perl/.cpan/build/Test-Pod-Spelling-CommonMistakes-1.001-0/blib/lib:/src/perl/.cpan/build/Getopt-EX-2.1.4-0/blib/arch:/src/perl/.cpan/build/Getopt-EX-2.1.4-0/blib/lib:/src/perl/.cpan/build/Class-Simple-1.1-0/blib/arch:/src/perl/.cpan/build/Class-Simple-1.1-0/blib/lib:/src/perl/.cpan/build/Term-ANSIColor-Concise-2.05-0/blib/arch:/src/perl/.cpan/build/Term-ANSIColor-Concise-2.05-0/blib/lib:/src/perl/.cpan/build/Graphics-ColorNames-v3.5.0-0/blib/arch:/src/perl/.cpan/build/Graphics-ColorNames-v3.5.0-0/blib/lib:/src/perl/.cpan/build/Class-ISA-0.36-0/blib/arch:/src/perl/.cpan/build/Class-ISA-0.36-0/blib/lib:/usr/local/lib/perl5/site_perl/5.36:/usr/local/lib/perl5/site_perl/5.36/x86_64-cygwin-threads-multi:/usr/local/lib/perl5/site_perl:/usr/local/lib/perl5/vendor_perl/5.36:/usr/local/lib/perl5/vendor_perl/5.36/x86_64-cygwin-threads-multi:/usr/local/lib/perl5/vendor_perl:/usr/local/lib/perl5/5.36:/usr/local/lib/perl5/5.36/x86_64-cygwin-threads-multi:/usr/local/lib/perl5:/usr/local/share/perl5/site_perl/5.36:/usr/local/share/perl5/site_perl/5.36/x86_64-cygwin-threads-multi:/usr/local/share/perl5/site_perl:/usr/local/share/perl5/vendor_perl/5.36:/usr/local/share/perl5/vendor_perl/5.36/x86_64-cygwin-threads-multi:/usr/local/share/perl5/vendor_perl:/usr/local/share/perl5/5.36:/usr/local/share/perl5/5.36/x86_64-cygwin-threads-multi:/usr/local/share/perl5
    PERL5OPT = 
    PERL5_CPANPLUS_IS_RUNNING = 8894
    PERL5_CPAN_IS_RUNNING = 8894
    PERL_CANARY_STABILITY_NOPROMPT = 1
    PERL_CPAN_REPORTER_CONFIG = /cygdrive/c/home/peter/.cpanreporter/config-cygwin-OS-A01-L0123.ini
    PERL_USE_UNSAFE_INC = 1
    PROCESSOR_IDENTIFIER = Intel64 Family 6 Model 158 Stepping 10, GenuineIntel
    SHELL = /bin/bash
    TEMP = /tmp
    TERM = xterm

Perl special variables (and OS-specific diagnostics, for MSWin32):

    $^X = /usr/bin/perl
    $UID/$EUID = 1061331 / 1061331
    $GID = 1049089 1049089 578 545 4 66049 11 15 4095 66048 1104222 1150627 1098011 1051245 1113266 1156262 1089123 1139839 1157091 1090502 1141767 1081310 1090413 1061909 1058653 1081942 1122108 1125494 1137338 1137546 1088201 1143577 1151869 1090906 1093944 1122107 1051228 1057394 1141985 1159857 1068783 1154883 1152922 1137881 1138202 1056539 1057337 1089132 1100278 1051354 1104220 1059243 1089865 1152821 1087957 1105777 1155862 1150082 1135663 1049649 1152548 1125495 1152552 1139179 1069945 1142012 1059531 1090104 1090492 1155459 1068897 1157946 1081637 1095782 1075170 1144155 1139332 1146142 1111057 1159858 1069144 1154614 1081620 1141978 70145 70148 70149 1136189 1049147 1083352 266241 401408
    $EGID = 1049089 1049089 578 545 4 66049 11 15 4095 66048 1104222 1150627 1098011 1051245 1113266 1156262 1089123 1139839 1157091 1090502 1141767 1081310 1090413 1061909 1058653 1081942 1122108 1125494 1137338 1137546 1088201 1143577 1151869 1090906 1093944 1122107 1051228 1057394 1141985 1159857 1068783 1154883 1152922 1137881 1138202 1056539 1057337 1089132 1100278 1051354 1104220 1059243 1089865 1152821 1087957 1105777 1155862 1150082 1135663 1049649 1152548 1125495 1152552 1139179 1069945 1142012 1059531 1090104 1090492 1155459 1068897 1157946 1081637 1095782 1075170 1144155 1139332 1146142 1111057 1159858 1069144 1154614 1081620 1141978 70145 70148 70149 1136189 1049147 1083352 266241 401408

Perl module toolchain versions installed:

    Module              Have    
    ------------------- --------
    CPAN                2.36    
    CPAN::Meta          2.150010
    Cwd                 3.84    
    ExtUtils::CBuilder  0.280236
    ExtUtils::Command   7.70    
    ExtUtils::Install   2.22    
    ExtUtils::MakeMaker 7.70    
    ExtUtils::Manifest  1.75    
    ExtUtils::ParseXS   3.44    
    File::Spec          3.84    
    JSON                4.10    
    JSON::PP            4.16    
    Module::Build       0.4234  
    Module::Signature   0.88    
    Parse::CPAN::Meta   2.150010
    Test2               1.302195
    Test::Harness       3.44    
    Test::More          1.302195
    YAML                1.30    
    YAML::Syck          1.34    
    version             0.9929  


--

Summary of my perl5 (revision 5 version 36 subversion 1) configuration:
   
  Platform:
    osname=cygwin
    osvers=3.4.6-1.x86_64
    archname=x86_64-cygwin-threads-multi
    uname='cygwin_nt-10.0-22621 walter 3.4.6-1.x86_64 2023-02-14 13:23 utc x86_64 cygwin '
    config_args='-des -Dprefix=/usr -Dmksymlinks -Darchname=x86_64-cygwin-threads -Dlibperl=cygperl5_36.dll -Dcc=gcc -Dld=g++ -Accflags=-ggdb -O2 -pipe -Wall -Werror=format-security -D_FORTIFY_SOURCE=2 -fstack-protector-strong --param=ssp-buffer-size=4 -fdebug-prefix-map=/mnt/share/cygpkgs/perl/perl.x86_64/build=/usr/src/debug/perl-5.36.1-1 -fdebug-prefix-map=/mnt/share/cygpkgs/perl/perl.x86_64/src/perl-5.36.1=/usr/src/debug/perl-5.36.1-1 -fwrapv'
    hint=recommended
    useposix=true
    d_sigaction=define
    useithreads=define
    usemultiplicity=define
    use64bitint=define
    use64bitall=define
    uselongdouble=undef
    usemymalloc=n
    default_inc_excludes_dot=define
  Compiler:
    cc='gcc'
    ccflags ='-DPERL_USE_SAFE_PUTENV -U__STRICT_ANSI__ -D_GNU_SOURCE -ggdb -O2 -pipe -Wall -Werror=format-security -D_FORTIFY_SOURCE=2 -fstack-protector-strong --param=ssp-buffer-size=4 -fdebug-prefix-map=/mnt/share/cygpkgs/perl/perl.x86_64/build=/usr/src/debug/perl-5.36.1-1 -fdebug-prefix-map=/mnt/share/cygpkgs/perl/perl.x86_64/src/perl-5.36.1=/usr/src/debug/perl-5.36.1-1 -fwrapv -fno-strict-aliasing'
    optimize='-O3'
    cppflags='-DPERL_USE_SAFE_PUTENV -U__STRICT_ANSI__ -D_GNU_SOURCE -ggdb -O2 -pipe -Wall -Werror=format-security -D_FORTIFY_SOURCE=2 -fstack-protector-strong --param=ssp-buffer-size=4 -fdebug-prefix-map=/mnt/share/cygpkgs/perl/perl.x86_64/build=/usr/src/debug/perl-5.36.1-1 -fdebug-prefix-map=/mnt/share/cygpkgs/perl/perl.x86_64/src/perl-5.36.1=/usr/src/debug/perl-5.36.1-1 -fwrapv -fno-strict-aliasing'
    ccversion=''
    gccversion='11.3.1 20230310'
    gccosandvers=''
    intsize=4
    longsize=8
    ptrsize=8
    doublesize=8
    byteorder=12345678
    doublekind=3
    d_longlong=define
    longlongsize=8
    d_longdbl=define
    longdblsize=16
    longdblkind=3
    ivtype='long'
    ivsize=8
    nvtype='double'
    nvsize=8
    Off_t='off_t'
    lseeksize=8
    alignbytes=8
    prototype=define
  Linker and Libraries:
    ld='g++'
    ldflags =' -Wl,--enable-auto-import -Wl,--export-all-symbols -Wl,--enable-auto-image-base -fstack-protector-strong'
    libpth=/usr/lib
    libs=-lpthread -lnsl -lgdbm -ldb -ldl -lcrypt -lgdbm_compat
    perllibs=-lpthread -lnsl -ldl -lcrypt
    libc=/usr/lib/libcygwin.a
    so=dll
    useshrplib=true
    libperl=cygperl5_36.dll
    gnulibc_version=''
  Dynamic Linking:
    dlsrc=dl_dlopen.xs
    dlext=dll
    d_dlsymun=undef
    ccdlflags=' '
    cccdlflags=' '
    lddlflags=' --shared  -Wl,--enable-auto-import -Wl,--export-all-symbols -Wl,--enable-auto-image-base -fstack-protector-strong'


Characteristics of this binary (from libperl): 
  Compile-time options:
    HAS_TIMES
    MULTIPLICITY
    PERLIO_LAYERS
    PERL_COPY_ON_WRITE
    PERL_DONT_CREATE_GVSV
    PERL_OP_PARENT
    PERL_PRESERVE_IVUV
    PERL_USE_SAFE_PUTENV
    USE_64_BIT_ALL
    USE_64_BIT_INT
    USE_ITHREADS
    USE_LARGE_FILES
    USE_LOCALE
    USE_LOCALE_COLLATE
    USE_LOCALE_CTYPE
    USE_LOCALE_NUMERIC
    USE_LOCALE_TIME
    USE_PERLIO
    USE_PERL_ATOF
    USE_REENTRANT_API
    USE_THREAD_SAFE_LOCALE
  Locally applied patches:
    Cygwin: README
    Cygwin: use auto-image-base instead of fixed DLL base address
    Cygwin: modify hints
    Cygwin: Configure correct libsearch
    Cygwin: Configure correct libpth
    Cygwin: Win32 correct UTF8 handling
  Built under cygwin
  Compiled at May  2 2023 20:12:20
  %ENV:
    PERL="/usr/bin/perl"
    PERL5LIB="/src/perl/.cpan/build/Class-Meta-Express-0.14-0/blib/arch:/src/perl/.cpan/build/Class-Meta-Express-0.14-0/blib/lib:/src/perl/.cpan/build/Class-Meta-0.66-0/blib/arch:/src/perl/.cpan/build/Class-Meta-0.66-0/blib/lib:/src/perl/.cpan/build/Data-Types-0.17-0/blib/arch:/src/perl/.cpan/build/Data-Types-0.17-0/blib/lib:/src/perl/.cpan/build/PDL-IO-CSV-0.011-0/blib/arch:/src/perl/.cpan/build/PDL-IO-CSV-0.011-0/blib/lib:/src/perl/.cpan/build/Net-RFC3161-Timestamp-0.020-0/blib/arch:/src/perl/.cpan/build/Net-RFC3161-Timestamp-0.020-0/blib/lib:/src/perl/.cpan/build/Alien-OpenSSL-0.15-0/blib/arch:/src/perl/.cpan/build/Alien-OpenSSL-0.15-0/blib/lib:/src/perl/.cpan/build/MooseX-StrictConstructor-0.21-0/blib/arch:/src/perl/.cpan/build/MooseX-StrictConstructor-0.21-0/blib/lib:/src/perl/.cpan/build/DateTime-Format-MySQL-0.08-0/blib/arch:/src/perl/.cpan/build/DateTime-Format-MySQL-0.08-0/blib/lib:/src/perl/.cpan/build/Mozilla-CA-20230801-0/blib/arch:/src/perl/.cpan/build/Mozilla-CA-20230801-0/blib/lib:/src/perl/.cpan/build/TimeZone-Solar-0.2.2-0/blib/arch:/src/perl/.cpan/build/TimeZone-Solar-0.2.2-0/blib/lib:/src/perl/.cpan/build/Perinci-Sub-Wrapper-0.852-0/blib/arch:/src/perl/.cpan/build/Perinci-Sub-Wrapper-0.852-0/blib/lib:/src/perl/.cpan/build/TableData-Acme-CPANAuthors-0.003-0/blib/arch:/src/perl/.cpan/build/TableData-Acme-CPANAuthors-0.003-0/blib/lib:/src/perl/.cpan/build/TableDataRoles-Standard-0.016-1/blib/arch:/src/perl/.cpan/build/TableDataRoles-Standard-0.016-1/blib/lib:/src/perl/.cpan/build/Perinci-Sub-Complete-0.946-0/blib/arch:/src/perl/.cpan/build/Perinci-Sub-Complete-0.946-0/blib/lib:/src/perl/.cpan/build/Perinci-Sub-GetArgs-Argv-0.850-0/blib/arch:/src/perl/.cpan/build/Perinci-Sub-GetArgs-Argv-0.850-0/blib/lib:/src/perl/.cpan/build/TableData-0.2.3-1/blib/arch:/src/perl/.cpan/build/TableData-0.2.3-1/blib/lib:/src/perl/.cpan/build/TableData-Acme-CPANModules-0.002-0/blib/arch:/src/perl/.cpan/build/TableData-Acme-CPANModules-0.002-0/blib/lib:/src/perl/.cpan/build/RoleBundle-TinyCommons-Iterator-0.004-1/blib/arch:/src/perl/.cpan/build/RoleBundle-TinyCommons-Iterator-0.004-1/blib/lib:/src/perl/.cpan/build/TableDataRoles-Standard-0.016-0/blib/arch:/src/perl/.cpan/build/TableDataRoles-Standard-0.016-0/blib/lib:/src/perl/.cpan/build/Acme-CPANAuthors-Czech-0.31-0/blib/arch:/src/perl/.cpan/build/Acme-CPANAuthors-Czech-0.31-0/blib/lib:/src/perl/.cpan/build/Module-Load-Util-0.009-1/blib/arch:/src/perl/.cpan/build/Module-Load-Util-0.009-1/blib/lib:/src/perl/.cpan/build/Getopt-Std-Strict-1.01-0/blib/arch:/src/perl/.cpan/build/Getopt-Std-Strict-1.01-0/blib/lib:/src/perl/.cpan/build/TableData-0.2.3-0/blib/arch:/src/perl/.cpan/build/TableData-0.2.3-0/blib/lib:/src/perl/.cpan/build/Gravatar-URL-1.07-1/blib/arch:/src/perl/.cpan/build/Gravatar-URL-1.07-1/blib/lib:/src/perl/.cpan/build/Gravatar-URL-1.07-0/blib/arch:/src/perl/.cpan/build/Gravatar-URL-1.07-0/blib/lib:/src/perl/.cpan/build/RoleBundle-TinyCommons-Iterator-0.004-0/blib/arch:/src/perl/.cpan/build/RoleBundle-TinyCommons-Iterator-0.004-0/blib/lib:/src/perl/.cpan/build/Sys-Filesystem-1.408-0/blib/arch:/src/perl/.cpan/build/Sys-Filesystem-1.408-0/blib/lib:/src/perl/.cpan/build/Acme-CPANAuthors-0.26-0/blib/arch:/src/perl/.cpan/build/Acme-CPANAuthors-0.26-0/blib/lib:/src/perl/.cpan/build/Calendar-Simple-v2.0.2-0/blib/arch:/src/perl/.cpan/build/Calendar-Simple-v2.0.2-0/blib/lib:/src/perl/.cpan/build/Number-ZipCode-JP-0.20230731-0/blib/arch:/src/perl/.cpan/build/Number-ZipCode-JP-0.20230731-0/blib/lib:/src/perl/.cpan/build/Acme-CPANAuthors-0.26-1/blib/arch:/src/perl/.cpan/build/Acme-CPANAuthors-0.26-1/blib/lib:/src/perl/.cpan/build/Module-Load-Util-0.009-0/blib/arch:/src/perl/.cpan/build/Module-Load-Util-0.009-0/blib/lib:/src/perl/.cpan/build/Business-ISBN-Data-20230729.001-0/blib/arch:/src/perl/.cpan/build/Business-ISBN-Data-20230729.001-0/blib/lib:/src/perl/.cpan/build/UNIVERSAL-require-0.19-0/blib/arch:/src/perl/.cpan/build/UNIVERSAL-require-0.19-0/blib/lib:/src/perl/.cpan/build/App-cpanminus-1.7047-0/blib/arch:/src/perl/.cpan/build/App-cpanminus-1.7047-0/blib/lib:/src/perl/.cpan/build/App-sdif-4.28-0/blib/arch:/src/perl/.cpan/build/App-sdif-4.28-0/blib/lib:/src/perl/.cpan/build/Unicode-EastAsianWidth-Detect-0.03-0/blib/arch:/src/perl/.cpan/build/Unicode-EastAsianWidth-Detect-0.03-0/blib/lib:/src/perl/.cpan/build/DateTime-Format-Text-0.06-0/blib/arch:/src/perl/.cpan/build/DateTime-Format-Text-0.06-0/blib/lib:/src/perl/.cpan/build/Text-ANSI-Fold-2.2102-0/blib/arch:/src/perl/.cpan/build/Text-ANSI-Fold-2.2102-0/blib/lib:/src/perl/.cpan/build/System-Info-0.064-0/blib/arch:/src/perl/.cpan/build/System-Info-0.064-0/blib/lib:/src/perl/.cpan/build/Getopt-EX-termcolor-1.08-0/blib/arch:/src/perl/.cpan/build/Getopt-EX-termcolor-1.08-0/blib/lib:/src/perl/.cpan/build/WWW-RT-CPAN-0.002-0/blib/arch:/src/perl/.cpan/build/WWW-RT-CPAN-0.002-0/blib/lib:/src/perl/.cpan/build/Getopt-EX-Hashed-1.0503-0/blib/arch:/src/perl/.cpan/build/Getopt-EX-Hashed-1.0503-0/blib/lib:/src/perl/.cpan/build/Test-Pod-Spelling-CommonMistakes-1.001-0/blib/arch:/src/perl/.cpan/build/Test-Pod-Spelling-CommonMistakes-1.001-0/blib/lib:/src/perl/.cpan/build/Getopt-EX-2.1.4-0/blib/arch:/src/perl/.cpan/build/Getopt-EX-2.1.4-0/blib/lib:/src/perl/.cpan/build/Class-Simple-1.1-0/blib/arch:/src/perl/.cpan/build/Class-Simple-1.1-0/blib/lib:/src/perl/.cpan/build/Term-ANSIColor-Concise-2.05-0/blib/arch:/src/perl/.cpan/build/Term-ANSIColor-Concise-2.05-0/blib/lib:/src/perl/.cpan/build/Graphics-ColorNames-v3.5.0-0/blib/arch:/src/perl/.cpan/build/Graphics-ColorNames-v3.5.0-0/blib/lib:/src/perl/.cpan/build/Class-ISA-0.36-0/blib/arch:/src/perl/.cpan/build/Class-ISA-0.36-0/blib/lib:/usr/local/lib/perl5/site_perl/5.36:/usr/local/lib/perl5/site_perl/5.36/x86_64-cygwin-threads-multi:/usr/local/lib/perl5/site_perl:/usr/local/lib/perl5/vendor_perl/5.36:/usr/local/lib/perl5/vendor_perl/5.36/x86_64-cygwin-threads-multi:/usr/local/lib/perl5/vendor_perl:/usr/local/lib/perl5/5.36:/usr/local/lib/perl5/5.36/x86_64-cygwin-threads-multi:/usr/local/lib/perl5:/usr/local/share/perl5/site_perl/5.36:/usr/local/share/perl5/site_perl/5.36/x86_64-cygwin-threads-multi:/usr/local/share/perl5/site_perl:/usr/local/share/perl5/vendor_perl/5.36:/usr/local/share/perl5/vendor_perl/5.36/x86_64-cygwin-threads-multi:/usr/local/share/perl5/vendor_perl:/usr/local/share/perl5/5.36:/usr/local/share/perl5/5.36/x86_64-cygwin-threads-multi:/usr/local/share/perl5"
    PERL5OPT=""
    PERL5_CPANPLUS_IS_RUNNING="8894"
    PERL5_CPAN_IS_RUNNING="8894"
    PERL_CANARY_STABILITY_NOPROMPT="1"
    PERL_CPAN_REPORTER_CONFIG="/cygdrive/c/home/peter/.cpanreporter/config-cygwin-OS-A01-L0123.ini"
    PERL_USE_UNSAFE_INC="1"
  @INC:
    /src/perl/.cpan/build/Class-Meta-Express-0.14-0/blib/arch
    /src/perl/.cpan/build/Class-Meta-Express-0.14-0/blib/lib
    /src/perl/.cpan/build/Class-Meta-0.66-0/blib/arch
    /src/perl/.cpan/build/Class-Meta-0.66-0/blib/lib
    /src/perl/.cpan/build/Data-Types-0.17-0/blib/arch
    /src/perl/.cpan/build/Data-Types-0.17-0/blib/lib
    /src/perl/.cpan/build/PDL-IO-CSV-0.011-0/blib/arch
    /src/perl/.cpan/build/PDL-IO-CSV-0.011-0/blib/lib
    /src/perl/.cpan/build/Net-RFC3161-Timestamp-0.020-0/blib/arch
    /src/perl/.cpan/build/Net-RFC3161-Timestamp-0.020-0/blib/lib
    /src/perl/.cpan/build/Alien-OpenSSL-0.15-0/blib/arch
    /src/perl/.cpan/build/Alien-OpenSSL-0.15-0/blib/lib
    /src/perl/.cpan/build/MooseX-StrictConstructor-0.21-0/blib/arch
    /src/perl/.cpan/build/MooseX-StrictConstructor-0.21-0/blib/lib
    /src/perl/.cpan/build/DateTime-Format-MySQL-0.08-0/blib/arch
    /src/perl/.cpan/build/DateTime-Format-MySQL-0.08-0/blib/lib
    /src/perl/.cpan/build/Mozilla-CA-20230801-0/blib/arch
    /src/perl/.cpan/build/Mozilla-CA-20230801-0/blib/lib
    /src/perl/.cpan/build/TimeZone-Solar-0.2.2-0/blib/arch
    /src/perl/.cpan/build/TimeZone-Solar-0.2.2-0/blib/lib
    /src/perl/.cpan/build/Perinci-Sub-Wrapper-0.852-0/blib/arch
    /src/perl/.cpan/build/Perinci-Sub-Wrapper-0.852-0/blib/lib
    /src/perl/.cpan/build/TableData-Acme-CPANAuthors-0.003-0/blib/arch
    /src/perl/.cpan/build/TableData-Acme-CPANAuthors-0.003-0/blib/lib
    /src/perl/.cpan/build/TableDataRoles-Standard-0.016-1/blib/arch
    /src/perl/.cpan/build/TableDataRoles-Standard-0.016-1/blib/lib
    /src/perl/.cpan/build/Perinci-Sub-Complete-0.946-0/blib/arch
    /src/perl/.cpan/build/Perinci-Sub-Complete-0.946-0/blib/lib
    /src/perl/.cpan/build/Perinci-Sub-GetArgs-Argv-0.850-0/blib/arch
    /src/perl/.cpan/build/Perinci-Sub-GetArgs-Argv-0.850-0/blib/lib
    /src/perl/.cpan/build/TableData-0.2.3-1/blib/arch
    /src/perl/.cpan/build/TableData-0.2.3-1/blib/lib
    /src/perl/.cpan/build/TableData-Acme-CPANModules-0.002-0/blib/arch
    /src/perl/.cpan/build/TableData-Acme-CPANModules-0.002-0/blib/lib
    /src/perl/.cpan/build/RoleBundle-TinyCommons-Iterator-0.004-1/blib/arch
    /src/perl/.cpan/build/RoleBundle-TinyCommons-Iterator-0.004-1/blib/lib
    /src/perl/.cpan/build/TableDataRoles-Standard-0.016-0/blib/arch
    /src/perl/.cpan/build/TableDataRoles-Standard-0.016-0/blib/lib
    /src/perl/.cpan/build/Acme-CPANAuthors-Czech-0.31-0/blib/arch
    /src/perl/.cpan/build/Acme-CPANAuthors-Czech-0.31-0/blib/lib
    /src/perl/.cpan/build/Module-Load-Util-0.009-1/blib/arch
    /src/perl/.cpan/build/Module-Load-Util-0.009-1/blib/lib
    /src/perl/.cpan/build/Getopt-Std-Strict-1.01-0/blib/arch
    /src/perl/.cpan/build/Getopt-Std-Strict-1.01-0/blib/lib
    /src/perl/.cpan/build/TableData-0.2.3-0/blib/arch
    /src/perl/.cpan/build/TableData-0.2.3-0/blib/lib
    /src/perl/.cpan/build/Gravatar-URL-1.07-1/blib/arch
    /src/perl/.cpan/build/Gravatar-URL-1.07-1/blib/lib
    /src/perl/.cpan/build/Gravatar-URL-1.07-0/blib/arch
    /src/perl/.cpan/build/Gravatar-URL-1.07-0/blib/lib
    /src/perl/.cpan/build/RoleBundle-TinyCommons-Iterator-0.004-0/blib/arch
    /src/perl/.cpan/build/RoleBundle-TinyCommons-Iterator-0.004-0/blib/lib
    /src/perl/.cpan/build/Sys-Filesystem-1.408-0/blib/arch
    /src/perl/.cpan/build/Sys-Filesystem-1.408-0/blib/lib
    /src/perl/.cpan/build/Acme-CPANAuthors-0.26-0/blib/arch
    /src/perl/.cpan/build/Acme-CPANAuthors-0.26-0/blib/lib
    /src/perl/.cpan/build/Calendar-Simple-v2.0.2-0/blib/arch
    /src/perl/.cpan/build/Calendar-Simple-v2.0.2-0/blib/lib
    /src/perl/.cpan/build/Number-ZipCode-JP-0.20230731-0/blib/arch
    /src/perl/.cpan/build/Number-ZipCode-JP-0.20230731-0/blib/lib
    /src/perl/.cpan/build/Acme-CPANAuthors-0.26-1/blib/arch
    /src/perl/.cpan/build/Acme-CPANAuthors-0.26-1/blib/lib
    /src/perl/.cpan/build/Module-Load-Util-0.009-0/blib/arch
    /src/perl/.cpan/build/Module-Load-Util-0.009-0/blib/lib
    /src/perl/.cpan/build/Business-ISBN-Data-20230729.001-0/blib/arch
    /src/perl/.cpan/build/Business-ISBN-Data-20230729.001-0/blib/lib
    /src/perl/.cpan/build/UNIVERSAL-require-0.19-0/blib/arch
    /src/perl/.cpan/build/UNIVERSAL-require-0.19-0/blib/lib
    /src/perl/.cpan/build/App-cpanminus-1.7047-0/blib/arch
    /src/perl/.cpan/build/App-cpanminus-1.7047-0/blib/lib
    /src/perl/.cpan/build/App-sdif-4.28-0/blib/arch
    /src/perl/.cpan/build/App-sdif-4.28-0/blib/lib
    /src/perl/.cpan/build/Unicode-EastAsianWidth-Detect-0.03-0/blib/arch
    /src/perl/.cpan/build/Unicode-EastAsianWidth-Detect-0.03-0/blib/lib
    /src/perl/.cpan/build/DateTime-Format-Text-0.06-0/blib/arch
    /src/perl/.cpan/build/DateTime-Format-Text-0.06-0/blib/lib
    /src/perl/.cpan/build/Text-ANSI-Fold-2.2102-0/blib/arch
    /src/perl/.cpan/build/Text-ANSI-Fold-2.2102-0/blib/lib
    /src/perl/.cpan/build/System-Info-0.064-0/blib/arch
    /src/perl/.cpan/build/System-Info-0.064-0/blib/lib
    /src/perl/.cpan/build/Getopt-EX-termcolor-1.08-0/blib/arch
    /src/perl/.cpan/build/Getopt-EX-termcolor-1.08-0/blib/lib
    /src/perl/.cpan/build/WWW-RT-CPAN-0.002-0/blib/arch
    /src/perl/.cpan/build/WWW-RT-CPAN-0.002-0/blib/lib
    /src/perl/.cpan/build/Getopt-EX-Hashed-1.0503-0/blib/arch
    /src/perl/.cpan/build/Getopt-EX-Hashed-1.0503-0/blib/lib
    /src/perl/.cpan/build/Test-Pod-Spelling-CommonMistakes-1.001-0/blib/arch
    /src/perl/.cpan/build/Test-Pod-Spelling-CommonMistakes-1.001-0/blib/lib
    /src/perl/.cpan/build/Getopt-EX-2.1.4-0/blib/arch
    /src/perl/.cpan/build/Getopt-EX-2.1.4-0/blib/lib
    /src/perl/.cpan/build/Class-Simple-1.1-0/blib/arch
    /src/perl/.cpan/build/Class-Simple-1.1-0/blib/lib
    /src/perl/.cpan/build/Term-ANSIColor-Concise-2.05-0/blib/arch
    /src/perl/.cpan/build/Term-ANSIColor-Concise-2.05-0/blib/lib
    /src/perl/.cpan/build/Graphics-ColorNames-v3.5.0-0/blib/arch
    /src/perl/.cpan/build/Graphics-ColorNames-v3.5.0-0/blib/lib
    /src/perl/.cpan/build/Class-ISA-0.36-0/blib/arch
    /src/perl/.cpan/build/Class-ISA-0.36-0/blib/lib
    /usr/local/lib/perl5/site_perl/5.36
    /usr/local/lib/perl5/site_perl/5.36/x86_64-cygwin-threads-multi
    /usr/local/lib/perl5/site_perl
    /usr/local/lib/perl5/vendor_perl/5.36
    /usr/local/lib/perl5/vendor_perl/5.36/x86_64-cygwin-threads-multi
    /usr/local/lib/perl5/vendor_perl
    /usr/local/lib/perl5/5.36
    /usr/local/lib/perl5/5.36/x86_64-cygwin-threads-multi
    /usr/local/lib/perl5/x86_64-cygwin-threads-multi
    /usr/local/lib/perl5
    /usr/local/share/perl5/site_perl/5.36
    /usr/local/share/perl5/site_perl/5.36/x86_64-cygwin-threads-multi
    /usr/local/share/perl5/site_perl
    /usr/local/share/perl5/vendor_perl/5.36
    /usr/local/share/perl5/vendor_perl/5.36/x86_64-cygwin-threads-multi
    /usr/local/share/perl5/vendor_perl
    /usr/local/share/perl5/5.36
    /usr/local/share/perl5/5.36/x86_64-cygwin-threads-multi
    /usr/local/share/perl5
    /usr/local/lib/perl5/site_perl/5.36/x86_64-cygwin-threads
    /usr/local/share/perl5/site_perl/5.36
    /usr/lib/perl5/vendor_perl/5.36/x86_64-cygwin-threads
    /usr/share/perl5/vendor_perl/5.36
    /usr/lib/perl5/5.36/x86_64-cygwin-threads
    /usr/share/perl5/5.36
    .