For a detailed description of functionalities please refer to the reference manuals, in brief:
Two states semaphores. An useful variant of counter semaphores.
Queues of messages between Thread/ISR and Thread/ISR, messages are pointer-sized variables.
Character queues between threads.
Copy-less xxchange of fixed-size messages between Thread/ISR and Thread/ISR. Messages can have any size.
A very fast way to allocate memory blocks from a global heap.
The classic alloc/free of variable-size memory blocks.
An efficient way to allocate/free fixed-size blocks.
A way to allocate kernel objects or custom objects dynamically, objects are assigned a name and can be used by reference or by name. Objects have a reference counter and disappear when the last reference is release.
Dynamically allocated threads, this is an RT-only feature not available on NIL.