The Pedigree Project  0.1
Functions
+ Collaboration diagram for Mailboxes:

Functions

err_t sys_mbox_new (sys_mbox_t *mbox, int size)
 
void sys_mbox_post (sys_mbox_t *mbox, void *msg)
 
err_t sys_mbox_trypost (sys_mbox_t *mbox, void *msg)
 
u32_t sys_arch_mbox_fetch (sys_mbox_t *mbox, void **msg, u32_t timeout)
 
u32_t sys_arch_mbox_tryfetch (sys_mbox_t *mbox, void **msg)
 
void sys_mbox_free (sys_mbox_t *mbox)
 
int sys_mbox_valid (sys_mbox_t *mbox)
 
void sys_mbox_set_invalid (sys_mbox_t *mbox)
 

Detailed Description

Function Documentation

u32_t sys_arch_mbox_fetch ( sys_mbox_t mbox,
void **  msg,
u32_t  timeout 
)

Wait for a new message to arrive in the mbox

Parameters
mboxmbox to get a message from
msgpointer where the message is stored
timeoutmaximum time (in milliseconds) to wait for a message (0 = wait forever)
Returns
time (in milliseconds) waited for a message, may be 0 if not waited or SYS_ARCH_TIMEOUT on timeout The returned time has to be accurate to prevent timer jitter!

Definition at line 248 of file sys_arch.cc.

References SYS_ARCH_TIMEOUT.

u32_t sys_arch_mbox_tryfetch ( sys_mbox_t mbox,
void **  msg 
)

Wait for a new message to arrive in the mbox

Parameters
mboxmbox to get a message from
msgpointer where the message is stored
Returns
0 (milliseconds) if a message has been received or SYS_MBOX_EMPTY if the mailbox is empty

Definition at line 237 of file sys_arch.cc.

References SYS_MBOX_EMPTY.

void sys_mbox_free ( sys_mbox_t mbox)

Delete an mbox

Parameters
mboxmbox to delete

Definition at line 226 of file sys_arch.cc.

err_t sys_mbox_new ( sys_mbox_t mbox,
int  size 
)

Create a new mbox of specified size

Parameters
mboxpointer to the mbox to create
size(minimum) number of messages in this mbox
Returns
ERR_OK if successful, another err_t otherwise

Definition at line 220 of file sys_arch.cc.

References ERR_OK.

Referenced by tcpip_init().

+ Here is the caller graph for this function:

void sys_mbox_post ( sys_mbox_t mbox,
void *  msg 
)

Post a message to an mbox - may not fail -> blocks if full, only used from tasks not from ISR

Parameters
mboxmbox to posts the message
msgmessage to post (ATTENTION: can be NULL)

Definition at line 232 of file sys_arch.cc.

Referenced by tcpip_api_call(), tcpip_callback_with_block(), and tcpip_send_msg_wait_sem().

+ Here is the caller graph for this function:

void sys_mbox_set_invalid ( sys_mbox_t mbox)

Set an mbox invalid so that sys_mbox_valid returns 0

Definition at line 289 of file sys_arch.cc.

err_t sys_mbox_trypost ( sys_mbox_t mbox,
void *  msg 
)

Try to post a message to an mbox - may fail if full or ISR

Parameters
mboxmbox to posts the message
msgmessage to post (ATTENTION: can be NULL)

Definition at line 272 of file sys_arch.cc.

References ERR_OK, and ERR_WOULDBLOCK.

Referenced by tcpip_callback_with_block(), tcpip_inpkt(), and tcpip_trycallback().

+ Here is the caller graph for this function:

int sys_mbox_valid ( sys_mbox_t mbox)

Check if an mbox is valid/allocated: return 1 for valid, 0 for invalid

Definition at line 284 of file sys_arch.cc.