home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 10 Tools
/
10-Tools.zip
/
cenvi23.zip
/
ISSEM.CMD
< prev
next >
Wrap
OS/2 REXX Batch file
|
1995-04-07
|
2KB
|
58 lines
EXTPROC CEnvi2
//***********************************************
//*** IsSem.cmd - CEnvi program to check if a ***
//*** ver.1 semaphore exists. Return ***
//*** errorlevel 0 if exists, ***
//*** else errorlevel 1 if the ***
//*** semaphore isn't there. ***
//*** Example: IsSem \SEM32\COMMPASS.SEM ***
//***********************************************
#define ORD_DOS32OPENEVENTSEM 325
#define ORD_DOS32CLOSEEVENTSEM 326
#define ORD_DOS32OPENMUTEXSEM 332
#define ORD_DOS32CLOSEMUTEXSEM 333
#define ORD_DOS32OPENMUXWAITSEM 338
#define ORD_DOS32OPENMUXWAITSEM 339
main(argc,argv)
{
if ( argc != 2 ) {
printf("Must supply semaphore name.\n");
return 1;
}
lSemName = argv[1];
if ( !DosOpenSomeKindOfEventSem(lSemName,lSemHandle,Ord=ORD_DOS32OPENEVENTSEM)
|| !DosOpenSomeKindOfEventSem(lSemName,lSemHandle,Ord=ORD_DOS32OPENMUTEXSEM)
|| !DosOpenSomeKindOfEventSem(lSemName,lSemHandle,Ord=ORD_DOS32OPENMUXWAITSEM) ) {
printf("%s exists.\n",lSemName);
return 0;
}
printf("%s is not there.\n",lSemName);
return 1;
}
DosOpenSomeKindOfEventSem(pName,pSemHandle,pDynaLinkOrdinal)
// pName is NULL or name of semaphore
// pSemHandle is semaphore handle on output; if pName NULL
// then also input
// return 0 if success, else return error code
{
BLObPut(lSemBLOb,0,pName ? 0 : pSemHandle,UWORD32);
lRc = DynamicLink("doscalls",pDynaLinkOrdinal,BIT32,CDECL,
pName,lSemBLOb);
pSemHandle = BLObGet(lSemBLOb,0,UWORD32);
return lRc;
}
DosCloseSomeKindOfEventSem(pSemHandle,pDynLinkOrdinal)
// pSemaHandle is a semaphore returned from DosOpenEventSem
{
return DynamicLink("doscalls",pDynLinkOrdinal,BIT32,CDECL,
pSemHandle);
}