sem
The location to receive the descriptor of the initialized
semaphore.
pshared
A value indicating whether the semaphore should be sharable
between the creating process and its descendants (nonzero value)
or not (zero).
NOTE
The value for pshared must be zero between threads because
this release does not support unnamed semaphores to be
shared across processes.
value
The initial value to be given to the semaphore.