rendered paste bodysemaphore.h#ifndef _SEMAPHORE_H#define _SEMAPHORE_H#include <stdlib.h>#include <pthread.h>typedef struct semaphore{ pthread_mutex_t lock; pthread_cond_t signal; int value;} semaphore_t;semaphore_t * initialize(int value);void prolaag(semaphore_t *sem, pthread_mutex_t *waitLock);void verhoog(semaphore_t *sem);#endifsemaphore.c #include "semaphore.h"semaphore_t * initialize(int value){ semaphore_t *temp; temp = (semaphore_t*)malloc(sizeof(semaphore_t)); temp->lock = PTHREAD_MUTEX_INITIALIZER; temp->signal = PTHREAD_COND_INITIALIZER; temp->value = value; return temp;} void prolaag(semaphore_t *sem, pthread_mutex_t *waitLock){ if (pthread_mutex_lock(&sem->lock)) exit(0); // exits if mutex fails sem->value= sem->value - 1; if (sem->value < 0){ pthread_mutex_unlock(&sem->lock); pthread_mutex_unlock(waitLock); pthread_cond_wait(&sem->signal, &sem->lock); } pthread_mutex_unlock(&sem->lock);}void verhoog(semaphore_t *sem){ if (pthread_mutex_lock(&sem->lock)) exit(0); // exits if mutex fails sem->value = sem->value + 1; if(sem->value <= 0) pthread_cond_signal(&sem->signal); pthread_mutex_unlock(&sem->lock);}errorlest0039@lind24-12 (~/csci5103/posix) % makegcc -g -Wall -c -o semaphore.o semaphore.csemaphore.c: In function initialize:semaphore.c:9: error: syntax error before { tokensemaphore.c:9: warning: control reaches end of non-void functionsemaphore.c: At top level:semaphore.c:10: error: syntax error before -> tokensemaphore.c:11: error: syntax error before -> tokenmake: *** [semaphore.o] Error 1lest0039@lind24-12 (~/csci5103/posix) %