Re: How to request additions to w32api?

Keith Marshall <[email protected]> Thu, 11 Feb 2021 20:05:07 +0000
Newsgroups gmane.comp.gnu.mingw.user
Organization MinGW.org Project
Message-ID <[email protected]>
This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--===============7349940127215949004==
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="p6buAsWOThIzP5M5OV9JvLSznrYthF8ze"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--p6buAsWOThIzP5M5OV9JvLSznrYthF8ze
Content-Type: multipart/mixed; boundary="t8vMbknLX0RPknFyldWMQmleCxXSXUGcV";
 protected-headers="v1"
From: Keith Marshall <[email protected]>
To: [email protected]
Message-ID: <92c8e65b-4796-c2ea-69bb-de6c9e7ed167-JlWs9+JhQMeJPt80KsDg5Q@public.gmane.org>
Subject: Re: [MinGW-Users] How to request additions to w32api?
References: <838s7viy6k.fsf-mXXj517/[email protected]>
 <d5eb45cc-cb65-a408-5823-7854cdd4290a-JlWs9+JhQMeJPt80KsDg5Q@public.gmane.org> <83wnvehef1.fsf-mXXj517/[email protected]>
In-Reply-To: <83wnvehef1.fsf-mXXj517/[email protected]>

--t8vMbknLX0RPknFyldWMQmleCxXSXUGcV
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: quoted-printable

On 11/02/2021 14:22, Eli Zaretskii wrote:
>>> (It is not clear to me whether the *.def files are maintained by hand=

>>> or are produced by some tool.)
>>=20
>> The initial .def file, for any given import library, is likely to have=

>> been generated byt the "pexports" tool -- that's certainly what I use,=

>> when I have access to the DLL.
>
> pexports doesn't produce the @NN part of the function's export, ...

It does, if you show it the prototypes:

  $ echo '#define _WIN32_WINNT  0x0A00' > foo.h
  $ echo '#include <windows.h>' >> foo.h
  $ alias pexports=3D'pexports -p ~/mingw32/bin/mingw32-cpp'
  $ pexports -h ./foo.h $WINDRIVE/Windows/System32/kernel32.dll
  LIBRARY "KERNEL32.dll"
  EXPORTS
  AcquireSRWLockExclusive@4 DATA
  AcquireSRWLockShared@4 DATA
  ActivateActCtx@8
  ActivateActCtxWorker
  AddAtomA@4
  AddAtomW@4
  AddConsoleAliasA@12
  AddConsoleAliasW@12
  ...

Of course, this is only effective for functions for which a prototype is
provided, in the set of header files passed through the "-h" argument,
and any others which this subsequently includes.

--=20
Regards,
Keith.

Public key available from keys.gnupg.net
Key fingerprint: C19E C018 1547 DE50 E1D4 8F53 C0AD 36C6 347E 5A3F


--t8vMbknLX0RPknFyldWMQmleCxXSXUGcV--

--p6buAsWOThIzP5M5OV9JvLSznrYthF8ze
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsF5BAABCAAjFiEEwZ7AGBVH3lDh1I9TwK02xjR+Wj8FAmAljfMFAwAAAAAACgkQwK02xjR+Wj+5
2g//WxN2ZTVTARyfYeGpaQFQECMy0G8WscTkGGEC3Lhs6Y4bzdUBOdSlNOrYcNzl1i+AINXC3xB9
j7FW5H0nDeysrm9iodKtVU8htBw5i6Vf0JgAHdmyhx40D/yEhe8GcakuIM5PI+De1f0C1i9h0ebs
qZFdwJ+ldkwffdk5dqmrNqVn1U6jdWBvw/q8xm51agUeTd9pFXmA8erITwqZjDY7WzZZvPlRUoM0
9nGf1BXP1+YzND1leNMc97fz3otukodK0bEbwuczScc2FIbtg7RJrI20l+48ji+5Fi/0Pnwd/YJc
EY2EJQkLP6Vt6txBpN3v99RNhh6JwUxP+mLBDjxDz44GILrjWPV6og0eto5l7dzPVK9Unp+Gg20+
MAa68xQINqLvd+4QpkhutycfAxkUx7+n7zXeDwgXX7PdqQ1/V44qNLPuCD0V9s90mtukqLq5RlBI
yrtQBAoBCkmYC83BdqcaNX5oUsZQLQwP8BXFMvEuPo4kfe1ZnJ4ayFdbe/iunfGgUKVMY9GnfEs1
fCbgtaHw2KF2lfIx/Qbtjh7oj1cdbcr/ckGd3VIvzaKa45JQcTxFi1HA0tlv2wLyRNDI89lV4hwn
bapxGPOYXBt+/iRx7lCGSOXE9Q5oz/969AHylMY9II8OtMggc99yXFjodJr7/EUP68FbW1rLr7a/
jTU=
=GEcb
-----END PGP SIGNATURE-----

--p6buAsWOThIzP5M5OV9JvLSznrYthF8ze--


--===============7349940127215949004==
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: inline

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTWluR1ctVXNl
cnMgbWFpbGluZyBsaXN0Ck1pbkdXLVVzZXJzQGxpc3RzLm9zZG4ubWUKClRoaXMgbGlzdCBvYnNl
cnZlcyB0aGUgUG9zdGluZyBFdGlxdWV0dGUsIGFzIGRlc2NyaWJlZCBhdCBodHRwczovL21pbmd3
Lm9zZG4uaW8vaW5kZXguaHRtbD9wYWdlPW1haWxpbmcuaHRtbCNsaXN0LWV0aXF1ZXR0ZS4KV2Ug
YXNrIHRoYXQgeW91IGJlIHBvbGl0ZSBhbmQgZG8gdGhlIHNhbWUuICBEaXNyZWdhcmQgZm9yIHRo
ZSBsaXN0IGV0aXF1ZXR0ZSBtYXkgY2F1c2UgeW91ciBhY2NvdW50IHRvIGJlIG1vZGVyYXRlZC4K
Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCllvdSBtYXkg
Y2hhbmdlIHlvdXIgTWluR1cgQWNjb3VudCBPcHRpb25zIG9yIHVuc3Vic2NyaWJlIGF0OgpodHRw
czovL2xpc3RzLm9zZG4ubWUvbWFpbG1hbi9saXN0aW5mby9taW5ndy11c2VycwpBbHNvOiBtYWls
dG86bWluZ3ctdXNlcnMtcmVxdWVzdEBsaXN0cy5vc2RuLm1lP3N1YmplY3Q9dW5zdWJzY3JpYmU=

--===============7349940127215949004==--