List manipulation

Much of the internal system data is contained in lists. For this reason, the custom logic that you write will probably involve a considerable amount of list manipulation. To expedite the list manipulation in your custom logic, the system provides you with a number of list manipulation functions that you can call from your code.

Many of the internal system lists contain pointers to scheduler constructs which are also called entities. Event lists, discussed in Section 3.3, contain entity pointers for individual events. An entity pointer is the argument passed to the event function itself. Many system functions return pointers to entities. Many of your custom functions will return entity pointers.

You can use system functions to add entities to lists, remove entities from lists, reorder lists, create lists, and traverse lists. These functions are generic in nature, exploiting the fact that passing pointers requires no knowledge about the attributes of the entities they represent.