Files
刘可亮 3e10f578d3 v1.2.2
2025-10-21 13:59:50 +08:00

41 lines
1.0 KiB
C

#ifndef __LINUX_SEMAPHORE_H
#define __LINUX_SEMAPHORE_H
#if defined(__MBED__)
#include "os/mbed/semaphore.h"
#elif defined(__WINDOWS__)
#include "os/win/semaphore.h"
#elif defined(__LINUX__)
#include "os/linux/semaphore.h"
#elif defined(__CSKY__)
#include "os/c-sky/semaphore.h"
#else
//#include "porting/semaphore.h"
#endif
struct semaphore {
unsigned int sem;
unsigned int vaild;
};
#define sema_init os_sema_init
#define sema_destroy os_sema_destroy
#define sema_down os_sema_down
#define down_interruptible os_down_interruptible
#define down_killable os_down_killable
#define down_trylock os_down_trylock
#define down_timeout os_down_timeout
#define sema_up os_sema_up
void os_sema_init(struct semaphore *sem, int val);
void os_sema_destroy(struct semaphore *sem);
int os_sema_down(struct semaphore *sem);
int os_down_interruptible(struct semaphore *sem);
int os_down_killable(struct semaphore *sem);
int os_down_trylock(struct semaphore *sem);
int os_down_timeout(struct semaphore *sem, long jif);
void os_sema_up(struct semaphore *sem);
#endif