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

Define the semaphore using:

  DEFINE_SEMAPHORE(sem1);

and "sem1" can be used, for example:

  task_sem_give(sem1);

or,

  task_sem_take(sem1);

etc.

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

extern const ksem_t sem11;

to the desired C or header file.

Change-Id: Ia9c128648f7a26fc776eeb8f6fcc4158b1712a97
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2016-02-05 20:15:18 -05:00
..
base_api.h microkernel: Rename struct sem_struct to _k_sem_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 Doxygen: Move the microkernel FIFO APIs comments to the .h file. 2016-02-05 20:14:38 -05:00
mailbox.h doxygen: move mailbox comments to header file 2016-02-05 20:14:37 -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 Rename microkernel/chan.h to microkernel/pipe.h 2016-02-05 20:14:00 -05:00
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