6 #define MBOX_NAME_LEN 64
7 #define MBOX_MSG_MAX_LEN 128
8 #define MBOX_MAX_USER 10
10 #define PCB_MBOX_MAX_MSG_NUM 16
11 #define PCB_MBOX_MSG_MAX_LEN 256
62 int k_commop(
void *key_id,
void *arg,
int op);
list_head wait_queue
Definition: sync.h:21
int sem
Definition: sync.h:20
basic_info_t sem_info
Definition: sync.h:19
int cond_id
Definition: sync.h:35
basic_info_t barrier_info
Definition: sync.h:31
int count
Definition: sync.h:32
int total
Definition: sync.h:33
int initialized
Definition: sync.h:15
int id
Definition: sync.h:14
basic_info_t cond_info
Definition: sync.h:25
list_head wait_queue
Definition: sync.h:27
int num_wait
Definition: sync.h:26
int sleep_operation
Definition: sync.h:52
void * msg
Definition: sync.h:50
int msg_length
Definition: sync.h:51
char buff[MBOX_MSG_MAX_LEN]
Definition: sync.h:41
int used_units
Definition: sync.h:43
int read_head
Definition: sync.h:42
int write_tail
Definition: sync.h:42
int full_cond_id
Definition: sync.h:45
int empty_cond_id
Definition: sync.h:46
basic_info_t mailbox_info
Definition: sync.h:39
int pcb_i
Definition: sync.h:56
char buff[PCB_MBOX_MAX_MSG_NUM][PCB_MBOX_MSG_MAX_LEN]
Definition: sync.h:57
int write_head
Definition: sync.h:58
int used_units
Definition: sync.h:59
int read_head
Definition: sync.h:58
int k_semaphore_destroy(int *key)
Definition: sync.c:155
struct mbox_arg mbox_arg_t
int k_cond_broadcast(int key)
Definition: sync.c:211
int k_mbox_try_send(int key, mbox_arg_t *arg)
Definition: sync.c:387
int k_mbox_open(int id_1, int id_2)
Definition: sync.c:282
int k_semaphore_p(int key)
Definition: sync.c:132
struct pcb_mbox pcb_mbox_t
int k_cond_init(int *key)
Definition: sync.c:164
int k_cond_wait(int key)
Definition: sync.c:190
void k_pcb_mbox_init(pcb_mbox_t *target, int owner_id)
Definition: sync.c:407
int k_barrier_wait(int key)
Definition: sync.c:259
int k_cond_destroy(int *key)
Definition: sync.c:222
int k_mbox_send(int key, mbox_t *target, mbox_arg_t *arg)
Definition: sync.c:325
#define PCB_MBOX_MAX_MSG_NUM
Definition: sync.h:10
int k_mbox_try_recv(int key, mbox_arg_t *arg)
Definition: sync.c:397
int k_mbox_recv(int key, mbox_t *target, mbox_arg_t *arg)
Definition: sync.c:354
#define PCB_MBOX_MSG_MAX_LEN
Definition: sync.h:11
int sys_mailread(void *buf, int len)
Definition: sync.c:412
int k_cond_signal(int key)
Definition: sync.c:200
struct Semaphore Semaphore_t
struct basic_info basic_info_t
#define MBOX_MSG_MAX_LEN
Definition: sync.h:7
int k_semaphore_v(int key)
Definition: sync.c:144
int k_semaphore_init(int *key, int sem)
Definition: sync.c:106
int sys_mailwrite(int pid, void *buf, int len)
Definition: sync.c:430
int k_barrier_destroy(int *key)
Definition: sync.c:272
int k_barrier_init(int *key, int total)
Definition: sync.c:231
int k_commop(void *key_id, void *arg, int op)
Definition: sync.c:63