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