zephyr/include/microkernel
Daniel Leung 39887c4358 microkernel: introduce support for private mailboxes
This enable defining mailboxes in source code in addition to
defining in MDEF files. This introduces the macro
DEFINE_MAILBOX(mailbox_name). The mailboxes created this
way are the same, in functionality, as those defined in MDEF
files. They can be manipulated by the standard microkernel
mailbox APIs.

Define the mailbox using:

  DEFINE_MAILBOX(mailbox1);

and "mailbox1" can be used, for example:

  task_mbox_put(mailbox1, &msg);

or,

  task_mbox_get(mailbox1, &msg);

etc.

To use the mailbox defined in another source file, simply add:

extern const kmox_t mailbox1;

to the desired C or header file.

Change-Id: I32d4194af740f96fc8df8c6cd3144a0c9accb4ec
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2016-02-05 20:15:18 -05:00
..
base_api.h microkernel: Rename struct mbx_struct to _k_mbox_struct 2016-02-05 20:15:18 -05:00
command_packet.h Remove trailing semicolon in definition of CMD_PKT_SET_INSTANCE() 2016-02-05 20:14:42 -05:00
event.h Doxygen: microkernel: Move event documentation from c to .h file 2016-02-05 20:14:39 -05:00
fifo.h microkernel: introduce support for private FIFOs 2016-02-05 20:15:18 -05:00
mailbox.h microkernel: introduce support for private mailboxes 2016-02-05 20:15:18 -05:00
memory_map.h doxygen: memory_map: update in-code documentation 2016-02-05 20:14:38 -05:00
memory_pool.h Rename microkernel/pool.h to memory_pool.h 2016-02-05 20:14:25 -05:00
mutex.h microkernel: introduce support for private mutexes 2016-02-05 20:14:46 -05:00
pipe.h
semaphore.h microkernel: introduce support for private semaphores 2016-02-05 20:15:18 -05:00
task_irq.h Rename microkernel/k_types.h to base_api.h 2016-02-05 20:14:25 -05:00
task.h Don't expose APIs for experimental task monitoring capability 2016-02-05 20:14:15 -05:00
ticks.h Rename kernel's clock_vars.h to sys_clock.h 2016-02-05 20:14:26 -05:00