This is the mail archive of the cygwin@sourceware.cygnus.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: @at and a/w notations


On Fri, 16 Jul 1999 PositivePi@aol.com wrote:

>   This is probably something that I'm supposed to know, but... What is the 
> purpose of the @at and A/W notations in function names in .def's?
>   For example, wsock32.def:
> EXPORTS
[ ... ]
> GetNameByTypeA@12
> GetNameByTypeW@12

> 1) What does the @12 do?  If you remove it and create a new library without 
> it, it will not link.  What adds this notation?  I don't see anything in the 
> Windows32/Sockets.h header file that would change socket to socket@12.  Also, 
> if I'm creating my own .def's, how do I figure out what the value to put 
> after the @ is?

Please visit MS site and look at the documentation there that explains all
of this and more. Basically, this is what MS calls "stdcall" (aka WINAPI)
calling convention, where the number of bytes in the parameter list are
appended with a @<n> after the function name. For example, given the
following declaration:

  extern int foo (int, int);

any use of `foo' will resolve to foo@8, not just foo as you would expect.

> 2) Why do some functions (but not all) have a pair with the A and W suffixes, 
> even though theres only one function?  What adds this?  If I'm writing my own 
> .def's, how do I know which functions need this?

It's MS's way of choosing Unicode vs ASCII version of functions at compile
time.

Please ask followup questions on a generic win32 newsgroup, where these
are discussed. comp.os.ms-windows.programmer.win32 is such a place, and
comp.os.ms-windows.programmer.misc is probably another one. There are 
FAQ's and such there. Let's use those resources. 

Regards,
Mumit



--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]