550W Document
550W, a high-end OS
sync.h 文件参考
#include <lib/list.h>
sync.h 的引用(Include)关系图:
此图展示该文件直接或间接的被哪些文件引用了:

浏览源代码.

struct  basic_info
 
struct  Semaphore
 
struct  cond
 
struct  barrier
 
struct  mbox
 
struct  mbox_arg
 
struct  pcb_mbox
 

宏定义

#define COMM_NUM   32
 
#define MBOX_NAME_LEN   64
 
#define MBOX_MSG_MAX_LEN   128
 
#define MBOX_MAX_USER   10
 
#define PCB_MBOX_MAX_MSG_NUM   16
 
#define PCB_MBOX_MSG_MAX_LEN   256
 

类型定义

typedef struct basic_info basic_info_t
 
typedef struct Semaphore Semaphore_t
 
typedef struct cond cond_t
 
typedef struct barrier barrier_t
 
typedef struct mbox mbox_t
 
typedef struct mbox_arg mbox_arg_t
 
typedef struct pcb_mbox pcb_mbox_t
 

函数

int k_commop (void *key_id, void *arg, int op)
 
int k_semaphore_init (int *key, int sem)
 
int k_semaphore_p (int key)
 
int k_semaphore_v (int key)
 
int k_semaphore_destroy (int *key)
 
int k_cond_init (int *key)
 
int k_cond_wait (int key)
 
int k_cond_signal (int key)
 
int k_cond_broadcast (int key)
 
int k_cond_destroy (int *key)
 
int k_barrier_init (int *key, int total)
 
int k_barrier_wait (int key)
 
int k_barrier_destroy (int *key)
 
int k_mbox_open (int id_1, int id_2)
 
int k_mbox_close ()
 
int k_mbox_send (int key, mbox_t *target, mbox_arg_t *arg)
 
int k_mbox_recv (int key, mbox_t *target, mbox_arg_t *arg)
 
int k_mbox_try_send (int key, mbox_arg_t *arg)
 
int k_mbox_try_recv (int key, mbox_arg_t *arg)
 
void k_pcb_mbox_init (pcb_mbox_t *target, int owner_id)
 
int sys_mailread (void *buf, int len)
 
int sys_mailwrite (int pid, void *buf, int len)
 

宏定义说明

◆ COMM_NUM

#define COMM_NUM   32

◆ MBOX_MAX_USER

#define MBOX_MAX_USER   10

◆ MBOX_MSG_MAX_LEN

#define MBOX_MSG_MAX_LEN   128

◆ MBOX_NAME_LEN

#define MBOX_NAME_LEN   64

◆ PCB_MBOX_MAX_MSG_NUM

#define PCB_MBOX_MAX_MSG_NUM   16

◆ PCB_MBOX_MSG_MAX_LEN

#define PCB_MBOX_MSG_MAX_LEN   256

类型定义说明

◆ barrier_t

typedef struct barrier barrier_t

◆ basic_info_t

typedef struct basic_info basic_info_t

◆ cond_t

typedef struct cond cond_t

◆ mbox_arg_t

typedef struct mbox_arg mbox_arg_t

◆ mbox_t

typedef struct mbox mbox_t

◆ pcb_mbox_t

typedef struct pcb_mbox pcb_mbox_t

◆ Semaphore_t

typedef struct Semaphore Semaphore_t

函数说明

◆ k_barrier_destroy()

int k_barrier_destroy ( int *  key)

◆ k_barrier_init()

int k_barrier_init ( int *  key,
int  total 
)

◆ k_barrier_wait()

int k_barrier_wait ( int  key)

◆ k_commop()

int k_commop ( void *  key_id,
void *  arg,
int  op 
)

◆ k_cond_broadcast()

int k_cond_broadcast ( int  key)

◆ k_cond_destroy()

int k_cond_destroy ( int *  key)

◆ k_cond_init()

int k_cond_init ( int *  key)

◆ k_cond_signal()

int k_cond_signal ( int  key)

◆ k_cond_wait()

int k_cond_wait ( int  key)

◆ k_mbox_close()

int k_mbox_close ( )

◆ k_mbox_open()

int k_mbox_open ( int  id_1,
int  id_2 
)

◆ k_mbox_recv()

int k_mbox_recv ( int  key,
mbox_t target,
mbox_arg_t arg 
)

◆ k_mbox_send()

int k_mbox_send ( int  key,
mbox_t target,
mbox_arg_t arg 
)

◆ k_mbox_try_recv()

int k_mbox_try_recv ( int  key,
mbox_arg_t arg 
)

◆ k_mbox_try_send()

int k_mbox_try_send ( int  key,
mbox_arg_t arg 
)

◆ k_pcb_mbox_init()

void k_pcb_mbox_init ( pcb_mbox_t target,
int  owner_id 
)

◆ k_semaphore_destroy()

int k_semaphore_destroy ( int *  key)

◆ k_semaphore_init()

int k_semaphore_init ( int *  key,
int  sem 
)

◆ k_semaphore_p()

int k_semaphore_p ( int  key)

◆ k_semaphore_v()

int k_semaphore_v ( int  key)

◆ sys_mailread()

int sys_mailread ( void *  buf,
int  len 
)

◆ sys_mailwrite()

int sys_mailwrite ( int  pid,
void *  buf,
int  len 
)