This example shoes how to post an event semaphore with this API.
#define INCL_DOSSEMAPHORES /* Semaphore values */ #define INCL_DOSERRORS /* DOS error values */ #include <os2.h> #include <stdio.h> int main(VOID) { PSZ szSemName = "\\SEM32\\MYTOOL\\EVENTSEM\\1"; /* Semaphore name */ HEV hevEvent = 0; /* Event semaphore handle */ APIRET rc = NO_ERROR; /* Return code */ rc = DosCreateEventSem(szSemName, /* Name of semaphore to create */ &hevEvent, /* Handle of semaphore returned */ DC_SEM_SHARED, /* Shared semaphore */ FALSE); /* Don't want it POSTed yet */ if (rc != NO_ERROR) { printf("DosCreateEventSem error: return code = %u\n", rc); return 1; } /* OOPS... we changed our mind, POST the semaphore */ rc = DosPostEventSem(hevEvent); if (rc != NO_ERROR) { printf("DosPostEventSem error: return code = %u\n", rc); return 1; } return NO_ERROR; }