Daniel Keep wrote:
bob wrote:
do IN become in maybe?
BLS Wrote:
BCS wrote:
Reply to bob,
sorry i copy wrong line. how do i do this line:
int PASCAL FAR mycnt ( IN SOCKET s, IN const struct sockaddr FAR *name,
IN int namelen );
bob Wrote:
step 1 would be get the output from the preprocessor and take a look at
it. I'm guessing that PASCAL, FAR and IN are macros
step 0 is try htod: http://www.digitalmars.com/d/1.0/htod.html
I think
int PASCAL FAR mycnt()
becomes :
extern (Pascal) int mycnt()
The FAR* thingy seems to be a 16 bit relict...
Guess the IN is not nessesary in D..., not sure though
Bjoern
"in" means "pass argument by value," and is the default for arguments.
Also, I believe that PASCAL is the same as the Windows cc, so my guess
at the conversion would be:
For D 1.x:
extern(Windows) int mycnt ( SOCKET s, sockaddr* name, int namelen );
For D 2.x:
extern(Windows) int mycnt ( SOCKET s, const sockaddr* name, int namelen );
Note that you'd have to supply definitions of SOCKET and sockaddr.
-- Daniel
I am pretty sure that PASCAL means __pascal
so the D1 translation is :
extern (Pascal) int mycnt ( SOCKET s, sockaddr* name, int namelen );
See :http://www.digitalmars.com/d/1.0/htomodule.html at the bottom
Bjoern