What we've done is to export these functions to MarxMenu. We have implemented them slightly different than Novell did and have hidden all the nasties from you such as semaphore handles. All semaphores are accessed by name only. Here's a brief overview of semaphores. Semaphores are names of shared resources that the server keeps track of.
Semaphores have three properties.
They have a name, value and number of users. The name can be anything up to 48 characters long. The value is a number from -128 to 127. If the value is less than 0, the resource the semaphore represents is considered used up. By opening a semaphore, you increase the number of users by one.