#include <pthread.h>
#include "lock.h"
#include "cond.h"

typedef struct {
  int value;
  // put your code here
} Semaphore;

Semaphore *make_semaphore (int value);
void semaphore_wait (Semaphore *semaphore);
void semaphore_signal (Semaphore *semaphore);

