name a string naming the semaphore object. ooption Specifies whether the semaphore is to be created (O_CREAT option bit set) or only opened (O_CREAT option bit clear). If O_CREAT is set, the O_EXCL option bit may additionally be set to specify that the call should fail if a semaphore of the same name already exists. The O_CREAT and O_EXCL options are defined in the <fcntl.h> header file. mode The semaphore's permission bits. This argument is used only when the semaphore is being created. value The initial value to be given to the semaphore. This argument is used only when the semaphore is being created.