mirror of
https://github.com/switchbrew/libnx.git
synced 2025-12-30 06:48:38 +01:00
29 lines
431 B
C
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 |