28 lines
494 B
C
28 lines
494 B
C
#ifndef __OS_CONDV_H
|
|
#define __OS_CONDV_H
|
|
#include "osal/atomic.h"
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
struct os_condv {
|
|
uint32 magic;
|
|
atomic_t waitings;
|
|
void *sema;
|
|
};
|
|
|
|
int32 os_condv_init(struct os_condv *cond);
|
|
|
|
int32 os_condv_broadcast(struct os_condv *cond);
|
|
int32 os_condv_signal(struct os_condv *cond);
|
|
|
|
int32 os_condv_del(struct os_condv *cond);
|
|
int32 os_condv_wait(struct os_condv *cond, struct os_mutex *mutex, uint32 tmo_ms);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
#endif
|
|
|