TIP: Click on subject to list as thread! ANSI
echo: os2prog
to: Mike Bilow
from: Darin McBride
date: 1996-05-24 00:50:40
subject: Semaphores (16 & 32)

MB> Darin McBride wrote in a message to Mike Bilow:

 DM> Well, Mike, that doesn't seem to help much - the _far16
 DM> anyway: 

 MB> You need to convert the argument lists, too.

 MB> If you are using C++, be sure and declare the API functions as
extern "C".

extern "C" {

APIRET16 APIENTRY16 DosCreateSem(USHORT  usNoExclusive,
                                 PHSEM16 phsemSemHandle,
                                 PCSZ16  pszSemName);
APIRET16 APIENTRY16 DosOpenSem(PHSEM16 SemHandle,
                               PCSZ16 SemName);
APIRET16 APIENTRY16 DosSemRequest(HSEM16  hsemSemHandle,
                                  LONG  lTimeout);
APIRET16 APIENTRY16 DosSemClear(HSEM16 hsemSemHandle);
APIRET16 APIENTRY16 DosCloseSem(HSEM16 hsemSemHandle);
}

Using the typedefs from the previous message should get it going right...
or so I thought.

 MB> Link with \WATCOM\LIB386\OS2\OS2286.LIB to get the 16-
 MB> bit API from 32-bit code.

Done.  As I said, it links, but the start-up code doesn't seem to complete
before giving me a sys3175 error (at location '000000000' [more or less...
all zeros] yet...)

 DM> Any other ideas?

 MB> If this still doesn't work, I'll try and construct a real example for you.

Would be appreciated.  VERY appreciated.  :-)  Thanks.

BTW, if it wasn't mentioned, I use version 10.6... :-)


--- Maximus/2 3.01
* Origin: Tanktalus' Tower BBS (PVT) (1:342/708)
SEEN-BY: 50/99 270/101 620/243 711/401 409 410 413 430 808 809 934 955
SEEN-BY: 712/407 515 517 628 713/888 800/1
@PATH: 342/5015 61 3615/50 396/1 270/101 712/515 711/808 934

SOURCE: echomail via fidonet.ozzmosis.com

Email questions or comments to sysop@ipingthereforeiam.com
All parts of this website painstakingly hand-crafted in the U.S.A.!
IPTIA BBS/MUD/Terminal/Game Server List, © 2025 IPTIA Consulting™.