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

Reply via email to