HAL Groups

Description of HAL groups to add new attributes.

You can extend HAL groups to add new attributes and new types of hardware.

Extending an existing hardware type

Each HAL group has an associated set of function numbers. For example, the enumerators of TDisplayHalFunction, in u32std.h define the functions associated with the HAL group EHalGroupDisplay.

In this specific case, new state can be represented by a new function number, and by changing the HAL handler implementation to deal with the new function number.

It is important to note that any new function numbers should not follow consecutively from those defined by Symbian. Instead, choose high values so that they are guaranteed not to clash with any future Symbian extensions. Symbian will always use new values that follow consecutively from previous Symbian defined values.

New hardware type

Although up to 32 HAL groups can be defined, Symbian platform does not use all 32. This leaves some values that can be used for new hardware.

In this case choose a HAL group number at the high end of the range, so that it is guaranteed not to clash with any future Symbian extensions. Symbian will always use new values that follow consecutively from previous Symbian defined values.