libnx/nx/include/switch/kernel/semaphore.h
Unknown 18234cbcc3 Add Semaphore
Implement basic semaphore, no sem_post (yet)
2018-06-26 18:49:05 -04:00

29 lines
431 B
C

// Copyright 2018 Kevoot
#ifndef __SEMAPHORE_H
#define __SEMAPHORE_H
#include "mutex.h"
#define SEM_DOWN false
#define SEM_UP true
#define EBUSY 1
typedef struct sem_t
{
bool flag;
Mutex mutex;
} sem_t;
void sem_init(sem_t *);
void sem_uninit(sem_t *);
/* TODO */
void set_post(sem_t *);
void sem_up(sem_t *);
void sem_down(sem_t *);
void sem_wait(sem_t *);
void sem_waitup(sem_t *);
bool sem_isup(sem_t *);
#endif